
Java基础
一只Java程序猿
一只JAVA程序猿
展开
-
HashMap扩容机制
HashMap的底层有数组 + 链表(红黑树)组成,数组的大小可以在构造方法时设置,默认大小为16,数组中每一个元素就是一个链表,jdk7之前链表中的元素采用头插法插入元素,jdk8之后采用尾插法插入元素,由于插入的元素越来越多,查找效率就变低了,所以满足某种条件时,链表会转换成红黑树。(如开始创建HashMap集合后,数组长度为16,临界值为16 * 0.75 = 12,当加入元素后元素个数超过12,数组长度扩容为32,临界值变为24)核心扩容的方法resize()原创 2023-05-07 13:45:01 · 432 阅读 · 0 评论 -
Lock和synchronized有一下几点不同
synchronized在发生异常时,会自动释放线程占有的锁,因此不会导致死锁现象发生,而Lock在发生异常时,如果没有主动通过unLock()去释放锁,则很可能造成死锁现象,因此使用Lock时需要在finally块中释放锁;Lock可以让等待锁的线程响应中断,而synchronized却不行,使用synchronize时,等待的线程会一直等待下去,不能够响应中断;Lock是一个接口,而synchronized是Java中的关键字,synchronized是内置的语言实现。原创 2023-01-31 13:29:28 · 117 阅读 · 0 评论 -
抽象类的应用:模板方法的设计模式
【代码】抽象类的应用:模板方法的设计模式。原创 2023-01-15 10:07:46 · 91 阅读 · 0 评论 -
一文搞懂单例设计模式之饿汉式和懒汉式
一文搞懂单例设计模式之饿汉式和懒汉式原创 2023-01-14 10:48:52 · 112 阅读 · 0 评论 -
面试题 == 和 equals()区别
说明Object类中定义的equals()和==的作用是相同的,比较两个对象的地址值是否相同,即两个引用是否指向同一个对象实体。* 4.像String,Date,File,包装类等都重写了Object类中的equals()方法,是否相同。* 重写以后,比较的不是两个引用地址是否相同,而是比较两个对象的“实体内容”* 如果比较的是引用数据类型变量,即两个引用是否指向同一个对象实体。* 2.如果比较的是基本数据类型变量,比较两个变量保存的数据是否相等。* 2.只能适用于引用数据类型。原创 2023-01-08 19:43:08 · 77 阅读 · 0 评论 -
面向对象特征之三:多态性
对于编译器而言,这些同名的方法就成了不同的方法。Java重载是可以包括父类和子类的,即子类可以重载父类的同名不同参数的方法。子类定义了与父类同名同参数的方法,在多态情况下,将此时父类的方法称为虚拟方法,父类根据赋给它不同子类对象,动态调用属于子类的该方法。编译时e为Person类型,而方法调用是在运行时确定的,所以调用的是Student类的getInfo()方法-----动态绑定。有了对象的多态性以后,我们在编译期,只能调用父类种声明的方法,但在运行期,我们实际执行的是子类重写父类的方法。原创 2023-01-08 14:22:36 · 121 阅读 · 0 评论 -
1. 两数之和
你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。整数,并返回它们的数组下标。你可以按任意顺序返回答案。,请你在该数组中找出。原创 2022-10-12 20:27:11 · 91 阅读 · 0 评论 -
【JUC】高并发编程
【代码】【JUC】高并发编程。原创 2022-09-24 22:31:30 · 73 阅读 · 0 评论 -
单链表代码实现
【代码】单链表代码实现。原创 2022-08-22 14:43:01 · 144 阅读 · 0 评论 -
数组模拟队列代码实现
【代码】数组模拟队列代码实现。原创 2022-08-19 14:30:40 · 133 阅读 · 0 评论 -
PC寄存器常见的问题(1)使用PC寄存器存储字节码指令地址有什么用
使用PC寄存器存储字节码指令地址有什么用因为CPU需要不停的切换各个线程,这时候切换回来以后,就得知道接着从哪开始继续执行。JVM的字节码解释器就需要通过改变PC寄存器的值来明确下一条应该执行什么样的字节码。 微信公众号:一只Java程序猿 欢迎点赞关注哦...原创 2022-06-24 21:57:45 · 199 阅读 · 0 评论 -
面向对象的内存分析
面向对象和面向过程的总结都是解决问题的思维方式,都是代码组织的方式 解决简单问题可以使用面向过程 解决复杂问题:宏观上使用面向对象把握,微观处理上仍然是面向过程面向对象思考方式遇到复杂问题,先从问题中找名词,然后确立这些名词哪些可以作为类,再根据问题需求确定类的属性和方法,确定类之间的关系....原创 2022-03-05 10:09:03 · 160 阅读 · 0 评论