java基础01-jvm内存分析

深海溺心      2022-04-17     127

关键词:

JVM java虚拟机

java编译后的class文件就是在java虚拟机上运行的

1.栈区(stacksegment)存放函数的参数值,局部变量的值等,在超过这个变量的作用域时就会被系统自动释放掉存在于JVM内存中的资源

优点:存取速度比堆快

缺点:存在栈中的数据大小与生存期必须是确定的,无灵活性

总结:基础类型存放在栈内存

for(int i=0;i<43;i++){  //i是局部变量,在for循环中可以用
  System.out.println(i);
}
System.out.println(i);//超过变量的作用域,已被系统释放掉,此时调用就会报错

int

string

double

float

char

2.堆区(heapsegment)存放由new创建的对象和数组,JVM不定时查看这个对象,如果没有引用指向这个对象就收回

引用类型:使用new来创建对象  java中除基础类型外,其余都是引用类型

引用的变量在栈内存,创建的对象在堆内存,访问创建的对象要先访问引用类型,然后在通过引用类型指向它

Scanner in=new Scanner(System.in);//声明

in.nextInt();//访问

优点:可以动态分配JVM内存

缺点:要在运行时分配JVM内存   速度慢

 

3.静态区

4.代码区

 

01-jvm内存区域复习笔记

Java内存区域      1.程序计数器(ProgramCounterRegister)     在虚拟机中一块较小的内存空间。它的作用能够看做是当前线程所运行的字节码的行号指示器。在虚拟机的概念模型里(仅是概念模型... 查看详情

大数据必学java基础(三十四):面向对象内存分析(代码片段)

文章目录面向对象内存分析一、分析代码1二、分析代码2 三、分析代码3面向对象内存分析一、分析代码1 publicclassPerson    int id;    int age;    publicstaticvoidmain(Stringargs[])        Personp1=newPerson();    内存分析 二... 查看详情

jvm01——jvm内存区域的构成

原文JVM内存主要分为三部分线程私有(ThreadLocal)、线程共享(ThreadShared)、直接内存(DirectMemory)。1|0线程私有 线程私有区域从字面意思可以看出,这部分内存,是归属于每个线程独立拥有的部分。其生命周期与线程生命... 查看详情

jvm01——jvm内存区域的构成

原文JVM内存主要分为三部分线程私有(ThreadLocal)、线程共享(ThreadShared)、直接内存(DirectMemory)。1|0线程私有 线程私有区域从字面意思可以看出,这部分内存,是归属于每个线程独立拥有的部分。其生命周期与线程生命... 查看详情

java基础学习之内存分析(栈堆方法区)

栈存放:会为每个方法(包括构造函数)开辟一个栈指针,方法执行完毕后,会自动退出,并释放空间局部变量 先进后出自下而上存储 方法执行完毕自动释放空间堆:存放new出来的对象需要垃圾回收器来回收方法区:其... 查看详情

隐写术基础

1.图片隐写基础常见类型:利用binwark工具分离图片  stegsovle工具利用  txt简写隐写  关键字搜索  16进制文件头补全修改  png格式IHDR的问题  属性隐写+文件类型常用工具:kali虚拟机(binwalk、foremost)  16进制... 查看详情

隐写术基础

1.图片隐写基础常见类型:利用binwark工具分离图片  stegsovle工具利用  txt简写隐写  关键字搜索  16进制文件头补全修改  png格式IHDR的问题  属性隐写+文件类型常用工具:kali虚拟机(binwalk、foremost)  16进制... 查看详情

面向对象编程——程序执行过程中内存分析

...定要牢记这一切都是在JVM中进行的,JVM是内存分配原理的基础与前提。 一个完整的Java程序运行过程会涉 查看详情

jvm调优--01---jvm常用命令行参数(代码片段)

...-XmsJVM启动时申请的初始Heap值,默认为操作系统物理内存的1/64但小于1G。默认当空余堆内存大于70%时,JVM会减小heap的大小到-Xms指定的大小,可通过-XX:MaxHeapFreeRation=来指定这个比列。Serve 查看详情

java设计模式精讲debug方式+内存分析

...排,通过本章的学习,让大家为整个课程高效的学习打下基础。1-1课程导学第2章UML急速入门本章节主要讲解UML基础、UML类图、UML类关系、UML时序图、UML类关系记忆技巧等,让大家急速入门UML,从而为后面设计 查看详情

android面试宝典

AndroidAndroid基础知识Android内存泄漏总结Android内存泄漏分析及总结Android性能优化ListView详解RecyclerView和ListView异同Asynctask源码分析插件化技术自定义控件事件分发机制ANR问题Art和Dalvik的区别Android关于OOM的解决方案FragmentActivity&Fr... 查看详情

jvm十大模块知识点,呕心沥血的整理,想不懂都难!

01JVM内存结构Java虚拟机的内存空间分为5个部分:?程序计数器?Java虚拟机栈?本地方法栈?堆?方法区JDK1.8同JDK1.7比,最大的差别就是:元数据区取代了永久代。元空间的本质和永久代类似,都是对JVM规范中方法区的实现。不过元空... 查看详情

(面经总结)冲刺大厂之面经总结

...ff01;!!!文章目录一、JVM知识点整理二、Java基础知识整理三、Java高并发知识点整理四、Java相关内容补充五、Java框架知识五、数据库知识点整理六、计网知识点整理七、操作系统八、分布式九、Redis十、面试学习扩... 查看详情

java开发岗:项目篇

点击:【第一章:Java开发岗:基础篇】计算机基础问题、HashMap、Fail-safe机制/Fail-fast机制、Synchronized、ThreadLocal、AQS、线程池、JVM内存模型、内存屏障、class文件结构、类加载机制、双亲委派、垃圾回收算法、垃圾回收器、空间... 查看详情

java应用常用性能分析工具

...JDK安装目录in目录下,相比于jvisualvm相关的插件比较少,基础功能都差不多jprofile是需要商业授权的Java分析工具,功能十分强大,在分析内存泄露,线程死锁,非常的专业jca Java线程分析工具,专业的线程分析工具兼容sun/orac... 查看详情

jvm是如何创造“女朋友”的

...f1b;  ● 若该类已经被JVM加载,则准备为对象分配内存;3.根据方法区中该类的信息确定该类所需的内存大小;   ●  一个对象所需的内存大小是在这个对象所属类被定义完就能确定的!且一个... 查看详情

java开发岗:spring篇

点击:【第一章:Java开发岗:基础篇】计算机基础问题、HashMap、Fail-safe机制/Fail-fast机制、Synchronized、ThreadLocal、AQS、线程池、JVM内存模型、内存屏障、class文件结构、类加载机制、双亲委派、垃圾回收算法、垃圾回收器、空间... 查看详情

java开发岗:springcould篇

点击:【第一章:Java开发岗:基础篇】计算机基础问题、HashMap、Fail-safe机制/Fail-fast机制、Synchronized、ThreadLocal、AQS、线程池、JVM内存模型、内存屏障、class文件结构、类加载机制、双亲委派、垃圾回收算法、垃圾回收器、空间... 查看详情