上一页 1 2 3 4 5 6 ··· 8 下一页
摘要: 4.7.1 定义和命名新属性 允许编译器定义和发布的class文件在class文件结构体、field_info结构体、method_info结构体和Code结构体中的attributes表中包含新的属性。允许java虚拟机识别和使用attributes表中的新属性。但是,任何没有在class文件规范 阅读全文
posted @ 2019-10-28 18:57 lwli 阅读(297) 评论(0) 推荐(0) 编辑
摘要: 使用spring boot搭建了一个web服务,部署在docker容器中。使用中出现了一个性能问题:多次接口请求中,偶尔会出现一次响应非常慢的情况。正常情况下接口的响应时间在10-20ms,偶尔会出现一次3s以上的响应。下面是自己的一个排查过程 1、验证本地开发环境。 首先考虑的是在本地开发环境中找 阅读全文
posted @ 2019-10-28 18:47 lwli 阅读(6183) 评论(0) 推荐(0) 编辑
摘要: 4.7 属性 属性用于class文件格式中的ClassFile,field_info,method_info和Code_attribute结构。 所有的属性都是下面的格式: 对于所有的属性,attribute_name_index是类文件常量池中有效的16位索引。在这个索引位置的常量池条目必须是CO 阅读全文
posted @ 2019-09-26 17:17 lwli 阅读(358) 评论(0) 推荐(0) 编辑
摘要: 4.5 字段 字段使用field_info结构来描述。 在同一个class文件中的两个字段不能有相同的名称和描述符。 结构的格式如下: field_info结构中的项目如下: access_flags access_flags的值是标识的掩码,用于表示对该字段的访问权限和属性。表4.5-A指定了设置 阅读全文
posted @ 2019-09-02 19:37 lwli 阅读(280) 评论(0) 推荐(0) 编辑
摘要: 4.4 常量池 java虚拟机指令并不依赖类、接口、类实例或者数组的运行时布局。相反,指令依靠常量池中的符号信息。 所有的常量池条目都有如下的通用结构: 常量池表中的每一个项目是以1比特的标识位开始,指示是哪种cp_info条目。info数组的内容由标志位来决定。有效的标识以及对应的值见表4.4-A 阅读全文
posted @ 2019-09-01 22:53 lwli 阅读(349) 评论(0) 推荐(0) 编辑
摘要: 第四章 class文件格式 本章介绍了java虚拟机的class文件格式。每一个class文件包含一个单独的类或者接口的定义。虽然类和接口不一定都定义在文件中(比如类和接口亦可以通过类加载器直接生成),我们将通俗地将类或接口的任何有效表示称为class文件格式。class文件是由8位的字节流组成。所 阅读全文
posted @ 2019-08-01 19:04 lwli 阅读(449) 评论(0) 推荐(0) 编辑
摘要: 3.12 抛出和处理异常 在程序中使用throw关键字来抛出异常。编译结果很简单。 编译为: 使用try-catch构建的编译时直观的,例如: 编译为: 自己观察,try代码块编译后,就和try不存在一样: 在执行try代码块的时候,如果没有异常抛出,就和try不存在一样:tryItOut被调用然后 阅读全文
posted @ 2019-08-01 18:57 lwli 阅读(263) 评论(0) 推荐(0) 编辑
摘要: 3.6 接受参数 如果n个参数传给一个实例的方法,按照约定,它们被接受并放在这个新方法创建的栈帧中的局部变量表里,在局部变量表中的序号从1到n。这些参数按照它们传递过来的顺序存放。例如: 编译为 按照约定,一个实例的引用要传递到当前实例方法的局部变量0。在java编程语言中这个实例可以通过关键词th 阅读全文
posted @ 2019-07-04 16:46 lwli 阅读(263) 评论(0) 推荐(0) 编辑
摘要: 3.3 算术运算 java虚拟机通常在操作数栈上进行算术运算(例外情况是iinc指令,它直接增加一个局部变量的值)。例如下面的align2grain()方法,它的作用是将int值对齐到2的指定次幂: 算术运算的操作数是从操作数栈中弹出的,运算结果会压回操作数栈。因此,算术子计算的结果可以作为嵌套计算 阅读全文
posted @ 2019-06-04 22:25 lwli 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 本文翻译自:https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-2.html 第三章 java虚拟机的编译 java虚拟机是设计用来支持java编程语言的。Oracle的JDK软件包含了一个将Java源代码编译成java虚拟机指令集的编译器 阅读全文
posted @ 2019-05-29 21:54 lwli 阅读(485) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 8 下一页