VIP--容易忘记的,自己亲自整理和测试 by qianbing

1. 逃逸分析(jdk 1.7以后默认开启逃逸分析)

     关闭逃逸分析 -----VM运行参数:-Xmx4G -Xms4G -XX:-DoEscapeAnalysis -XX:+PrintGCDetails -XX:+HeapDumpOnOutOfMemoryError
     开启逃逸分析 -----VM运行参数:-Xmx4G -Xms4G -XX:+DoEscapeAnalysis -XX:+PrintGCDetails -XX:+HeapDumpOnOutOfMemoryError

2. JVM定位问题根据 

   查看线程 jps

   分析进程  jmap -histo + 进程号

   内存         jmap

   线程  jstack

  JVM GC日志分析

 

  LINUX常用性能分析工具使用及分析

     top(cpu)  free(内存) df(磁盘) dstat(网络流量) pstack、vmstat、strace(底层系统调用)

3. 偏向锁(默认开启)

     开启偏向锁:-XX:+UseBiasedLocking -XX:BiasedLockingStartupDelay=0
     关闭偏向锁:-XX:-UseBiasedLocking

4. Unsafe魔术类

   --内存屏障      fullFence()     loadFence()   writeFence()
   --阻塞队列       park()            unPark()
   --synchronized不能跨方法实现原子一致性,如何实现呢?  monitor指令

        unsafe.monitorEnter(Object var1)
        unsafe.monitorExit(Object var1)
5. transient

       transient关键字表示属性不参与序列化
6. Exclusive    独占的,专有的
    Exclude      把…排斥在外; 排除

7. 删除文件命令脚本

  DEL /F /A /Q \\?\%1
  RD /S /Q \\?\%1

 

8. System.nanoTime() 使用
  ns(nanosecond):纳秒, 时间单位。一秒的10亿分之一,即等于10的负9次方秒。常用作 内存读写速度的单位。 
  1纳秒=0.000001 毫秒 
  1纳秒=0.00000 0001秒 

java的System.currentTimeMillis()和System.nanoTime()区别: 
java中System.nanoTime()返回的是纳秒,nanoTime而返回的可能是任意时间,甚至可能是负数…… 
java中System.currentTimeMillis()返回的毫秒,这个毫秒其实就是自1970年1月1日0时起的毫秒数. 

 

  9. 如何查看一个java文件的子类,如 HandlerExceptionResolver。

    第一步: ctrl + alt + shift + U

    第二步: ctrl + T

    第三步:    ctrl + A

    第四步:    回车

      


posted @ 2020-03-29 23:21  qianbing12300  阅读(214)  评论(0编辑  收藏  举报