240 发简信
IP属地:江苏
  • 240
    Java内存模型和线程

    【个人笔记】 1.JMM Java内存模型:虚拟机定义的一种方式来屏蔽各种意见和操作系统的内存访问差异,以实现让Java程序在各种平台都能达到一直的内存访问效果。 1.1 主...

  • 晚期(运行期)优化

    JIT:Java程序最初是由解释器解释执行的,当虚拟机发现某个方法或代码块的运行特别频繁时,就会把这些“热点代码”编译成机器码,提高运行效率。 1. 为什么要使用解释器和编译...

  • 字节码执行引擎

    运行时栈帧结构 栈帧是虚拟机栈中的元素,每一个方法的调用对应着一个栈帧的入栈出栈。栈帧包括局部变量表、操作数栈、动态链接、方法返回地址等信息。 在编译阶段,栈帧中需要多大的局...

  • 240
    类加载机制

    类加载 类被加载到虚拟机内存中,到卸载出内存为止,它的整个生命周期包括:加载、连接(验证、准备、解析)、初始化、使用、卸载。 加载、验证、准备、初始化和卸载这5个阶段的顺序是...

  • 240
    类文件结构

    class文件结构 Class文件是一组以8位字节为基础单位的二进制流,各个数据项目严格按照顺序紧凑地排列在Class文件中,中间没有添加任何分隔符。 根据Java虚拟机规范...

  • 240
    内存分区及垃圾收集

    1. 内存分区 1.1 程序计数器 线程私有,可以看作当前线程所执行的字节码的行号指示器。如果执行native方法,程序计数器值为undefined。此区域不会发生OutOf...

  • 240
    第五章 并行模式和算法

    1. 单例模式 单例模式是一种对象创建模式,用于产生一个对象的具体实例,确保系统中一个类只产生一个实例。有两大好处: 对于频繁使用的对象,可以省略new操作花费的时间,对于一...

  • 240
    第四章 锁的优化

    1. 提高锁性能的几点建议 1.1 减小锁持有时间 1.2 减小锁粒度 例如ConcurrentHashMap,将map划分为了很多段SEGMENT(默认16),需要put时...