今天搭建了技术博客,学习了一些jvm的知识,比如jvm执行字节码文件时的内存分配,(堆、线程栈、元空间、运行时常量池、本地方法栈、直接内存),还有minor GC和Full GC的触发条件以及作用,什么情况下会导致OOM,以及执行Full GC的时候会STW(stop the world),暂停线程的执行,最后还学习了用阿里巴巴的开源诊断工具Arthas(阿尔萨斯)对有问题的线程进行排查,比如cpu占用100%(用thread 线程id命令就会显示是哪条java语句导致的)、BLOCKED(thread –state BLOCKED显示所有BLOCKED线程)(死锁)、还有!!!–当给线程分配线程栈空间之后,每当调用一个方法后就会在栈顶压入一个栈帧,每个栈帧是独立隔离的,每个栈帧中又有四部分—-局部变量表、操作数栈、动态链接(存放指向常量池的引用)、方法返回地址(返回地址、异常)
今日感悟:Fear not failure, but fear the want of courage to try again.
好的