会员
周边
新闻
博问
闪存
众包
赞助商
YouClaw
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
撑大鱼
博客园
首页
新随笔
联系
订阅
管理
2018年11月6日
《深入理解Java虚拟机》读书笔记7-虚拟机字节码执行引擎
摘要: 虚拟机字节码执行引擎 启动java程序,包含程序入口main方法的class文件将会率先被JVM获取到,然后就是类加载阶段处理这个class文件,最终通过调用man方法开始一个java程序的执行。可以说Java程序的执行就是一个或多个方法调用链,而初始方法就是main。接下来我们介绍java方法的内
阅读全文
posted @ 2018-11-06 22:45 撑大鱼
阅读(122)
评论(0)
推荐(0)
2018年10月30日
《深入理解Java虚拟机》读书笔记6-解密HotSpot中的实例对象
摘要: 解密HotSpot虚拟机中的对象 介绍完class类文件以及它的加载过程,接下来我们看看class类对应的实例对象的秘密。 1、对象的创建 当虚拟机遇到一条new指令时,首先检查指令后面参数是否能在常量池中对应一个符号引用,然后再检查符号引用对应的class类是否已经加载、解析和初始化过,如果没有则
阅读全文
posted @ 2018-10-30 22:34 撑大鱼
阅读(205)
评论(0)
推荐(0)
2018年10月29日
OpenSessionInView vs Dynamic Routing DataSource
摘要: 开发中有这样的业务场景:有25家法院,法院数据库结构都是一样的,需要遍历25家法院统计每家法院的指标信息。我们项目使用的是spring boot2,对于遍历25家法院执行同样的操作,考虑使用spring自带的AbstractRoutingDataSource来实现数据源的切换(有关AbstractR
阅读全文
posted @ 2018-10-29 10:34 撑大鱼
阅读(501)
评论(0)
推荐(0)
2018年10月19日
《深入理解Java虚拟机》读书笔记5—虚拟机类加载
摘要: 虚拟机类加载 虚拟机加载class类文件到内存,直至类被卸载出内存整个生命周期如下图所示: 以上加载、验证、准备、解析、初始化就是类加载(Class Loading)。上图中的箭头指向并不是完全指明他们的顺序,其中只有加载、验证、准备、初始化、卸载是按上图的顺序开始的,而且不是按顺序完成。 虚拟机没
阅读全文
posted @ 2018-10-19 16:34 撑大鱼
阅读(163)
评论(0)
推荐(0)
2018年10月17日
《深入理解Java虚拟机》读书笔记4-运行时内存区域
摘要: Java运行时数据区域 Java运行时数据区域如下图所示:
阅读全文
posted @ 2018-10-17 20:00 撑大鱼
阅读(110)
评论(0)
推荐(0)
《深入理解Java虚拟机》读书笔记3—class文件结构之属性表
摘要: 属性表集合 属性表可以出现再类文件、字段表、方法表之后,用于修饰特定的场景。目前属性表有21种类型,每种属性表的具体组成都不同,但都符合这样的一个整体结果: 类型 名称 含义 u2 Attribute_name_index 属性表名称索引,对应常量池一个utf-8类型的常量 u4 Attribute
阅读全文
posted @ 2018-10-17 19:56 撑大鱼
阅读(484)
评论(0)
推荐(0)
2018年10月15日
《深入理解Java虚拟机》读书笔记2-class文件结构
摘要: class文件结构 Class文件内容可以分为两种数据类型:无符号数和表。其中无符号数包括u1,u2,u3,u4,分别代表1个字节,2个字节,3个字节和4个字节。无符号数可以表示数字、UTF8编码的字符串。表是由多个无符号数或者其他表构成的数据结构,以_info结尾。可以看出Class文件的基础单位
阅读全文
posted @ 2018-10-15 22:18 撑大鱼
阅读(603)
评论(0)
推荐(0)
2018年10月14日
《深入理解Java虚拟机》读书笔记1-java简介
摘要: Java简介 1、 从机器语言到高级语言 计算机只认识0、1,对应于电路中低电平和高电平。因此,早期程序员使用特定的0、1串操控计算机,从而达到想要的目标效果。这些0、1串就称作指令,也叫机器码(比如0000代加载,000代表寄存器A,000000000000 代表地址为0的存储器,所以0000,0
阅读全文
posted @ 2018-10-14 23:52 撑大鱼
阅读(238)
评论(0)
推荐(0)
公告