面试之什么是java虚拟机

java虚拟机体系结构 方法区 堆 java虚拟机栈 本地方法栈
方法区 java虚拟机编译的class文件中二进制数据类型解析数据存在方法区中 是所有线程共享
和存在数据的线程安全问题 当二个线程使用同一类并且类还被加载 则让一个线程加载 另一个
线程等待
java虚拟机栈 是线程私有的 既决定了线程的个数 存放的变量 对象引用
堆 是所有线程所共享 存放的是所有的对象 涉及到多线程的并发 对象的引用 直接引用 使用句柄引用
直接内存不是java虚拟机的一部分 加快GC的垃圾回收 但直接内存出现内存溢出还难排除
java虚拟机的加载机制 双亲委派模式 根类加载器 扩展类加载器 应用类加载器 分支 用户自定义加载器 扩展类加载器 应用类加载器会先加载jdk的源码包 然后是用户自定义的包 比如java.lang.String自定义的类永远不会被加载
gc的垃圾收集算法
1.引用计数算法 确定不能处理循环引用的对象
2.标记清除算法 先将需要清除的标记出来然后进行清除 会产生很多的内存碎片
3.复制算法 先将内存分为2半 将需要清除的放入另一半中 浪费空间
4.标记整理算法 是结合了标记清除和复制算法的各自的优点 先将需要清除的标记并且整理在一旁
既不会浪费内存也不会产生内存碎片
5.分代收集算法 根据对象的不同生命周期采用不同的算法

转载于:https://www.cnblogs.com/wgj-master/p/10394734.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/264784.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

高质量c/c++编程(9)

第9章 类的构造函数、析构函数与赋值函数构造函数、析构函数与赋值函数是每个类最基本的函数。它们太普通以致让人容易麻痹大意,其实这些貌似简单的函数就象没有顶盖的下水道那样危险。每个类只有一个析构函数和一个赋值函数,但可以有多个构造函数&#…

三合一剪弦器怎么用_三合一冲锋衣推荐选购攻略:

一、冲锋衣的类别二、三合一冲锋衣小评测。三、冲锋衣维护一、冲锋衣的类别冲锋衣分:硬壳、软壳,三合一,三种类型。软壳是介于抓绒衣和冲锋衣之间的衣服,防水上比硬壳差,只能防小雨,但优势在于活动方便&…

Celery 之异步任务、定时任务、周期任务

什么是Celery?Celery 是芹菜Celery 是基于Python实现的模块, 用于执行异步定时周期任务的其结构的组成是由 1.用户任务 app 2.管道 broker 用于存储任务 官方推荐 redis rabbitMQ / backend 用于存储任务执行结果的 3.员工 worker 一 异步任务 1 from celery import…

堆栈认知——栈溢出实例(ret2libc)

参考:栈溢出实例–笔记三(ret2libc) 地址:https://qingmu.blog.csdn.net/article/details/119481681 目录1、栈溢出含义及栈结构2、ret2libc基本思路3、实战3.1、二进制程序3.2、查看栈结构3.3、第一次栈溢出3.4、第二次栈溢出1、…

对”命令“操作的命令

乍一看这个标题有点拗口,什么叫对“命令”操作的命令呢?其实从字面上就可以理解我要表达的意思,今天这篇博客写的还是命令,但是这些命令有点不一样,不一样的地方在于这些命令操作的对象就是“命令”。1, t…

用代理技术实现简单的AOP框架

在许多的实现AOP框架的技术中,不管是静态织入还是动态织入,关键点在于拦截方法,并在方法中加入预处理和后处理。而实现方法的拦截的一个简单办法就是 把类的实例委托给类的真实代理(RealProxy).这样以来,方法的调用都会被转换成消…

halcon 单通道图像转成3通道_halcon图像处理基本运算

halcon图像处理基本运算图像处理最基本的操作包括颜色空间转换,各种代数运算,放射变换等。通过熟悉这些常见的操作,可以对图像有基本的认识,尤其是对刚开始接触视觉图像处理的人而言,熟悉这些操作,可以快速…

【HNOI2013】消毒

题面 题解 当只有二维时&#xff0c;就是一个二分图匹配的板子题 三维的时候就很好做了&#xff0c;暴力枚举一维的情况&#xff0c;因为\(\min(x,y,z) \sqrt{5000} < 18\)&#xff0c;于是时间复杂度有保证 代码 #include<cstdio> #include<cstring> #include…

ASP.NET MVC学前篇之Ninject的初步了解

ASP.NET MVC学前篇之Ninject的初步了解1.介绍废话几句&#xff0c;Ninject是一种轻量级的、基础.NET的一个开源IoC框架&#xff0c;在对于MVC框架的学习中会用到IoC框架的&#xff0c;因为这种IoC开源框架有很多&#xff0c;本篇的主题只有一个&#xff0c;就是让阅读过本篇幅的…

