问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Java JVM怎么学习啊?从哪方面入手

发布网友 发布时间:2022-04-23 13:47

我来回答

3个回答

热心网友 时间:2022-04-11 23:44

Java JVM如何学习?首先要了解他的类型!

java虚拟机学习 

  数据类型(基本类型、引用类型)====>数值本身、引用值 2. 堆、栈=====>栈是运行时的单位(如何处理数据),堆是存储的单位(数据如何存储)

------栈因为是运行单位,因此里面存储的信息都是跟当前线程(或程序相关信息的。包括局部变量、程序运行状态、方法返回值等等;而堆只负责存储对象信息。在Java中,Main函数就是栈的起始点,也是程序的起始点。堆中存的是对象,栈中存的是基本数据类型和堆中对象的引用 

  Java中的参数传递时传值呢?还是传引用? 

a) 程序运行永远都是在栈中进行的,因而参数传递时,只存在传递基本类型和对象引

用的问题。不会直接传对象本身。 

b) Java在方法调用传递参数时,因为没有指针,所以它都是进行传值调用 

c) 堆和栈中,栈是程序运行最根本的东西。程序运行可以没有堆,但是不能没有栈。

而堆是为栈进行数据存储服务,说白了堆就是一块共享的内存。不过,正是因为堆和栈的分离的思想,才使得Java的垃圾回收成为可能

Java对象的大小 

a) 一个空Object对象的大小是8byte(没有任何属性的对象) b) Object ob = new Object();所占的空间为:4byte+8byte。4byte是上面部分所说的Java

栈中保存引用的所需要的空间。而那8byte则是Java堆中对象的信息.不论什么样的Java对象,其大小都必须是大于8byte 

c) Java在对对象内存分配时都是以8的整数倍来分,基本类型包装类的大小至少是

16byte

引用类型 

a) 对象引用类型分为强引用、软引用、弱引用和虚引用。 

b) 强引用:就是我们一般声明对象是时虚拟机生成的引用,强引用环境下,垃圾回收

时需要严格判断当前对象是否被强引用,如果被强引用,则不会被垃圾回收 c) 软引用:软引用一般被作为缓存来使用。与强引用的区别是,软引用在垃圾回收时,

虚拟机会根据当前系统的剩余内存来决定是否对软引用进行回收。如果剩余内存比较紧张,则虚拟机会回收软引用所引用的空间;如果剩余内存相对富裕,则不会进行回收。换句话说,虚拟机在发生OutOfMemory时,肯定是没有软引用存在的。 d) 弱引用:弱引用与软引用类似,都是作为缓存来使用。但与软引用不同,弱引用在

进行垃圾回收时,是一定会被回收掉的,因此其生命周期只存在于一个垃圾回收周期内。

JVM调优总结(三)-基本垃圾回收算法 7. 垃圾回收面临的问题 

a) 如何区分垃圾。垃圾回收的起点是一些根对象(java栈, 静态变量, 寄存器...)。而

最简单的Java栈就是Java程序执行的main函数 b) 如何处理碎片。“复制”方式和“标记-整理”方式,都可以解决碎片的问题。 c) 如何解决同时存在的对象创建和对象回收问题;在现有的垃圾回收方式中,要进行

垃圾回收前,一般都需要暂停整个应用(即:暂停内存的分配),然后进行垃圾回收,回收完成后再继续应用 

8. 分代垃圾回收详述 

a) 为什么要分代:不同的对象的生命周期是不一样的。因此,不同生命周期的对象可

以采取不同的收集方式,以便提高回收效率。 

b) 如何分代虚拟机中的共划分为三个代:年轻代(Young Generation)、年老点(OldGeneration)和持久代(Permanent Generation)。其中持久代主要存放的是Java类的类信息,与垃圾收集要收集的Java对象关系不大。年轻代和年老代的划分是对垃圾收集影响比较大的

什么情况下触发垃圾回收GC有两种类型:Scavenge GC(当新对象生成,并且在Eden

申请空间失败时,就会触发Scavenge GC,对Eden区域进行GC,清除非存活对象,并且把尚且存活的对象移动到Survivor区)和Full GC(对整个堆进行回收)

