04 2020 档案

摘要:类的加载过程 1. loading 将class文件load到内存 2. verification 3. preparation 将静态变量赋默认值 4. resolution 常量池里面用到的符号引用转换为内存地址,可直接访问到 5. initialize 静态变量赋初始值 调用静态代码块 类加载 阅读全文
posted @ 2020-04-17 10:00 zdcsmart 阅读(141) 评论(0) 推荐(0)
摘要:在Java语言中,可作为GC Roots的对象包含以下几种: 虚拟机栈(栈帧中的本地变量表)中引用的对象。(可以理解为:引用栈帧中的本地变量表的所有对象) 方法区中静态属性引用的对象(可以理解为:引用方法区该静态属性的所有对象) 方法区中常量引用的对象(可以理解为:引用方法区中常量的所有对象) 本地 阅读全文
posted @ 2020-04-13 13:55 zdcsmart 阅读(1572) 评论(0) 推荐(1)
摘要:补充小点 String str="kvill" 和 String str=new String("kvill")的区别 "kvill"都是字符串常量,它们在编译期就被确定了, 会在常量池中创建一个"kvill"字符串对象 用new String("kvill") 首先在堆空间创建内存空间,并将引用付 阅读全文
posted @ 2020-04-10 16:31 zdcsmart 阅读(262) 评论(0) 推荐(0)
摘要:目录 一、Debug开篇 二、基本用法&快捷键 三、变量查看 四、计算表达式 五、智能步入 六、断点条件设置 七、多线程调试 八、回退断点 九、中断Debug 十、附:JRebel激活 Debug用来追踪代码的运行流程,通常在程序运行过程中出现异常,启用Debug模式可以分析定位异常发生的位置,以及 阅读全文
posted @ 2020-04-08 10:30 zdcsmart 阅读(161) 评论(0) 推荐(0)
摘要:java从编码到执行 JIT是什么?Java程序最初是通过解释器进行解释执行的,当虚拟机发现某个方法或代码块运行的特别频繁时,会把这些代码认定为“热点代码”(Hot Spot Code)。为了提高热点代码的执行效率,在运行时,虚拟机会把这些代码编译成本地平台相关的机器码,并进行各种层次的优化,完成这 阅读全文
posted @ 2020-04-07 23:59 zdcsmart 阅读(197) 评论(0) 推荐(0)
摘要:https://www.cnblogs.com/czwbig/p/11127124.html Java 内存区域和内存模型 https://www.jianshu.com/p/8be816cbb5ed TLAB https://blog.csdn.net/u011635492/article/det 阅读全文
posted @ 2020-04-07 16:58 zdcsmart 阅读(102) 评论(0) 推荐(0)