摘要: JVM 内存分布 线程共享数据区: 方法区 类信息,静态变量 堆 数组对象 线程隔离区 虚拟机栈 方法 本地方法栈 本地方法库 native 堆、程序计数器 JVM 运行数据 程序计数器 线程隔离 ,比较小的内存空间,当前线程所执行的字节码的行号 线程是一个独立的执行单元,由 CPU执行 唯一没有 阅读全文
posted @ 2019-09-30 13:55 mousycoder 阅读(517) 评论(0) 推荐(0) 编辑
摘要: 目的 根据音标念单词,根据单词写音标 规律 根据字母写音标 |字母|音标| | | | |a|[æ]| |b|[b]| |c|[k]| |d|[d]| |e|[ɛ]| |f|[f]| |g|[g]| |h|[h]| |i|[ɪ]| |j|[dʒ]| |k|[k]| |字母|音标|首、尾| | | | 阅读全文
posted @ 2019-09-16 18:57 mousycoder 阅读(711) 评论(0) 推荐(0) 编辑
摘要: 方法 public Class loadClass(String name) throws ClassNotFoundException 通过类名发挥这个类的Class实例 protected final Class defineClass(byte[] b,int off,int len) 根据给 阅读全文
posted @ 2019-09-16 18:54 mousycoder 阅读(410) 评论(0) 推荐(0) 编辑
摘要: 过程 装载 条件 主动使用 class时 创建一个类的实例 (new 、反射、克隆、反序列化) 调用类的静态方法(invokestatic) 使用类或接口的静态字段(getstatic、putstatic) 使用 reflect反射 初始化子类,先初始化父类 main方法的类 例子 被动引用不会初始 阅读全文
posted @ 2019-09-16 18:52 mousycoder 阅读(295) 评论(0) 推荐(0) 编辑
摘要: 概念 Service Provider Interface 规则 1. 在resource/META INF/services 创建一个以接口全限定名为命名的文件,内容写上实现类的全限定名 2. 接口实现类在classpath路径下 3. 主程序通过 java.util.ServiceLoader 阅读全文
posted @ 2019-09-16 18:49 mousycoder 阅读(263) 评论(0) 推荐(0) 编辑
摘要: 概念 方法区是虚拟机规范定义的,是所有线程共享的内存区域,保存系统的类的信息。比如:类的字段、方法、常量池、构造函数的字节码内容、代码、JIT 代码 永久代、metaspace 是对方法区的实现。 Hotspot 实行分代管理内存(新生代、老年代、永久代) jdk8 实现方法区用 metaspace 阅读全文
posted @ 2019-07-17 18:13 mousycoder 阅读(260) 评论(0) 推荐(0) 编辑
摘要: 概念 TLAB(Thread Local Allocation Buffer)线程本地分配缓冲区(线程私有分配区,私有分配,公共查看),占用 Eden 区(缺省 Eden 的1%),默认开启,JVM 会为每一个线程分配一块 TLAB 区域,避免堆对象共享造成的多线程线程同步。 背景 优化多线程堆空间 阅读全文
posted @ 2019-07-17 18:10 mousycoder 阅读(530) 评论(0) 推荐(0) 编辑
摘要: 概念 对那些作用于不会逃逸出方法的对象,在分配内存时,不在将对象分配在堆内存中,而是将对象属性打散后分配在线程私有栈内存上,这样随着方法调用结束,栈上分配打散的对象也被回收掉,不在增加 GC 额外压力。 Java 对象分配流程 示例 循环创建1000000000一个对象,阻止栈上分配 栈上分配条件: 阅读全文
posted @ 2019-07-15 16:43 mousycoder 阅读(656) 评论(0) 推荐(0) 编辑
摘要: 代码 其中 recursion(long a,long b,long c) 方法的栈帧如下,一共13 个long类型的局部变量一共占用 26 个字 感谢您的耐心阅读,如果您发现文章中有一些没表述清楚的,或者是不对的地方,请给我留言,您的鼓励是作者写作最大的动力。 作 者 : "@mousycoder 阅读全文
posted @ 2019-07-15 16:38 mousycoder 阅读(241) 评论(0) 推荐(0) 编辑
摘要: Java 虚拟机基本结构 Java 堆 新生代、老年代划分 栈帧 感谢您的耐心阅读,如果您发现文章中有一些没表述清楚的,或者是不对的地方,请给我留言,您的鼓励是作者写作最大的动力。 作 者 : "@mousycoder" 原文出处 : "http://mousycoder.com/thinking 阅读全文
posted @ 2019-07-15 16:35 mousycoder 阅读(232) 评论(0) 推荐(0) 编辑