zoukankan      html  css  js  c++  java
  • 20200729 synchronzied 马士兵视频学习笔记

    c,c++ 自己管理内存,释放内存

    java有自己的GC垃圾回收机制,不用手工管理,缺点是会有stw

    Java中Stop-The-World机制简称STW,是在执行垃圾收集算法时,Java应用程序的其他所有线程都被挂起(除了垃圾收集帮助器之外)。Java中一种全局暂停现象,全局停顿,所有Java代码停止,native代码可以执行,但不能与JVM交互;这些现象多半是由于gc引起。
     
    GC时的Stop the World(STW)是大家最大的敌人。但可能很多人还不清楚,除了GC,JVM下还会发生停顿现象。

    synchronzied很重,是针对jdk1.0-1.2而言,因为锁是由os的内核态管理。1.2-1.6没有那么重,性能已经优化,交由用户态来管理

            Object object = new Object();
            int a = 0;
            synchronized (object) {
                a++;
            }
    

      

    java对象布局

    对象头:mark word 4byte

        klass pointer 4byte

    对象成员(实例数据)

    对齐数据 保证对象头+对象成员+对齐数据是8的整数倍

    打印对象头

    	<dependencies>
    		<dependency>
    			<groupId>org.openjdk.jol</groupId>
    			<artifactId>jol-core</artifactId>
    			<version>0.11</version>
    		</dependency>
    	</dependencies>
    

      

        public static void main(String[] args) {
            Object object = new Object();
            System.out.println(ClassLayout.parseInstance(object).toPrintable());
        }
    

      

    java.lang.Object object internals:
     OFFSET  SIZE   TYPE DESCRIPTION                               VALUE
          0     4        (object header)                           01 00 00 00 (00000001 00000000 00000000 00000000) (1)
          4     4        (object header)                           00 00 00 00 (00000000 00000000 00000000 00000000) (0)
          8     4        (object header)                           28 0f ff 7f (00101000 00001111 11111111 01111111) (2147421992)
         12     4        (loss due to the next object alignment)
    Instance size: 16 bytes
    Space losses: 0 bytes internal + 4 bytes external = 4 bytes total
  • 相关阅读:
    文件
    drf序列化组件
    drf入门规范
    单例模式
    初识drf
    restful规范
    虚拟环境使用
    vue基础(三)
    vue基础(二)
    作业
  • 原文地址:https://www.cnblogs.com/lt123/p/13399955.html
Copyright © 2011-2022 走看看