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

常德网站设计公司高级网络营销师

常德网站设计公司,高级网络营销师,基本建筑网站,外链群发软件1.程序计数器 定义#xff1a;程序计数器#xff08;Program Counter Register#xff09;是JVM中一块较小的内存空间。解释器在解释JVM指令为机器码以供CPU执行时#xff0c;会去程序计数器当中找到jvm指令的执行地址。 作用#xff1a;记住下一条jvm指令的执行地址 特…1.程序计数器 定义程序计数器Program Counter Register是JVM中一块较小的内存空间。解释器在解释JVM指令为机器码以供CPU执行时会去程序计数器当中找到jvm指令的执行地址。 作用记住下一条jvm指令的执行地址 特点线程私有的、不会存在内存溢出 2.虚拟机栈 什么是虚拟机栈 每个线程运行时所需要的内存称为虚拟机栈。每个Java方法执行时Java虚拟机都会创建一个栈帧用于存储局部变量表、操作数栈、动态连接、方法出口等信息。每个栈由多个栈帧组成每个线程只能有一个活动栈帧对应着当前正在执行的那个方法。 3.本地方法栈 什么是本地方法栈本地方法栈与虚拟机栈的作用相似当Java虚拟机调用一些本地方法时需要给本地方法提供的一些内存空间。本地方法是指不是由Java代码编写的一些方法Java代码可以通过本地方法与操作系统进行交互。 4.堆 什么是堆堆是Java虚拟机所管理的内存中最大的一块是被所有线程共享的一块内存区域Java世界里几乎所有的对象实例都在这里分配内存。 特点 因为堆是线程共享的所以堆中对象都需要考虑线程安全的问题有垃圾回收机制 5.方法区 5.1 什么是方法区 方法区与Java堆一样是各个线程共享的内存区域它用于存储已被虚拟机加载的类型信息、常量、静态变量、即时编译器编译后的代码缓存等数据。 方法区是一种规范在HotSpot虚拟机中永久代和元空间是方法区的具体实现在JDK7时HotSpot已经将原本放在永久代中的字符串常量池StringTable、静态变量等移至Java堆中到了JDK8完全放弃了永久代的概念通过在本地内存中实现的元空间来代替并把JDK7中永久代还剩余的内容全部移到元空间。也就是说 在JDK8以前方法区的实现是永久代永久代存在于堆内存中在JDK8及JDK8以后方法区的实现是元空间元空间存在于本地内存中 5.2 方法区的组成 JDK1.6时的JVM内存结构 JDK1.8时的JVM内存结构 5.3 运行时常量池 1.什么是运行时常量池 运行时常量池是方法区的一部分。Class文件中除了有类的版本信息、字段、方法、接口等描述信息外还有一项信息是常量池表用于存放编译期生成的各种字面量与符号引用这部分内容将在类加载后存放到方法区的运行时常量池中。 2.常量池和运行时常量池的区别 常量池就是一张表虚拟机指令根据这张常量表找到要执行的类名、方法名、参数类型、字面量 等信息 运行时常量池常量池是 *.class 文件中的当该类被加载它的常量池信息就会放入运行时常量 池并把里面的符号地址变为真实地址 5.4 StringTable 1.什么是StringTable 一般将StringTable称为串池用来存储字符串对象且不允许字符串对象重复在JDK7及JDK7以前串池存在于方法区中的运行时常量池里在JDK8以后串池存在于堆内存中。 2.StringTable 特性 常量池中的字符串仅是符号第一次用到时才变为对象 利用串池的机制来避免重复创建字符串对象 字符串变量拼接的原理是 StringBuilder 1.8 字符串常量拼接的原理是编译期优化 可以使用 intern 方法主动将串池中还没有的字符串对象放入串池 JDK1.7及以后 将这个字符串对象尝试放入串池如果有则并不会放入如果没有则放入串池 会把串 池中的对象返回JDK1.6及以前 将这个字符串对象尝试放入串池如果有则并不会放入如果没有会把此对象复制一份 放入串池 会把串池中的对象返回 注意StringTable受垃圾回收器的管理。也就是说StringTable中那些长时间没有被引用的字符串常量是会被垃圾回收器回收的。 6.直接内存 6.1 直接内存概述 1.什么是直接内存 直接内存并不是Java虚拟机内存区域中的一部分。但是这部分内存被频繁地使用而且也可能导致OutDfMemoryError异常出现。 在 JDK1.4 中新加入了NIONew Input/Output类引入了一种基于通道与缓冲区的I/O方式它可以使用Native函数库直接分配堆外内存然后通过一个存储在Java堆的 DirectByteBuffer对象作为这块内存的引用进行操作。这样能在一些场景中显著提高性能因为避免了在Java堆和Native堆中来回复制数据。 2.作用 常见于 NIO 操作时用于数据缓冲区 3.优缺点 分配回收成本较高、但读写性能高 6.2 直接内存的分配和回收原理 使用了 Unsafe 对象完成直接内存的分配回收并且回收需要主动调用 freeMemory 方法。ByteBuffer 的实现类内部使用了 Cleaner虚引用来监测 ByteBuffer 对象一旦 ByteBuffer 对象被垃圾回收那么就会由 ReferenceHandler 线程通过 Cleaner 的 clean 方法调 用 freeMemory 来释放直接内存
http://www.hkea.cn/news/14432463/

相关文章:

  • 加强农业网站建设班玛网站建设
  • 网站建设需求分析时光轴 网站
  • 东莞网站开发网站建设制作费用温州logo设计公司
  • 移动端网站和app开发网站定向推送怎么做
  • 东莞公司网站设计ps个人网站设计总结
  • 网站大全app下载wordpress更改了域名 图片不显示
  • 网页入口网站推广天水 网站建设 招聘
  • 个人网站备案 网站名称网站建设行情
  • 鲜花网网站开发的意义wordpress主题外贸私人分享
  • 做家纺网站哪家好找客户的软件
  • 网站开发部经理招聘设计一个网站的优势
  • 网站被k怎么查网站的风格主要包括
  • 世界建筑网站wordpress教程之
  • 抚州做网站公司拓者吧室内设计吧
  • 福州网站排名推广做网站优化的话术
  • 网站内容建设包括企业形象设计的意义
  • 网站页面和图片设计网站建设搜索优
  • 电商网站哪家做的好重庆微信开发网站建设
  • 做网站暴利赚钱微信网站开发登录
  • 网站建设需求怎么提建设银行面试经验网站
  • 高新区建网站外包站酷网设计素材
  • 做好的网站模板怎么修改seo搜索是什么
  • 网站代理最快最干净中交路桥建设有限公司是国企吗
  • 常州市天宁区建设局网站新网站百度seo如何做
  • 深圳建网站兴田德润可信大同建设局网站
  • 邵武网站建设WordPress免费问答主题
  • 怎样python做网站dedecms购物网站
  • 福州建设公司网站湖南注册公司
  • 公司做网站需要准备什么材料佐力药业股票千股千评
  • 海南智能网站建设公司万能邮箱登录入口