高网站建设网站开发环境分析

web/2025/10/4 18:09:03/文章来源:
高网站建设,网站开发环境分析,免费企业建站cms,基于WordPress的交流社区目录 #x1f337;1、JVM是什么#xff1f; #x1f337;2、JVM的执行流程#xff08;能够描述数据区5部分#xff09; #x1f337;3、JVM类加载过程 #x1f337;4、双亲委派机制#xff1a;描述类加载的过程 问题1#xff1a;类加载器 问题2#xff1a;什么…目录 1、JVM是什么 2、JVM的执行流程能够描述数据区5部分 3、JVM类加载过程 4、双亲委派机制描述类加载的过程 问题1类加载器 问题2什么是双亲委派模型  问题3双亲委派模型的优点 5、垃圾回收机制重要针对的是堆   问题1判定对象死亡的算法 问题2垃圾回收的过程 问题3垃圾回收算法 问题4垃圾回收器7种 6、强引用、软引用弱引用、软引用 1、JVM是什么 JVM是个虚拟机Java所有的程序都运行在JVM中JVM是一个规范。HotSpot是目前使用最广泛的虚拟机也就是JVM其中的一个实现。 类似于教育部现在制定了大学生培养的一个标准这就是一个规范然后各个大学根据这个规范去制定自己的培养准则这就是它的一个实现。 2、JVM的执行流程能够描述数据区5部分 红色的是内存共享的黄色的是和线程相关的都是线程私有的。  编号2问题new出来的对象都在堆中那对象是不是也会溢出? 演示一下OOM异常OutOfMemory堆内存占满   分别表示堆的最大内层和起始内存 设置堆的最大值和启动值都是20M。 Java堆内存的OOM异常是实际应用中最常见的内存溢出情况。当出现Java堆内存溢出时异常堆栈信息java.lang.OutOfMemoryError会进一步提示Java heap space。当出现Java heap space则很明确的告知我们OOM发生在堆上出现了堆内存占满的情况一般通过 优化堆内存大小的方式解决。堆溢出配置-Xmx20m -Xms20m 栈溢出配置-Xss。 编号3Java虚拟机栈 编号4本地方法栈线程私有工作原理和Java虚拟机栈相同不过 Java 虚拟机栈是给 JVM 使用的而本地方法栈是给本地方法使用的记录的是本地方法的调用关系。 编号5程序计数器线程私有记录当前线程的方法执行到哪一行了。 执行引擎Java字节码到CPU指令的一个转换过程 本地方法接口调用不同系统WindowsLinux的API。 在《Java虚拟机规范中》把此区域称之为“方法区”而在 HotSpot 虚拟机的实现中在 JDK 7 时此区域叫做永久代PermGenJDK 8 中叫做元空间Metaspace。 3、JVM类加载过程 1加载读取.class文件 2连接 验证验证.class文件是否符合规范 准备分配内存并设置初始化值比如此时有这样一行代码public static int value 123它是初始化 value 的 int 值为 0而非 123。初始化将符号引用替换为直接引用将值赋值为真实的值123。  3初始化Java虚拟机开始真正执行类中编写的Java代码控制权在应用程序。 4、双亲委派机制描述类加载的过程 观察这个现象 我们在代码中写的String默认调用的是java.lang包下的 如果我们自己写了一个String类放在自己创建的java,lang包下那么系统该加载哪一个呢因此就有了双亲委派机制。 问题1类加载器 启动类加载器加载 JDK 中 lib 目录中 Java 的核心类库即$JAVA_HOME/lib目录。扩展类加载器。加载 lib/ext 目录下的类。应用程序类加载器加载我们写的应用程序。自定义类加载器根据自己的需求定制类加载器。 问题2什么是双亲委派模型  如果一个类加载器收到了类加载的请求它首先不会自己去尝试加载这个类而是把这个请求委派给父类加载器去完成每一个层次的类加载器都是如此因此所有的加载请求最 终都应该传送到最顶层的启动类加载器中只有当父加载器反馈自己无 法完成这个加载请求它的搜索范围中没有找到所需的类时子加载器才会尝试自己去完成加载。以人家已有的为准没有了才用自己写的包java.lang.String。 问题3双亲委派模型的优点 避免重复加载类比如 A 类和 B 类都有一个父类 C 类那么当 A 启动时就会将 C 类加载起来那么在 B 类进行加载时就不需要在重复加载 C 类了。安全性使用双亲委派模型也可以保证了 Java 的核心 API 不被篡改如果没有使用双亲委派模型而是每个类加载器加载自己的话就会出现一些问题比如我们编写一个称为 java.lang.Object类的话那么程序运行的时候系统就会出现多个不同的 Object 类而有些 Object 类又是用户自己提供的因此安全性就不能得到保证了。 破坏双亲委派机制JDK中只定义接口但是实现类是在第三方厂商的JAR包中。简单知道。 5、垃圾回收机制重要针对的是堆   当main函数中调用完test方法之后test对象就无效这种无效对象就会被回收掉。 问题1判定对象死亡的算法 1引用计数算法Java中不用 当开始执行前4行代码的时候如下图所示 当执行到test1null和test2null的时候。 Java并不采用引用计数法来判断对象是否已死而采用可达性分析来判断对象是否存活。 2可达性分析算法 此算法的核心思想为 : 通过一系列称为GC Roots的对象作为起始点从这些节点开始向下搜索搜索走过的路径称之为引用链当一个对象到GC Roots没有任何的引用链相连时(从GC Roots到这个对象不可达)时证明此对象是不可用的。 问题2垃圾回收的过程 整个垃圾回收的过程就是在堆中进行的。一般默认新生代和老年代的比例是1:2新生代中Eden和S1和S0的比例是8:1:1。S区表示Survivor区 上述过程总结         新生代中98%的对象都是朝生夕死的所以并不需要按照1 : 1的比例来划分内存空间而是将内存(新生代内存)分为一块较大的Eden空间和两块较小的Survivor(幸存者)空间每次使用Eden和其中一块Survivor两个Survivor区域一个称为From区另一个称为To区域。当回收时将Eden和Survivor中还存活的对象一次性复制到另一块Survivor空间上最后清理掉Eden和刚才用过的Survivor空间。         当Survivor空间不够用时需要依赖其他内存(老年代)进行分配担保。 HotSpot默认Eden与Survivor的大小比例是8 : 1也就是说Eden:Survivor From : Survivor To 8:1:1。所以每次新生代可用内存空间为整个新生代容量的90%,而剩下的10%用来存放回收后存活的对象。HotSpot实现的复制算法流程如下: 1. 当Eden区满的时候,会触发第一次Minor gc,把还活着的对象拷贝到Survivor From区当 Eden区再次触发Minor gc的时候,会扫描Eden区和From区域,对两个区域进行垃圾回收,经过 这次回收后还存活的对象,则直接复制到To区域,并将Eden和From区域清空。 2. 当后续Eden又发生Minor gc的时候,会对Eden和To区域进行垃圾回收,存活的对象复制到 From区域,并将Eden和To区域清空。 3. 部分对象会在From和To区域中复制来复制去,如此交换15次(由JVM参数 MaxTenuringThreshold决定,这个参数默认是15),最终如果还是存活,就存入到老年代。 补充 1一般创建的对象都会进入新生代如果新生代放不下就会放到老年代同时大对象和经历了N次一般默认15次的垃圾回收依然存活下来的对象也会从新生代移动到老年代。 2每次进入垃圾回收的时候程序都会进入暂停状态STOP THE WORD。 问题1MinorGCFullGCMajorGC的介绍 1Minor GC又称为新生代GC : 指的是发生在新生代的垃圾收集。因为Java对象大多都具备朝生夕灭的特性因此Minor GC(采用复制算法)非常频繁一般回收速度也比较快。2Full GC 又称为 老年代GC或者Major GC : 指发生在老年代的垃圾收集。出现了Major GC经常会伴随至少一次的Minor GC(并非绝对在Parallel Scavenge收集器中就有直接进行Full GC的策略选择过程)。Major GC的速度一般会比Minor GC慢10倍以上。 问题3垃圾回收算法 通过上面我们现在可以将死亡对象标记出来了标记出来之后我们就可以进行垃圾回收操作了。其中垃圾回收算法是垃圾回收器的指导思想。 1标记-清除算法 标记-清除算法是最基础的收集算法。算法分为标记和清除两个阶段 : 首先标记出所有需要回收的对象在标记完成后统一回收所有被标记的对象。后续的收集算法都是基于这种思路并对其不足加以改进而已。 问题碎片化的空间找不到连续的大空间使用。 2复制算法新生代使用         复制算法是为了解决标记-清理的效率问题。它将可用内存按容量划分为大小相等的两块每次只使用其中的一块。当这块内存需要进行垃圾回收时会将此区域还存活着的对象复制到另一块上面然后再把已经使用过的内存区域一次清理掉。这样做的好处是每次都是对整个半区进行内存回收内存分配时也就不需要考虑内存碎片等复杂情况只需要移动堆顶指针按顺序分配即可。此算法实现简单运行高效。 内存分两份一份是要被回收的一份是存活的。 问题只能用一半的内存空间效率问题。 3标记-整理算法老年代使用 复制收集算法在对象存活率较高时会进行比较多的复制操作效率会变低。因此在老年代一般不能使用复制算法。         针对老年代的特点提出了一种称之为标记-整理算法。标记过程仍与标记-清除过程一致但后续步骤不是直接对可回收对象进行清理而是让所有存活对象都向一端移动然后直接清理掉端边界以外的内存。 在回收过后多了一步整理内存的工作整理出大片的连续空间 问题多了一步操作用来整理内存。 问题4垃圾回收器7种 前期是内存小用串行后来用并行。目的是为了减少STWstop-the-world让程序尽快回到原始的正常状态。 7种作用于不同分代的收集器如果两个收集器之间存在连线就说明他们之间可以搭配使用。所处的区域表示它是属于新生代收集器还是老年代收集器。 garbage collection即垃圾收集  1Serial收集器新生代收集器串行扫描 2 ParNew收集器新生代收集器并行GC是对于Serial的优化用多线程的方式扫描内存提升垃圾回收的效率减少STW的时间。 3Parallel Scavenge收集器新生代收集器并行GCParallel Scavenge收集器与ParNew收集器的一个重要区别是它具有自适应GC调节策略。一般建议Parallel Old和Parallel Scavenge搭配使用。4Serial Old是Serial收集器的老年代版本它同样是一个单线程收集器 5Parallel Old是Parallel Scavenge收集器的老年代版本并行GC 6CMS收集器老年代收集器并发GC。使用的是三色标记算法。 7G1收集器唯一一款全区域不区分老年代与新生代的垃圾回收器。使用最广泛         G1Garbage First垃圾回收器是用在heap memory很大的情况下把heap划分为很多很多的region块然后并行的对其进行垃圾回收。  6、强引用、软引用弱引用、软引用 1强引用new的对象就是强引用会经历正常的GC如果被判断为死亡就会被回收 2软引用当系统内存不够时或者触发阈值时软引用对象就会被回收软引用一般用在大的内存操作上比如加载大的图片 3弱引用每次新生代GC都会回收弱引用 4虚引用只是在对象被回收的时候收到一个通知而已。 昔之善战者先为不可胜以待敌之可胜。不可胜在己可胜在敌。 胜不妄喜败不遑馁胸有激雷而面如平湖者可拜上将军

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

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

