谈即时编译优化-以异常堆栈丢失为例

2020-05-24
阅读 4 分钟
1.5k
日照充足会让西瓜更甜,那拥有即时编译优化会让Java程序怎么样?本文会初步介绍JVM的即时编译优化特性,并且通过异常堆栈丢失这一常见的现象来进行举例

2K字带你读完《程序员修炼之道》精华

2020-04-06
阅读 3 分钟
1.2k
注重实效的哲学 我的源码让猫给吃了 在所有的弱点中,最大的弱点就是害怕暴露弱点。 对于缺点、无知、错误,必须诚实。 负责 承诺的事情正确完成,无法完成,超出控制的事情不去承诺。 为结果负责,出现问题时应提供其他解决方案,不是寻找借口。 软件的熵 低劣设计,糟糕代码需要发现一个就修一个,否则会加速任何一个...

谈谈双亲委派模型的第四次破坏-模块化

2020-03-29
阅读 4 分钟
2.1k
JDK9引入了Java模块化系统(Java Platform Moudle System)来实现可配置的封装隔离机制,同时JVM对类加载的架构也做出了调整,也就是双亲委派模型的第四次破坏。前三次破坏分别是:双亲委派模型推出之前,SPI机制,以及OSGI为代表的热替换机制,这里不细说。

让你看懂的RocketMQ事务消息源码分析(干货)

2019-07-14
阅读 7 分钟
5.1k
得益于MQ削峰填谷,系统解耦,操作异步等功能特性,在互联网行业,可以说有分布式服务的地方,MQ都往往不会缺席。由阿里自研的RocketMQ更是经历了多年的双十一高并发挑战,其中4.3.0版本推出了事务消息的新特性,本文对RocketMQ 4.5.0版本事务消息相关的源码跟踪介绍,通过阅读读者可以知道:

一定能看懂的RocketMQ事务消息源码分析(干货)

2019-07-14
阅读 7 分钟
1.2k
得益于MQ削峰填谷,系统解耦,操作异步等功能特性,在互联网行业,可以说有分布式服务的地方,MQ都往往不会缺席。由阿里自研的RocketMQ更是经历了多年的双十一高并发挑战,其中4.3.0版本推出了事务消息的新特性,本文对RocketMQ 4.5.0版本事务消息相关的源码跟踪介绍,通过阅读读者可以知道:

一次有趣的局部变量GC

2018-10-29
阅读 2 分钟
3.1k
前言 最近在看《实战Java虚拟机》, 发现书上的一个关于局部变量表GC挺有意思,先上代码。 主角 没有GC {代码...} 分配了一块6MB的堆空间,并使用局部变量引用这块空间, 然后显式进行一次Full GC。 先配置一下JVM参数用于打印GC log 可以看到这块6MB的堆空间并没有被回收, 接下来加一行代码就能使得堆空间被回收。 可以GC...

常见设计模式要点总结

2018-10-28
阅读 3 分钟
1.6k
最近在看《head first 设计模式》,发现每个章节后的要点总结都是言简意骇,所以特写此篇博客对常见的设计模式要点做个总结。<!-- more -->

通过IO模型带来的思考

2018-08-24
阅读 2 分钟
1.2k
对于IO,我们经常可以听到诸如同步阻塞IO,同步非阻塞IO,异步IO等等,那么什么是异步/同步,什么是阻塞/非阻塞?首先一次IO在UNIX系统中分为两个步骤

Spring IOC源码跟踪记录-基于XML

2018-08-10
阅读 10 分钟
1.6k
IOC(Inversion of Control )控制反转,是Spring框架最重要的一个特性,提供了一个装载类的容器来为类之间进行解耦,并提供了一系列的扩展接口,使得开发者可以在bean的生命周期里自定义一些行为操作。