- 博客(14)
- 收藏
- 关注
原创 Servlet生命周期
Servlet的生命周期一般可以用三个方法来表示:init():仅执行一次,负责在装载Servlet时初始化Servlet对象service() :核心方法,一般HttpServlet中会有get,post两种处理方式。在调用doGet和doPost方法时会构造servletRequest和servletResponse请求和响应对象作为参数。destory():在停止并且卸载Servlet时执行,负责释放资源...
2022-02-22 22:12:18
184
原创 HashMap底层分析(一)
1、HashMap的底层原理。jdk1.7:数组 + 链表jdk1.8:数组 + 链表 + 红黑树2、关于HashMap的无参构造方法。(1).HashMap的无参构造方法采用延迟加载的方式来进行数组初始化的,默认长度是16,扩容因子为12static final float DEFAULT_LOAD_FACTOR = 0.75f;/*** Constructs an empty <tt>HashMap</tt> with the default initial ca
2021-09-09 18:43:37
172
原创 ArrayList底层分析
ArrayListArrayList是动态数组,底层为java中的数组。既然底层为数组,那么1.数组的类型是什么?Object[] empty={};2.arrayList的最大容量是多少和初始化容量是多少?//需要8byte来存储集合本身信息private static final int MAX_ARRAY_SIZE = Integer.MAX_VALUE - 8; //(2^31-1)-8private static int hugeCapacity(int minCapacit
2021-09-09 18:33:49
248
原创 通过反射获取运行时类的完整结构
通过反射,可以获取到运行时类的完整结构,如下:package com.love.reflection;import java.lang.reflect.Constructor;import java.lang.reflect.Field;import java.lang.reflect.Method;//查看运行时类的完整结构public class TestClass02 { public static void main(String[] args) throws ClassNo
2021-07-02 15:04:57
129
原创 Java——类加载器
类加载的作用是把类(class)装载进内存。JVM规范定义了以下类型的类加载器:引导类加载器(Bootstrap Classloader):用C++编写的,是JVM自带的类加载器,负责Java平台核心库(jre/lib/rt.jar),用来装载核心类库,该加载器无法直接获得。扩展类加载器(Extension Classloader):负责jre/lib/ext目录下的jar包或 -D java.ext.dirs指定目录下的jar包装入工程库。系统类加载器(System Classloader):负责
2021-06-30 17:30:52
128
原创 实现多线程的三种方式
实现多线程的3种方式1.继承Thread类//继承Thread类public class MyThread extends Thread{ //重写run方法 @Override public void run(){ for(int i=0;i<20;i++){ System.out.println("我的线程---"+i); } } //主线程main public st
2021-06-19 05:54:14
140
1
原创 ==与equals的区别
==与equals的区别一、====比较***基本类型*** 时比较***两者的值*** 是否相等;==比较***引用类型*** 时比较两者的***引用对象内存地址*** 是否相同;二、equalsequals不能用于基本类型变量之间的比较;基类Object中的equals(): 本质是 == !!!被String类重写的equals():如果不是String类的直接或间接子类直接返回false;String类型之间比较对象的内容举例如下:String s1 =
2021-06-10 21:27:26
139
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人