摘要:
作为一门面向对象开发的语言,代码复用是java引人注意的功能之一。java代码的复用有继承,组合以及代理三种具体的表现形式,下面一一道来。 第一种方式是通过按照现有的类的类型创建新类的方式实现代码的复用,这种方式称之为继承。当我们创建一个新类时,总是继承这样或者那样的父类,隐式的父类是Obje... 阅读全文
摘要:
Class对象是所有类的根源,Object是所有对象的根源。 编译后的新类会产生一个Class对象,保存在同名的.class文件中。每个类都有一个Class对象,它包含了所有的与类有关的信息。所有的Class对象都是在第一次使用时,动态加载到jvm中的。 反射:在运行时打开和检查.class... 阅读全文
摘要:
java标准异常 Throwable这个java类被用来表示任何可以作为异常被抛出的类。Throwable对象可以分为两种类型: Error用来表示编译时和系统错误(一般不用关心)。 Exception是可以被抛出的基本类型,在java类库、用户方法以及运行时故障中都可能抛出Exception型异常... 阅读全文
摘要:
集合的出现是为了解决持有对象的问题,集合基本类型是List/Set/Map,下面针对这些集合类分析。List将对象与索引建立起关联,它可以根据需要自动扩充容量。根据不同的需求,有以下几种类型>如果要进行大量的随机访问,使用ArrayList效率高>如果经常做任意插入或者是查询,使用LinkedLis... 阅读全文
摘要:
内部类定义:将一个类的定义放在另一个类内部,这就是内部类,内部类控制了类的可视性,在某种程度上说,内部类隐藏了代码,将不希望被外部调用的代码隐藏起来了。往大的方向分,内部类可以分为匿名内部类和嵌套内部类。内部类可以通过this访问外部类,外部类调用内部类通过new的方式来访问。1.匿名内部类@定义接... 阅读全文
摘要:
这篇文章会详细阐述ThreadLocal的内部结构及其原理,以及神奇的0x61c88647在Java 1.4之前,ThreadLocals会产生线程间的竞争,无法写出高性能的代码. Java 1.5改变了它的实现,下面详细阐述ThreadLocal的内部结构和原理, 并分析为了解决散列表的冲突而引入... 阅读全文
摘要:
来自《The Elements of Java Style》-《Java编程风格》一书,值得一读的书籍,会让你在细节上节省很多时间,合作之间更加愉快!好处不多说了,但是有几个原则如下:1.保持原有风格2.坚持最小惊奇原则3.第一次就做对4.记录所有非规范行为格式规范:1.缩进嵌套的代码:在每个代码块... 阅读全文
摘要:
抽象类:将类中的部分方法放到子类中实现,那么改类可以称之为抽象类,抽象类用abstract修饰,抽象方法前面要加上abstract来修饰,同时抽象类不能有方法体。 抽象类特性: 1.抽象类中必须包含一个或者多个抽象方法。 2.抽象类和抽象类中的抽象方法不能用final来修饰。 3.抽象类... 阅读全文
摘要:
面向对象语言的多态性主要体现在java的动态绑定机制(又称作后期绑定/运行时绑定)上,在运行的时候根据对象的类型动态绑定方法。除了final(final方法不可继承,private方法属于final方法)和static方法(类方法)外,其他的方法都是动态绑定的。 java多态主要通过方法的重载... 阅读全文
摘要:
static可以修饰变量,方法或者类(普通类是不能用static修饰的,只能用来修饰内部类) static静态变量又称之为类变量(和c++中的全局变量概念是一样的),在类加载后,jvm只为类变量分配一次内存,内存中只有一份,静态变量可以直接通过类名访问(当然也可以通过实例对象访问);与静态变量对应... 阅读全文