![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
Myj_Coder
秉承开源,我为人人,人人为我
展开
-
重写equals需重写hashcode以及String为什么设计为final的思考
/** * hashmap的key有没有存放自定义对象。 * 存放了,那么必然要重写equals方法,也就必然重写hashcode方法 * * 这也就是为什么String要进行重写equals和hashcode? * 并且String设计为final? * 因为String做为key比较的是内容,那么当你修改后,必然会导致key不同,也就会出现同一个对象但却得不到Value */public class EqualsHashcode { private String name;原创 2020-10-11 09:55:32 · 163 阅读 · 0 评论 -
java线程池源码解析
1.从提交Runnable开始2. 具体流程(简化代码)public void execute(Runnable command) { addWorker(command);} private boolean addWorker(Runnable firstTask, boolean core) { w = new Worker(firstTask); //Worker中的Thread对象,真正执行工作的线程 final Thread t = w.thread;原创 2020-07-15 00:22:03 · 97 阅读 · 0 评论 -
java对象内存布局介绍
对象的组成根据java虚拟机规范里面的描述:java对象分为三部分:对象头(Object Header), 实例数据(instance data),对齐填充(padding)。如图:数组与对象类似,只是对象头部分多了数组长度Length的存储长度为4字节。对象头(Object Header):从图片上得知对象头分为两部分:Mark Word 与 Class Pointer(类型指针)。Mark Word存储了对象的hashCode、GC信息、锁信息三部分,Class Pointer存储了指向“类原创 2020-07-10 10:25:23 · 193 阅读 · 0 评论 -
静态内部类的加载时机
参考文章:【https://www.cnblogs.com/maohuidong/p/7843807.html】前言: 在看单例模式的时候,在网上找帖子看见其中有一种(IoDH) 实现单例的方式,其中用到了静态内部类,文章中有写到当jvm加载外部类的时候,并没有加载静态内部内这和之前自己想的不一样,特意在网上找了一些帖子总结一下。一、学习前千的疑问: 稍微了解Java虚拟机内...转载 2019-12-10 10:46:45 · 173 阅读 · 0 评论 -
java锁的类型:对象锁 ,字节码锁
参考这边微博:https://www.cnblogs.com/leipDao/p/8295766.html转载 2019-10-12 12:02:03 · 250 阅读 · 0 评论 -
springboot初始化javaweb项目
见链接 https://blog.csdn.net/fyhailin/article/details/79413864原创 2019-01-26 20:10:14 · 253 阅读 · 0 评论 -
idea查看源码常用快捷键
查看类的方法:command+F12查看类的继承关系图:option+command+U查看接口或类的子类 :选中该类,然后 control+H原创 2019-09-01 14:07:05 · 1849 阅读 · 0 评论 -
设计模式,23种设计模式uml类图
1.简单工厂2.工厂方法披萨项目新的需求:客户在点披萨时,可以点不同口味的披萨,比如 北京的奶酪 pizza、北京的胡椒 pizza 或者是伦敦的奶酪 pizza、伦敦的胡椒 pizza3.抽象工厂5.原型模式6.建造者设计模式7.适配器模式类适配器对象适配器8.桥接模式9.装饰者模式10.组合模式11.外观模式12.享元模式13.代理模式动...原创 2019-09-19 18:54:49 · 276 阅读 · 0 评论