开发必会系列:《深入理解JVM(第二版)》读书笔记
- http://www.cnblogs.com/sunilsun/p/6078171.html ubuntu 编译OPENJDK8
- 运行时内存
- 运行时数据区:
- 线程请求的栈深度大于虚拟机所允许的深度——StackOverflowError
- 当前大部分虚拟机可动态扩展,虚拟机栈在动态扩展时无法申请到足够的内存——OutOfMemoryError
- 本地方法栈:
- Java堆:
- 方法区:
- 检查完类加载,虚拟机就为新生对象分配内存。大小在类加载完后就能确定了。分配内存会触发java堆中指针碰撞(Bump the Pointer)或空闲列表(Free List)——遇到并发,可以采用CAS保证原子性或TLAB本地线程分配缓冲。
- 对对象进行设置,把类元数据信息、对象哈希码、对象GC分代年龄存到对象头(Object Header)
- 这时虚拟机的活干完了,但java程序还需要执行<init>方法
- 在Debug/Run的VM arguments写
- 在代码中做文档注释写:
- 虚拟机栈和本地方法栈溢出
- 方法区和运行时常量池溢出
- 垃圾收集器和内存分配策略
- 判断堆里实例对象死了没
- 引用,JDK1.2后,引用分四类:
- 方法区回收
- 垃圾收集算法
- hotspot的算法实现
- 具体咋收垃圾?垃圾收集器

- 虚拟机性能监控与故障处理工具
- jdk命令行工具
- jps,虚拟机进程状况工具。进程的本地虚拟机唯一ID(Local Virtual Machine Identifier, LVMID),它与操作系统进程(Process Identifier, PID)一致。
- 可视化工具
- 调优实战
- 高性能硬件上的程序部署策略
- 通过64位JDK来使用大内存
- 使用若干个32位虚拟机建立逻辑集群来利用硬件资源

