JVM
文章平均质量分 67
Mudrock__
这个作者很懒,什么都没留下…
展开
-
JVM_JVM启动参数及堆内存分布及GC触发条件
JVM对内存的管理主要体现在堆内存的管理上;在启动JVM时,可以设置JVM的内存大小及调整策略。原创 2022-08-17 07:06:47 · 364 阅读 · 0 评论 -
JVM_逃逸分析
逃逸分析的基本行为就是分析对象的动态作用域:当一个对象在方法中被定义后,可能被外部方法引用(例如作为参数传递到其他方法中),称为方法逃逸;甚至还有可能被外部线程访问(例如为类变量或可以在其他线程中访问的实例变量赋值),称为线程逃逸对不逃逸的对象进行高效优化若能证明一个对象不会逃逸到方法或线程外,即其他方法或线程无法通过任何途径访问该对象,则可以为该对象进行一些高效优化JVM中,在堆上分配创建对象的内存空间,堆中的对象对于各个线程都是共享和可见的,只要持有对象的引用,就可以访问堆中存储的对象数据。...原创 2022-08-16 21:04:11 · 197 阅读 · 0 评论 -
JVM_沙箱安全机制与Java安全模型
沙箱是一个限制程序运行的环境什么是沙箱机制沙箱机制就是将Java代码限定在JVM特定的运行范围中,并严格限制代码对本地系统资源的访问,以此来保证对代码的有效隔离、防止对本地系统造成破坏。不同级别的沙箱对本地系统资源的访问限制不同(CPU、内存、文件系统、网络)...原创 2022-08-13 04:46:42 · 728 阅读 · 0 评论 -
JVM_JVM体系结构
当有方法被调用时,线程会在自己的线程栈中同步创建一个栈帧(Stack Frame),用于存放局部对象的引用、局部变量表、操作数栈、动态链接、方法出口、父帧与子帧等信息,方法从被调用到完成调用的过程,对应着一个栈帧在线程栈中从入栈到出栈的过程。本地方法栈与Java栈的作用相似,不同的是Java栈为JVM执行的Java方法服务,本地方法栈为JVM调用的本地方法服务(在HotSpot虚拟机中,Java栈与本地方法栈被合并)需要注意的是,局部常量(被final修饰的局部变量)存放于堆(运行时常量池),而不是栈。..原创 2022-08-13 02:52:34 · 261 阅读 · 0 评论 -
JVM_类加载器
请求会一直委派至根加载器 此时开始逐级向下寻找可加载该类的加载器(若加载器的可加载范围中存在该类 则为可加载) 直至找到可加载该类的加载器为止。由C++编写 是JVM自带的类加载器 负责Java平台核心库的加载(该加载器无法直接获取)负责jre/lib/ext目录下或-D java.ext.dir指定目录下的jar包的加载。当一个类加载器收到了类加载请求时 不会直接加载指定类 而是将请求委托给父加载器。用户自定义的类加载器 负责用户指定路径下的jar包与.class文件的加载。1.避免类的重复加载。...原创 2022-08-07 23:40:01 · 76 阅读 · 0 评论 -
JVM_类加载过程
正式在方法区中为类变量(静态变量)及类方法(静态方法)分配内存,并设置类变量的默认初始值(普通变量的内存随类的实例化分配在堆内),执行静态代码块(先后顺序视代码编写顺序而定)通过类加载器将class文件(字节码)内容加载到内存中,并将这些静态数据转换成方法区的运行时数据结构,然后生成代表这个类的Class对象(堆内)执行类构造器()方法,该方法由编译器自动收集类中所有类变量的赋值动作和类方法(部分类还存在静态代码块)合并产生。类构造器用于构造类信息,区别于构造类对象的构造方法。.........原创 2022-08-07 18:38:03 · 101 阅读 · 0 评论