程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长


+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

2023-06(1)

hs_err_prd.log日志分析

发布于2020-11-19 20:51     阅读(1188)     评论(0)     点赞(8)     收藏(4)


 java程序运行的时候,突然JVM发生错误导致崩溃时,会生成一个hs_err_pid_xxx.log这样的文件,该文件包含了导致 JVM crash 的重要信息,我们可以通过分析该文件定位到导致 JVM Crash 的原因,从而修复保证系统稳定,默认该文件出生在项目得根目录。

这个文件主要包含如下内容:

  • 日志头信息
  • crash 的线程信息
  • 所有线程信息
  • 安全点和锁信息
  • 堆信息
  • 本地代码缓存
  • 编译事件
  • gc 相关时间
  • 逆优化
  • 重新定义类
  • 内部异常信息
  • jvm 内存映射
  • jvm 启动参数
  • 服务器信息

一、日志头文件

翻译过来的意思大概就是:

没有足够的内存,Java运行时环境无法继续。本机内存分配(malloc)无法为ChunkPool :: allocate分配32744个字节可能的原因:系统没有物理RAM或交换空间该进程正在启用CompressedOops的情况下运行,并且Java Heap可能阻止了本机堆的增长可能的解决方案:

  1. 减少系统上的内存负载
  2. 增加物理内存或交换内存
  3. 检查交换后备存储是否已满
  4. 减小Java堆大小(-Xmx / -Xms)
  5. 减小Java线程数减小Java线程堆栈大小(-Xss)
  6. 设置较大的代码-XX:ReservedCodeCacheSize =

进行高速缓存JVM以基于零的压缩Oops模式运行,在该模式下,Java堆位于前32GB地址空间中。 Java堆基址是本机堆增长的最大限制。请使用-XX:HeapBaseMinAddress设置Java Heap基础并将Java Heap放置在32GB以上的虚拟地址上。

该输出文件可能被截断或不完整。内存不足错误(allocation.cpp:272),pid = 16756,tid = 0x0000000000006b78

JRE版本:Java(TM)SE运行时环境(8.0_231-b11)(内部版本1.8.0_231-b11)

Java VM:Java HotSpot(TM) )64位服务器VM(25.231-b11混合模式Windows-amd64压缩的oops)

无法写入核心转储。默认情况下,在Windows客户端版本上不启用小型转储

这段信息简述了发生异常的信息,是服务器内存不足,除此之外,JVM 自身的 bug,应用程序错误,JVM 参数,JNI 调用错误,版本信息和配置信息等也会导致JVM Crash。

Out of Memory Error (allocation.cpp:272), pid=16756, tid=0x0000000000006b78
复制代码
  • pid=16756 进程号
  • tid=0x0000000000006b78 线程号

二、crash 的线程信息

---------------  T H R E A D  ---------------

Current thread (0x000000001fd37800):  JavaThread "C2 CompilerThread0" daemon [_thread_in_native, id=27512, stack(0x0000000020170000,0x0000000020270000)]

Stack: [0x0000000020170000,0x0000000020270000]
[error occurred during error reporting (printing stack bounds), id 0xc0000005]

Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)


Current CompileTask:
C2:  19813 10229       4       java.net.URLClassLoader$1::run (5 bytes)

复制代码

线程信息

Current thread (0x0000000001e94800):  JavaThread "pool-1-thread-2" [_thread_in_native, id=30111, stack(0x00007f3d567e5000,0x00007f3d568e6000)]
复制代码
  • 0x0000000001e94800:出错的线程指针
  • JavaThread:线程类型,线程可能还会有以下:
  1. JavaThread:Java线程
  2. VMThread : JVM 的内部线程
  3. CompilerThread:用来调用JITing,实时编译装卸class 。 通常,jvm会启动多个线程来处理这部分工作,线程名称后面的数字也会累加,例如:CompilerThread1
  4. GCTaskThread:执行gc的线程
  5. WatcherThread:JVM 周期性任务调度的线程,是一个单例对象
  6. ConcurrentMarkSweepThread:jvm在进行CMS GC的时候,会创建一个该线程去进行GC,该线程被创建的同时会创建一个SurrogateLockerThread(简称SLT)线程并且启动它,SLT启动之后,处于等待阶段。CMST开始GC时,会发一个消息给SLT让它去获取Java层Reference对象的全局锁:Lock
  • pool-1-thread-2:线程名称
  • _thread_in_native:当前线程状态
  1. _thread_in_native:线程当前状态,状态枚举包括:
  2. _thread_uninitialized:线程还没有创建,它只在内存原因崩溃的时候才出现
  3. _thread_new:线程已经被创建,但是还没有启动
  4. _thread_in_native:线程正在执行本地代码,一般这种情况很可能是本地代码有问题
  5. _thread_in_vm:线程正在执行虚拟机代码
  6. _thread_in_Java:线程正在执行解释或者编译后的Java代码
  7. _thread_blocked:线程处于阻塞状态
  8. …_trans:以_trans结尾,线程正处于要切换到其它状态的中间状态
  • id=30111 :线程id
  • stack(0x00007f3d567e5000,0x00007f3d568e6000):栈区间

三、线程信息

---------------  P R O C E S S  ---------------