- 集群间同步导致的内存溢出:避免过于频繁的写操作。
- 堆外内存导致的溢出错误:直接内存的问题
- 类文件结构
- 魔数
- 常量池
- 常量池后面,是访问标志,用于识别类或接口的访问信息。比如:这个Class是类还是接口,它是不是public类型……
- 后面是类索引、父类索引和接口索引,这三项数据确定这个类的继承关系。
- 后面是字段表集合,字段表用于描述接口或者类中声明的变量。此外还有方法表和属性表。
- 虚拟机类加载机制
- 类加载过程
- 类加载器:
- 虚拟机如何执行定义在Class文件里的字节码
- 运行时栈针结构
- 局部变量表:其容量以变量槽(Variable Slot)为最小单位。
- 运行期优化
- 虚拟机刚开始用解释器解释执行,省编译时间,但渐渐发现某个代码很常用,就通过即时编译器JIT把它编译成与本地平台相关的机器码,提高运行效率。如何发现热点代码——方法调用计数器,计数器超过一定阈值,就触发JIT编译。
- 线程安全和锁优化
- 线程安全实现:
- 互斥同步:属于悲观,重量级锁。
- 非阻塞同步:乐观。
- 无同步
- 锁优化
- 自旋锁与自适应自旋:
- 锁消除:
- 锁粗化:
- 轻量级锁:
- 偏向锁:
开发必会系列:《深入理解JVM(第二版)》读书笔记的更多相关文章
- Spring 实战 第4版 读书笔记
第一部分:Spring的核心 1.第一章:Spring之旅 1.1.简化Java开发 创建Spring的主要目的是用来替代更加重量级的企业级Java技术,尤其是EJB.相对EJB来说,Spring提供 ...
- 深入浅出MySQL 数据库开发、优化与管理维护(第2版) -- 读书笔记 -- 基础篇
1.切换数据库 use blog; 2.显示当前数据库 所有的表. show tables; +----------------+ | Tables_in_blog | +------------ ...
- Spring实战第4版PDF下载含源码
下载链接 扫描右侧公告中二维码,回复[spring实战]即可获取所有链接. 读者评价 看了一半后在做评论,物流速度挺快,正版行货,只是运输过程有点印记,但是想必大家和你关注内容,spring 4必之3 ...
- Spring实战(第4版).pdf - 百度云资源
http://www.supan.vip/spring%E5%AE%9E%E6%88%98 Spring实战(第4版).pdf 关于本书 Spring框架是以简化Java EE应用程序的开发为目标而创 ...
- Spring实战第六章学习笔记————渲染Web视图
Spring实战第六章学习笔记----渲染Web视图 理解视图解析 在之前所编写的控制器方法都没有直接产生浏览器所需的HTML.这些方法只是将一些数据传入到模型中然后再将模型传递给一个用来渲染的视图. ...
- Spring实战第五章学习笔记————构建Spring Web应用程序
Spring实战第五章学习笔记----构建Spring Web应用程序 Spring MVC基于模型-视图-控制器(Model-View-Controller)模式实现,它能够构建像Spring框架那 ...
- Spring实战第四章学习笔记————面向切面的Spring
Spring实战第四章学习笔记----面向切面的Spring 什么是面向切面的编程 我们把影响应用多处的功能描述为横切关注点.比如安全就是一个横切关注点,应用中许多方法都会涉及安全规则.而切面可以帮我 ...
- 将Spring实战第5版中Spring HATEOAS部分代码迁移到Spring HATEOAS 1.0
最近在阅读Spring实战第五版中文版,书中第6章关于Spring HATEOAS部分代码使用的是Spring HATEOAS 0.25的版本,而最新的Spring HATEOAS 1.0对旧版的AP ...
- ASP.NET MVC开发必看系列
一.关于HTTP协议的那些事 这可以说我们开发WEB程序的空气,推荐不断温故知新! HTTP协议 (一) HTTP协议详解 HTTP协议 (二) 基本认证 HTTP协议 (三) 压缩 HTTP协议 ( ...
- Spring实战 (第3版)——AOP
在软件开发中,分布于应用中多处的功能被称为横切关注点.通常,这些横切关注点从概念上是与应用的 业务逻辑相分离的(但是往往直接嵌入到应用的业务逻辑之中).将这些横切关注点与业务逻辑相分离正是 面向切面编 ...
随机推荐
- 【OpenGL ES】EGL+FBO离屏渲染
1 前言 FBO离屏渲染 中使用 GLSurfaceView 来驱动 Renderer 渲染图片,为了隐藏 GLSurfaceView,将其设置为透明的,并且宽高都设置为1.本文将使用 EGL 代 ...
- Swoole从入门到入土(17)——WebSocket服务器[成员函数与配置选项]
这一节,我们重点了解websocket server的成员函数以及相关的配置选项. 1.成员函数 push:向 WebSocket 客户端连接推送数据,长度最大不得超过 2M. Swoole\WebS ...
- ORACLE cannot fetch plan for SQL_ID
今天做SQL执行计划测试的时候,发现sqlplus无法正常打印执行计划,根据网上资料整理如下: ..... SYS@orcl> select * 2 from table( 3 ...
- Innodb 存储引擎表
目录 索引组织表 Innodb逻辑存储结构 表空间 段 区 页 行 Innodb 行记录格式 Compact Redundant 行溢出数据 Compressed 和 Dynamic 行记录格式 ch ...
- 跨越千年医学对话:用AI技术解锁中医古籍知识,构建能够精准问答的智能语言模型,成就专业级古籍解读助手(LLAMA)
跨越千年医学对话:用AI技术解锁中医古籍知识,构建能够精准问答的智能语言模型,成就专业级古籍解读助手(LLAMA) 介绍:首先在 Ziya-LLaMA-13B-V1基线模型的基础上加入中医教材.中医各 ...
- windbg 分析 32 位进程的 64 位转储文件
场景: x86 的项目在 x64 的 windows 机器上运行时出现未响应的情况,使用任务管理器创建该进程的转储文件 因为项目是 32 位的,所以使用 x86 的 windbg 来调试 dmp 文件 ...
- zookeeper源码(10)node增删改查及监听
本文将从leader处理器入手,详细分析node的增删改查流程及监听器原理. 回顾数据读写流程 leader ZookeeperServer.processPacket封装Request并提交给业务处 ...
- 聊聊CWE 4.14 与 ISA/IEC 62443中,如何保障工业软件的安全性
本文分享自华为云社区<CWE 4.14 与 ISA/IEC 62443>,作者:Uncle_Tom. 1. 序言 随着 5G 的应用,物联的网发展,越来越多的自动化控制系统.云服务在工业控 ...
- Zabbix“专家坐诊”第182期问答汇总
问题一: Q:像烽火.浪潮这种没有ilo的设备怎么监控他们的硬件状态呢? A:如果没有ilo,可以使用其他硬件监控软件,例如HP Insight Manager.IBM Director.Dell O ...
- mongo Payload document size is larger than maximum of 16777216. 如何处理
MongoDB中的文档大小限制为16MB(即16777216字节).如果你遇到Payload document size is larger than maximum of 16777216的错误,意 ...