今天第一次使用虚拟姐打断点,断点设置在了void TemplateInterpreterGenerator::generate_and_dispatch(Template* t, TosState tos_out) 了 在TemplateInterpreterGenerator.cpp中,这个函数之前看书就不太懂,现在debug时候就能分析的比较清楚了,这个函数的介绍在解密jvm的528页中有具体介绍 void TemplateInterpreterGenerator::generate_and…
JVM学习第一篇思考:一个Java代码是怎么运行起来的-上篇 作为一个使用Java语言开发的程序员,我们都知道,要想运行Java程序至少需要安装JRE(安装JDK也没问题).我们也知道我们Java程序员编写的程序代码文件是*.java的,而JRE运行的是*.class的文件.所以,我们需要将java文件编译成class文件然后才可以.那么,你有没有想过,一个java文件是怎么运行起来的呢?中间都经历了哪些环节呢?我们都知道JVM是Java虚拟机,那么,有没有思考过JVM的内存模型是什么呢?我们n…
测试环境  mssql 08  +win7    数据 30W条 二〇一六年十月二十九日 09:04:43 结论:1>主键> *>可空列    推测未论证: 根据情况优先选择 顺便提一下 如果有分类列建立了索引 count将会很快…
JVM学习篇-第一篇 JDK( Java Development Kit): ​ Java程序设计语言.Java虚拟机.Java类库三部分统称为JDK,JDK是用于支持Java程序开发的最小环境** JRE(Java Runtime Environment): ​ Java类库API中的JavaSE的API子集和Java虚拟机两部分统称为JRE,JRE是支持Java程序运行的标准环境 JVM(Java Virtual Machine): ​ Java虚拟机就是二进制字节码的运行环境,负责装载字节…
内存布局**** ​ JVM内存布局规定了Java在运行过程中内存申请.分配.管理的策略,保证了JVM的稳定高效运行.不同的JVM对于内存的划分方式和管理机制存在部分差异.结合JVM虚拟机规范,一起来探讨jVM的内存布局.如下图所示: Heap 堆区 ​ Heap堆区是Java发生OOM(Out Of Memory)故障的地方,堆中存储着我们平时创建的实例对象,最终这些不再使用的对象会被垃圾收集器回收掉,而且堆是线程共享的.一般情况下,堆所占用的内存空间是JVM内存区域中最大的,我们在平时编码中…
java架构之路-(面试篇)JVM虚拟机面试大全 https://www.cnblogs.com/cxiaocai/p/11634918.html   下文连接比较多啊,都是我过整理的博客,很多答案都在博客里有详细说明,理解记忆是最扎实的记忆.而且我的答案不一定是最准确的,但是我的答案不会让你失望,而且几乎每个答案都是问题的扩展答案. 1.JVM内存模型 答:https://www.cnblogs.com/cxiaocai/p/11483629.html 先经过类装载子系统装载,经由验证,准备,…
写在前面的话:本文是在观看尚硅谷JVM教程后,整理的学习笔记.其观看地址如下:尚硅谷2020最新版宋红康JVM教程 一.运行时数据区 我们在编写Java程序时,使用JVM的流程主要如下所示: 虚拟机在执行Java程序时,会把它所管理的内存划分为不同的数据区域,即运行时数据区.有些数据区域是线程共享的,即这些区域会随着虚拟机的启动而创建,随着虚拟机的关闭而销毁.而另一些区域则是与线程对应,属于线程私有的.这些区域会随着线程开始而创建,随着线程的结束而销毁. 具体的划分如下: 多个线程共享的:堆.方…
[JVM虚拟机](9)-- JVM是如何处理异常的 上篇博客我们简单说过异常信息是存放在属性表集合中的Code属性表里,那么这篇博客就单独讲Code属性表中的exception_table. 在讲之前我们先思考两个问题? 1.为什么捕获异常会较大的性能消耗? 2.为什么finally中的代码会永远执行? 接下来会从JVM虚拟机的角度来解答这两个问题. 一.概念 1.JVM是如何捕获异常的? 1.编译而成的字节码中,每个方法都附带一个异常表. 2.异常表中每一个条目代表一个异常处理器 3.触发异常…
#[JVM虚拟机](8)--深入理解Class中--方法.属性表集合 之前有关class文件已经写了两篇博客: 1.[JVM虚拟机](5)---深入理解JVM-Class中常量池 2.[JVM虚拟机](6)---深入理解Class中访问标志.类索引.父类索引.接口索引 3.[JVM虚拟机](7)---深入理解Class中-属性集合 那么这篇博客主要讲有关 方法表集合 相关的理解和代码示例. 方法表集合: 告知该方法是什么修饰符修饰?是否有方法值?返回类型是什么?方法名称,方法参数,还有就是方法内…
#[JVM虚拟机](7)---深入理解Class中-属性集合 之前有关class文件已经写了两篇博客: 1.[JVM虚拟机](5)---深入理解JVM-Class中常量池 2.[JVM虚拟机](6)---深入理解Class中访问标志.类索引.父类索引.接口索引 那么这篇博客主要讲有关 字段表集合 相关的理解和代码示例. 字段表:用于描述接口或者类中声明的变量,字段包括类级(static修饰)变量以及实例级变量,但是不包括局部变量(方法内部变量). 一.概念 字段表集合:包括了字段计数器和字段数据…