当前位置: 首页 > news >正文

怎么做淘宝网站建网站 必须学html吗

怎么做淘宝网站,建网站 必须学html吗,企业建站工具,胖咯科技网站建设JVM1. 什么是JVM#xff1f;2. 了解过字节码文件的组成吗#xff1f;3. 什么是运行时数据区4. 哪些区域会出现内存溢出5. JVM在JDK6-8之间在内存区域上有什么不同 6. 类的生命周期 7. 什么是类加载器#xff1f;类加载器有哪几种 8. 什么是双亲委派机制#xff1f;有什么好… JVM1. 什么是JVM2. 了解过字节码文件的组成吗3. 什么是运行时数据区4. 哪些区域会出现内存溢出5. JVM在JDK6-8之间在内存区域上有什么不同 6. 类的生命周期 7. 什么是类加载器类加载器有哪几种 8. 什么是双亲委派机制有什么好处 9. 如何打破双亲委派机制 10. 如何判断堆上的对象有没有被引用 11. JVM 中都有哪些引用类型 12. ThreadLocal中为什么要使用弱引用 13. 有哪些常见的垃圾回收算法 14. 分代GC算法为什么将堆分成新生代和老年代 15. 有哪些常用的垃圾回收器 16. 内存泄漏的原因 JVM 1. 什么是JVM 答 JVM 是运行 Java字节码文件的虚拟机它负责对象内存的分配、完成自动的垃圾回收。 JVM 是运行 Java字节码文件的虚拟机字节码文件和不同系统实现的JVM是实现跨平台的关键。JVM的功能有三项 第一是解释执行字节码指令第二是管理内存中对象的分配完成自动的垃圾回收第三是优化热点代码提升执行效率 (JIT)。 JVM组成分为类加载子系统、运行时数据区、执行引擎、本地接口这四部分。常用的JVM是Oracle提供的Hotspot虚拟机也可以选择GraalVM、龙井阿里、OpenJ9等虚拟机。 2. 了解过字节码文件的组成吗 答 字节码文件包括 基本信息魔数字节码文件对应的版本号、父类、接口等信息。常量池保存了字符串常量、类或接口名、字段名等主要在字节码指令中被引用。字段当前类或接口声明的字段信息。方法当前类或接口声明的方法中的字节码指令。属性类的属性。 可以使用 javap -v 字节码文件.Class 命令反编译查看对应字节码的信息 3. 什么是运行时数据区 答 运行时数据区指的是JVM所管理的内存区域其中分成两大类 线程共享 堆内存创建出来的对象都存在于堆上。静态变量也是在堆内存Class对象中。方法区类的基础信息、运行时常量池保存了字节码文件中的常量池内容、字符串常量池 线程不共享 程序计数器记录下一条要执行的字节码指令的地址。Java虚拟机栈记录执行方法的栈帧。本地方法栈记录native本地方法的栈帧。 4. 哪些区域会出现内存溢出 答 堆溢出之后会抛出OutOfMemoryError并提示是Java heap Space导致的。 调整堆的大小-Xmx值max的最大值 -Xms值初始的total 栈溢出之后会抛出StackOverflowError。 调整虚拟机栈的大小-Xss栈大小 方法区溢出之后会抛出OutOfMemoryErrorJDK7及之前提示永久代JDK8及之后提示元空间。 调整永久代-XX:MaxPermSize值调整元空间-XX:MaxMetaspaceSize值 直接内存溢出之后会抛出OutOfMemoryError。 调整直接内存 -XX:MaxDirectMemorySize值 5. JVM在JDK6-8之间在内存区域上有什么不同 答 JDK 6及之前方法区的实现是在堆中的永久代JDK 7方法区中的字符串常量池被移到了堆中JDK8及之后堆中的永久代移除了方法区移到了直接内存的元空间 方法区的实现 JDK 7及之前方法区是在堆中的永久代JDK 8之后方法区是在直接内存的元空间永久代被移除 字符串常量池的位置 JDK 6及之前字符串常量池是在方法区上JDK 7及之后字符串常量池从方法区移除放在堆中 6. 类的生命周期 答 加载 类加载器根据类的全限定名以二进制流的方式获取字节码信息。在方法区和堆上创建类的信息。 连接 验证验证字节码文件是否符合规范准备为静态变量static分配内存并设置初值。final修饰的基本数据类型的静态变量准备阶段直接会将代码中的值进行赋值。解析将字节码文件中指向常量池中的符号引用替换为指向内存的直接引用。 初始化 初始化阶段会执行静态代码块中的代码并为静态变量赋值。注意他们的执行顺序按编写的顺序加载。初始化阶段会执行字节码文件中clinit部分的字节码指令。 卸载同时满足以下3个条件可以被卸载 此类所有实例对象都已经被回收在堆中不存在任何该类的实例对象以及子类对象。加载该类的类加载器已经被回收。该类对应的 java.lang.Class 对象没有在任何地方被引用。 7. 什么是类加载器类加载器有哪几种 答 类加载器 负责把字节码文件读取到JVM内存中。 启动类加载器Bootstrap默认加载Java安装目录/jre/lib下的类文件比如rt.jartools.jarresources.jar等。扩展类加载器默认加载Java安装目录/jre/lib/ext下的类文件应用程序类加载器默认加载为应用程序classpath下的类文件。自定义类加载器继承ClassLoader抽象类重写findClass方法。在findClass方法中定义从哪里读取字节码文件然后调用defineClass方法在方法区和堆区创建对象。 8. 什么是双亲委派机制有什么好处 答 当一个类加载器要加载字节码文件时首先向上查找父类加载器是否加载过如果加载过则直接返回。如果一直到顶级类加载器Bootstrap也没有加载过则再从上至下尝试加载。 好处 保证JDK的核心类库不会被替换。避免类的重复加载 9. 如何打破双亲委派机制 答 实现自定义类加载器首先继承ClassLoader抽象类重写loadClass方法将双亲委派机制的代码去除。然后编写从指定位置加载字节码最后调用defineClass方法在方法区和堆区创建对象。 10. 如何判断堆上的对象有没有被引用 答 可以使用引用计数法和可达性分析法来判断 引用计数法每个对象都有一个引用计数器当对象被引用时加1取消引用时减1。为0时则说明没有被引用。缺点存在循环引用。可达性分析法将对象分类两类根对象和普通对象。从根对象线程对象、静态变量、监视器对象等出发顺着引用链可以到达某个对象则该对象说明被引用。 11. JVM 中都有哪些引用类型 答 强引用默认就是强引用即对象被局部变量、静态变量所引用。强引用的对象不会被回收掉。软引用SoftReference类实现。当一个对象只被软引用对象引用并且内存空间不足时进行垃圾回收则会回收被软引用指向的对象。可以把软引用对象本身放到引用队列中回收软引用对象本身。弱引用WeakReference类实现。不管内存空间够不够在垃圾回收时弱引用指向的对象都会被回收。弱引用对象本身也可以使用引用队列回收。虚引用PhantomReference类实现。作用告诉直接内存当前指向直接内存的对象不再使用将直接内存的空间进行回收。终结器引用分两次垃圾回收才会把对象回收不建议使用。 12. ThreadLocal中为什么要使用弱引用 答 在ThreadLocal内部 存放了一个ThreadLocalMap对象哈希表ThreadLocalMap中存放的是多个Entry对象。每个Entry对象继承自弱引用指向ThreadLocal对象。同时强引用指向ThreadLocal对应的value值。如果不使用弱引用的话假如ThreadLocal对象不再使用了那么ThreadLocal对象不会被回收因为被Entry对象强引用。 13. 有哪些常见的垃圾回收算法 答 1、标记清除算法 根据可达性分析算法将所有存活的对象进行标记 在清除阶段将未被标记的对象进行清除 缺点 容易产生大量的内存碎片 2、复制算法 将堆内存空间划分成两部分from区和to区 新创建的对象会被放入到from区。进行垃圾回收的时候将from区中存活的对象复制到to区 然后将from区和to区互相换个名字 缺点 堆内存空间利用低 3、标记整理算法 根据可达性分析算法将所有存活的对象进行标记 整理阶段将所有存活的对象放到堆的一端之后清理掉这些对象的内存。 缺点 整理的效率低 4、分代垃圾回收 将堆内存分为新生代、老年代 新生代又分为伊甸园、幸存区from、幸存区to 新创建的对象会被放到伊甸园中。 如果伊甸园满了则会进行Minor GC。 将伊甸园和幸存区from中的存活对象复制到幸存区to中。 清理伊甸园和幸存区from。之后幸存区from、幸存区to互换名字 每次发生MInor GC时存活的对象年龄 1当到达15时则会被放到老年代中。 如果老年代满了首先会触发Minor GC如果新生代还是放不下则会触发Full GC。 如果Full GC之后老年代还放不下则会爆出OOM。 14. 分代GC算法为什么将堆分成新生代和老年代 答 新生代和老年代可以使用不同的回收算法更灵活。可以通过调整新生代和老年代大小的比例来适应不同的应用程序。 15. 有哪些常用的垃圾回收器 答 单线程的垃圾回收器 Serial 回收新生代、采用复制算法SerialOld 回收老年代、采用标记-整理算法缺点吞吐量不如多线程的垃圾回收器。 多线程的垃圾回收器 ParNew 回收新生代、采用复制算法CMS(Concurrent Mark Sweep) 回收老年代、采用标记-清除算法会产生内存碎片 G1垃圾回收器 JDK 9之后默认的垃圾回收器回收年轻代、老年代 采用复制算法 16. 内存泄漏的原因 答 大量的数据被静态变量长期引用。资源没有关闭
http://www.dnsts.com.cn/news/62286.html

