最新文章
-
26 2018年09月
-
21 2018年09月
equals()和hashcode()方法详解
今天来重新梳理下equals方法和hashcode方法,好了开始什么是hashcodehashCode是jdk根据对象的地址或者字符串或者数字算出来的int类型的数值,也就是哈希码,哈希码并不是完全唯一的,它是一种算法,让同一个类的对象按照自己不同的特征尽量的有不同的哈希码,但不表示不同的对象哈希码
-
20 2018年09月
Cloneable接口和Objec中的clone()方法
概述Cloneable接口是一个空接口,仅用于标记对象,Cloneable接口里面是没有clone()方法,这个clone()方法是Object类里面的方法!默认实现是一个Native方法如果对象implement Cloneable接口的话,需要覆盖clone方法(因为Object类的clone方
-
19 2018年09月
Java集合框架之LinkedHashMap
本文若无特殊说明,源码均为JDK1.8概述LinkedHashMap它继承自HashMap,实现了Map<K,V>接口。其内部还维护了一个双向链表,在每次插入数据,或者访问、修改数据时,会增加节点、或调整链表的节点顺序,以决定迭代时输出的顺序。默认情况下遍历的顺序是按照插入节点的顺序,这
-
19 2018年09月
Arrays.sort 实现原理和 Collections.sort 实现原理
本文若无特殊说明,JDK版本为1.8使用两者作用都是用于排序原理这里先插一句Collections和Collection的区别:java.util.Collection 是一个集合接口。它提供了对集合对象进行基本操作的通用接口方法。java.util.Collections 是针对集合类的一个帮助类
-
08 2018年09月
ElasticSerach之url拼接.md
最近因为用到ES搜索引擎,通过ES的URl获取数据,发现在Java代码中需要将URL转换一下,利用Java类URLEncoder的encode转码,发现还是无法满足要求,后面找到了如下的实现方式,特此记录下,废话不多说了,代码如下: String realName = "张"
-
02 2018年09月
-
02 2018年09月
-
01 2018年09月
JVM之Java内存区域
Java虚拟机在执行Java程序的过程中会把它管理的内存划分为若干个不同的数据区域。每个区域都有各自的用途,以及创建和销毁的时间,根据Java虚拟机规范,Java虚拟机所管理的内存将会包括以下几个运行时数据区域,如下图所示:程序计数器程序计数器是一块较小的内存区域,它可以看作是当前线程锁执行的字节码
-
01 2018年09月
JVM之内存分配与回收策略
对象的内存分配,简单点来说就是往堆上分配,对象主要分配在新生代的Eden区上,少数情况下也可能直接分配在老年代中,分配的规则并不是百分之百的固定,其细节取决于当前使用的是哪一种垃圾收集器组合,还有虚拟机中与内存相关的参数设置对象优先在Eden分配大多数情况下,对象在新生代Eden区中分配,当Eden