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

重庆旅游网站建设地址深圳龙岗区吉华街道邮编

重庆旅游网站建设地址,深圳龙岗区吉华街道邮编,四大门户网站创始人,南宁网站建设公司哪里一、什么是JVM 1.JVM的定义 Java程序的运行环境#xff0c;java二进制字节码的运行环境 2.JVM的好处 ①一次编写#xff0c;到处运行 ②自动内存管理#xff0c;垃圾回收功能 ③数组下标越界检查 ④多态 3.jvm#xff0c;jre#xff0c;jdk的比较 3.常见的JVM 主… 一、什么是JVM 1.JVM的定义 Java程序的运行环境java二进制字节码的运行环境 2.JVM的好处 ①一次编写到处运行 ②自动内存管理垃圾回收功能 ③数组下标越界检查 ④多态 3.jvmjrejdk的比较 3.常见的JVM 主要学习的是HotSpot虚拟机 4.jvm的学习路线 ①ClassLoader:java代码编译成二进制后会经过类的加载器这样才能加载到JVM运行 ②Method Area:类是放在方法区的 ③Heap类的实例化对象放在堆区 ④当类调用方法时会用到虚拟机栈程序计数器本地方法栈 ⑤方法的每行代码执行是在执行引擎的解释器逐行执行频繁调用的方法热点代码在JIT即时编译器执行。GC垃圾回收对堆的不用对象进行回收 ⑥需要和操作系统打交道的是本地方法接口。 二、内存结构 1.程序计数器 ①定义 程序计数器寄存器记录下一条jvm指令的执行地址 ②特点 线程私有的不会存在内存溢出。 2.虚拟机栈 定义: ①每个线程运行需要的内存空间称为虚拟机栈。 ②每个栈由栈帧Frame组成对应着每次调用方法参数局部变量返回地址时所占的内存 ③每个线程只能有一个活动栈帧对应着当前正在执行的方法 问题分析 ①垃圾回收是否涉及栈内存 不会。栈内存由栈帧组成对应着每次调用方法时占用的内存。每次方法调用结束会自动弹出栈。 ②栈内存分配越大越好吗 不是。默认栈内存是1M物理内存是一定的所以栈内存越大能够支持更多的递归调用。但是线程会变少。 ③方法内的局部变量是否线程安全 线程安全方法内的局部变量且无返回值。 线程不安全方法内的局部变量有返回值。方法内的参数。 栈内存溢出 java.lang.stackOverflowError ①栈帧过多方法递归调用 ②栈帧过大 ③第三方类库的操作 修改栈内存大小-Xss 栈溢出线程运行诊断 案例1cpu占用过多怎么排查 ①用top命令查看占用cpu最高的进程 ②ps H -eo pid,tid,%cpu|grep 进程id 进一步定位哪个线程引起的cpu占用过高 ③jstack 进程id 可以根据线程id找到有问题的线程 3.本地方法栈 在本地方法栈有带有native关键字的方法作用是java调用本地的C或C方法跟系统底层交互。 4.堆 Heap堆 通过new关键字创建对象都会使用堆内存 堆的特点 ①线程共享堆中的对象需要考虑线程安全的问题 ②有垃圾回收机制 堆内存溢出 大量的对象占据了堆内存的空间java.lang.OutOfMemoryError:java heap space导致堆内存空间溢出 使用-Xmx内存大小  修改堆内存 排查堆内存溢出的原因 ①jps工具 查看当前系统有哪些java进程 ②jmap工具 查看堆内存占用情况 jmap -heap 进程id ③jconsole工具 图像界面多功能检测连续监测 5.方法区 定义 ①方法区线程共享的堆也是 ②方法区在JVM启动创建且内存空间不连续可以实现扩展 ③方法区类似编译代码的存储区域。方法区是存放类的信息成员变量方法数据成员方法和构造器的代码 方法区组成 ①在jdk1.6中 方法区是概念的用PermGen永久代实现方法区。存储类的信息存储类的加载器运行时常量池 ②在jdk1.8中 方法区是概念的用Metaspace云空间实现方法区使用系统内存不由JVM管理内存由操作系统管理。存储类的信息存储类的加载器运行时常量池 方法区内存溢出 类加载过多 ①1.8前永久代内存溢出java.lang.OutOfMemoryError:PermGen 使用-XX:MaxPermSize8m 指定永久代内存大小 ②1.8后元空间内存溢出 java.lang.OutOfMemoryError:Metaspace 使用-XX:MaxMetaspaceSize 8m 指定元空间内存大小 溢出的场景 Spring -生成大量的类 Mybatis 运行时常量池 ①常量池 常量池就是一张常量表虚拟机指令根据这张常量表找到要执行的类名方法名参数类型字面量等信息 ②运行时常量池 常量池是*.class文件当类被加载常量池信息就会放入运行时常量池并把里面的符号地址改为真实地址。 5.1StringTable面试题 特性 ①常量池的字符串只是符号第一次用到时才变为对象 ②利用字符串机制避免创建重复的字符串对象 ③字符串变量的拼接是StringBuilder ④字符串常量的拼接是编译器优化 ⑤使用intern方法把字符串对象放入串池 常量池与字符串池的关系 ①运行时常量池的信息都会被加载到运行常量池中这时的a b ab都是常量池的对象还没有变为java字符串对象,什么时候执行到响应代码然后创建 ②ldc #2 会把a符号变为“a”字符串对象放入StringTable ③ldc #3 会把b符号变为“b”字符串对象放入StringTable ④ldc #4 会把ab符号变为“ab”字符串对象放入StringTable ⑤StringTable[a,b,ab] hashtable结构不能扩容不重复的 字符串变量拼接 问s3s4? False。 s3的ab在字符串常量池中s4是变量拼接new String(“ab”)了一个对象在堆中。地址不一样是false 编译器优化 问s3s5? True s3的ab在字符串常量池中。当s5进行字符串常量拼接时会从常量池看是否存在发现存在s5就指向了常量池的ab intern_jdk1.8 s.intern()将这个字符串对象s尝试放入串池如果字符串池有就返回ab地址没有就放入返回对象s地址 分析 intern_jdk1.6 s.intern()将这个字符串对象s尝试放入串池如果字符串池有就返回ab地址没有就放入返回ab新地址 以上的分析常量池没有ab的时候s2s.intern()放入ab,返回的不是s的地址 面试题 5.2StringTable位置  ①jvm内存结构1.6 永久代只有full GC情况下进行内存垃圾回收效率低StringTable属于常量池的一部分 ②jvm内存结构1.8 垃圾回收效率高属于堆的一部分 5.3 StringTable能垃圾回收 在内存紧张的时候会发生垃圾回收 5.4 StringTable性能调优 ①因为StringTable由HashTable实现的增加HashTable桶的个数减少字符串放入串池的时间 -XX:StringTableSizexxxx //最低为1009 ②通过intern方法减少重复入池保证相同的地址在StringTable只存储一份。 6.直接内存Direct Memory 定义 ①常见于NIO操作时用于数据缓冲区 ②分配回收成本高但读写性能高 ③不受JVM内存回收管理 基本使用 Direct Memory直接内存是操作系统和java代码都可以访问的一块区域。磁盘文件读取的时候到直接内存java代码也可以访问直接内存。 内存溢出 ①直接内存也会导致内存溢出问题 ②OutOfMemoryError:Direct buffer memory 释放原理 直接内存的回收不是通过JVM的垃圾回收来释放的通过unsafe.freeMemory手动释放 直接内存分配和回收原理 ①使用unsafe对象完成直接内存的分配回收回收需要手动调用freeMemory方法 ②ByteBuffer实现类内部使用了Cleaner虚引用来监测ByteBuffer对象。一旦ByteBuffer对象被垃圾回收那么会由ReferenceHandler守护线程通过Cleaner的clean方法调用freeMemory释放直接内存。
http://www.zqtcl.cn/news/827940/