Java Threads: ( => current thread )
  0x000000002404f000 JavaThread "com.alibaba.nacos.naming.beat.sender" daemon [_thread_blocked, id=7612, stack(0x0000000021740000,0x0000000021840000)]
  0x0000000024047800 JavaThread "DestroyJavaVM" [_thread_blocked, id=25856, stack(0x0000000002fb0000,0x00000000030b0000)]
  0x0000000024048800 JavaThread "http-nio-51000-AsyncTimeout" daemon [_thread_blocked, id=12996, stack(0x0000000030020000,0x0000000030120000)]
  0x000000002404e800 JavaThread "http-nio-51000-Acceptor-0" daemon [_thread_in_native, id=22020, stack(0x000000002ff20000,0x0000000030020000)]
  0x000000002404d800 JavaThread "http-nio-51000-ClientPoller-1" daemon [_thread_in_native, id=11852, stack(0x000000002fe20000,0x000000002ff20000)]
  0x0000000024046000 JavaThread "http-nio-51000-ClientPoller-0" daemon [_thread_in_native, id=23656, stack(0x000000002fd20000,0x000000002fe20000)]
  0x0000000024047000 JavaThread "http-nio-51000-exec-10" daemon [_thread_blocked, id=11672, stack(0x000000002fc20000,0x000000002fd20000)]
  0x000000002404b800 JavaThread "http-nio-51000-exec-9" daemon [_thread_blocked, id=6460, stack(0x000000002fb20000,0x000000002fc20000)]
  0x000000002404d000 JavaThread "http-nio-51000-exec-8" daemon [_thread_blocked, id=4524, stack(0x000000002fa20000,0x000000002fb20000)]
  0x000000002404c000 JavaThread "http-nio-51000-exec-7" daemon [_thread_blocked, id=7536, stack(0x000000002f920000,0x000000002fa20000)]
  0x000000002404a800 JavaThread "http-nio-51000-exec-6" daemon [_thread_blocked, id=15648, stack(0x000000002f820000,0x000000002f920000)]
  0x0000000024045800 JavaThread "http-nio-51000-exec-5" daemon [_thread_blocked, id=17580, stack(0x000000002f720000,0x000000002f820000)]
  0x0000000022175800 JavaThread "http-nio-51000-exec-4" daemon [_thread_blocked, id=23840, stack(0x000000002f620000,0x000000002f720000)]
  0x0000000021bf9000 JavaThread "http-nio-51000-exec-3" daemon [_thread_blocked, id=20868, stack(0x000000002f520000,0x000000002f620000)]
  0x0000000021bfc000 JavaThread "http-nio-51000-exec-2" daemon [_thread_blocked, id=9416, stack(0x000000002f420000,0x000000002f520000)]
  0x0000000021bff800 JavaThread "http-nio-51000-exec-1" daemon [_thread_blocked, id=7856, stack(0x000000002f320000,0x000000002f420000)]
  0x0000000021bfc800 JavaThread "NioBlockingSelector.BlockPoller-1" daemon [_thread_in_native, id=17036, stack(0x000000002f060000,0x000000002f160000)]
  0x0000000021bf8000 JavaThread "dubbo-remoting-server-heartbeat-thread-1" daemon [_thread_blocked, id=11892, stack(0x000000002edf0000,0x000000002eef0000)]
  0x0000000021bf9800 JavaThread "NettyServerBoss-7-1" daemon [_thread_in_native, id=8756, stack(0x000000002e8a0000,0x000000002e9a0000)]
  0x0000000021bfe000 JavaThread "Keep-Alive-Timer" daemon [_thread_blocked, id=15228, stack(0x000000002f220000,0x000000002f320000)]
  0x0000000021bfd800 JavaThread "xxl-job, executor ExecutorRegistryThread" daemon [_thread_blocked, id=20704, stack(0x000000002e7a0000,0x000000002e8a0000)]
  0x0000000021bfb000 JavaThread "nioEventLoopGroup-5-1" [_thread_in_native, id=19896, stack(0x000000002e6a0000,0x000000002e7a0000)]
  0x0000000021bfa800 JavaThread "Thread-17" daemon [_thread_blocked, id=23024, stack(0x000000002eaf0000,0x000000002ebf0000)]
  0x0000000021bf0800 JavaThread "Thread-16" daemon [_thread_blocked, id=9520, stack(0x000000002e9f0000,0x000000002eaf0000)]
  0x0000000021bf6000 JavaThread "xxl-job, executor TriggerCallbackThread" daemon [_thread_blocked, id=15680, stack(0x000000002e2f0000,0x000000002e3f0000)]
  0x0000000021bf4800 JavaThread "xxl-job, executor JobLogFileCleanThread" daemon [_thread_blocked, id=18152, stack(0x000000002ada0000,0x000000002aea0000)]
  0x0000000021bf6800 JavaThread "com.alibaba.nacos.naming.beat.sender" daemon [_thread_blocked, id=856, stack(0x000000002e400000,0x000000002e500000)]
  0x0000000021bf5000 JavaThread "JetCacheDefaultExecutor" daemon [_thread_blocked, id=4936, stack(0x000000002e5a0000,0x000000002e6a0000)]
  0x0000000021bf3000 JavaThread "DubboClientReconnectTimer-thread-2" daemon [_thread_blocked, id=20420, stack(0x000000002d9f0000,0x000000002daf0000)]
  0x0000000021bf1800 JavaThread "com.alibaba.nacos.client.naming.updater" daemon [_thread_blocked, id=13332, stack(0x000000002d6f0000,0x000000002d7f0000)]
  0x0000000021bf2000 JavaThread "com.alibaba.nacos.client.naming.updater" daemon [_thread_blocked, id=12236, stack(0x000000002d5f0000,0x000000002d6f0000)]
  0x0000000022179000 JavaThread "com.alibaba.nacos.client.naming.updater" daemon [_thread_blocked, id=12008, stack(0x000000002d4f0000,0x000000002d5f0000)]
  0x0000000022178800 JavaThread "com.alibaba.nacos.client.naming.updater" daemon [_thread_blocked, id=26380, stack(0x000000002d3f0000,0x000000002d4f0000)]
  0x0000000022177800 JavaThread "com.alibaba.nacos.client.naming.updater" daemon [_thread_blocked, id=5812, stack(0x000000002d2f0000,0x000000002d3f0000)]
  0x0000000022176000 JavaThread "dubbo-remoting-client-heartbeat-thread-1" daemon [_thread_blocked, id=27148, stack(0x000000002c020000,0x000000002c120000)]
  0x000000002217d000 JavaThread "NettyClientWorker-4-1" daemon [_thread_in_native, id=22332, stack(0x000000002bf20000,0x000000002c020000)]
  0x000000002217c000 JavaThread "DubboClientReconnectTimer-thread-1" daemon [_thread_blocked, id=22356, stack(0x000000002be20000,0x000000002bf20000)]
  0x000000002217b800 JavaThread "DubboSaveRegistryCache-thread-1" daemon [_thread_blocked, id=23092, stack(0x000000002bd20000,0x000000002be20000)]
  0x000000002216e800 JavaThread "com.alibaba.nacos.client.naming.updater" daemon [_thread_blocked, id=23676, stack(0x000000002b680000,0x000000002b780000)]
  0x0000000022172800 JavaThread "DubboRegistryFailedRetryTimer-thread-1" daemon [_thread_blocked, id=22928, stack(0x000000002b920000,0x000000002ba20000)]
  0x0000000022171000 JavaThread "com.alibaba.nacos.naming.push.receiver" daemon [_thread_in_native, id=11576, stack(0x000000002b820000,0x000000002b920000)]
  0x000000002216e000 JavaThread "com.alibaba.nacos.naming.failover" daemon [_thread_blocked, id=16176, stack(0x000000002b230000,0x000000002b330000)]
  0x0000000022173000 JavaThread "com.alibaba.nacos.naming.beat.sender" daemon [_thread_blocked, id=22464, stack(0x000000002b580000,0x000000002b680000)]
  0x000000002216f800 JavaThread "com.alibaba.nacos.naming.beat.sender" daemon [_thread_blocked, id=17320, stack(0x000000002b480000,0x000000002b580000)]
  0x0000000022171800 JavaThread "com.alibaba.nacos.naming.client.listener" daemon [_thread_blocked, id=26024, stack(0x000000002b380000,0x000000002b480000)]
  0x0000000022174000 JavaThread "Timer-0" daemon [_thread_blocked, id=23244, stack(0x0000000022f40000,0x0000000023040000)]
  0x0000000022174800 JavaThread "Log4j2-TF-9-Scheduled-3" daemon [_thread_blocked, id=11696, stack(0x000000002aee0000,0x000000002afe0000)]
  0x000000002659f800 JavaThread "qos-boss-1-1" daemon [_thread_in_native, id=12388, stack(0x000000002aca0000,0x000000002ada0000)]
  0x00000000265a1000 JavaThread "Druid-ConnectionPool-Destroy-613765444" daemon [_thread_blocked, id=16984, stack(0x000000002a6a0000,0x000000002a7a0000)]
  0x00000000265a0000 JavaThread "Druid-ConnectionPool-Create-613765444" daemon [_thread_blocked, id=912, stack(0x000000002a390000,0x000000002a490000)]
  0x00000000256d0800 JavaThread "Abandoned connection cleanup thread" daemon [_thread_blocked, id=14864, stack(0x0000000029c40000,0x0000000029d40000)]
  0x00000000226f0800 JavaThread "commons-pool-evictor-thread" [_thread_blocked, id=5724, stack(0x0000000029d40000,0x0000000029e40000)]
  0x00000000223a8000 JavaThread "container-0" [_thread_blocked, id=13076, stack(0x00000000298d0000,0x00000000299d0000)]
  0x0000000024f90000 JavaThread "ContainerBackgroundProcessor[StandardEngine[Tomcat]]" daemon [_thread_blocked, id=24912, stack(0x0000000025a70000,0x0000000025b70000)]
  0x000000001fdf4000 JavaThread "Service Thread" daemon [_thread_blocked, id=19776, stack(0x0000000020570000,0x0000000020670000)]
  0x000000001fd46000 JavaThread "C1 CompilerThread3" daemon [_thread_blocked, id=8488, stack(0x0000000020470000,0x0000000020570000)]
  0x000000001fd3b000 JavaThread "C2 CompilerThread2" daemon [_thread_in_native, id=24984, stack(0x0000000020370000,0x0000000020470000)]
  0x000000001fd3a800 JavaThread "C2 CompilerThread1" daemon [_thread_in_native, id=8528, stack(0x0000000020270000,0x0000000020370000)]
