前言 如果想要更深入的去了解集合那就要通过我们去分析它的源码来了解它。希望对集合有一个更进一步的理解! 既然是看源码那我们要怎么看一个类的源码呢?这里我推荐的方法是: 1)看继承结构 看这个类的层次结构,处于一个什么位置,可以在自己心里有个大概的了解。 2)看构造方法 在构造方法中,看做了哪些事情,跟踪方法中里面的方法。 3)看常用的方法…
2.4、核心方法 2.4.1、add()方法(有四个) 1)boolean add(E);//默认直接在末尾添加元素 /** * Appends the specified element to the end of this list.添加一个特定的元素到list的末尾。 * * @param e element to be appended to…
前言 前文分析了ArrayList的源码,这一篇分享的是LinkedList。我们都知道它的底层是由链表实现的,所以我们要明白什么是链表? 一、LinkedList简介 1.1、LinkedList概述 LinkedList是一种可以在任何位置进行高效地插入和移除操作的有序序列,它是基于双向链表实现的。 LinkedList…
本文将介绍 HotSpot 中的 String Pool,字符串常量池。相对是一篇比较简单的文章,大家花几分钟就看完了。 在 Java 世界中,构造一个 Java 对象是一个相对比较重的活,而且还需要垃圾回收,而缓存池就是为了缓解这个问题的。 我们来看下基础类型的包装类的缓存,Integer 默认缓存 -128 ~ 127 区间的值,Long 和…
平常在需要使用一些简单的本地缓存时会用到ConcurrentHashMap,但一直没深入了解过它的原理,之前面试时也有一定几率碰到,回答的总是一知半解的,最近深入的了解一下ConcurrentHashMap的原理,把它完整的梳理成一篇文章。…
文章介绍 写这篇文章是因为我们后台有一个看板页面,并且指标非常多,查询条件也非常复杂导致没法做宽表只能实时从各个数据源查询出来并计算;想让接口响应时间更短一些更改了很多次线程池参数,但都达不到理想状态,为此研究了一下线程池原理,并且实现了一个适合自己业务场景的线程池工作。…
简介 测试 在软件开发中是一个很重要的方面,良好的测试可以在很大程度决定一个应用的命运。 软件测试中,主要有3大种类: 单元测试 单元测试主要是用于测试程序模块,确保代码运行正确。单元测试是由开发者编写并进行运行测试。一般使用的测试框架是 JUnit 或者 TestNG 。测试用例一般是针对_方法_ 级别的测试。 集成测试…
初探Tomcat的HTTP请求过程 前言: 1.作为Java开发人员,大多都对Tomcat不陌生,由Apache基金会提供技术支持与维护,因为其免费开源且易用,作为Web服务器深受市场欢迎,所以有必要对其进行深入的研究,本系列皆以Tomcat 8.5为研究课题,下载地址: https://tomcat.apache.org/download-80.cgi…
Tomcat 总体结构 Tomcat 的结构很复杂,但是 Tomcat 也非常的模块化,找到了 Tomcat 最核心的模块,您就抓住了 Tomcat 的“七寸”。下面是 Tomcat 的总体结构图: 从上图中可以看出 Tomcat 的心脏是两个组件:Connector 和 Container,关于这两个组件将在后面详细介绍。Connector…
主要介绍下tomcat 与 nginx,apache的定义、区别及优缺点。 Tomcat和物理服务器的区别 Tomcat: 1.本质:软件 Web 应用服务器:一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。 2. 用途:…