自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MySQL存储引擎

InnoDB默认事务型引擎,被广泛使用的存储引擎 数据存储在共享表空间,即多个表和索引都存储在一个表空间中,可通过配置文件修改 主键查询的性能高于其他类型的存储引擎 内部做了很多优化,如:从磁盘读取数据时会自动构建hash索引,插入数据时自动构建插入缓冲区 通过一些机制和工具支持真正的热备份 支持崩溃后的安全恢复 支持行级锁 支持外键MyISAM拥有全文索引、压缩、空间函数 不支持事务和行级锁、不支持崩溃后的安全恢复 表存储在两个文件:MYD 和 MYI 设计简单,某些场景

2021-09-04 20:30:10 94

转载 MySQL中varchar与char的区别以及varchar(50)中的50代表的涵义?

(1)、varchar与char的区别区别一,定长和变长 char 表示定长,长度固定,varchar表示变长,即长度可变。char如果插入的长度小于定义长度时,则用空格填充;varchar小于定义长度时,还是按实际长度存储,插入多长就存多长。 因为其长度固定,char的存取速度还是要比varchar要快得多,方便程序的存储与查找;但是char也为此付出的是空间的代价,因为其长度固定,所以会占据多余的空间,可谓是以空间换取时间效率。varchar则刚好相反,以时间换空间。区别之二,存储的...

2021-09-04 20:20:31 2195

原创 List、Set、Map 之间的区别是什么?

Collection框架关系图如下List:有序集合,元素可重复 Set:不重复集合,LinkedHashSet按照插入排序,SortedSet可排序,HashSet无序 Map:键值对集合,存储键、值和之间的映射;Key无序,唯一;value 不要求有序,允许重复...

2021-09-04 10:39:55 113

原创 ConcurrentHashMap了解吗?说说实现原理。

HashMap 是线程不安全的,效率高;HashTable 是线程安全的,效率低。ConcurrentHashMap 可以做到既是线程安全的,同时也可以有很高的效率,得益于使用了分段锁。实现原理JDK 1.7:ConcurrentHashMap 是通过数组 + 链表实现,由 Segment 数组和 Segment 元素里对应多个 HashEntry 组成 value 和链表都是 volatile 修饰,保证可见性 ConcurrentHashMap 采用了分段锁技术,分段指的就是 S

2021-09-04 10:38:31 110

原创 HashMap和Hashtable 有什么区别?

JDK 1.8 中 HashMap 和 Hashtable 主要区别如下:线程安全性不同。HashMap 线程不安全;Hashtable 中的方法是 synchronized 的。 key、value 是否允许 null。HashMap 的 key 和 value 都是可以是 null,key 只允许一个 null;Hashtable 的 key 和 value 都不可为 null。 迭代器不同。HashMap 的 Iterator 是 fail-fast 迭代器;Hashtable 还使用了 en

2021-09-04 10:36:25 116

原创 BIO、NIO、AIO有什么区别?

BIO:线程发起 IO 请求,不管内核是否准备好 IO 操作,从发起请求起,线程一直阻塞,直到操作完成。 NIO:客户端发送的连接请求都会注册到多路复用器上,多路复用器轮询到连接有 I/O 请求时才启动一个线程进行处理。 AIO:线程发起 IO 请求,立即返回;内存做好 IO 操作的准备之后,做 IO 操作,直到操作完成或者失败,通过调用注册的回调函数通知线程做 IO 操作完成或者失败。BIO 是一个连接一个线程。 NIO 是一个请求一个线程。 AIO 是一个有效请求一个线程。BIO:同

2021-09-03 11:00:03 168

原创 为什么重写equals还要重写hashcode?

HashMap中,如果要比较key是否相等,要同时使用这两个函数!因为自定义的类的hashcode()方法继承于Object类,其hashcode码为默认的内存地址,这样即便有相同含义的两个对象,比较也是不相等的。HashMap中的比较key是这样的,先求出key的hashcode(),比较其值是否相等,若相等再比较equals(),若相等则认为他们是相等的。若equals()不相等则认为他们不相等。如果只重写hashcode()不重写equals()方法,当比较equals()时只是看他们是否为同一对象(

2021-09-03 10:34:43 200

原创 什么是java序列化?什么情况下需要序列化?

序列化:将 Java 对象转换成字节流的过程。反序列化:将字节流转换成 Java 对象的过程。当Java 对象需要在网络上传输 或者 持久化存储到文件中时,就需要对 Java 对象进行序列化处理。序列化的实现:类实现 Serializable 接口,这个接口没有需要实现的方法。实现 Serializable 接口是为了告诉 jvm 这个类的对象可以被序列化。将需要被序列化的类实现Serializable接口,该接口没有需要实现的方法,implements Serializable只是为了..

2021-09-03 10:28:29 1019

原创 存在i+1< i的数吗?为什么?

存在,如 Integer.MAX_VALUEpackage constxiong.interview;/** * 测试最大值加1 * @author ConstXiong */public class TestMaxValueAddOne { public static void main(String[] args) { int i = Integer.MAX_VALUE; System.out.println(i+1<i);

2021-09-03 10:20:21 1380

空空如也

空空如也

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

TA关注的人

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