=>0x000000001fd37800 JavaThread "C2 CompilerThread0" daemon [_thread_in_native, id=27512, stack(0x0000000020170000,0x0000000020270000)]
  0x000000001fd30800 JavaThread "Monitor Ctrl-Break" daemon [_thread_in_native, id=21904, stack(0x0000000020070000,0x0000000020170000)]
  0x000000001e31d800 JavaThread "Attach Listener" daemon [_thread_blocked, id=3000, stack(0x000000001f770000,0x000000001f870000)]
  0x000000001e2c8000 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=6592, stack(0x000000001f670000,0x000000001f770000)]
  0x000000001cbc7000 JavaThread "Finalizer" daemon [_thread_blocked, id=20556, stack(0x000000001f510000,0x000000001f610000)]
  0x000000001e2a3000 JavaThread "Reference Handler" daemon [_thread_blocked, id=27324, stack(0x000000001f410000,0x000000001f510000)]

Other Threads:
  0x000000001e282800 VMThread [stack: 0x000000001f310000,0x000000001f410000] [id=16568]
  0x000000001fecc000 WatcherThread [stack: 0x0000000020670000,0x0000000020770000] [id=27436]
复制代码

如上信息,线程阻塞

四、安全点和锁信息

VM state:not at safepoint (normal execution)

VM Mutex/Monitor currently owned by a thread: None
复制代码

虚拟机状态:

  • not at safepoint 表示正常运行。其余状态:
  • at safepoint:所有线程都因为虚拟机等待状态而阻塞,等待一个虚拟机操作完成;
  • synchronizing:一个特殊的虚拟机操作,要求虚拟机内的其它线程保持等待状态。

虚拟机的 Mutex 和 Monito r目前没有被线程持有。Mutex 是虚拟机内部的锁,而 Monitor 则关联到了 Java 对象。

五、堆信息

Heap:
 PSYoungGen      total 503296K, used 245424K [0x000000076db80000, 0x000000078f800000, 0x00000007c0000000)
  eden space 471552K, 45% used [0x000000076db80000,0x000000077ac32f38,0x000000078a800000)
  from space 31744K, 99% used [0x000000078cb80000,0x000000078ea791c8,0x000000078ea80000)
  to   space 36352K, 0% used [0x000000078a800000,0x000000078a800000,0x000000078cb80000)
 ParOldGen       total 246784K, used 47975K [0x00000006c9200000, 0x00000006d8300000, 0x000000076db80000)
  object space 246784K, 19% used [0x00000006c9200000,0x00000006cc0d9cf0,0x00000006d8300000)
 Metaspace       used 77566K, capacity 79042K, committed 79400K, reserved 1120256K
  class space    used 8950K, capacity 9204K, committed 9256K, reserved 1048576K

