1.类加载检查 虚拟机遇到一条new指令时,首先将去检查这个指令的参数是否能在常量池中定位到一 个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析和初始化过。如果没 有,那必须先执行相应的类加载过程。 new指令对应到语言层面上讲是,new关键词、对象克隆、对象序列化。 2.分配内存 在 ...
分类:
编程语言 时间:
2020-04-07 18:25:25
阅读次数:
78
我们先来看一下什么是构造器: 1、构造器也叫构造方法或构造函数,分为有参构造器和无参构造器; 2、构造器也是一种方法,只不过是一种特殊的方法,它会在对象创建的时候被调用; 3、构造器最大的作用就是在创建对象的时候进行对象的初始化,有参构造器可以实现对象传参(后面会比较着来看有参构造器方便在哪儿了); ...
分类:
编程语言 时间:
2020-04-05 11:51:22
阅读次数:
58
不积跬步,无以至千里;不积小流,无以成江海。 Java语言基础 Java对象之间赋值 赋值是用等号运算符“ = ”进行的,在对对象进行“赋值”时,实际就是将句柄从一个地方复制到另一个地方。这意味着假若为对象使用“A = B”,那么A和B最终都会指向最初只有B才指向的那个对象。也就是说这个时候他们两个 ...
分类:
编程语言 时间:
2020-04-05 09:35:08
阅读次数:
57
https://blog.csdn.net/u010331823/article/details/78258311 写在前面:Jaxb是JavaEE的规范.全称Java Architecture for XML Binding. 可以根据XML Schema产生Java类的技术.JAXB也提供了将X ...
分类:
编程语言 时间:
2020-04-04 23:03:09
阅读次数:
147
概述 对象实例由对象头、实例数据组成,其中对象头包括markword和类型指针,如果是数组,还包括数组长度; | 类型 | 32位JVM | 64位JVM| | | | | | markword | 32bit | 64bit | | 类型指针 | 32bit |64bit ,开启指针压缩时为32b ...
分类:
编程语言 时间:
2020-04-04 09:53:54
阅读次数:
499
整理一些小工具 の 依赖方便用的时候好找一些 jackson:主要用于json 处理:Java对象与Json 互相转换 <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-annotations --> ...
分类:
编程语言 时间:
2020-04-03 16:36:34
阅读次数:
62
java对象布局JOL(java object layout),描述对象在堆内存的布局。如下图: 1.markword 固定长度8byte,描述对象的identityhashcode,分代年龄,锁信息等(https://www.cnblogs.com/katsu2017/p/12610002.htm ...
分类:
编程语言 时间:
2020-04-02 01:20:32
阅读次数:
228
一、fastJson 1、fastJson在转换java对象为json的时候,默认是不序列化null值对应的key的 也就是说当对象里面的属性为空的时候,在转换成json时,不序列化那些为null值的属性 2、但是如果想把null对应的key序列化出来呢? 那就要仔细看看fastjson转换java ...
分类:
编程语言 时间:
2020-03-31 14:44:52
阅读次数:
77
一、初步认识 当两个进程远程通信时,彼此可以发送各种类型的数据。 无论是何种类型的数据,都会以二进制序列的形式在网络上传送。比如,我们可以通过http协议发送字符串信息;我们也可以在网络上直接发送Java对象。发送方需要把这个Java对象转换为字节序列,才能在网络上传送;接收方则需要把字节序列再恢复 ...
分类:
其他好文 时间:
2020-03-31 01:08:08
阅读次数:
102
一、线程解析 (1)线程的创建 1、继承Thread类创建线程类,代码如下: //1、定义一个继承Thread类的子类,并重写该类的run()方法; //2、创建Thread子类的实例,即创建了线程对象; //3、调用该线程对象的start()方法启动线程。 class SomeThead exte ...
分类:
编程语言 时间:
2020-03-29 18:08:13
阅读次数:
81