Simba_cheng的博客

看着书里九万五千公里的绚丽,却永远端坐在不足一平米的椅子上

深入 -- 方法的参数传递

方法参数传递有两种方式按值调用:表示方法接收的是调用者提供的值。按引用调用:表示方法接收的是调用者提供的变量地址。Java程序设计语言总是采用按值调用。也就是说,方法得到的是所有参数值的一个拷贝。举个例子:public static void main(String[] args) { Test...

2018-07-05 20:27:36

阅读数 89

评论数 0

深入 -- 为什么不能根据返回类型来区分重载?

昨天上网乱翻,看到一个问题,挺有意思的。重载(方法名相同、参数列表不同)这个概念,相信大家都知道了,很多面试都会问到。但为什么不能根据返回类型来区分重载?首先重载是Java多态的一种体现,它实现的是编译时的多态。举个例子:float max(int a, int b); int max(int a...

2018-06-27 22:49:23

阅读数 2846

评论数 0

深入 -- 代理模式与动态代理

代理模式与动态代理本文只讲使用、设计逻辑,略微分析,不会深入源码。先在实际场景中使用,再去怼源码,否则,早晚也是忘记…代理模式先简单叙述下代理模式。很经典的例子就是,西门庆、王婆、潘金莲了吧…西门庆并不能直接去找潘金莲,而是通过王婆找到了潘金莲,进而发生了后面的事情。在这里,王婆就是代理类,而潘金...

2018-06-26 05:05:08

阅读数 59

评论数 0

深入 -- Class反射

Class反射是深入学习Java必须的,而且也是学习Spring内幕所需要的。前言反射是Java语言的特征之一,它允许运行中的Java程序获取自身的信息,并且可以操作类或对象的内部属性。Java语言允许通过程序化的方式间接对Class进行操作,Class文件由类装载器装载后,在JVM中将形成一份描...

2018-06-24 18:21:28

阅读数 76

评论数 0

深入 -- 双引号字符串加号(+)拼接 创建了几个对象?

双引号字符串加号(+)拼接 创建了几个对象?结论先行:双引号字符串 加号(+) 拼接,不论多少,只创建了一个对象。昨天看到一个题目,挺有意思的。大意是:String a = "1"+"2"+"3&qu...

2018-06-23 11:17:43

阅读数 1028

评论数 0

Java - 提高(0) - Collection

Java容器类类库的用途是"保存对象",并将其划分为两个不同的概念Collection:一个独立元素的序列,这些元素都服从一条或多条规则。List必须按照插入的顺序保存元素,而Set不能有重复元素。Queue按照排队规则来确定对象产生的顺序(通常与它们被插入的顺...

2018-03-30 10:44:28

阅读数 59

评论数 0

Java - 提高(9) - 集合

集合 1. Collection接口           Collection接口是最基本的集合接口,它不提供直接的实现,如List/Set 都是继承自Collection接口           Collection所代表的是一种规则,它所包含的元素都必须遵循一条或者多条规则。如有些允许重复有

2017-10-22 09:34:59

阅读数 119

评论数 0

Java - 提高(8) - equals和hashCode

equals和hashCode HashCode的作用 Object的源码中,hashCode是这样定义的: public native int hashCode();JDK API中对HashCode的描述: 返回该对象的哈希码值。支持此方法是为了提高哈希表(例如 java.util.Hash...

2017-07-05 23:20:50

阅读数 248

评论数 0

Java - 提高(7) - 内部类

内部类 为什么要使用内部类? 在《Think in java》中有这样一句话: 使用内部类最吸引人的原因是:每个内部类都能独立地继承一个(接口的)实现,所以无论外围类是否已经继承了某个(接口的)实现,对于内部类都没有影响。 在我们程序设计中有时候会存在一些使用接口很难解决的问题,这个时候我...

2017-07-05 23:12:48

阅读数 161

评论数 0

Java - 提高-源码(6) - HashSet

HashSet源码解析 源码解析对应JDK1.7 JDK1.7源码下载地址:JDK1.7下载地址 HashSet源码中官方注释是这样描述的: This class implements the Set interface, backed by a hash table (actually...

2017-07-05 22:12:00

阅读数 179

评论数 0

Java - 提高-源码(5) - HashTable

HashTable源码解析 HashTable键值对不允许为null HashTable线程安全因为主要的public方法都是synchronized

2017-07-05 21:59:41

阅读数 205

评论数 0

Java - 提高-源码(4) - LinkedHashMap

LinkedHashMap源码解析源码解析对应JDK1.7JDK1.7源码下载地址:JDK1.7源码下载JDK 源码注释Hash table and linked list implementation of the Map interface, with predictable iteratio...

2017-07-04 23:54:21

阅读数 329

评论数 0

Java - 提高-源码(3) - LinkedList

LinkedList源码解析 链表 LinkedList是基于链表实现的,链表与数组一样,都作为数据的基本存储结构,但是在存储原理上二者是不同。 数组中,数据是存储在一段连续的内存空间中,可以通过下标方式访问数组中的元素。 链表中,元素是存储在不同的内存空间中,前一个元素的位置维护了后一个...

2017-07-02 21:41:18

阅读数 252

评论数 0

Java - 提高-源码(2) - ArrayList

ArrayList源码对应JDK1.7JDK1.7源码下载地址:JDK1.7源码JDK 源码注释Resizable-array implementation of the List interface. Implements all optional list operations, and pe...

2017-06-25 19:31:05

阅读数 297

评论数 0

Java - 提高-源码(10) - HashMap

HashMap的实现 HahsMap 继承AbstractMap; HashMap 的key和value都是可以为null; HashMap 是无序的; HashMap 不是同步的,如果需要线程安全的HahsMap,可以通过Collections类的静态方法synchronizedMap获...

2017-06-18 00:14:20

阅读数 340

评论数 0

Java - 提高(1) - 抽象类与接口

Java基础系列学习笔记 参考资料来源 : http://www.cnblogs.com/chenssy/ , 以及其他网络上的学习资料 如有错误 , 烦请指正 , 欢迎讨论 抽象类 在面向对象的领域中一切都是对象,同样所有的对象都是通过类来描述的,但并不是所有的类都来描述对象的. 如果一个...

2017-05-22 22:19:54

阅读数 263

评论数 0

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