自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SpringBoot整合ElasticSearch

我们的应用经常要添加一些检索功能,开源的ElasticSearch是目前全文检索引擎的首选,它可以快速的存储、搜索和分析海量数据。ElasticSearch是一个分布式搜索服务,提供Restful API,底层基于Lucene,采用多shard(分片)的方式保证数据安全,并且提供自动resharding的功能,github等大型站点也是采用ElasticSearch作为其搜索服务。1、版本对应关...

2019-11-06 17:49:11 278

原创 java.util.TreeMap源码解析

在前面几篇博客分别介绍了这样几种集合,基于数组实现的ArrayList 类,基于链表实现的LinkedList 类,基于散列表实现的HashMap 类,本篇博客我们来介绍另一种数据类型,基于树实现的TreeMap类。1、什么是TreeMap顾名思义,TreeMap 是由Tree 和 Map 集合有关的,没错,TreeMap 是由红黑树实现的有序的 key-value 集合。PS:想要学懂Tr...

2019-09-11 17:21:39 209

原创 SpringBoot + MyBatis + Druid连接池配置多数据源

随着并发量的不断增加,显然单个数据库已经承受不了高并发带来的压力。一个项目使用多个数据库(无论是主从复制- - 读写分离还是分布式数据库结构)的重要性变得越来越明显。传统项目中(个人对传统项目的理解就是所有的业务模块都在一个tomcat中完成,多个相同的tomcat集群也可认为是传统项目)整合多数据源有两种方法:分包和AOP。这篇文章对分包进行讲解。1、pom.xml引入maven依赖 ...

2019-09-10 11:13:00 737

原创 java.util.LinkedHashSet源码解析

同 HashSet 与 HashMap 的关系一样,本篇博客所介绍的 LinkedHashSet 和 LinkedHashMap 也是一致的。在 JDK 集合框架中,类似 Set 集合通常都是由对应的 Map 类集合来实现的(TreeSet 和 TreeMap 同理),这里很重要的一个理论就是:Set 类集合是不允许重复的,而 Map 类集合的 key 也是不允许重复的,所以通常很容易就用 Map...

2019-09-10 09:46:30 135

原创 java.util.LinkedHashMap源码解析

前面我们介绍了 Map 集合的一种典型实现 HashMap ,关于 HashMap 的特性,我们再来复习一遍:①、基于JDK1.8的HashMap是由数组+链表+红黑树组成,相对于早期版本的 JDK HashMap 实现,新增了红黑树作为底层数据结构,在数据量较大且哈希碰撞较多时,能够极大的增加检索的效率。②、允许 key 和 value 都为 null。key 重复会被覆盖,value ...

2019-09-07 16:27:05 358

原创 java.util.HashSet源码解析

1、什么是HashSetHashSet 是一个由 HashMap 实现的集合。元素无序且不能重复。和前面介绍的大多数集合一样,HashSet 也实现了 Cloneable 接口和 Serializable 接口,分别用来支持克隆以及支持序列化。还实现了 Set 接口,该接口定义了 Set 集合类型的一套规范。2、字段属性 //HashSet集合中的内容是通过 HashMap 数据结构来存...

2019-09-06 15:27:55 224

原创 基于JDK1.8--java.util.HashMap源码解析

1、哈希表Hash表也称为散列表,也有直接译作哈希表,Hash表是一种根据关键字值(key - value)而直接进行访问的数据结构。也就是说它通过把关键码值映射到表中的一个位置来访问记录,以此来加快查找的速度。在链表、数组等数据结构中,查找某个关键字,通常要遍历整个数据结构,也就是O(N)的时间级,但是对于哈希表来说,只是O(1)的时间级。比如对于前面我们讲解的 ArrayList 和 Li...

2019-09-05 20:19:45 131

原创 java.util.LinkedList源码解析

1、什么是LinkedListLinkedList 是一个用链表实现的集合,元素有序且可以重复。和 ArrayList 集合一样,LinkedList 集合也实现了Cloneable接口和Serializable接口,分别用来支持克隆以及支持序列化。List 接口也不用多说,定义了一套 List 集合类型的方法规范。注意,相对于 ArrayList 集合,LinkedList 集合多实现了...