Card table byte_map: [0x0000000012760000,0x0000000012f20000] byte_map_base: 0x000000000f117000
复制代码

PSYoungGen, eden space, from space, to space, ParOldGen,Metaspace 有打印, Card table表示一种卡表,是 jvm 维护的一种数据结构,用于记录更改对象时的引用,以便 gc 时遍历更少的 table 和 root。

六、本地代码缓存

CodeCache: size=245760Kb used=28185Kb max_used=30942Kb free=217574Kb
 bounds [0x00000000033a0000, 0x0000000005250000, 0x00000000123a0000]
 total_blobs=8846 nmethods=8190 adapters=567
 compilation: enabled
复制代码

七、编译事件

Compilation events (10 events):
Event: 19.664 Thread 0x000000001fd46000 10237       3       java.net.URI::access$400 (4 bytes)
Event: 19.664 Thread 0x000000001fd46000 nmethod 10237 0x0000000004016850 code [0x00000000040169a0, 0x0000000004016ad0]
Event: 19.724 Thread 0x000000001fd46000 10238  s    3       java.io.BufferedOutputStream::write (67 bytes)
Event: 19.725 Thread 0x000000001fd46000 nmethod 10238 0x000000000461ce10 code [0x000000000461cfe0, 0x000000000461d838]
Event: 19.768 Thread 0x000000001fd46000 10239       3       com.alibaba.fastjson.parser.JSONScanner::scanFieldString (528 bytes)
Event: 19.770 Thread 0x000000001fd46000 nmethod 10239 0x000000000388dd10 code [0x000000000388e180, 0x0000000003891558]
Event: 19.771 Thread 0x000000001fd46000 10240       3       com.alibaba.fastjson.parser.DefaultJSONParser::setContext (44 bytes)
Event: 19.771 Thread 0x000000001fd46000 nmethod 10240 0x0000000003a0e010 code [0x0000000003a0e1a0, 0x0000000003a0e788]
Event: 19.771 Thread 0x000000001fd46000 10241       3       com.alibaba.fastjson.parser.ParseContext::<init> (20 bytes)
Event: 19.772 Thread 0x000000001fd46000 nmethod 10241 0x00000000045da690 code [0x00000000045da7e0, 0x00000000045da9d0]

复制代码

记录编译时的10个编译事件

八、记录GC事件

