自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 问答 (1)
  • 收藏
  • 关注

原创 文章标题

在Java的早期版本中,不支持返回类型协变(一个类如果继承/实现了父类/接口的某一个方法,那么返回类型必须与父类/接口的相同),而在Java的后期版本中(具体从几点几开始支持就不太清楚了…)开始支持返回类型协变,支持类型协变的就是Java的桥方法。接下来列举三个场景来说明桥方法的真实面目和所起到的作用。场景一:基本的返回类型协变问题 父类代码:class Father{ public Nu

2016-05-31 07:17:34 252

原创 Java中桥方法的作用和真实面目

在Java的早期版本中,不支持返回类型协变(一个类如果继承/实现了父类/接口的某一个方法,那么返回类型必须与父类/接口的相同),而在Java的后期版本中(具体从几点几开始支持就不太清楚了...)开始支持返回类型协变,支持类型协变的就是Java的桥方法。接下来列举三个场景来说明桥方法的真实面目和所起到的作用。场景一:基本的返回类型协变问题 父类代码:class Father{ publi

2016-05-31 07:07:59 437

原创 Java代码优化-在某种情况下避免Map的containsKey方法的使用

当要在HashSet或者HashMap中add/put之前判断是否存在key时,可以直接使用add/put方法然后根据返回值来判断,因为put/add方法会将以前节点的value返回(对于Set来说会将Object对象返回,涉及到HashSet的实现方式:用HashMap实现,然后每一个节点的value放的都是同一个Object对象) 如果不存在则返回null说明不包含这个key,否则返回非空说明包

2016-04-13 17:54:37 6913 1

原创 Java注解的部分实现:动态代理

之前一直有一个疑问:在我们获取方法、属性、类、包等等(java.lang.annotation.ElementType枚举类里面的值代都可以)的注解之后,就可以直接通过注解的方法来获取其对应的属性,但是我们知道注解是一个特殊的接口,那么问题来了,注解的实现类在哪里。。。。 今天通过追踪源码,知道了它是通过动态代理的方式实现的,下面简单的记录一下自己的想法,希望和大家可以多多交流。

2016-04-11 18:18:03 2304

原创 Javac -cp 和 Java -cp 命令解释

首先介绍一下Javac的带路径编译,带包执行:    编译的时候,只要在javac命令后面指明了.java文件的位置即可,但是在执行.class文件的时候,必须要进到.class包所在的路径,然后把此路径(即.,刚开始装jdk一直要配的CLASSPATH)添加到CLASSPATH;或者随意在一个目录,然后将.class包所在的路径(可以是相对路径也可以是绝对路径)添加到CLASSPATH即可;

2016-03-25 13:13:53 36333 1

原创 Java的访问权限控制及package出现的原因及好处

访问控制(或者隐藏具体实现)与“最初的实现并不恰当即重构”有关        由于重构的原因(使得代码更加容易理解、更可读),需要对代码进行改动,但是通常总有一些消费者(即客户端程序员)需要你的代码在X些方面保持不变(即类库的更新不能影响到消费者程序的执行),所以产生了面向对象设计中一个基本问题:怎么将变动的部分和不变动的部分区分开来;        为了解决这个问题,第一个方法是通过约定

2016-03-24 20:59:13 1070

空空如也

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

TA关注的人

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