自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java动态代理的设计与实现

文章目录简述Java代理模式的设计与实现动态代理技术静态代理实例动态代理实例动态代理原理分析总结简述Java代理模式的设计与实现1.代理对象存在的价值主要用于拦截对真实业务对象的访问,建立代理类是为了增强、扩展被代理类(即目标对象)的功能,实际上业务还是调用目标对象的方法。2.实现:第一步:先写一个接口,接口中封装了客户端(目标对象)需要的执行的操作第二步:代理和客户端同时实现该接口,其中客户端中真正实现了接口中的方法,是一个真正的实体类,而代理只是保存了一个客户端的引用,使得其能访问该实体,代理

2020-08-01 14:00:11 164

原创 面试题之JVM内存结构

JVM 可以分为 5 个部分,分别是:类加载器(Class Loader):加载字节码文件到内存。运行时数据区(Runtime Data Area):JVM 核心内存空间结构模型。执行引擎(Execution Engine):对 JVM 指令进行解析,翻译成机器码,解析完成后提交到操作系统中。本地库接口(Native Interface):供 Java 调用的融合了不同开发语言的原生库。...

2020-04-25 14:54:10 327

原创 面试题之详解HashMap

本文着重介绍关于Hashmap的常见面试题,读者需对HashMap有基本的了解文章目录1.HashMap长度为什么是2的幂次方2.HashMap多线程操作导致死循环问题3.HashMap的底层实现4.扩容机制1.HashMap长度为什么是2的幂次方我们利用HashMap的hash对数组长度进行取模运算得到数组下标再存放到对应下标的数组中。1.7以前是直接进行%取模,在1.8优化成了位运算...

2020-04-16 00:28:53 1800 1

转载 看完必懂红黑树

转载自掘金:https://juejin.im/post/5df4aaefe51d45581269a6d2#heading-5文章太长,请移步原文,强烈推荐!

2020-04-14 17:56:43 287

原创 详解HashMap和Hashtable

1.底层结构:HashMap和Hashtable的底层结构是都是数组加链表;2.安全性:HashMap 是非线程安全的,HashTable 是线程安全的;HashTable 内部的方法基本都经过synchronized 修饰(如果你要保证线程安全的话就使用ConcurrentHashMap吧);3.对null键和null值的支持:HashMap支持null键和null值,可以有多个null值...

2020-04-12 18:58:05 287

转载 数据结构之哈希表Java

转载自https://zhuanlan.zhihu.com/p/32329381在讲解HashMap集合之前,我们先说说一个重要的数据结构—哈希表。哈希表是一种非常优秀数据结构,对哈希表进行数据的插入,查找(有时也包括删除)的时间复杂度都是O(1)。从这个时间复杂度,我们就可以知道哈希表是基于数组实现的,因为只有数组才可以直接通过下标获取对应的元素,而其他的数据结构要获取某个位置元素,时间复...

2020-04-10 14:12:55 293

原创 深入理解Java装箱与拆箱

写给小白看的Java基础知识,阅读本文大概需要7分钟Java中有8种基础数据类型,boolean,char,byte,short,int,long,float,double。从jdk5开始提供了自动装箱拆箱机制,对应的包装类型即Boolean,Character,Byte,Short,Integer,Long,Float,Double。首先解释一下为什么要引入装箱和拆箱机制,因为Java是面...

2020-04-06 11:49:11 241

空空如也

空空如也

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

TA关注的人

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