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

福田企业网站优化哪个好满山红网站建设

福田企业网站优化哪个好,满山红网站建设,简述网站的设计流程是怎样的,服装公司做哪个网站1.什么是程序计数器 程序计数器是 JVM 管理线程执行的“定位器”#xff0c;记录每个线程当前执行的指令位置#xff0c;确保程序流程的连续性和线程切换的准确性。线程私有的#xff0c;每个线程一份#xff0c;内部保存的字节码的行号。用于记录正在执行的字节码指令的地…1.什么是程序计数器 程序计数器是 JVM 管理线程执行的“定位器”记录每个线程当前执行的指令位置确保程序流程的连续性和线程切换的准确性。线程私有的每个线程一份内部保存的字节码的行号。用于记录正在执行的字节码指令的地址。 2.介绍一下Java堆 线程共享的区域主要用来保存对象实例数组等内存不够则抛出OutOfMemoryError异常。组成年轻代老年代 – 年轻代被划分为三部分Eden区和两个大小严格相同的Survivor区一个对象在Eden区存活后就会放入Survivor区 – 老年代主要保存生命周期长的对象一个对象在多次Survivor区存活后就会放入老年区Jdk1.7和1.8的区别 – 1.7中有有一个永久代存储的是类信息、静态变量、常量、编译后的代码 – 1.8移除了永久代把数据存储到了本地内存的元空间中防止内存溢出 3.什么是虚拟机栈 每个线程运行时所需要的内存称为虚拟机栈每个栈由多个栈帧(frame)组成对应着每次方法调用时所占用的内存每个线程只能有一个活动栈帧对应着当前正在执行的那个方法 4. 垃圾回收是否涉及栈内存 垃圾回收主要指就是堆内存当栈帧弹栈以后内存就会释放 5.栈内存分配越大越好吗 未必默认的栈内存通常为1024k,栈帧过大会导致线程数变少 6.方法内的局部变量是否线程安全 分情况 如果方法内局部变量没有逃离方法的作用范围它是线程安全的如果是局部变量引用了对象并逃离方法的作用范围需要考虑线程安全 7.什么情况下会导致栈内存溢出 栈帧过多导致栈内存溢出典型问题递归调用栈帧过大导致栈内存溢出 8.堆栈的区别是什么 栈内存一般会用来存储局部变量和方法调用但堆内存是用来存储Java对象和数组的的。堆会GC垃圾回收而栈不会。栈内存是线程私有的而堆内存是线程共有的。两者异常错误不同但如果栈内存或者堆内存不足都会抛出异常。 – 栈空间不足java.lang.StackOverFlowError。 – 堆空间不足java.lang.OutOfMemoryError。 9.解释一下方法区 方法区MethodArea是各个线程共享的内存区域主要存储类的信息、运行时常量池虚拟机启动的时候创建关闭虚拟机时释放如果方法区域中的内存无法满足分配请求则会抛出OutOfMemoryErrorMetaspace 10.介绍一下运行时常量池 常量池可以看作是一张表虚拟机指令根据这张常量表找到要执行的类名、方法名、参数类型、字面量等信息,里面的地址都是符号地址当类被加载它的常量池信息就会放入运行时常量池并把里面的符号地址变为真实地址 11.说一说直接内存 并不属于JVM中的内存结构不由VM进行管理。是虚拟机的系统专门划分出来的内存java代码和系统都可以直接访问常见于NIO操作时用于数据缓冲区分配回收成本较高但读写性能高不受JVM内存回收管理 12.说一说类加载器 VM只会运行二进制文件类加载器的作用就是将字节码文件加载到JVM中从而让Java程序能够启动起来。类加载器分四种 – 启动类加载器(BootStrap ClassLoader):加载JAVA_HOME/jre/lib目录下的库 – 扩展类加载器(ExtClassLoader):主要加载JAVA_HOME/jre/lib/ext目录中的类 – 应用类加载器(AppClassLoader):用于加载classPath下的类就是我们自己写的类 – 自定义类加载器(CustomizeClassLoader):自定义类继承ClassLoader实现自定义类加载规则。 13.说一说双亲委派模型 加载某一个类先委托上一级的加载器进行加载如果上级加载器也有上级则会继续向上委托如果该类委托上级没有被加载子加载器尝试加载该类。例如我们自己写的应用类会到应用类加载器应用会委托扩展类加载器扩展类加载器会委托启动类加载器加载但是启动类加载器里面没有这个类于是会再次层层返回直到应用类加载器加载对应的类通过双亲委派机制可以避免某一个类被重复加载当父类已经 加载后则无需重复加载保证唯一性。亲委派机制也可以更加安全保证核心API库不会被修改 14.说一下类装载的执行过程 加载将类的二进制数据.class文件加载到JVM内存中。验证确保类的字节流符合JVM规范不会危害虚拟机。准备为类的静态变量分配内存并初始化默认值如0、false、null解析将类中的符号引用如Person#123替换为直接引用实际内存地址初始化执行类的静态代码块和静态初始化器完成静态变量的显式赋值。使用程序开始使用类的实例或静态成员。卸载当类不再被使用时JVM会回收其占用的内存。 15.对象什么时候可以被垃圾回收 当对象不再被任何强引用变量直接或间接关联即“不可达”时垃圾回收器会回收其占用的内存。定位垃圾的方法 – 引用计数法已弃用 – 可达性分析算法 16.JVM垃圾回收算法有哪些 标记清除算法 垃圾回收分为2个阶段分别是标记和清除效率虽然高但是有磁盘碎片内存不连续的缺点现在不怎么用了标记整理算法 标记清除算法一样将存活对象都向内存另一端移动然后清理边界以外的垃圾优点无碎片但是因为对象需要移动效率低一般是老年代使用复制算法 将原有的内存空间一分为二每次只用其中的一块回收时将正在使用的对象复制到另一个内存空间中然后将该内存空间清空交换两个内存的角色完成垃圾的回收优点是无碎片但是内存使用率低一般是新生代使用引用计数 每个对象维护一个引用计数器当引用增加时计数1引用消失时-1。计数为0的对象即为垃圾直接回收。分代算法 将堆分为新生代Young和老年代Old。新生代的对象生命周期短频繁回收使用复制算法如 Eden→Survivor老年代的对象存活率高低频回收使用标记-清除/整理算法。 18.详细说一说分代回收 堆的区域划分 – 堆被分为了两份新生代和老年代【12】 – 对于新生代内部又被分为了三个区域。Eden区幸存者区survivor(分成from和to【811】对象回收分代回收策略 新创建的对象都会先分配到eden区当伊甸园内存不足标记伊甸园与from现阶段没有的存活对象将存活对象采用复制算法复制到to中复制完毕后伊甸园和from内存都得到释放经过一段时间后伊甸园的内存又出现不足标记eden区域to区存活的对象将其复制到from区当幸存区对象熬过几次回收最多15次普升到老年代幸存区内存不足或大对象会提前普升 19.MinorGC、Mixed GC、FullGC的区别是什么 STW: 暂停所有线程等待垃圾回收完成 MinorGC【young GC】发生在新生代的垃圾回收暂停时间短(STW)Mixed GC新生代老年代部分区域的垃圾回收G1收集器特有FullGC:新生代老年代完整垃圾回收暂停时间长(STW)应尽力避免 20.JVM有哪些垃圾回收器 PS回答三四个就行 Serial串行收集器 单线程简单高效适合单核/小内存环境但停顿时间长。Parallel并行收集器 多线程高吞吐追求高效处理多核CPU下的大数据量。CMS并发标记清除 低停顿并发回收但内存碎片化严重可能触发Full GC。G1Garbage-First 分Region处理平衡吞吐与低延迟适合大堆内存GB级。ZGCZ Garbage Collector 亚毫秒级停顿支持TB级堆内存超低延迟且吞吐稳定。Shenandoah 实时并发回收消除内存碎片低延迟且高效处理大内存。Parallel Old并行老年代 多线程标记整理高吞吐的老年代回收搭配Parallel使用。Serial Old串行老年代 单线程老年代回收适合资源受限的小型应用。ParNew 多线程新生代回收专为与CMS搭配实现低延迟设计。 21.详细聊一下G1垃圾回收器 核心目标 在停顿时间可控的前提下最大化系统吞吐量适合大内存和多核CPU环境。 核心特点 区域化内存布局 – 将堆内存划分为固定大小的Region默认2048个大小根据堆大小动态计算。 – 每个Region可独立属于年轻代或老年代动态调整区域功能如年轻代Region可转为老年代。 – Humongous区专门存放大对象超过Region半大小避免内存碎片化。分代收集 – 保留分代思想但不再物理隔离年轻代/老年代而是通过Region集合实现。 – 年轻代默认占堆的5%最大可扩展到60%通过参数-XX:G1NewSizePercent和-XX:G1MaxNewSizePercent控制。并发与并行 – 并发标记与用户线程并行执行标记阶段减少STWStop-The-World时间。 – 并行回收多线程处理垃圾回收充分利用多核CPU。垃圾优先策略Garbage First – 根据用户设定的最大停顿时间如-XX:MaxGCPauseMillis200优先回收“垃圾最多”的Region最大化单位时间垃圾回收量。空间整合 – 采用标记-整理算法回收后内存连续避免CMS的碎片化问题支持大对象分配。可预测的停顿时间 – 建立停顿时间模型通过参数控制回收目标软实时尽力在指定时间内完成但不保证绝对。 工作流程 G1的回收过程分为四个阶段结合并发和STW阶段降低整体停顿 初始标记STW 快速标记从GC Roots直接可达的对象记录年轻代Roots。并发标记 与用户线程并行遍历所有对象标记存活对象。最终标记STW 重新处理并发标记期间变化的对象确保标记准确。筛选回收STW 根据停顿时间目标选择垃圾最多的Region进行回收整理内存。 注意 当老年代不足、晋升失败或Humongous区分配失败时可能触发Full GC 22.强引用、软引用、弱引用、虚引用的区别 强引用只要所有GCRoots能找到就不会被回收new出来的都是强引用对象软引用需要配合SoftReference使用当垃圾多次回收内存依然不够的时候会回收软引用对象弱引用需要配合WeakReference使用只要进行了垃圾回收就会把弱引用对象回收虚引用必须配合引用队列使用被引用对象回收时会将虚引用入队由ReferenceHandler线程调用虚引用相关方法释放直接内存 23.JVM调优的参数可以在哪里设置参数值 war包部署在tomcat中设置 修改TOMCAT_HOME/bin/catalina.sh文件jar包部署在启动参数设置 java-Xms512m -Xmx1024m -jar xxxx.jar 24.常用的JVM调优的参数都有哪些 设置堆空间大小 -Xms512m # 初始堆大小为512MB -Xmx2g # 最大堆大小为2GB虚拟机栈的设置 -Xss512k # 每个线程的栈大小为512KB年轻代中Eden区和两个Survivor区的大小比例 -XX:NewRatio3 # 老年代:新生代 3:1 -XX:SurvivorRatio8 # Eden:Survivor 8:1年轻代晋升老年代國值 # 对象在Survivor区中最多经历10次GC后晋升到老年代,值的范围是[0,15]默认值15 -XX:MaxTenuringThreshold10 设置垃圾回收收集器 -XX:UseG1GC # 启用G1 GC -XX:UseParallelGC # 启用Parallel GC年轻代 -XX:UseParallelOldGC # 启用Parallel Old GC老年代 -XX:UseConcMarkSweepGC # 启用CMS GC25.说一下常用的JVM调优工具 命令工具 jps 进程状态信息jstack 查看java进程内线程的堆栈信息jmap 查看堆转信息jhat 堆转储快照分析工具jstat JVM统计监测工具 可视化工具 jconsole 用于对jvm的内存线程类的监控VisualVM 能够监控线程内存情况 26.java内存泄露的排查思路 内存泄漏通常是指堆内存通常是指一些大对象不被回收的情况 通过jmap或设置jvm参数获取堆内存快照dump通过工具VisualVM去分析dump文件VisualVM可以加载离线的dump文件通过查看堆信息的情况可以大概定位内存谥出是哪行代码出了问题找到对应的代码通过阅读上下文的情况进行修复即可 27.CPU飙高排查方案与思路 使用top命令查看占用cpu的情况,查看是哪一个进程占用cpu较高 top使用ps命令查看进程中的线程信息,查看哪个线程使用的CPU多绩效对应tid ps H -eo pid,tid,%cpu | grep 2266将出问题的线程转换成十六进制然后jstack命令查看进程中对应的线程最终定位问题 jstack pid
http://www.zqtcl.cn/news/772754/

