手机浏览器扫描二维码访问
【JVm篇之4个核心问题】
1、JVm的原理?
2、描述下Java虚拟机(JVm)的内存结构?
3、谈谈JVm中的类加载过程?
4、如何优化JVm的性能?
......
二、JVm(4个)
1、JVm的原理?
在Java中,JVm(JavaVirtua1mae,Java虚拟机)是Java平台的核心组件。
它负责执行Java字节码,并在不同的操作系统和硬件平台上,提供一致的Java运行环境。
JVm的原理,要从7个方面说起,即Java字节码,类加载,执行引擎,内存管理,垃圾回收,本地方法接口,安全性。
下面,我就从以上这7个方面,来具体简要介绍一下,JVm的原理:
1)Java字节码
Java源代码(.java文件)先被Java编译器(javac)编译成字节码(.c1ass文件)。
这些字节码,是平台无关的,意味着它们可以在任何支持Java的平台上运行。
2)类加载
JVm中有一个类加载器(c1assLoader)。
它的任务是将字节码文件加载到JVm中,并转换成JVm可以执行的数据结构。
这个过程中,还会进行包括链接(验证、准备、解析)和初始化等步骤。
3)执行引擎
执行引擎负责解释(或即时编译)和执行字节码。
解释执行是指逐条读取字节码指令并执行。
而即时编译(JIT,Just-In-Timepi1er)则是,将一部分频繁执行的字节码,编译成机器码,以提高执行效率。
4)内存管理
JVm管理着Java程序的内存,包括方法区、堆、栈、程序计数器以及本地方法栈等部分。
(1)方法区存放类元数据;
(2)堆是存放对象实例的地方;
(3)栈用于存放基本数据类型和对象引用;
(4)程序计数器记录当前线程执行的字节码位置;
(5)本地方法栈用于执行本地方法。
5)垃圾回收
JVm负责自动管理堆内存中的对象生命周期。
当对象不再被引用时,垃圾回收器会自动回收其占用的内存,防止内存泄漏。
6)本地方法接口
JVm提供了本地方法接口(JnI),允许Java代码与本地代码(如c、c++代码)进行交互。
JavanativeInterfanetI使得Java代码,可以与其他语言写的代码,进行交互。
通过JnI,Java程序,可以调用本地方法库(通常是c或c++编写的)中的函数。
也可以,被其他语言写的程序调用。
7)安全性
简介关于桃花渡,今意正好时前世她一片真心相待,却被姐姐抢走夫君谋夺家产害死家人。最终,她被灌入一杯毒酒,含恨而终。重来一世,她不会再忍让,所有挡她路的人都该受到惩罚!可奇怪得很,这一世那位让京中贵女都疯迷的永安侯世子,怎么老能和她遇上?前世那对她弃之敝履的夫君,居然也后悔了?她永远不会忘记那一天。有人站到她身旁,柔声道卿卿莫怕,有我。高岭之花有一只很漂亮的白色狸猫,女主好奇的打量那只猫。它有名字吗?嗯,阿狸。阿狸,真是个好名字!一听就是个小美女呢!它是公的。...
万姿二十五岁生日,闺蜜们众筹十万港币,送她一个礼物。她曾求而不得的人,梁景明的初夜。清醒明骚做自己的公关界美人x早熟蔫坏闷骚的小狼狗大学生Tips非典型性姐弟恋,女25男181V1甜文,男处女非,先...
三年前的一场误会,易如烟赌气听家里安排找了个未婚夫,不料未婚夫与同父异母的妹妹勾搭上了。婚礼上,妹妹挑衅道你的东西即使我不喜欢也要抢到手,但你的男人配不上我,只有冷昊天才能配得上我。易如烟拿起...
作品简介延雨山洪留遗孤,十年苦修耀九州。全能武修多磨难,盖世妖孽不世休。扬善恶,除邪魔,仗剑万里笑春风。抛热血,守义忠,换得佳人度春秋。...
gtp1tgtdivnetkquot1tgtahrefquotbeginquot1t立即阅读gta1t...
时间洪流裹挟世界向前推演,人类无论是沉沦悲欢离合,还是坚定信念奋战,对这个世界来讲都不会产生根本性改变太阳天使。当太阳天使镇压现实,神女登临神圣,雪女探索次元,邪圣王抵御黑暗之时,世界理应产生根本改变。危难,至此终结。人类,完全崛起!...