最近在跟着耗子哥的程序员练级指南学习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,并且重构了代码。

最新文章

  1. lombok 简化java代码注解
  2. js/jquery 回调函数的定义方法
  3. (ios) nsnotification总结
  4. 烂泥:【转】rsync命令参数详解
  5. ubuntu安装jdk-6u45-linux-x64-rpm.bin
  6. 设置TabBarItem选中时的图片及文字颜色
  7. 关于Java文件删除的操作
  8. SQL中的自定义函数Function
  9. eclipse下如何关联android-support-v4.jar源码
  10. ORA-15041: diskgroup space exhausted
  11. Myeclipse启动错误
  12. ajax数据请求2(json格式)
  13. Myeclipse10.7添加本地插件方法
  14. Day 1 下午
  15. PHP 方法,类与对象的相关函数学习
  16. CentOS Linux下VNC Server远程桌面配置详解
  17. centos 7.2 64位 docker安装lamp环境
  18. zookeeper 图形化的客户端工具:ZooInspector
  19. 基于JWT(Json Web Token)的ASP.NET Web API授权方式
  20. bootstrap table 自己设置值

热门文章

  1. phpstorm常用快捷键有哪些(图解归类)
  2. GTID的限制
  3. App各种Icon及Launch image的尺寸和用途
  4. MVVM初步搭建应用
  5. Spring异步方法注解 @Async
  6. 利用WPF建立自己的3d gis软件(非axhost方式)(八)拖动一个UI到地球上
  7. 【43.75%】【codeforces 688E】The Values You Can Make
  8. Topshelf组件
  9. C# keybd_event用法 模拟键盘输入
  10. Delphi 的内存操作函数(1): 给字符指针分配内存( 给字符指针(PChar、PWideChar、PAnsiChar)分配内存最佳的选择是StrAlloc。分配内存的时候会对字符串进行初始化)