2019-09-04 17:24:57 143

原创 java.util.ArrayList源码解析

1、什么是ArrayListArrayList 是一个用数组实现的集合,支持随机访问,元素有序且可以重复。①、实现 RandomAccess 接口这是一个标记接口,一般此标记接口用于 List 实现,以表明它们支持快速(通常是恒定时间)的随机访问。该接口的主要目的是允许通用算法改变其行为,以便在应用于随机或顺序访问列表时提供良好的性能。比如在工具类 Collections(这个工具类后面...

2019-09-03 21:00:23 302

原创 java泛型学习

1、什么是泛型泛型(Generic type 或者 generics)是对 Java 语言的类型系统的一种扩展,以支持创建可以按类型进行参数化的类。可以把类型参数看作是使用参数化类型时指定的类型的一个占位符,就像方法的形式参数是运行时传递的值的占位符一样。2、为什么进行泛型程序设计泛型程序设计意味着编写的代码可以为很多不同类型的对象所重用。Java集合的设计中可以看到泛型的动机,接下来主要用...

2019-08-16 17:08:45 110

原创 【Java】SpringBoot整合Swagger

SpringBoot整合Swagger一、Swagger介绍Swagger是一个RESTful API的工具,目标是为REST API定义一个标准的、与语言无关的接口,使人和计算机在看不到源码或者看不到文档或者不能通过网络流量检测的情况下,能发现和理解各种服务的功能。通过Swagger可以获得项目的一种交互式文档,客户端SDK的自动生成等功能。Swagger是一个简单但功能强大的API表达工...

2019-07-11 14:37:29 337

转载 深入分析 Java I/O 的工作机制

Java 的 I/O 类库的基本架构I/O 问题是任何编程语言都无法回避的问题,可以说 I/O 问题是整个人机交互的核心问题,因为 I/O 是机器获取和交换信息的主要渠道。在当今这个数据大爆炸时代,I/O 问题尤其突出,很容易成为一个性能瓶颈。正因如此,所以 Java 在 I/O 上也一直在做持续的优化,如从 1.4 开...

2019-03-12 11:16:13 167

转载 TCP 详解

TCP协议TCP协议全称: 传输控制协议, 顾名思义, 就是要对数据的传输进行一定的控制. 先来看看它的报头 我们来分析分析每部分的含义和作用源端口号/目的端口号: 表示数据从哪个进程来, 到哪个进程去.32位序号: 4位首部长度: 表示该tcp报头有多少个4字节(32个bit)6位保留: 顾名思义, 先保留着, 以防万一6位标志位 URG: 标识紧急指针是否...

2019-03-11 16:53:44 142

转载 HTTP协议

一、HTTP简介1.http协议介绍HTTP协议(HyperText Transfer Protocol,超文本传输协议)是因特网上应用最为广泛的一种网络传输协议,所有的WWW文件都必须遵守这个标准。HTTP是基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)HTTP协议...

2019-03-11 16:21:58 131

转载 MySQL事务原理浅析

前言​ 因为自己对数据的可靠性,可用性方面特别感兴趣,所以在MySQL事务方面看了很多资料,也看了很多博客,所以想到自己也写一篇博客整理整理自己所学内容,尽量用自己的语言解释得通俗易懂。事务经典场景​ 在很多介绍事务的博客都会代入这样一个场景,先简单说说:​ A给B转账100,A少100,B多100。如果A少1...

2019-03-11 15:52:49 111

转载 JVM 垃圾收集器(Garbage Collection)

判断对象是否存活在堆里边存放着java世界中几乎所有的对象实例,垃圾收集器在对堆进行回收前,首先需要确定这些对象之中哪些还“存活”着,哪些已经“死去”(即不可能再被任何途径使用的对象)。引用计数算法给对象添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减1;...

2019-03-11 13:58:56 210

转载 JVM内存区域