技术术语积累

目录ASCII码表ASCII打印字符ASCII非打印控制字符ASCII扩展打印字符C语言基本数据类型整型变量整型常量实数&#xff08;浮点&#xff09;类型实型&#xff08;浮点&#xff09;常量字符变量字符常量C语言中printf打印形式%2d&#xff0c;%-2d&#xff0c;%.2d&#xff0c;%02d&…

下滑加载更多js_专治:卫生间免砸砖,房顶漏水,JS堵漏王水不漏,厂家三包产品,免费成熟配方(点开看更多)...

免砸砖JS-堵漏王水不漏白色粉状&#xff0c;加水溶解后即为JS堵漏王水不漏。防水液&#xff0c;为无色透明液体&#xff0c;不燃、不爆、不腐蚀。本产品是新型多功能纳米水溶性防水剂。具有超强的渗透后微膨胀结晶功能&#xff0c;能充分填补填满物体毛细管&#xff0c;从而达到…

2010年亚运会前广州将大力推广清洁能源公交

中新社北京七月三日电 (记者 闫晓虹)当北京正在为二00八年奥运建设绿色公交的时候&#xff0c;广州公交也在为二0一0年的亚运会积极备战。广州计划在二0一0年亚运会召开之前&#xff0c;从外型设计、技术配置优化等方面进一步提高和完善LPG(液化石油气)公交车&#xff0c;并计划…

linux设置开机自启动

一.、在/etc/rc.local文件中添加自启动命令 执行命令&#xff1a; 编辑"/etc/rc.local"&#xff0c;添加你想开机运行的命令 运行程序脚本&#xff1a;然后在文件最后一行添加要执行程序的全路径。 例如&#xff0c;每次开机时要执行一个hello.sh&#xff0c;这个脚本…

JavaScript 初学者应知的 24 条最佳实践

原文&#xff1a;24 JavaScript Best Practices for Beginners &#xff08;注&#xff1a;阅读原文的时候没有注意发布日期&#xff0c;觉得不错就翻译了&#xff0c;翻译到 JSON.parse 那一节觉得有点不对路才发现是 2009 年发布的文章&#xff0c;不过还是不错的啦。另外&am…

正点原子FreeRTOS(下)

更多干货推荐可以去牛客网看看&#xff0c;他们现在的IT题库内容很丰富&#xff0c;属于国内做的很好的了&#xff0c;而且是课程刷题面经求职讨论区分享&#xff0c;一站式求职学习网站&#xff0c;最最最重要的里面的资源全部免费&#xff01;&#xff01;&#xff01;点击进…

AJAX范例大搜罗

1&#xff0e;每天一个AJAX 该网站提供了很多非常酷的AJAX例子&#xff0c;号称是每天更新一个。 网址&#xff1a;http://www.ajaxcompilation.com/ 2&#xff0e;210个AJAX框架 一个不错的提供Ajax范例的网站&#xff0c;Ajax框架已更新至210个。 网址&#xff1a;http:…

JAVA语法——经典题目01

1.什么是JAVA虚拟机&#xff1f;为什么JAVA被称作是“平面无关的编程语言”&#xff1f; JAVA虚拟机是一个可以执行JAVA字节码的虚拟机进程。JAVA源文件被编译成能被JAVA虚拟机执行的字节码文件。 JAVA被设计成允许应用程序可以运行在任意的平台&#xff0c;而不需要程序员为每…

Solaris 下 Oracle impdp 过程中出现的问题

ORA-39002: invalid operationORA-39070: Unable to open the log file.ORA-29283: invalid file operationORA-06512: at "SYS.UTL_FILE", line 475ORA-29283: invalid file operation解决方法参考1&#xff1a;今天在使用IMPDP完成数据导入的过程中遇到“ORA-39002…

小学老师的恋爱谏言

小学一年级&#xff1a; 在女同学面前脱裤子&#xff0c;女同学说我小流氓 老师语录&#xff1a;“流氓不可怕&#xff0c;就怕流氓没文化&#xff01;所以你要好好学习&#xff0c;天天向上&#xff0c;争做“有文化&#xff0c;有知识&#xff0c;有学问&#xff0c;有才气…

蓝桥杯-微生物增殖

微生物增殖 假设有两种微生物 X 和 Y X出生后每隔3分钟分裂一次&#xff08;数目加倍&#xff09;&#xff0c;Y出生后每隔2分钟分裂一次&#xff08;数目加倍&#xff09;。 一个新出生的X&#xff0c;半分钟之后吃掉1个Y&#xff0c;并且&#xff0c;从此开始&#xff…