![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA基础
文章平均质量分 56
zero
简单不先于复杂,而是在复杂之后!
展开
-
IO多路复用的理解
对IO多路复用的理解。IO多路复用实现了线程的复用,而不是CPU内核的复用原创 2023-08-01 17:11:11 · 154 阅读 · 0 评论 -
一文全解ThreadLocal
ThradLocal简介、内部结构、源码、扩容机制、数据定位、如何保证线程安全、导致内存泄漏原因、如何避免内存泄漏、key为设计成弱引用的原因、父子线程如何共享数据、GC回收等讲解原创 2023-02-25 19:24:51 · 593 阅读 · 1 评论 -
Optional使用详解
JDK8新特性Optiona详解+源码原创 2023-02-23 18:30:04 · 510 阅读 · 0 评论 -
StringUtils工具类isEmpty()系列与isBlank()系列详解
StringUtils工具类isEmpty()系列与isBlank()系列详解原创 2023-01-31 02:27:11 · 1179 阅读 · 0 评论 -
Drools基础与实现(操作实例)
Drools基础与实现(操作实例)原创 2023-01-03 00:57:31 · 881 阅读 · 0 评论 -
类加载和new对象的过程区别
类加载的的过程(loadClass)加载:将类加载进内存链接(验证、准备、解析)–验证:验证clas文件格式(魔数、版本号…)、符号引用等信息–准备:为静态变量赋默认值(1.8之后静态变量存放于堆种)–解析:分为静态解析和动态解析,作用主要是将符号引用解析为直接引用初始化:执行< clini>方法,为变量赋初始值。隐式调用构造函数new对象过程判断是否被加载过若没有——加载申请内存空间为对象分配内存空间(指针碰撞、空闲列表)赋默认值执行构造函数...原创 2021-07-28 16:44:10 · 424 阅读 · 0 评论 -
数组和集合的区别(面试)
数组是固定长度的,集合是动态长度(底层是数组或者链表)一个数组只能存放一种数据类型,集合可以存放多种数据类型(有了泛型之后,也可以只存储一种数据类型)数组可以存储基本数据类型和引用类型,而集合只能存储引用类型(自动装箱和拆箱)...原创 2021-07-15 03:07:59 · 341 阅读 · 0 评论 -
ArrayList(1.8)和Vector的区别(面试)
ArrayList(1.8)和Vector的区别底层结构:ArrayList和Vector采用的都是Object数组安全性:ArrayLiat:不是线程安全的Vector:是线程安全的初始化方式:ArrayList:懒汉式,无参构造函数创建对象时默认数组长度为0,在第一此时用add()时才会扩容为10Vector:懒汉式,无参构造函数创建对象时,会创建一个长度为10的Object数组扩容大小:ArrayList:扩容是原来的1.5倍Vector:扩容是原来的2倍(原创 2021-07-15 03:06:46 · 92 阅读 · 0 评论 -
HashMap和HashTable的区别(面试)
HashMap和HashTable区别底层结构:HashMap(1.8)采用的是:数组+链表+红黑树HashTable采用的是:数组+链表安全性:HashMap不是线程安全的HashTable是线程安全的(方法中加上了synchronized)是否可以null值HashMap的k只能一个null,value可以为多个nullHashTable的k-v都不能出现null加载方式HashMap是饿汉式(无参new时,创建的时null的数组)HashTable是饿汉式原创 2021-07-15 02:41:18 · 159 阅读 · 0 评论 -
class文常量池、运行时常量池、字符串常量池的区别
字符串常量池、class文件常量池和运行时常量池的区别1、Class文件常量池class文件常量池就是在class文件十大组成部分中之一classs文件十大组成部分1.魔数2.版本号3.常量池(class文件常量池)4.类访问标记5.类索引6.超类索引7.接口表索引8.方法表9.字段表10.属性表存储的主要有字面量和符号引用一般包括以下三种常量类和接口的全限定类名和描述字段名称和描述(字段信息)方法名称和描述(方法信息)具体结构去看class文部分笔记原创 2021-07-14 17:43:06 · 218 阅读 · 2 评论 -
HashMap 与 HashTable 的区别
1.线程安全: HashMap 是非线程安全的,HashTable 是线程安全的;因为HashTable 内部的方法经过 synchronized 修饰。2.效率: HashMap 要比 HashTable 效率高一点(线程安全一般效率会较低)。3.对键值的支持: HashMap 中,null 可以作为键,这样的键只有一个,可以有一个或多个键所对应的值为 null。但是在 HashTable 中 put 进的键值只要有一个 null,直接抛NullPointerException。4.初始容量大小和每原创 2020-07-27 21:37:40 · 74 阅读 · 2 评论