java基础
文章平均质量分 75
中华雪碧
这个作者很懒,什么都没留下…
展开
-
java基础之谈谈==和equals
判断对象是否相等是我们在项目中经常用到的,也是入门java必学的知识。今天就来谈谈==和equals的作用和区别。1.==如何判断相等先看一下一段代码: int i1 = 1; int i2 = 1; String s1 = new String("abc"); String s2 = new String("abc");原创 2017-08-14 23:31:46 · 490 阅读 · 0 评论 -
大话java的代理模式
1.代理模式的介绍 代理模式是java中常见,也是重要的一种模式,比如spring中的aop就是代理模式的一种应用。 那么代理模式究竟有什么作用?代理模式就是“控制和管理对象的访问”。相对于简单粗暴地直接访问对象、调用对象的方法,使用代理模式可以在对象的使用时,进行预处理和事后处理等。比如权限控制、日志记录。当然你可以直接在对象里,做这些操作,但是这样耦合性太高,不利于代码的维护。 2.如何使原创 2017-08-29 00:59:55 · 608 阅读 · 0 评论 -
大话java之JDK动态代理
上一篇讲到到java的代理模式以及java的静态代理的实现方式。静态代理的问题在于需要为每个委托类建立一个代理类,这样不仅耗费大量的精力,也不利于项目的解耦和维护。本篇就要讲讲java的动态代理,动态代理在spring等框架中十分重要,它不仅保留代理模式的优点,也更好地解耦项目,对于代码的复用和维护都是更有优势。 1.先举个动态代理的简单例子:1)委托类接口//委托类接口public inter原创 2017-08-29 22:57:07 · 1810 阅读 · 0 评论 -
大话java之JDK动态代理和CGLIB动态代理
上一篇讲到了java的动态代理和JDK动态代理的使用和原理。这一篇要讲讲cglib代理,和jdk代理使用上的一个重要区别是jdk代理必须是以接口为委托类。那么在委托类不是接口的情况下,就可以使用gclib动态代理了。 gclib的实现代码如下: 1)委托类public class TestImplement { @Override public void business() {原创 2017-09-03 16:49:56 · 734 阅读 · 0 评论 -
为什么Hashtable ConcurrentHashmap不支持key或者value为null
在很多java资料中,都有提到 ConcurrentHashmap HashMap和Hashtable都是key-value存储结构,但他们有一个不同点是 ConcurrentHashmap、Hashtable不支持key或者value为null,而HashMap是支持的。为什么会有这个区别?在设计上的目的是什么?在网上找到了这样的解答:The main reason that nulls ar原创 2017-02-10 21:57:51 · 17153 阅读 · 12 评论 -
【java集合】HashMap源码解析
HashMap是一种哈希表的数据结构的实现,也是java中常用的集合。HashMap的特性归纳如下: 特性 值 是否顺序存储 非顺序 是否可重复存储 key值不可以,value值可以 是否可存储null 可以 是否线程安全 非线程安全HashMap的属性首先列举一下HashMap主要属性,方便大家理解和本文的说明:原创 2017-11-12 15:25:47 · 206 阅读 · 0 评论 -
【java集合】LinkedList源码分析
LinkedList是一种基于链表实现的集合类,也是经常使用到的集合。其特性归纳如下: 特性 值 是否顺序存储 顺序 是否可重复存储 可以 是否可存储null 可以 是否线程安全 非线程安全LinkedList的属性首先列举一下ArrayList主要属性,方便大家理解和本文的说明: 属性 说明 first 链表的头部 last 链表的尾部原创 2017-11-12 21:39:20 · 299 阅读 · 0 评论 -
【java集合】ArrayList源码分析
ArrayList是一种基于数组实现的集合类,也是平常经常使用到的集合。其特性归纳如下: 特性 值 是否顺序存储 顺序 是否可重复存储 可以 是否可存储null 可以 是否线程安全 非线程安全ArrayList的属性首先列举一下ArrayList主要属性,方便大家理解和本文的说明: 属性 说明 elementData ArrayList是基于数组原创 2017-11-12 20:37:47 · 265 阅读 · 0 评论