C Heap History (10 events):
Event: 8.619 GC heap before
{Heap before GC invocations=15 (full 3):
 PSYoungGen      total 358912K, used 24951K [0x000000076db80000, 0x0000000786d00000, 0x00000007c0000000)
  eden space 331264K, 0% used [0x000000076db80000,0x000000076db80000,0x0000000781f00000)
  from space 27648K, 90% used [0x0000000783c80000,0x00000007854ddfe8,0x0000000785780000)
  to   space 30208K, 0% used [0x0000000781f00000,0x0000000781f00000,0x0000000783c80000)
 ParOldGen       total 169984K, used 37423K [0x00000006c9200000, 0x00000006d3800000, 0x000000076db80000)
  object space 169984K, 22% used [0x00000006c9200000,0x00000006cb68bdd0,0x00000006d3800000)
 Metaspace       used 58028K, capacity 58678K, committed 59160K, reserved 1101824K
  class space    used 6871K, capacity 7020K, committed 7080K, reserved 1048576K
Event: 8.797 GC heap after
Heap after GC invocations=15 (full 3):
 PSYoungGen      total 358912K, used 0K [0x000000076db80000, 0x0000000786d00000, 0x00000007c0000000)
  eden space 331264K, 0% used [0x000000076db80000,0x000000076db80000,0x0000000781f00000)
  from space 27648K, 0% used [0x0000000783c80000,0x0000000783c80000,0x0000000785780000)
  to   space 30208K, 0% used [0x0000000781f00000,0x0000000781f00000,0x0000000783c80000)
 ParOldGen       total 246784K, used 47344K [0x00000006c9200000, 0x00000006d8300000, 0x000000076db80000)
  object space 246784K, 19% used [0x00000006c9200000,0x00000006cc03c100,0x00000006d8300000)
 Metaspace       used 58028K, capacity 58678K, committed 59160K, reserved 1101824K
  class space    used 6871K, capacity 7020K, committed 7080K, reserved 1048576K
}
Event: 9.665 GC heap before
{Heap before GC invocations=16 (full 3):
 PSYoungGen      total 358912K, used 331264K [0x000000076db80000, 0x0000000786d00000, 0x00000007c0000000)
  eden space 331264K, 100% used [0x000000076db80000,0x0000000781f00000,0x0000000781f00000)
  from space 27648K, 0% used [0x0000000783c80000,0x0000000783c80000,0x0000000785780000)
  to   space 30208K, 0% used [0x0000000781f00000,0x0000000781f00000,0x0000000783c80000)
 ParOldGen       total 246784K, used 47344K [0x00000006c9200000, 0x00000006d8300000, 0x000000076db80000)
  object space 246784K, 19% used [0x00000006c9200000,0x00000006cc03c100,0x00000006d8300000)
 Metaspace       used 60281K, capacity 61068K, committed 61608K, reserved 1103872K
  class space    used 7054K, capacity 7221K, committed 7336K, reserved 1048576K
Event: 9.669 GC heap after
Heap after GC invocations=16 (full 3):
 PSYoungGen      total 361472K, used 6221K [0x000000076db80000, 0x000000078a400000, 0x00000007c0000000)
  eden space 331264K, 0% used [0x000000076db80000,0x000000076db80000,0x0000000781f00000)
  from space 30208K, 20% used [0x0000000781f00000,0x00000007825135f0,0x0000000783c80000)
  to   space 30208K, 0% used [0x0000000788680000,0x0000000788680000,0x000000078a400000)
 ParOldGen       total 246784K, used 47352K [0x00000006c9200000, 0x00000006d8300000, 0x000000076db80000)
  object space 246784K, 19% used [0x00000006c9200000,0x00000006cc03e100,0x00000006d8300000)
 Metaspace       used 60281K, capacity 61068K, committed 61608K, reserved 1103872K
  class space    used 7054K, capacity 7221K, committed 7336K, reserved 1048576K
}
Event: 10.930 GC heap before
{Heap before GC invocations=17 (full 3):
 PSYoungGen      total 361472K, used 337485K [0x000000076db80000, 0x000000078a400000, 0x00000007c0000000)
  eden space 331264K, 100% used [0x000000076db80000,0x0000000781f00000,0x0000000781f00000)
  from space 30208K, 20% used [0x0000000781f00000,0x00000007825135f0,0x0000000783c80000)
  to   space 30208K, 0% used [0x0000000788680000,0x0000000788680000,0x000000078a400000)
 ParOldGen       total 246784K, used 47352K [0x00000006c9200000, 0x00000006d8300000, 0x000000076db80000)
  object space 246784K, 19% used [0x00000006c9200000,0x00000006cc03e100,0x00000006d8300000)
 Metaspace       used 62023K, capacity 63076K, committed 63272K, reserved 1105920K
  class space    used 7179K, capacity 7353K, committed 7464K, reserved 1048576K
Event: 10.936 GC heap after
Heap after GC invocations=17 (full 3):
 PSYoungGen      total 418816K, used 11552K [0x000000076db80000, 0x0000000789a00000, 0x00000007c0000000)
  eden space 398848K, 0% used [0x000000076db80000,0x000000076db80000,0x0000000786100000)
  from space 19968K, 57% used [0x0000000788680000,0x00000007891c8050,0x0000000789a00000)
  to   space 29184K, 0% used [0x0000000786100000,0x0000000786100000,0x0000000787d80000)
 ParOldGen       total 246784K, used 47360K [0x00000006c9200000, 0x00000006d8300000, 0x000000076db80000)
  object space 246784K, 19% used [0x00000006c9200000,0x00000006cc040100,0x00000006d8300000)
 Metaspace       used 62023K, capacity 63076K, committed 63272K, reserved 1105920K
  class space    used 7179K, capacity 7353K, committed 7464K, reserved 1048576K
}
Event: 12.511 GC heap before
{Heap before GC invocations=18 (full 3):
 PSYoungGen      total 418816K, used 410400K [0x000000076db80000, 0x0000000789a00000, 0x00000007c0000000)
  eden space 398848K, 100% used [0x000000076db80000,0x0000000786100000,0x0000000786100000)
  from space 19968K, 57% used [0x0000000788680000,0x00000007891c8050,0x0000000789a00000)
  to   space 29184K, 0% used [0x0000000786100000,0x0000000786100000,0x0000000787d80000)
 ParOldGen       total 246784K, used 47360K [0x00000006c9200000, 0x00000006d8300000, 0x000000076db80000)
  object space 246784K, 19% used [0x00000006c9200000,0x00000006cc040100,0x00000006d8300000)
 Metaspace       used 68944K, capacity 70376K, committed 70440K, reserved 1112064K
  class space    used 7941K, capacity 8182K, committed 8232K, reserved 1048576K
Event: 12.525 GC heap after
Heap after GC invocations=18 (full 3):
 PSYoungGen      total 428032K, used 24539K [0x000000076db80000, 0x000000078ea80000, 0x00000007c0000000)
  eden space 398848K, 0% used [0x000000076db80000,0x000000076db80000,0x0000000786100000)
  from space 29184K, 84% used [0x0000000786100000,0x00000007878f6d80,0x0000000787d80000)
  to   space 31744K, 0% used [0x000000078cb80000,0x000000078cb80000,0x000000078ea80000)
 ParOldGen       total 246784K, used 47368K [0x00000006c9200000, 0x00000006d8300000, 0x000000076db80000)
  object space 246784K, 19% used [0x00000006c9200000,0x00000006cc042100,0x00000006d8300000)
 Metaspace       used 68944K, capacity 70376K, committed 70440K, reserved 1112064K
  class space    used 7941K, capacity 8182K, committed 8232K, reserved 1048576K
}
Event: 13.558 GC heap before
{Heap before GC invocations=19 (full 3):
 PSYoungGen      total 428032K, used 423387K [0x000000076db80000, 0x000000078ea80000, 0x00000007c0000000)
  eden space 398848K, 100% used [0x000000076db80000,0x0000000786100000,0x0000000786100000)
  from space 29184K, 84% used [0x0000000786100000,0x00000007878f6d80,0x0000000787d80000)
  to   space 31744K, 0% used [0x000000078cb80000,0x000000078cb80000,0x000000078ea80000)
 ParOldGen       total 246784K, used 47368K [0x00000006c9200000, 0x00000006d8300000, 0x000000076db80000)
  object space 246784K, 19% used [0x00000006c9200000,0x00000006cc042100,0x00000006d8300000)
 Metaspace       used 72037K, capacity 73490K, committed 73640K, reserved 1114112K
  class space    used 8339K, capacity 8615K, committed 8616K, reserved 1048576K
Event: 13.573 GC heap after
Heap after GC invocations=19 (full 3):
 PSYoungGen      total 503296K, used 31716K [0x000000076db80000, 0x000000078f800000, 0x00000007c0000000)
  eden space 471552K, 0% used [0x000000076db80000,0x000000076db80000,0x000000078a800000)
  from space 31744K, 99% used [0x000000078cb80000,0x000000078ea791c8,0x000000078ea80000)
  to   space 36352K, 0% used [0x000000078a800000,0x000000078a800000,0x000000078cb80000)
 ParOldGen       total 246784K, used 47975K [0x00000006c9200000, 0x00000006d8300000, 0x000000076db80000)
  object space 246784K, 19% used [0x00000006c9200000,0x00000006cc0d9cf0,0x00000006d8300000)
 Metaspace       used 72037K, capacity 73490K, committed 73640K, reserved 1114112K
  class space    used 8339K, capacity 8615K, committed 8616K, reserved 1048576K
}
复制代码

也是记录10次

九、逆优化