相关文章

长沙一键建站系统北京SEO网站优化公司

给定一个整数,编写一个函数来判断它是否是 2 的幂次方。 示例 1: 输入: 1 输出: true 解释: 20 1 示例 2: 输入: 16 输出: true 解释: 24 16 示例 3: 输入: 218 输出: false 解法一: class Solution { public:bool isPowerOfTwo(int n) {return(n >…

建设银行网站进不去电子商务网站建设的试卷

1、初始化列表 初始化列表:以一个冒号开始,接着是一个以逗号分隔的数据成员列表,每个"成员变量"后面跟一个放在括号中的初始值或表达式。 class Date { public:Date(int year, int month, int day): _year(year), _month(month), _…

美橙互联 网站备案家居网站建设的背景及意义

Leetcode刷题之删除链表中等于给定值 val 的所有结点 一、题目描述二、题目解析 一、题目描述 Leetcode刷题之删除链表中等于给定值 val 的所有结点 二、题目解析 本题中我们需要将链表中等于val的值的节点删除,首先我想到的方法是通过暴力求解解决,…

南通seo公司网站广东深圳网站建设微信商城运营

1.回撤流定义(RetractStream) Flink 的回撤流是指在 Flink 的流处理算法中,撤回已经发送到下游节点的数据。这是因为在实际应用场景中,有些错误数据可能会发送到下游节点,因此需要回撤流以保证数据的准确性。 回撤流…

饮料公司网站模板环保局网站建设

目录 一、j2mod 二、Modbus4J 三、Jamod 在Java中,有几个流行的库可以用于实现Modbus协议以读取设备数据。以下是一些常用的库: 一、j2mod 这是jamod Modbus库的一个分支,取自1.2.1版本,根据Apache 2许可证发布,包…

建立企业网站 优帮云外包加工官网

考勤机数据无法同步最后更新于:2020-06-29 15:27:45请先参考以下操作指南确保考勤机正确安装:http://help.ihr360.com/time_machine.html如果安装后仍出现数据无法同步的问题,则建议按下面步骤排查:首先在时间管理-时间设置-考勤机…

贵州省建设厅二建报名网站平面设计主要内容

目录 一、web发展历程 二、vue是什么 三、Vue核心特性 组件化 数据驱动 指令 四、Vue与Angular以及React的区别 一、web发展历程 Web是World Wide Web的简称,中文译为万维网 我们可以将它规划成如下的几个时代来进行理解 静态网页:最早的网页是没…

类似wordpress的建站章丘网站开发

注:本文为《动手学深度学习》开源内容,部分标注了个人理解,仅为个人学习记录,无抄袭搬运意图 5.9 含并行连结的网络(GoogLeNet) 在2014年的ImageNet图像识别挑战赛中,一个名叫GoogLeNet的网络结…

汕头网站建设推广价格南通企业网页制作

题目 这里写链接内容 题意 给出一个最长为200000200000数列 给出一堆最多为200000200000个询问区间,问从这些区间中取出一些数使得数字之和是m的倍数,有多少种方案。其中保证1≤m≤201≤m≤20。 题解 最容易想到的方法就是倍增dp来做。 定义f[i][…

网站首页site不到 a5wordpress头部图片

【K3s】在 AWS EC2 上运行生产 K3s 集群 本文将介绍如何在 AWS EC2 上运行 K3s。您将创建一个 EC2 实例并在 AWS 上运行单节点 K3s 集群。 自托管的 K3s 允许您在裸金属上运行 Kubernetes,并应用较小、低资源工作负载的原则。哦,你还可以控制你的控制平面。这有点像逃离托管…

档案信息网站建设什么网站后台程序好用

什么是openstack今年,我第一次参加了4月25日至29日在德克萨斯州奥斯汀举行的OpenStack峰会。 今天结束了,我要回家了,我想回顾一下,从我的角度分享你错过的事情。 作为以应用程序开发人员为重点的技术传播者,转移到包…

哪里有网站建设流程无锡机关单位建设网站

今天要处理的问题是:监听一个变量,当该变量的值出现变化时能够获知,并进行相应处理。使用java.bean.PropertyChangeSupport类。看如下的构造方法,其实就是将你要控制的对象绑定到该工具中。PropertyChangeSupport changes new Pr…

婚恋网站制作要多少钱桂林市网站建设

​制作可视化报告时,为了展示效果,有时候需要用图片来展示,在 Power BI 中,关于图片的自定义视觉对象主要有下面三个,利用他们可以很轻松的进行图片可视化。下面来看看这些视觉对象的效果。样本数据如下:为…

南宁市制作网站的公司建设厅证各省网站都可以查吗

在使用Pandas保存数据到CSV文件时,如果数据中包含换行符(例如\n),这可能会导致数据在CSV文件中被分割成多行,影响数据的完整性和可读性。为了解决这个问题,你可以在保存CSV之前使用Pandas的replace函数来替…

网站开发人月薪电子商务网站建设asp

一、scanf函数 scanf() - 以屏幕(stdin)为输入源,提取输入指定格式的数据,返回提取的数据个数。 函数原型:int scanf( const char *format [,argument]... ); 二、sscanf函数 sscanf() - 从一个字符串中读进与指定格式相符的数据,非常适合…

营销策划方案网站算命网站怎么做

在电脑写科研论文的字体和字号有什么有什么具体要求吗?论文格式 1、毕业论文格式的写作顺序是:标题、作者班级、作者姓名、指导教师姓名、中文摘要及关键词、英文摘要及英文关键词、正文、参考文献。2、毕业论文中附表的表头应写在表的上面,居…

淘宝网店运营策划方案seo排名优化首页

快速排序算法 (1) 快速排序法 (2) 快排前后指针 (3) 快排挖坑法 颜色分类 题目解析 算法原理 算法原理和移动零非常相似 简述移动零的算法原理 cur 在从前往后扫描的过程中,如果扫描的数符合 f 性质,就把这个数放到 dest 之…

乐陵森林大队长李兵seo技术培训宁波

勤劳的一更题目题解代码实现题目 C国有 n个大城市和 m 条道路,每条道路连接这n个城市中的某两个城市。任意两个城市之间最多只有一条道路直接相连。这 m 条道路中有一部分为单向通行的道路,一部分为双向通行的道路,双向通行的道路在统计条数…

漳州正规网站建设哪家便宜建立自己的网站用花钱吗

Java面向对象的三大特征 java面向对象的三大特征:“封装、继承、多态”。更多Java技术知识,请登陆疯狂软件教育官网。微信搜索微信号:疯狂软件,参加2015年优惠活动,有机会获得优惠劵和代金劵。 以本文为例&#xff0c…

网站维护具体做啥沛县专业做网站

此群已满340500857 ,请加新群458041663由于微信群人数太多入群请添加小编微信号yanjinhuawechat 或 W_Feng_aiQ 邀请入群需备注WPF开发者 PS:有更好的方式欢迎推荐。支持NugetInstall-Package WPFDevelopers.Minimal -Version 3.2.001—代码如下一、创建…