logo头像
Snippet 博客主题

JVM进程占用内存过高排查

基础知识32位的系统 进程内存限制最多2G?32 位寻址空间只有 4GB 大小,于是 32 位应用程序进程最大只能用到 4GB 的内存。然而,除了应用程序本身要用内存,操作系统内核也需要使用。应用程序使用的内存空间分为用户空间和内核空...

钉钉H5微应用开发总结

今年,我又做了一个钉钉微应用的项目,第一次接触钉钉,把踩过的坑,记录下来,为后人乘凉所用。 准备工作 开放平台注册申请权限 选择钉钉应用类型,创建应用,获取AppKey,AppSecret,CORP_ID, 准备开发环境 静态页面、...

JUC工具类之exchanger

日常开发使用,JUC工具类里面的exchanger使用场景不多,既然看到了就学了一下记一下。 定义exchanger 用于二个线程,规定一个交换点,当双方线程到达这个点后,相互交换数据的效果。 应用用于2个线程交互数据使用;经典生产消...

ThreadLocal如何防止内存泄漏

工作五年了,对ThreadLocal原理还不是很清楚,o( ̄︶ ̄)o。今天来分析下,使用threadLocal时候,导致内存泄漏的原理。 概念 1、用于存放线程局部变量。2、一个线程都会维护一个threadLocalMap,thr...

并行计算框架forkJoin框架

框架思想当业务系统遇到要处理大任务的时候,可以拆分成小任务来执行,最后将小任务的执行结果汇总,返回给大任务,简称为“分而治之”,jdk7提供了forkJoin框架,Hadoop提供了MapReduce。 适合场景 多核CPU服务器C...

Guava Cache 学习记录

为什么使用Guava Cache?guava cache属于JVM内存的缓存,其实JAVA本地缓存框架有ecache,简单点有HashMap作为缓存容器,那么,为什么推荐用guava cache呢,比如以下:1、设置缓存的过期时间,遵...

hexo主题优化

hexo搭建好博客后,需要给博客的装扮下,记录一下一些主题优化技巧 安装文章计数插件WordCount第一步:在blog根目录下,执行以下命令 npm install hexo-wordcount --save 第二步:修改配置文件...

SpringBatch+MYSQL仓库+运维监控后台项目记录

概念Spring Batch 是一款轻量级地适合企业级应用的批处理框架,值得注意的是,不同于其他调度框架,Spring Batch不提供调度功能。 批处理过程批处理可以分为以下几个步骤: 读取数据 按照业务处理数据 归档数据的过程 Spring Batch给我们提供了什么? 统一的读写接口 丰富的任务处理方式 灵活的事务管理及并发处理 日志、监控、任务重启与跳过等特性 …

结合项目,谈谈软件设计原则

从事开发这么多年,陆陆续续开发了N个系统了。对软件设计原则,一直没有认真深入的探讨过,当熟读这些原则,结合项目,发现很多违背设计的地方,作为优秀的研发,应该早点跟三字经一样熟读这些原则才对啊。下面我结合最近的项目谈谈自己的见解。 开闭...

spring声明式事务失效的分析过程

问题的背景在途牛,庆幸的是遇到了几个很正面的人,我也是从阅读其中一位同事的博客才发现了spring声明式事务的这个坑,说实话,我平时开发很少用事务,因为不好控制粒度,事务也是高并发的绊脚石。 问题的现象为了理解方便,下面我用伪代码说...