典型配置举例 

a) 堆大小设置 

b) 回收器选择。串行收集器、并行收集器、并发收集器,但是串行收集器只适用于小

数据量的情况,所以这里的选择主要针对并行收集器和并发收集器。

垃圾回收的瓶颈 

a) 传统分代垃圾回收方式,已经在一定程度上把垃圾回收给应用带来的负担降到了最

小,把应用的吞吐量推到了一个极限。但是他无法解决的一个问题,就是Full GC所带来的应用暂停

学习java的伙伴加我的 群去下载视频资料 540-998-279!

热心网友 时间:2022-04-12 01:02

java初学者?用不到学习JVM,学java基础语法就行

热心网友 时间:2022-04-12 02:37

JVM

java虚拟机(java virtual machine 简称JVM):一种能够运行java字节码的虚拟机,作为一种编程语言的虚拟机,实际上不只是专用于java语言,只要生成的编译文件匹配JVM对加载编译文件格式要求,任何语言都可以由JVM编译运行。比如kotlin、scala等。

JVM有很多,不只是Hotspot,还有JRockit、J9等等

JVM的基本结构

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...的话有啥影响,怎么听说对六年后换证有影响? ...重新刷学时吗,科一科二科三科四可以转校吗? 考完科一科二科三科四要多久 ...但是科目三的学时没有打满对以后有没有影响? 我的学时卡没有打过,一点都没有,不过我科一科二科三科四都全部考完了... 五行穿搭2021年10月8日五行属什么怎么穿衣 十月八日上到十月几日 ipadmini和iphone6是充电器不一样、还是数据线不一样呢?可以互相使用充 ... iphone6的插头可以通用ipad mini 吗 iphone6和ipad mini的充电器可以通用吗 Java如何调用本地dll库里面的方法 jvm中线程本地内存是真实存在的,还是一个抽象概念 在java本地方法调用中,jni.h这个文件起到的作用是什么?它和jniEvn是什么关系?为什么必须要引入jni.h... 怎样理解java native方法 Java栈和本地方法栈方法调用栈,这些都是什么? java中的本地方法 Java的方法区和本地方法区有何不同?什么是Native Method? 在java中本地方法是什么意思? JAVA本地方法详解,什么是JAVA本地方法 jvm在调用native本地方法时,本地方法是由谁执行的? 苹果xr用久了声音变小了是什么原因? 我的扶桑花肥上多了换了花盆为什么还是没见好转 需要换花土是养了一年的扶桑。 扶桑花怎样养? 电脑能播放视频但没有声音怎么回事? 前两天我把扶桑移植到新的花盆 大夏天会不会死啊? 电脑播放视频时候没声音,怎么办? 为什么买的扶桑花都是黄胶泥土,换盆也不活,几天后奄奄一息了? 我的电脑音响听音乐有声音 可看视频却没有声音 请问是怎么回事呢 为什么我的电脑播放视频时没有声音? JVM原理是什么? 2016年,Java还有必要使用本地方法以提高性能吗 native的JVM与Native Method java怎么获取本地文件路径 住街边,隔音玻璃贴膜有用吗,可以做到基本静音吗 玻璃贴膜能增强强度?玻璃在静态下的强度是多少?谢谢! 无胶电静贴膜可以用在淋浴玻璃隔断吗?它与带粘胶玻璃贴膜哪个更合适呢?是贴在里面还是外面呢? 苹果手机屏幕有时会点不动? 有没有什么东西是透明的,贴在玻璃上隔音效果又比较好的东西 苹果手机触摸屏有时候管用有时候不管用怎么回事 受不了噪音,想换中空玻璃窗,或者隔音贴膜? 苹果手机屏幕时灵时不灵是怎么回事 玻璃怎么隔音 请问建军节是几月几日呢? 建筑玻璃贴膜的功能 苹果手机屏幕时好时坏怎么办?如何解决? 玻璃幕墙贴膜施工方法? 手机玻璃钢化膜粘面不干静怎么办 苹果手机屏幕有时失灵是怎么回事 玻璃上可以贴墙纸吗?