相关文章:

  • 网站建设 培训深圳网站建设制作品牌公司
  • 网站到期怎么续费网站运营优化推广
  • 一站式装修的利弊上海建设厅焊工证查询网站
  • 济宁做网站公司找融合深圳招聘一般在哪个网站
  • 重庆建网站推广公司个人网站需要建站群吗
  • 深圳网站建设吗个人博客网站制作代码
  • 化妆品网站模板网络营销的网站分类有哪些
  • 广州网站建设程序员培训wordpress 微信 抓取
  • 毕设给学校做网站个人店铺logo
  • 中国做w7的网站宿迁网站建设价位
  • 网站建设售后服务合同百度关键词排名点击器
  • 编辑网站用什么软件推广是什么
  • 北京模板开发建站做网站赚钱的点在哪里
  • 网站建设价格兴田德润i网址多少wordpress主题汉化是什么意思
  • 用最少的钱做网站根据域名查询网站名称
  • 网站开发答辩难点网站返回按钮设计
  • 鹤壁做网站优化建设银行理财产品网站
  • 电子商务类网站模板自学网站建设基本流程
  • 无锡网站制作的公司上海企业服务公司
  • 做h5小程序的网站搜索引擎营销案例
  • 订餐网站开发方案查询网站是否正规
  • 建站论坛图片生成器免费
  • 怎么做自己的店铺网站博物馆门户网站建设优势
  • 专业旅游培训网站建设应用之星 wordpress
  • 青海媒体网站建设公司深圳网站建设推广优化公司
  • 网站开发 价格跨境支付互联互通
  • 织梦 修改网站logo营销型网站设计的内容
  • 电商网站运营策划做网站CentOS还是win好
  • 小型企业网站模板企业网站seo点击软件
  • 提供邯郸企业建网站网站图片上怎么做弹幕效果