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

自建公司网站利用网站文件下载做推广

自建公司网站,利用网站文件下载做推广,网站上怎么做浮标,自己怎么做鲜花网站JVM相关问题 一、Java继承时父子类的初始化顺序是怎样的#xff1f;二、JVM类加载的双亲委派模型#xff1f;三、JDK为什么要设计双亲委派模型#xff0c;有什么好处#xff1f;四、可以打破JVM双亲委派模型吗#xff1f;如何打破JVM双亲委派模型#xff1f;五、什么是内… JVM相关问题 一、Java继承时父子类的初始化顺序是怎样的二、JVM类加载的双亲委派模型三、JDK为什么要设计双亲委派模型有什么好处四、可以打破JVM双亲委派模型吗如何打破JVM双亲委派模型五、什么是内存溢出什么是内存泄漏内存溢出OOMOutOfMemory内存泄露Memory Leak 六、线上项目JVM都怎么设置的七、线上Java项目服务器内存飙升怎么排查处理八、线上Java项目服务器CPU飙到100%怎么排查九、JVM发生OOM后其他线程是否可以继续工作十、高并发系统的JVM如何优化1、内存预估2、内存分配3、内存占用动态推算4、如何调优 一、Java继承时父子类的初始化顺序是怎样的 父类–静态变量父类–静态初始化块子类–静态变量子类–静态初始化块父类–变量父类–初始化块父类–构造器子类–变量子类–初始化块子类–构造器 二、JVM类加载的双亲委派模型 三、JDK为什么要设计双亲委派模型有什么好处 1、确保安全避免Java核心类库被修改 2、避免重复加载 3、保证类的唯一性 如果你写一个java.lang.String的类去运行发现会抛出如下异常 四、可以打破JVM双亲委派模型吗如何打破JVM双亲委派模型 答案可以 想要打破这种模型那么就自定义一个类加载器重写其中的loadClass方法使其不进行双亲委派即可 五、什么是内存溢出什么是内存泄漏 内存溢出OOMOutOfMemory 指程序在申请内存时没有足够的内存空间供其使用抛出OutOfMemory错误 比如申请了一个8MB空间但是当前内存可用空间只有5MB那么就是内存溢出 即OutOfMemoryError是指没有空闲内存垃圾收集器回收后也不能提供更多的内存空间 内存泄露Memory Leak 指程序运行后没有释放所占用的内存空间一次内存泄漏可能不会有很大的影响但长时间的内存泄漏堆积到一定程度就会产生内存溢出 1单例对象生命周期和应用程序一样长如果单例对象持有对外部对象的引用的话那么这个外部对象是不能被回收的则会产生内存泄露 2一些资源未关闭也会导致内存泄漏比如数据库连接网络连接socket和IO流的连接都必须在 finally 中 close否则不能被回收的 六、线上项目JVM都怎么设置的 假设线上4核8G机器 JVM栈、堆、元空间 1、栈 1m默认大小-Xss512k一个线程是1m一个线上项目 Tomcat 可能有300个线程300m 2、堆大概把机器的一半内存给堆4G新生代、老年代 CMS1/3 、2/3G1: 6:4 3、元空间 一般512M肯定够了 此时JVM参数如下-Xms4096M -Xmx4096M -Xss1M -XX:MetaspaceSize512M -XX:MaxMetaspaceSize512M -XX:UseG1GC 七、线上Java项目服务器内存飙升怎么排查处理 在Linux系统中使用命令 #查看系统Java相关的进程 jps 在Linux系统中使用命令: # 查看进程内存占用情况 top可使用快捷键排序shift m 在Linux系统中使用命令 # 查看内存信息 jmap -histo pidjmap 是Java虚拟机JVM自带的一个命令行工具用于生成Java进程的内存映像文件heap dump它通过与Java进程通信获取内存信息并将信息输出到文件中以便后续离线分析。-histo 查看堆内存中的对象实例数目、内存占用大小、类名等 在Linux系统中使用命令 # 将内存信息转存文件 jmap -dump:formatb,fileheap.hprof pid通过使用 MemoryAnalyzer(MAT)工具分析转存下来的文件。 八、线上Java项目服务器CPU飙到100%怎么排查 # 查看进程内存占用情况 top# 打印线程栈信息输出到fileName.txt文件中 jstack pid fileName.txt# 查看pid进程中的线程内存占用情况 top -H -p pid# 把十进制线程ID转换为十六进制 printf %x tid九、JVM发生OOM后其他线程是否可以继续工作 要分情况看不一定 如果发生OOM例如使用局部变量存放对象方法执行后内存会释放那么其他线程可以继续工作如果发生OOM例如使用全局变量存放对象方法执行后内存不会释放那么其他线程不可以继续工作 使用 VisualVM 工具查看JVM堆内存变化情况 十、高并发系统的JVM如何优化 如果每秒发生 583000 请求 1、内存预估 普通4核8G服务器一台机器抗300-400并发下单请求比较合理 583000 / 300 1943台机器 一个订单预估1KB 一台机器300KB * 20 * 10 60MB的内存开销一秒后60MB对象就成为垃圾 2、内存分配 4核8G的机器JVM给4G剩下几个G会留给操作系统堆3G新生代1.5G老年代1.5G栈1MBJVM里大概会有300-500个线程大概300-500MB;元空间/永久代512MB -Xms3072M -Xmx3072M -Xmn1536M -Xss1M-XX:MetaspaceSize512M -XX:MaxMetaspaceSize512M-XX:PrintGCDetails-XX:PrintGCDateStamps-Xloggc:d:/gc.log-XX:HeapDumpOnOutOfMemoryError-XX:HeapDumpPathd:/heap.hprof 3、内存占用动态推算 一台机器每秒抗300个订单300KB * 20 * 10 60MB每秒占据新生代60MB内存空间新生代总共有1.5G的内存空间1.5G * 1024MB / 60MB 25秒 新生代Eden占满触发Minor GC一般情况下一次可以回收掉90%的新生代对象存活对象 1.5G * 1024MB * 10% 150MB如果 “-XX:SurvivorRatio” 参数默认值为8那么新生代Eden1.2GB、S0 150MB、S1 150MB 4、如何调优 1 1次Minor GC后可能Survivor不足或者触发动态年龄判断对象进入老年代明显是 Survivor 空间不足 新生代调整为2G老年代为1G此时Eden1.6G每个Survivor200MB 解决 Survivor 不足或者触发动态年龄判断降低新生代对象进入老年代的概率 此时JVM参数 -Xms3072M -Xmx3072M -Xmn2048M -Xss1M -XX:MetaspaceSize512M -XX:MaxMetaspaceSize512M2 一般系统里的Service、Controller之类的注解需要长期存活这些对象一般也不会很多可能几十兆应该让它们尽快进入老年代此时JVM参数-Xms3072M -Xmx3072M -Xmn2048M -Xss1M -XX:MetaspaceSize256M -XX:MaxMetaspaceSize256M -XX:MaxTenuringThreshold53 一般情况下大对象可能需要长期存活和使用让它直接进入老年代根据项目实际情况来确定 此时JVM参数如下 -Xms3072M -Xmx3072M -Xmn2048M -Xss1M -XX:MetaspaceSize256M -XX:MaxMetaspaceSize256M -XX:MaxTenuringThreshold5 -XX:PretenureSizeThreshold1M4 指定合适的垃圾回收器此时JVM参数 -Xms3072M -Xmx3072M -Xmn2048M -Xss1M -XX:MetaspaceSize256M -XX:MaxMetaspaceSize256M -XX:MaxTenuringThreshold5 -XX:PretenureSizeThreshold1M -XX:UseParNewGC -XX:UseConcMarkSweepGC小堆内存不使用G1垃圾收集器 5 大概每隔几分钟Minor GC之后有大概200MB左右对象进入老年代推算可能差不多1小时后才会有接近1GB的对象进入老年代触发Full GC然后高峰期一过可能需要几个小时才会一次Full GC -Xms3072M -Xmx3072M -Xmn2048M -Xss1M -XX:-UseCompressedClassPointers -XX:MetaspaceSize512M -XX:MaxMetaspaceSize512M -XX:SurvivorRatio8 -XX:MaxTenuringThreshold5 -XX:PretenureSizeThreshold1M -XX:UseParNewGC -XX:UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction75 -XX:UseCMSCompactAtFullCollection -XX:CMSFullGCsBeforeCompaction0-XX:PrintGCDetails -XX:PrintGCDateStamps -Xloggc:d:/gc.log -XX:HeapDumpOnOutOfMemoryError -XX:HeapDumpPathd:/heap.hprof6 优化思路 1、尽可能让对象在新生代里分配和回收避免对象频繁进入老年代导致老年代频繁垃圾回收2、给系统充足的内存空间避免新生代频繁的垃圾回收3、指定合适的垃圾收集器
http://www.zqtcl.cn/news/710358/

