Java底层知识学习:Bytecode and JMM
最近在跟着耗子哥的程序员练级指南学习Java底层知识,结合《深入理解Java虚拟机》这本书在看,写笔记,看资料,成长中……
目前看完了第二章JMM和各内存区OOM的情况
一篇图文并茂介绍字节码的文章:
https://mahmoudanouti.wordpress.com/2018/03/20/introduction-to-java-bytecode/
18-07-31更新:
现在已经看完了前五章,从第六章开始,六七八章开始涉及Class的文件构成是什么?类加载的五个步骤“加载、验证、准备、解析、初始化”分别是什么?
看完了常量池这一部分,是Class文件的资源仓库,记录与其他项目关联的数据结构。
使用 javap -verbose 命令可以解析字节码文件。
8/1更新:
看书的速度明显慢下来了,显然开始要读干货了。
今天看了字段表集合这一小节,带着前面对常量池一节的理解,读下来并不难。
字段表,就是类变量以及实例变量的集合。什么与变量有关?首先是访问控制符(private, public, protected), 然后是能否修改(final), 是否为类变量(static), 并发可见性(volatile, 线程是否直接从主内存读), 是否可序列化(transient), 字段数据类型,字段名称。
除了类型和名称,其他的都可以用boolean来表示。类型和名称则是引用常量表里的数据项。
8/6更新:
发现一篇总结比较好的JVM面试题: https://www.cnblogs.com/zuolun2017/p/6121782.html
8/15更新:
最近开始了一项新工作:解析class文件。
今天解析到属性表(attribute field) ,解析Code 和 Exception,并且重构了代码。
最新文章
- lombok 简化java代码注解
- js/jquery 回调函数的定义方法
- (ios) nsnotification总结
- 烂泥:【转】rsync命令参数详解
- ubuntu安装jdk-6u45-linux-x64-rpm.bin
- 设置TabBarItem选中时的图片及文字颜色
- 关于Java文件删除的操作
- SQL中的自定义函数Function
- eclipse下如何关联android-support-v4.jar源码
- ORA-15041: diskgroup space exhausted
- Myeclipse启动错误
- ajax数据请求2(json格式)
- Myeclipse10.7添加本地插件方法
- Day 1 下午
- PHP 方法,类与对象的相关函数学习
- CentOS Linux下VNC Server远程桌面配置详解
- centos 7.2 64位 docker安装lamp环境
- zookeeper 图形化的客户端工具:ZooInspector
- 基于JWT(Json Web Token)的ASP.NET Web API授权方式
- bootstrap table 自己设置值
热门文章
- phpstorm常用快捷键有哪些(图解归类)
- GTID的限制
- App各种Icon及Launch image的尺寸和用途
- MVVM初步搭建应用
- Spring异步方法注解 @Async
- 利用WPF建立自己的3d gis软件(非axhost方式)(八)拖动一个UI到地球上
- 【43.75%】【codeforces 688E】The Values You Can Make
- Topshelf组件
- C# keybd_event用法 模拟键盘输入
- Delphi 的内存操作函数(1): 给字符指针分配内存( 给字符指针(PChar、PWideChar、PAnsiChar)分配内存最佳的选择是StrAlloc。分配内存的时候会对字符串进行初始化)