BTrace是Java的安全可靠的动态跟踪工具。 他的工作原理是通过 instrument + asm 来对正在运行的java程序中的class类进行动态增强, 加入检测代...
BTrace是Java的安全可靠的动态跟踪工具。 他的工作原理是通过 instrument + asm 来对正在运行的java程序中的class类进行动态增强, 加入检测代...
随着系统的长期运行,积累的数据量也在不断的增长,随着业务的发展,增长的速度也在加剧。当积累到巨量的数据时,数据库的性能将急剧下降。一条查询SQL就有可能导致整个数据库僵死。为...
协程Coroutine,在执行时,可以中断,转而运行其他协程,且在适当的时候,又可以返回原有子程序继续执行。 coroutine 协程 VS subroutine 子程 子程...
java中volatile声明变量,有两个作用 保证变量对所有线程的可见性 禁止指令重排 保证可见性 多线程访问共享变量时,声明volatile可以保证了共享变量可见性。可见...
每个程序员都知道,多线程能提高应用吞吐量和处理速度。但不是每个程序员都知道为什么? CPU运行时,通过将于运行时间分片,通过调度来分配给各个进程线程来执行。因为时间片非常短,...
JDK7 JDK7 中hashmap 是通过 桶(数组)加链表的数据结构来实现的。当发生hash碰撞的时候,以链表的形式进行存储。 JDK 8 JDK7 中hashmap 增...
使用日志facade slf4j 在代码中不直接使用具体日志LIB库API,例如log4j,logback等,使用日志facade 库slf4j。使用facade的好处是,与...
spring cache 提供了基于注解的缓存配置方法,其实现原理和事务管理的实现是一样的, 都是通过 spring aop来实现的。spring aop 有一个问题, 默认...
最近做了一次服务器迁移, 迁完新服务器后,应用在启动时,连接数据库发生异常java.net.SocketException: Connection reset. JDBC驱动...
按照posix标准,系统io分为同步io和异步io两种,其中同步io常用的是bio nio。异步io有aio。 从程序的角度来看,bio在读和写的时候,会阻塞,只有当程序将流...
X-Forwarded-For(XFF) 是一个 HTTP 扩展header字段,用于标记发起HTTP请求的客户端的真实来源IP。 X-Forwarded-For 请求头格式...
在做测试的时候,在chrome 打开了多个页面,发现打开第7个页面的时候,就卡了。每个测试的页面都会与服务器端建立一个长连接,并且不释放。查了后端日志,确实有延迟。然后查了负...
该书的内容主要是关注编写代码的细节,总结了很多提高代码可读性的技巧。对于一个软件系统来说,即需要宏观的架构决策、设计思想、模式和指导原则,也必须重视微观的代码细节。 代码的优...
BTrace是Java的安全可靠的动态跟踪工具。 他的工作原理是通过 instrument + asm 来对正在运行的java程序中的class类进行动态增强。 说他是安全可...
使用CheckStyle检查编码规范 编码规范指的是编写代码的样式规则。不同的程序员,往往有不一样的风格。单单是抛出使用空格键还是TAB键的问题,就足以让程序员演化成针锋相对...
刚入职没几天,才开始熟悉项目代码,就已经闻到了代码中充斥着各种异味。真是印证了那句话,你越担心什么,就越来什么。果不其然,没几天就碰到了一个线上的故障,应用当掉了。 现象 应...
在生产环境JRE 运行在server 模式下, 从日志上看大量的NullPointException日志打印时,没有堆栈信息输出。查了一下,JIT编译会对某些异常如果大量的抛...
在实际编写切面方法和应用切面的时候,发现在对象内的方法之间调用,是不会进入定义在方法上的切面的。 场景 存在一个bean对象,对bean对象的两个方法methodA和meth...
主机配置 CPU:8核 内存: 4G 测试目标过程和配置 一个业务处理接口 分层的各个函数进行切面监控执行时间并进行日志打印输出 log4j appender 采用 Roll...