摘要: 概念 对那些作用于不会逃逸出方法的对象,在分配内存时,不在将对象分配在堆内存中,而是将对象属性打散后分配在线程私有栈内存上,这样随着方法调用结束,栈上分配打散的对象也被回收掉,不在增加 GC 额外压力。 Java 对象分配流程 示例 循环创建1000000000一个对象,阻止栈上分配 栈上分配条件: 阅读全文
posted @ 2019-07-15 16:43 mousycoder 阅读(662) 评论(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) 编辑
摘要: 环境 mac,xcode,jdk8, "openjdk" ,autoconf 步骤 1. 安装autoconf 2. 下载openjdk源码 3. 在openjdk 根目录下执行编译脚本,大约 10 分钟不到,执行完成 4. 进入编译的输出的jdk目录,执行 感谢您的耐心阅读,如果您发现文章中有一些 阅读全文
posted @ 2019-07-15 16:32 mousycoder 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 5 浮点数推导 二进制转十进制 1 10000001 01000000000000000000000 1 10000001 101000000000000000000000 如果指数位不全为 0 则尾数位首位+1 ,如果指数位全为 0,则尾数位首位+0 十进制 = 1 2^(129 127) (1 阅读全文
posted @ 2019-07-15 16:24 mousycoder 阅读(323) 评论(0) 推荐(0) 编辑
摘要: 计算机中有补码表示 0 0 为正数 原码 00000000 00000000 00000000 00000000 反码 00000000 00000000 00000000 00000000 正数反码等于原码 补码 00000000 00000000 00000000 00000000 正数补码等于 阅读全文
posted @ 2019-07-15 14:54 mousycoder 阅读(936) 评论(0) 推荐(0) 编辑
摘要: Java 虚拟机地位 种类 BEA的JRockit Solaris的Exact VM IBM的J9 感谢您的耐心阅读,如果您发现文章中有一些没表述清楚的,或者是不对的地方,请给我留言,您的鼓励是作者写作最大的动力。 作 者 : "@mousycoder" 原文出处 : http://mousycod 阅读全文
posted @ 2019-07-15 14:43 mousycoder 阅读(311) 评论(0) 推荐(0) 编辑
摘要: 本系列主要是让一个刚入门的 java 开发者,也能愉快的从零开始成为一个真正的 jvm 大神。 大纲 java 虚拟机的定义、总体架构、常用配置 垃圾回收算法、各类垃圾回收器 java 虚拟机对多线程的支持 java 虚拟机的 class 文件结构 java 虚拟机的执行系统 待定 感谢您的耐心阅读 阅读全文
posted @ 2019-07-15 14:11 mousycoder 阅读(282) 评论(0) 推荐(0) 编辑