Java虚拟机所管理的内存包括以下几个运行时数据区域,如下图方法区用于存储已经被虚拟机加载的类信息、常量、静态变量、即时编译器JIT编译后的代码等数据。我们使用反射技术时,所需的信息就是从这里获取的。一般来说这个区域的内存回收目标是针对常量池的回收和对类型的卸载。也有人称其为“永久代”(Permanent Generation),因...

2019-03-11 13:54:18 100

转载 浅谈Session与Cookie的区别与联系

一、Session的概念Session 是存放在服务器端的,类似于Session结构来存放用户数据,当浏览器 第一次发送请求时,服务器自动生成了一个Session和一个Session ID用来唯一标识这个Session,并将其通过响应发送到浏览器。当浏览器第二次发送请求,会将前一次服务器响应中的Sessi...

2019-03-11 11:00:45 125

原创 java中static关键字的作用

static关键字主要有两种作用:第一,为特定数据类型或对象分配单一的存贮空间,而与创建对象的个数无关。第二,希望某个方法或属性与类而不是对象关联在一起,也就是说, 在不创建对象的情况下就可以通过类来直接调用方法或使用类的属性。具体而言,static在java中主要有四种使用情况:成员变量、成员方法、代码块及内部类。 (1)static成员变量虽然jav...

2019-03-10 16:59:35 13012

转载 java集合框架汇总

转 Java - 集合框架完全解析 2018年07月13日 16:13:10 潘建南 阅读数:123 <span class="tags-box artic-tag-box"> <

2019-03-10 16:43:53 138

转载 Java 异常处理

Java提高篇——Java 异常处理 Java提高篇——Java 异常处理异常的概念异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有...

2019-03-10 16:32:54 168

原创 Java中this和super关键字的用法

在Java中,this和super关键字比较常用,这两个关键字有许多共通的地方。this指的是当前对象,super指的是父类对象。this和super分别有两种用途,this的一种用途是引用当前对象的属性或方法;另一种是调用该类的其他构造方法。super的一种用途是引用父类的属性或方法;另一种是调用父类的构造方法。需要注意的是:static修饰的方法是没有this属性的,因为此类方法是属于类的...

2019-03-10 16:01:44 123

原创 走进Java

Java主要的优点:1.摆脱了平台的束缚,实现了“一次编译,到处运行”。2.提供了一个相对安全内存管理和访问机制,完善的垃圾回收机制,避免绝大部分内存泄漏和指针越界问题。3.实现了热点代码检测和运行时编译及优化,使得Java与应用随着运行时间的增加而获得更高的性能。4.有一套完善的程序接口,大量的第三方类库。Java所带来的这些好处使程序开发效率得到了很大的提升。未来JDK新版本中的...

2019-03-10 15:25:55 115

转载 进程和线程的区别

进程和线程的区别(操作系统级别解析) 关于进程和线程,大家总是说的一句话是“进程是操作系统分配资源的最小单元,线程是操作系统调度的最小单元”。这句话理论上没问题,我们来看看什么是所...

2019-03-10 15:05:28 162

转载 Java线程的状态

Java线程的6种状态及切换(透彻讲解) 1. 初始(NEW):新创建了一个线程对象,但还没有调用start()方法。2. 运行(RUNNABLE):Java线程中将就绪(ready)和运行中(running)两种状态笼统的称为“运行”。线程对象创建后,其他线程(比如main线程)调用了该对象的start()方法。该状态的线程位于可运行线程...

2019-03-10 14:51:47 91

原创 Java构造方法小总结

构造方法构造方法是一种特殊的方法。作用1、构造出来一个类的实例。2、对构造出来的一个类的实例(对象)初始化.特征1、与所存在的类同名2、无返回类型(void也没有)特殊性1、类中必定有构造方法。2、如果没有写构造方法,系统自动添加一个无参构造方法。如果是数值类型初始化为0,如果是布尔类型,初始化为false。3、构造方法在初始化(new)对象时自动执行,一般不能显式地直接调用...

2019-03-05 01:10:03 103

空空如也

空空如也

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

TA关注的人

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