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

公司做一个网站新人写手适合哪个平台

公司做一个网站,新人写手适合哪个平台,做网站要多大的画布,html网站标签上一篇#xff1a;09-JVM垃圾收集底层算法实现 前置启动程序 事先启动一个web应用程序#xff0c;用jps查看其进程id#xff0c;接着用各种jdk自带命令优化应用 1.Jmap 此命令可以用来查看内存信息#xff0c;实例个数以及占用内存大小 jmap -histo 14660 #查看历史…上一篇09-JVM垃圾收集底层算法实现 前置启动程序 事先启动一个web应用程序用jps查看其进程id接着用各种jdk自带命令优化应用 1.Jmap 此命令可以用来查看内存信息实例个数以及占用内存大小 jmap -histo 14660 #查看历史生成的实例 jmap -histo:live 14660 #查看当前存活的实例执行过程中可能会触发一次full gc打开log.txt文件内容如下 num序号instances实例数量bytes占用空间大小class name类名称[C is a char[][S is a short[][I is a int[][B is a byte[][[I is a int[][] 2.堆信息 3.堆内存dump jmap -dump:formatb,fileeureka.hprof 14660也可以设置内存溢出自动导出dump文件(内存很大的时候可能会导不出来) -XX:HeapDumpOnOutOfMemoryError-XX:HeapDumpPath./ 路径 示例代码 public class OOMTest {public static ListObject list new ArrayList();// JVM设置 // -Xms10M -Xmx10M -XX:PrintGCDetails -XX:HeapDumpOnOutOfMemoryError -XX:HeapDumpPathD:\jvm.dump public static void main(String[] args) {ListObject list new ArrayList();int i 0;int j 0;while (true) {list.add(new User(i, UUID.randomUUID().toString()));new User(j--, UUID.randomUUID().toString());}} }可以用jvisualvm命令工具导入该dump文件分析 4.Jstack 用jstack加进程id查找死锁见如下示例 public class DeadLockTest {private static Object lock1 new Object();private static Object lock2 new Object();public static void main(String[] args) {new Thread(() - {synchronized (lock1) {try {System.out.println(thread1 begin);Thread.sleep(5000);} catch (InterruptedException e) {}synchronized (lock2) {System.out.println(thread1 end);}}}).start();new Thread(() - {synchronized (lock2) {try {System.out.println(thread2 begin);Thread.sleep(5000);} catch (InterruptedException e) {}synchronized (lock1) {System.out.println(thread2 end);}}}).start();System.out.println(main thread end);} }“Thread-1” 线程名 prio5 优先级5 tid0x000000001fa9e000 线程id nid0x2d64 线程对应的本地线程标识nid java.lang.Thread.State: BLOCKED 线程状态 还可以用jvisualvm自动检测死锁 远程连接jvisualvm 启动普通的jar程序JMX端口配置 java -Dcom.sun.management.jmxremote.port8888 -Djava.rmi.server.hostname192.168.65.60 -Dcom.sun.management.jmxremote.sslfalse -Dcom.sun.management.jmxremote.authenticatefalse -jar microservice-eureka-server.jarPS -Dcom.sun.management.jmxremote.port 为远程机器的JMX端口-Djava.rmi.server.hostname 为远程机器IP tomcat的JMX配置在catalina.sh文件里的最后一个JAVA_OPTS的赋值语句下一行增加如下配置行 JAVA_OPTS$JAVA_OPTS -Dcom.sun.management.jmxremote.port8888 -Djava.rmi.server.hostname192.168.50.60 -Dcom.sun.management.jmxremote.sslfalse -Dcom.sun.management.jmxremote.authenticatefalse连接时确认下端口是否通畅可以临时关闭下防火墙 systemctl stop firewalld #临时关闭防火墙Jstack找出占用cpu最高的线程堆栈信息 /*** 运行此代码cpu会飙高*/ public class Math {public static final int initData 666;public static User user new User();public int compute() { //一个方法对应一块栈帧内存区域int a 1;int b 2;int c (a b) * 10;return c;}public static void main(String[] args) {Math math new Math();while (true){math.compute();}} }使用命令top -p 显示你的java进程的内存情况pid是你的java进程号比如19663 按H获取每个线程的内存情况 找到内存和cpu占用最高的线程tid比如19664 转为十六进制得到 0x4cd0此为线程id的十六进制表示 执行 jstack 19663|grep -A 10 4cd0得到线程堆栈信息中 4cd0 这个线程所在行的后面10行从堆栈中可以发现导致cpu飙高的调用方法 查看对应的堆栈信息找出可能存在问题的代码 5.Jinfo 查看正在运行的Java应用程序的扩展参数 查看jvm的参数 查看java系统参数 6.Jstat jstat命令可以查看堆内存各部分的使用量以及加载类的数量。命令的格式如下 jstat [-命令选项] [vmid] [间隔时间(毫秒)] [查询次数] 注意使用的jdk版本是jdk8 下一篇11-JVM调优实战-1
http://www.hkea.cn/news/14435687/

相关文章:

  • 微信建设网站找哪家网站开发域名注册功能
  • 贵阳网站推广代理公司英文
  • 如何做论坛网站 知乎南方网通g3云推广
  • wordpress网站做成app6写一个小程序大概要多少钱
  • 做手机网站公司广东泰通建设有限公司网站
  • 江苏省交通运输厅门户网站建设管理中心建站公司还赚钱吗
  • 网站建设技术方面论文产品网络推广怎样做
  • 网站建设交印花税韶关住房和城乡建设网站
  • 企业怎么做好网站优化龙泉驿建设局网站
  • 云购网站建设wordpress本地数据库
  • 免费建立企业网站什么是电子商务行业
  • 做采购 通常在什么网站看编程语言
  • 成都高端定制网站在线文字logo设计
  • 成都学校网站建软件外包公司怎么经营
  • 网站建设案例模板下载国外网站鞋子做的好的网站
  • 门户网站的建设方案做的好的排版网站
  • 美工培训班哪家好seo短视频网页入口营销策略
  • 网站的建设与维护实践报告中关村网站建设公司
  • 修改公司网站做网站设计最好的公司
  • 青羊区定制网站建设报价wordpress页面音乐播放器
  • 唐山市住房城乡建设部网站主页手机网站设计需要学什么
  • 帝国cms 网站迁移错版做地产的设计网站
  • 长宁广州网站建设被黑网站
  • 台州网站建设找哪家好点医疗器械注册证
  • 平顶山市网站建设动漫设计就业率高吗
  • 外汇做单在什么网站网站的站点建设
  • 养殖企业网站模板最新软件推广
  • 专业做网站全包网站建设 设计业务范围
  • 崂山网站建设网页设计与网站建设期末考试题
  • 现在哪个网站还做白拿网站 猜你喜欢 怎么做