相关文章:

  • 调查问卷在哪个网站做wordpress多站点 seo
  • 公司门户网站模板网站建设中服务器的搭建方式有几种
  • 演出公司网站建设网站收录申请
  • 雄县网站制作建设中心网站文章优化技巧
  • 做期货在哪个网站查资料室内设计网站
  • 建站平台塔山双喜可以做笔试面试题的网站
  • 好便宜建站机房建设网站模板
  • 深圳网站建设优化czzhwmo2o网站建设特色
  • 化妆品网站的建设方案网站开发前端学习
  • 商丘集团网站建设淮北论坛网官网
  • 专门做餐饮ppt的网站上海发布公众号下载安装
  • 医院网站建设方案招标文件网站规划和建设方案
  • 房产网贷平台seo撰写网站标题以及描述的案例
  • 涂料网站源码百度推广怎么收费
  • 网站查询系统怎么做免费企业网站源码大全
  • 网站改版思路wordpress 插件如何使用
  • 做网站的时候用的什么框架合肥网站建设方案
  • 十大电子商务网站html怎么做商品页面
  • 免费浏览网站推广重庆旅游网站建设地址
  • 长沙会议网站设计哪家专业汉服网页设计作品
  • 加强网站建设会南通市规划建设局网站
  • 企业建设网站个人总结镇江关键词优化如何
  • 怎么做网站调查表jsp网站开发面试题
  • 90设计网站是不是没有视频模板南京江北新区楼盘
  • 对单位网站建设的建议江门城乡建设部网站首页
  • 上海陆海建设集团网站全国企业公示系统查询
  • 莆田做网站建设重庆网站建设重庆网站制作
  • 手机网站域名m.贵阳vi设计公司
  • 保定自助建站软件北京小程序定制开发
  • 网站开发 seo十堰网络销售