Deoptimization events (10 events):
Event: 14.207 Thread 0x0000000003133800 Uncommon trap: reason=speculate_class_check action=maybe_recompile pc=0x000000000352a960 method=java.util.AbstractList.listIterator()Ljava/util/ListIterator; @ 2
Event: 14.213 Thread 0x0000000003133800 Uncommon trap: reason=unstable_if action=reinterpret pc=0x0000000003a49c14 method=org.springframework.util.ConcurrentReferenceHashMap$Segment.clear()V @ 4
Event: 14.229 Thread 0x0000000003133800 Uncommon trap: reason=unloaded action=reinterpret pc=0x00000000048007cc method=javassist.bytecode.ConstPool.readOne(Ljava/io/DataInputStream;)I @ 124
Event: 14.229 Thread 0x0000000003133800 Uncommon trap: reason=unstable_if action=reinterpret pc=0x000000000360babc method=java.io.DataInputStream.readUTF(Ljava/io/DataInput;)Ljava/lang/String; @ 112
Event: 18.804 Thread 0x0000000021bfe000 Uncommon trap: reason=class_check action=maybe_recompile pc=0x0000000004bf1f54 method=java.util.AbstractList.clear()V @ 3
Event: 19.222 Thread 0x0000000021bff800 Uncommon trap: reason=predicate action=maybe_recompile pc=0x0000000003e8c130 method=java.util.TreeMap.put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; @ 132
Event: 19.234 Thread 0x0000000021bff800 Uncommon trap: reason=unstable_if action=reinterpret pc=0x0000000003eff9d4 method=org.springframework.util.AntPathMatcher$AntPathStringMatcher.matchStrings(Ljava/lang/String;Ljava/util/Map;)Z @ 17
Event: 19.423 Thread 0x0000000021bff800 Uncommon trap: reason=class_check action=maybe_recompile pc=0x0000000004983078 method=java.lang.AbstractStringBuilder.append(Ljava/lang/CharSequence;)Ljava/lang/AbstractStringBuilder; @ 37
Event: 19.423 Thread 0x0000000021bff800 Uncommon trap: reason=class_check action=maybe_recompile pc=0x0000000004983078 method=java.lang.AbstractStringBuilder.append(Ljava/lang/CharSequence;)Ljava/lang/AbstractStringBuilder; @ 37
Event: 19.536 Thread 0x0000000021bff800 Uncommon trap: reason=bimorphic action=maybe_recompile pc=0x0000000004ec5dc8 method=java.util.AbstractList$Itr.next()Ljava/lang/Object; @ 14
复制代码

逆优化也记录10次

十、重新定义类

Classes redefined (0 events):
No events
复制代码

默认记录10次,但是这里没有发生

十一、内部异常

Internal exceptions (10 events):
Event: 18.332 Thread 0x0000000022174000 Exception <a 'java/io/FileNotFoundException'> (0x0000000778329e08) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u231\13620\hotspot\src\share\vm\prims\jni.cpp, line 710]
Event: 19.194 Thread 0x0000000021bff800 Exception <a 'java/security/PrivilegedActionException'> (0x0000000778f71b48) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u231\13620\hotspot\src\share\vm\prims\jvm.cpp, line 1502]
Event: 19.194 Thread 0x0000000021bff800 Exception <a 'java/security/PrivilegedActionException'> (0x0000000778f71d58) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u231\13620\hotspot\src\share\vm\prims\jvm.cpp, line 1502]
Event: 19.195 Thread 0x0000000021bff800 Exception <a 'java/security/PrivilegedActionException'> (0x0000000778fb7628) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u231\13620\hotspot\src\share\vm\prims\jvm.cpp, line 1502]
Event: 19.195 Thread 0x0000000021bff800 Exception <a 'java/security/PrivilegedActionException'> (0x0000000778fb7838) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u231\13620\hotspot\src\share\vm\prims\jvm.cpp, line 1502]
Event: 19.509 Thread 0x0000000021bff800 Exception <a 'java/lang/ClassNotFoundException': com/xmiles/weather/ad/activity/entity/response/GrabIndexResponseV2$GrabRedConfigIndexBeanInfo> (0x000000077a2f4958) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u231\13620\hotspot\src\share
Event: 19.510 Thread 0x0000000021bff800 Exception <a 'java/lang/ClassNotFoundException': com/xmiles/weather/ad/activity/entity/response/GrabIndexResponseV2$GrabRedConfigIndexCustomizer> (0x000000077a33a788) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u231\13620\hotspot\src\sha
Event: 19.511 Thread 0x0000000021bff800 Exception <a 'java/lang/ClassNotFoundException': com/xmiles/weather/ad/activity/entity/grab/db/GrabRedConfigV2BeanInfo> (0x000000077a39bf78) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u231\13620\hotspot\src\share\vm\classfile\systemDict
Event: 19.512 Thread 0x0000000021bff800 Exception <a 'java/lang/ClassNotFoundException': com/xmiles/weather/ad/activity/entity/grab/db/GrabRedConfigV2Customizer> (0x000000077a3d4498) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u231\13620\hotspot\src\share\vm\classfile\systemDi
Event: 19.512 Thread 0x0000000021bff800 Exception <a 'java/lang/ClassNotFoundException': java/io/SerializableCustomizer> (0x000000077a409d00) thrown at [C:\re\workspace\8-2-build-windows-amd64-cygwin\jdk8u231\13620\hotspot\src\share\vm\classfile\systemDictionary.cpp, line 210]
复制代码

十二、jvm 内存映射

