JVM
JVM
smith789
这个作者很懒,什么都没留下…
展开
-
字节码
看得懂字节码在一些地方还是挺有用的。下面学习一些基础结构类型的字节码。栈架构JVM是基于栈机构设计的,每个方法都会创建一个栈帧。栈帧中最重要的是局部变量表和栈。各种操作都是围绕局部变量表和栈进行的。for循环public class Test02 { void spin(){ int i; for(i =0;i<100;i++){ ; } }}public class com.sss.jvm.byte原创 2020-08-02 22:09:09 · 202 阅读 · 0 评论 -
class文件解析示例
class文件的格式等理论概念网上很多,不再赘述,下面是针对一个class文件实例进行”翻译“。源文件package com.sss.jvm.unclassified;public class SimpleUser { public static final int TYPE = 1; private int id; private String name; public int getId(){ return id; } publ原创 2020-07-26 20:34:29 · 320 阅读 · 0 评论 -
线程的状态
老生常谈线程的状态这个话题老生常谈了,但是一定要纠正下,网上的诸多资料太乱,有的说的根本就是错的。Java线程的状态和操作系统的状态根本就是两回事,不可混淆。Java线程的状态位于上层,一个Java状态可能对应N个操作系统的线程状态。状态枚举中文翻译过来的状态太多叫法,还是得英文原本的叫法。public enum State { NEW, RUNNABLE, BLO...原创 2019-12-16 13:32:11 · 903 阅读 · 0 评论 -
JVM运行时数据区各种异常示例
堆import java.util.ArrayList;import java.util.List;/** * -XX:+HeapDumpOnOutOfMemoryError -Xms20m -Xmx20m */public class Heap { public static void main(String[] args) { List<String...原创 2019-12-14 18:36:23 · 186 阅读 · 0 评论 -
类加载器(ClassLoader)概述
ClassLoader层级关系每个类加载器都有自己预先定义好的加载class的路径。1、BootStrap class loader(根类加载器)负责加载jdk/libs/rt.jar中所有的class。它是最上层的classLoader,如果打印它的父classLoader,会显示null。2、Extension class loader(扩展类加载器)加载jdk/lib/ext中的...原创 2019-12-12 13:02:31 · 228 阅读 · 0 评论