Java基础
RamboKitty
这个作者很懒,什么都没留下…
展开
-
Java 深浅拷贝
Java 深浅拷贝定义浅拷贝只复制一个对象(包括基本类型),对象内部存在的指向其他对象的引用则不复制深拷贝:对象以及对象内部的引用均复制import java.util.ArrayList;import java.util.List;public class Test { static class Person { private S...原创 2018-06-02 14:39:09 · 397 阅读 · 0 评论 -
Java 四种引用类型
Java 四种引用类型1.强引用(StrongReference)强引用是使用最普遍的引用。如果一个对象具有强引用,那垃圾回收器绝不会回收它。如下: Object o=new Object(); // 强引用当内存空间不足,Java虚拟机宁愿抛出OutOfMemoryError错误,使程序异常终止,也不会靠随意回收具有强引用的对象来解决内存不足的问题。如果不使用时,...原创 2018-06-02 14:39:39 · 355 阅读 · 0 评论 -
Java String 解析
Java String 解析1. String为什么是不可变对象首先String不属于8种基本数据类型,String是一个对象。内部成员变量public final class String implements java.io.Serializable, Comparable<String>, CharSequence { /** The va...原创 2018-06-02 14:40:11 · 331 阅读 · 0 评论 -
Java HashMap 源码分析
Java HashMap 源码分析HashMap实现简介HashMap 底层采用节点数组,数组内存储的是链表或者红黑树(JDK8)1. 源码分析1.1 属性 /** * The default initial capacity - MUST be a power of two. * 默认容量必须是2的倍数 这里是16 *...原创 2018-06-02 14:41:09 · 155 阅读 · 0 评论 -
Fail-Fast快速失败机制
Fail-Fast快速失败机制1.简介fail-fast 机制是java集合(Collection)中的一种错误机制。当多个线程对同一个集合的内容进行操作时,就可能会产生fail-fast事件。例如:当某一个线程A通过iterator去遍历某集合的过程中,若该集合的内容被其他线程所改变了;那么线程A访问集合时,就会抛出ConcurrentModificationException异常...原创 2018-06-02 14:41:51 · 411 阅读 · 0 评论 -
Java ArrayList源码分析
Java ArrayList源码分析1. ArrayList默认大小 10private static final int DEFAULT_CAPACITY = 10;ArrayList 底层实现Object[]数组transient Object[] elementData;2. 扩容方式//扩容函数private void grow(int m...原创 2018-06-02 14:43:33 · 178 阅读 · 0 评论 -
LinkedList 源码实现
Java LinkedList 源码实现1.链表实现==双向链表,非同步== transient int size = 0; /** * Pointer to first node. * Invariant: (first == null && last == null) || * (first...原创 2018-06-02 14:44:01 · 213 阅读 · 0 评论 -
Mybatis-Plus
简介MyBatis-Plus(简称 MP)是一个MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。特性无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑 损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作 强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅...原创 2019-04-28 16:26:29 · 362 阅读 · 0 评论