Dynamic libraries:
0x00007ff7c4fd0000 - 0x00007ff7c5007000    D:\soft\java8\bin\java.exe
0x00007ffe2ac30000 - 0x00007ffe2ae26000    C:\Windows\SYSTEM32\ntdll.dll
0x00007ffe291b0000 - 0x00007ffe2926d000    C:\Windows\System32\KERNEL32.DLL
0x00007ffe28380000 - 0x00007ffe28648000    C:\Windows\System32\KERNELBASE.dll
0x00007ffe29360000 - 0x00007ffe2940a000    C:\Windows\System32\ADVAPI32.dll
0x00007ffe29ef0000 - 0x00007ffe29f8e000    C:\Windows\System32\msvcrt.dll
0x00007ffe29270000 - 0x00007ffe2930b000    C:\Windows\System32\sechost.dll
0x00007ffe296e0000 - 0x00007ffe29804000    C:\Windows\System32\RPCRT4.dll
0x00007ffe28db0000 - 0x00007ffe28f50000    C:\Windows\System32\USER32.dll
0x00007ffe28650000 - 0x00007ffe28672000    C:\Windows\System32\win32u.dll
0x00007ffe29310000 - 0x00007ffe2933a000    C:\Windows\System32\GDI32.dll
0x00007ffe28a30000 - 0x00007ffe28b39000    C:\Windows\System32\gdi32full.dll
0x00007ffe28910000 - 0x00007ffe289ad000    C:\Windows\System32\msvcp_win.dll
0x00007ffe28810000 - 0x00007ffe28910000    C:\Windows\System32\ucrtbase.dll
0x00007ffe16110000 - 0x00007ffe163ab000    C:\Windows\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.19041.488_none_ca04af081b815d21\COMCTL32.dll
0x00007ffe29500000 - 0x00007ffe29530000    C:\Windows\System32\IMM32.DLL
0x0000000069020000 - 0x00000000690f2000    D:\soft\java8\jre\bin\msvcr100.dll
0x0000000066c70000 - 0x0000000067516000    D:\soft\java8\jre\bin\server\jvm.dll
0x00007ffe29340000 - 0x00007ffe29348000    C:\Windows\System32\PSAPI.DLL
0x00007ffe15b60000 - 0x00007ffe15b87000    C:\Windows\SYSTEM32\WINMM.dll
0x00007ffe1b8e0000 - 0x00007ffe1b8e9000    C:\Windows\SYSTEM32\WSOCK32.dll
0x00007ffe22ee0000 - 0x00007ffe22eea000    C:\Windows\SYSTEM32\VERSION.dll
0x00007ffe29410000 - 0x00007ffe2947b000    C:\Windows\System32\WS2_32.dll
0x00007ffe25b50000 - 0x00007ffe25b5f000    D:\soft\java8\jre\bin\verify.dll
0x00007ffe1b1d0000 - 0x00007ffe1b1f9000    D:\soft\java8\jre\bin\java.dll
0x00007ffe13880000 - 0x00007ffe138a3000    D:\soft\java8\jre\bin\instrument.dll
0x00007ffe18d20000 - 0x00007ffe18d36000    D:\soft\java8\jre\bin\zip.dll
0x00007ffe2a040000 - 0x00007ffe2a780000    C:\Windows\System32\SHELL32.dll
0x00007ffe264b0000 - 0x00007ffe26c44000    C:\Windows\SYSTEM32\windows.storage.dll
0x00007ffe29a30000 - 0x00007ffe29d85000    C:\Windows\System32\combase.dll
0x00007ffe27c50000 - 0x00007ffe27c7c000    C:\Windows\SYSTEM32\Wldp.dll
0x00007ffe28ca0000 - 0x00007ffe28d4e000    C:\Windows\System32\SHCORE.dll
0x00007ffe29020000 - 0x00007ffe29075000    C:\Windows\System32\shlwapi.dll
0x00007ffe282b0000 - 0x00007ffe282d6000    C:\Windows\SYSTEM32\profapi.dll
0x00007ffe1b240000 - 0x00007ffe1b25a000    D:\soft\IntelliJ IDEA Educational Edition 2020.1.2\bin\breakgen64.dll
0x00007ffe15a30000 - 0x00007ffe15a4a000    D:\soft\java8\jre\bin\net.dll
0x00007ffe27a40000 - 0x00007ffe27aaa000    C:\Windows\system32\mswsock.dll
0x00007ffe25be0000 - 0x00007ffe25bed000    D:\soft\java8\jre\bin\management.dll
0x00007ffe0d3b0000 - 0x00007ffe0d3c7000    C:\Windows\system32\napinsp.dll
0x00007ffe0d390000 - 0x00007ffe0d3ab000    C:\Windows\system32\pnrpnsp.dll
0x00007ffe0d370000 - 0x00007ffe0d385000    C:\Windows\system32\wshbth.dll
0x00007ffe23dc0000 - 0x00007ffe23ddd000    C:\Windows\system32\NLAapi.dll
0x00007ffe27750000 - 0x00007ffe2778b000    C:\Windows\SYSTEM32\IPHLPAPI.DLL
0x00007ffe27790000 - 0x00007ffe2785b000    C:\Windows\SYSTEM32\DNSAPI.dll
0x00007ffe291a0000 - 0x00007ffe291a9000    C:\Windows\System32\NSI.dll
0x00007ffe0d2a0000 - 0x00007ffe0d2b2000    C:\Windows\System32\winrnr.dll
0x00007ffe21370000 - 0x00007ffe2137a000    C:\Windows\System32\rasadhlp.dll
0x00007ffe21420000 - 0x00007ffe2149f000    C:\Windows\System32\fwpuclnt.dll
0x00007ffe286d0000 - 0x00007ffe286f7000    C:\Windows\System32\bcrypt.dll
0x00007ffe15a10000 - 0x00007ffe15a22000    D:\soft\java8\jre\bin\nio.dll
0x00007ffe27c90000 - 0x00007ffe27ca8000    C:\Windows\SYSTEM32\CRYPTSP.dll
0x00007ffe273f0000 - 0x00007ffe27424000    C:\Windows\system32\rsaenh.dll
0x00007ffe28270000 - 0x00007ffe2829e000    C:\Windows\SYSTEM32\USERENV.dll
0x00007ffe289b0000 - 0x00007ffe28a2f000    C:\Windows\System32\bcryptprimitives.dll
0x00007ffe27bc0000 - 0x00007ffe27bcc000    C:\Windows\SYSTEM32\CRYPTBASE.dll
0x00007ffe22e80000 - 0x00007ffe22e97000    C:\Windows\SYSTEM32\dhcpcsvc6.DLL
0x00007ffe22e60000 - 0x00007ffe22e7d000    C:\Windows\SYSTEM32\dhcpcsvc.DLL
0x00007ffe13270000 - 0x00007ffe13294000    D:\soft\java8\jre\bin\sunec.dll
复制代码

0x00007ff7c4fd0000 - 0x00007ff7c5007000 :内存区域

C:\Windows\System32\SHELL32.dll :文件位置

十三、jvm启动参数

