一篇文章带你了解Java构造方法的定义和重载
实例化一个类的对象后,如果要给属性赋值,需要通过访问对象的属性或setXXX方法。在实例化对象后同时给对象的属性赋值可以使用构造方法,构造方法也叫做构造函数。
一张图片看懂Java对象以及组成
一个java对象的组成包括3部分。1.对象头:4字节的对象类型,和8个字节的Mark Word。Mark Word记录着hashcode,或者sychronized时指向的对象地址或者gc年龄(4个字节,所以GC的最大年龄是15岁 哈哈!)。
高并发必备篇(二)——线程为什么会不安全?
上期我们提到了的案例中,三个窗口线程卖票出现了有窗口卖的票是一样的问题,也就是得“线程不安全问题”,这篇文章我们就来聊聊“线程为什么会出现不安全”。1. 什么是线程安全?
Java设计模式之深入浅出动态代理设计模式
来源:升学就业帮讲师——肖云锐一、代理模式在有些情况下,一个客户不能或者不想直接访问另一个对象,这时需要找一个中介帮忙完成某项任务,这个中介就是代理对象。例如,购买火车票不一定要去火车站买,可以通过 12306 网站或者去火车票代售点买。
Java面向对象之类、对象、static成员
考虑下面的代码:publicstatic void main { Integer k = new Integer; Integer l = new Integer; System.out.println; System.out.println);}输出结果为:falsetrue
深入理解JVM虚拟机——Java对象内存布局
Java对象的内存布局一个Java对象在内存中包括三部分对象头实例数据补齐填充在这里插入图片描述对象头对象头又分为以下三部分Mark Word:Mark Word存储了对象的hashCode、GC信息、锁信息三部分。
面试必问之Java基础:如何判断两个对象相等
重写equals和hashCode基本概念Object源码重写equals重写hashCode原理分析HashMapHashMap组成结构HashMap的存储基本概念要比较两个对象是否相等时需要调用对象的equals() 方法:判断对象引用所指向的对象地址是否相等对象地址相等时,
Java对象内部结构及其确认大小
先从经典的双重检查锁代码谈起,如图:众所周知,这种单例处理在多线程环境下是不安全的,因为一个对象的创建会有多条指令,大概步骤:1.分配内存2.虚拟机将分配到的空间初始化为默认值(字段默认值)3.设置对象头,执行init方法,初始化实例数据4.