相关文章:

  • 国外网站平台龙岩天宫山缆车收费
  • 站长工具seo综合查询是什么湖北做网站
  • 青海网站建设价格建一个免费网站的流程
  • 网站备案中 解析地址asp.net企业网站框架
  • flash里鼠标可以跟随到网站上就不能跟随了蚌埠网站建设
  • 东莞茶山网站建设网络推广方案ppt
  • 不需要写代码的网站开发软件模板之家如何免费下载
  • 购物网站模板多媒体网站开发实验报告
  • 做网站上数字快速增加上海市建设部注册中心网站
  • 义乌市网站制作青岛建设银行银行招聘网站
  • 公司网站的留言板怎么做wordpress减肥网站采集规则
  • app软件下载站seo教程wordpress实现专题
  • 在哪里自己建设网站做网站后期需要什么费用
  • 宁波网站推广怎么做微信公众号如何运营与推广
  • 做网站开发语言农产品品牌建设
  • 百度一下你就知道官方网站做准考证的网站
  • 2008 访问网站提示建设中免费asp地方门户网站系统
  • 手机网站收录wordpress无法连接ftf服务器
  • 担路网如何快速做网站安卓市场2021最新版下载
  • 自己组装电脑做网站服务器东莞市城乡和住房建设局
  • h1z1注册网站wordpress 按标题搜索
  • 院校网站建设对比分析实训报总结陕西省建设网三类人员官网
  • 嘉兴网站建设兼职企业做网站公司
  • 做网站赚钱流程漂亮的个人网站
  • 湖州建设局网站青海最新信息
  • 长沙专业做网站的公司制作网站赚钱吗
  • 局域网网站架设软件徐州地产开发公司招聘
  • wordpress无法添加媒体百度官网优化
  • 安徽教育云网站建设贾汪网站开发
  • 商业设计网站推荐用图片设置网站首页