自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 收藏
  • 关注

原创 Java数据结构之HashMap源码(基于JDK1.8)阅读(一)

这里源码中注释到,这个初始容量必须为2的次幂

2021-10-21 10:23:00 75

原创 Java数据结构之HashMap源码(基于JDK1.8)阅读(二)

开篇请读者思考一个问题 new HashMap()和new HashMap(0)的区别是什么? new HashMap(3)和new HashMap(10)的初始容量又是多少呢? 回答这个问题必然要看下HashMap的构造函数。在JDK1.8中HashMap共有三个构造函数 无参构造 public HashMap() { this.loadFactor = DEFAULT_LOAD_FACTOR; // all other fields defaulted } 有参构造

2021-10-21 10:22:43 57

原创 tomcat源码阅读(二)之三个类加载器的定义的意义与如何初始化它们

上文说到,在初始化完catalina,home和catalina.base目录后,又定义了三个类加载器,这三个类加载器还是挺重要的,三个类加载器分别是: CommonLoader、CatalinaLoader、SharedLoader 思考一个问题,为什么要定义三个类加载器? 在《深入理解java虚拟机》这本书中,书中解释到tomcat作为一个主流的web服务器,那么一个功能健全的web服务器,需要解决以下几个问题: 1.部署在同一个服务器上的两个web应用程序所使用的java类库可以实现相互隔离。这是

2021-10-16 10:16:59 133

原创 tomcat源码阅读(一)之Bootstrap启动类的加载

刚刚用idea编译了下tomcat-8.5的源码,打算写个博客来研究研究tomcat,提升提升自己对于tomcat的理解。 其实tomcat启动也是靠一个main方法。该main方法是在catalina.startup包下的Bootstrap类中的,让我们来看下这个main方法中到底干了些什么东西。 一步一步来,首先jvm运行main方法的时候会先加载该类的父类的静态属性和静态代码块,由于Bootstrap类没有父类,所以直接先加载本类的静态属性和静态代码块,如下 在静态代码块中,String userD

2021-10-10 21:39:09 218 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除