VM Arguments:
jvm_args: -javaagent:D:\soft\IntelliJ IDEA Educational Edition 2020.1.2\lib\idea_rt.jar=63640:D:\soft\IntelliJ IDEA Educational Edition 2020.1.2\bin -Dfile.encoding=UTF-8 
java_command: com.xmiles.weather.ad.activity.Application
java_class_path (initial): D:\soft\java8\jre\lib\charsets.jar;D:\soft\java8\jre\lib\deploy.jar;D:\soft\java8\jre\lib\ext\access-bridge-64.jar;D:\soft\java8\jre\lib\ext\cldrdata.jar;D:\soft\java8\jre\lib\ext\dnsns.jar;D:\soft\java8\jre\lib\ext\jaccess.jar;D:\soft\java8\jre\lib\ext\jfxrt.jar;D:\soft\java8\jre\lib\ext\localedata.jar;D:\soft\java8\jre\lib\ext\nashorn.jar;D:\soft\java8\jre\lib\ext\sunec.jar;D:\soft\java8\jre\lib\ext\sunjce_provider.jar;D:\soft\java8\jre\lib\ext\sunmscapi.jar;D:\soft\java8\jre\lib\ext\sunpkcs11.jar;D:\soft\java8\jre\lib\ext\zipfs.jar;D:\soft\java8\jre\lib\javaws.jar;D:\soft\java8\jre\lib\jce.jar;D:\soft\java8\jre\lib\jfr.jar;D:\soft\java8\jre\lib\jfxswt.jar;D:\soft\java8\jre\lib\jsse.jar;D:\soft\java8\jre\lib\management-agent.jar;D:\soft\java8\jre\lib\plugin.jar;D:\soft\java8\jre\lib\resources.jar;D:\soft\java8\jre\lib\rt.jar;D:\xiaomaipro\ant_weather\ant-weather-main\weather-main-service-api\target\classes;D:\soft\apache-maven-3.5.4\rep\org\springframework\boot\spring-boot-starter-web\1.5.13.RELEASE\spring-boot-starter-web-1.5.13.RELEASE.jar;D:\soft\apache-maven-3.5.4\rep\org\springframework\boot\spring-boot-starter\1.5.13.RELEASE\spring-boot-starter-1.5.13.RELEASE.jar;D:\soft\apache-maven-3.5.4\rep\org\springframework\boot\spring-boot\1.5.13.RELEASE\spring-boot-1.5.13.RELEASE.jar;D:\soft\apache-maven-3.5.4\rep\org\yaml\snakeyaml\1.17\snakeyaml-1.17.jar;D:\soft\apache-maven-3.5.4\rep\org\hibernate\hibernate-validator\5.3.6.Final\hibernate-validator-5.3.6.Final.jar;D:\soft\apache-maven-3.5.4\rep\javax\validation\validation-api\1.1.0.Final\validation-api-1.1.0.Final.jar;D:\soft\apache-maven-3.5.4\rep\org\jboss\logging\jboss-logging\3.3.2.Final\jboss-logging-3.3.2.Final.jar;D:\soft\apache-maven-3.5.4\rep\com\fasterxml\classmate\1.3.4\classmate-1.3.4.jar;D:\soft\apache-maven-3.5.4\rep\com\fasterxml\jackson\core\jackson-databind\2.8.11.1\jackson-databind-2.8.11.1.jar;D:\soft\apache-maven-3.5.4\rep\com\fasterxml\jackson\core\jackson-annotati
Launcher Type: SUN_STANDARD
    
 Environment Variables:
JAVA_HOME=D:\soft\java8
PATH=C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;D:\soft\java8\lib;D:\soft\java8\lib\tools.jar;D:\soft\node14\;D:\soft\Git\cmd;D:\soft\gradle-5.4.1;C:\Program Files\dotnet\;C:\Program Files (x86)\dotnet\;D:\soft\mysql-8.0.21-winx64\bin;D:\soft\scala\bin;D:\soft\scala\bin;D:\soft\scala\lib;D:\soft\protoc-2.5.0-win32;C:\Windows\Microsoft.NET\Framework\v4.0.30319;D:\soft\ADB;D:\soft\java8\bin;;C:\Program Files\Docker\Docker\resources\bin;C:\ProgramData\DockerDesktop\version-bin;D:\soft\python38\Scripts\;D:\soft\python38\;C:\Users\GGF\AppData\Local\Microsoft\WindowsApps;D:\soft\IntelliJ IDEA 2020.2\bin;;D:\soft\bandizip\;C:\Users\GGF\AppData\Roaming\npm;D:\soft\IntelliJ IDEA Educational Edition 2020.1.2\bin;;D:\soft\gradle-6.5\bin;;D:\soft\Fiddler;C:\Users\GGF\.dotnet\tools
USERNAME=GGF
OS=Windows_NT
PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 165 Stepping 3, GenuineIntel

复制代码

jvm参数和环境变量

十四、服务器信息

---------------  S Y S T E M  ---------------

OS: Windows 10.0 , 64 bit Build 19041 (10.0.19041.546)

CPU:total 12 (initial active 12) (6 cores per cpu, 2 threads per core) family 6 model 165 stepping 3, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, avx, avx2, aes, clmul, erms, 3dnowpref, lzcnt, ht, tsc, tscinvbit, bmi1, bmi2, adx

Memory: 4k page, physical 16172248k(2670160k free), swap 36172884k(3088k free)

vm_info: Java HotSpot(TM) 64-Bit Server VM (25.231-b11) for windows-amd64 JRE (1.8.0_231-b11), built on Oct  5 2019 03:11:30 by "java_re" with MS VC++ 10.0 (VS2010)

time: Tue Nov 10 11:11:25 2020
timezone: 中国标准时间
elapsed time: 19 seconds (0d 0h 0m 19s)


作者:zzz666
链接:https://juejin.im/post/6894158777545654280
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

原文链接:https://www.cnblogs.com/langzhig/p/13968708.html



所属网站分类: 技术文章 > 博客

作者:java大师

链接:http://www.javaheidong.com/blog/article/1242/d0d75f1fe781ed5628e7/

来源:java黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

8 0
收藏该文
已收藏

评论内容:(最多支持255个字符)