相关文章:

  • 餐饮网站开发参考文献网站建设500错误代码
  • 网站开发关键技术网站自动推广软件免费
  • 前端学习网站南阳东莞网站建设公司哪家好
  • 关于做网站的了解点wordpress小程序插曲
  • PHP网站开发与管理设计心得个人可以做聊天网站备案吗
  • 开公司可以在哪些网站做推广上海画册设计
  • 成都高新区规划建设局网站网络营销方式有哪些?举例说明
  • 国家企业信用公信系统入口seo服务
  • 个人网站网页模板室内装修设计自学软件
  • 什么网站可以做告白的网页网站模板套用湖南岚鸿
  • 膜结构网站推广怎么做怎样把网站上传到空间
  • 三维网站是怎么做的商城网站 运营
  • 程序员网站开发框架无锡网络公司网站建设app微信公众号平
  • 中关村网站建设网络营销策划书范文
  • 电商网站建设与课程设计科技网站模版
  • 建设部网站资质漳州最专业的网站建设公司
  • 网站建设需求和页面需求怎么提一个静态网站怎么做
  • 宝塔wordpress广州网站营销seo
  • 甘肃城乡建设厅网站首页发布公司信息的网站
  • 工信部网站备案查询 手机凡科网微信小程序制作
  • 一站多通怎么做网站网站推广工具 刷链接
  • 学生做网站的工作室网络舆情监测与研判考试重点
  • 做网站去哪个公司好广告创意设计论文
  • 20m带宽做网站够用吗win7创建wordpress
  • qq音乐怎么做mp3下载网站发卡网站建设方案
  • 做cpc不做网站可以吗网站跳出率
  • 公司网站变更域名有了域名就可以做网站了吗
  • 网站建设推广营销策划做外贸网站需要注册公司吗
  • 可信赖的赣州网站建设做羽毛球网站
  • 如何找网站做推广wordpress登录及注册