- 博客(15)
- 收藏
- 关注
原创 集合容器HashMap源码解析
HashMap源码解析HashMap基于Map接口实现,元素以键值对的方式存储的Node数组。Node类存放hash值,key,value,后置节点指针只有第一个node可见,然后通过next向下读取static class Node<K, V> implements Map.Entry<K, V> { final int hash; final K key; V value; Node<K, V> next; N
2021-09-02 01:10:47
167
原创 集合容器LinkedList源码解析
LinkedList源码解析ArrayList底层是基于数组实现的,查找修改快而插入删除慢LinkedList底层是基于双向链表实现的,插入删除快而查找修改慢属性// 元素个数transient int size = 0;// 指向第一个节点transient Node<E> first;// 指向最后一个结点transient Node<E> last;Node 类是LinkedList中的私有内部类,用来存储集合中的元素 private static
2021-08-28 16:31:08
132
原创 集合容器ArrayList源码解析
ArrayList源码解析ArrayList类的注释给我们透露了几点重要信息:ArrayList是List接口的大小可变数组的实现;ArrayList允许null元素;ArrayList的容量可以自动增长;ArrayList不是同步的;ArrayList的iterator和listIterator方法返回的迭代器是快速失败的属性// 序列号private static final long serialVersionUID = 8683452581122892189L;// Arr
2021-08-27 23:39:11
130
原创 泛型学习笔记
允许在定义类、接口、方法时使用类型形参,当使用时 指定具体类型。集合体系中的所有类都增加了泛型,泛型也主要用在集合。泛型的上限和下限上界<? extends T>不能往里存 ,只能往外取。下界<? super T>不影响往里存 ,但往外取只能放在Object对象里。泛型类public class ClassGenericity { public static void main(String[] args) { /** 创建ObjectTool
2021-08-26 23:50:25
87
原创 反射学习笔记
J V M 类 加 载 流 程 和 内 存 结 构创建Class对象的3种方式// 方式一 类.classClass personClazz = Person.class; // 方式二 实例.getClass() Person person = new Person(); Class personClazz1 = person.getClass(); // 方式三 Class.forName("类的全路径") Class personClazz2 =
2021-08-25 00:17:35
71
原创 六大设计模式
六大设计模式单一职责原则一个类或者模块只负责完成一个职责。里 氏 替 换 原 则子类可以扩展父类的功能,但不能改变父类原有的功能。子类只能通过新添加方法来扩展功能。父类和子类都可以实例化,父类调用方法的地方,子类也可以调用同一个继承得来。如果继承的目的是为了多态,应该将父类定义为抽象类,并定义抽象方法,让子类重新定义这些方法。因为父类是抽象类不能实例化,也就不存在子类替换父类实例。依 赖 倒 置 原 则下层模块引入上层模块的依赖,改变原有自上而下的依赖方向。https:
2021-08-22 23:27:39
188
原创 @value取不到值
@value取不到值,后来发现不能用static来修饰原代码@Value("${proxy.address.common:}")private static String commonNetworkProxy;改为如下可以取到值@Value("${proxy.address.common:127.0.0.1}")private String commonNetworkProxy;总结1.使用static或final修饰了tagValue,如下:@Value("$tag}")priva
2020-12-15 13:37:57
228
原创 IDEA离线使用maven仓库
IDEA离线使用maven仓库1、安装JDK,IDEA,maven等2、将本地maven仓库复制到虚拟桌面3、maven的配置文件settings.xml的localRepository和mirror改为本地仓库地址<?xml version="1.0" encoding="UTF-8"?><settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.or
2020-11-20 16:44:02
1917
1
原创 RestHighLevelClient工厂方法
RestHighLevelClient工厂方法虽然最终被弃用,但是记录下留个纪念,当时没有辜负熬夜写的小宝贝ElasticSearchPoolUtilimport lombok.extern.slf4j.Slf4j;import org.apache.commons.pool2.PooledObject;import org.apache.commons.pool2.impl.GenericObjectPool;import org.apache.commons.pool2.impl.Gener
2020-11-04 13:35:10
441
3
原创 RestHighLevelClient自定义配置
RestHighLevelClient配置import org.apache.http.HttpHost;import org.elasticsearch.client.RestClient;import org.elasticsearch.client.RestClientBuilder;import org.elasticsearch.client.RestHighLevelClient;import org.springframework.beans.factory.annotation.A
2020-11-04 13:08:35
3887
1
原创 elasticsearch按天创建索引脚本
1、6X版本生成的脚本执行 sh indexname_prod.shimport java.io.File;import java.io.FileWriter;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import org.junit.Test;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.
2020-11-04 13:01:39
1099
原创 日志中心迁移elasticsearch实现
日志中心迁移elasticsearch1.引入依赖pom.xml <dependency> <groupId>org.elasticsearch</groupId> <artifactId>elasticsearch</artifactId> <version>6.6.0</version> </dependency> <dependen
2020-11-04 12:34:00
175
原创 Properties读取并解析配置文件
java.util.Properties读取并解析配置文件@Test public void Properties() throws Exception { Properties properties = new Properties(); // 使用InPutStream流读取properties文件 BufferedReader bufferedReader = new BufferedReader(new FileReader("C:\\Users\\Administrator\\De
2020-10-27 20:18:44
197
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人