Java
文章平均质量分 69
Accept-Victory
这个作者很懒,什么都没留下…
展开
-
java中的自增过程不是原子性操作
在java中多线程访问同一数据时,会出现数据不一致的问题。java中的自增操作需要多步完成,而且不是原子性操作控制。下面的代码说明了问题,源自java编程思想package synchonize;public class EvenGenerator extends IntGenerator { private int currentEvenValue = 0; public int n原创 2016-03-25 16:01:09 · 1613 阅读 · 0 评论 -
java基础-内部类
1、创建内部类内部类具有代码隐藏的功能从外部类的非静态方法之外的任何位置创建某个内部类的对象,必须OutClassName.InnerClassName2、链接到外部类内部类拥有其外围类的所有元素的访问权。创建内部类时,内部类对象会捕获一个指向那个外围类对象的引用。内部类对象只有在与其外围类的对象关联时才能创建(static内部类除外)3、.this 和 .new.this 生成对外围对象原创 2016-09-03 08:59:53 · 223 阅读 · 0 评论 -
java基础-类型信息
1、RTTI运行时,识别一个对象的类型。2、Class对象每个类都有一个Class 对象,用于运行时类型发现。Class.forName() 是对类的加载,返回class 对象的引用。Class类的方法:printInfo newInstance getInterfaces getSuperclass3、类字面常量.class4、泛型的Class引用Class<?> 优越于平凡的Class原创 2016-09-03 08:59:02 · 514 阅读 · 0 评论 -
java基础-操作符
1、赋值对于基本类型赋值,为直接从一个地方的内容复制到另外一个地方。而对于对象来讲,实际是将一个对象的引用复制给另外一个对象。并且,在参数传递过程中,java是按值传递的,基本类型传递内容,对象传递引用。将一个对象传递给方法时,所以会产生别名的问题。 2、关系操作符equals函数未被重写的话,默认行为是比较引用;==与!=是比较引用。3、逻辑操作符java中不允许将一个非布尔值当做布尔值原创 2016-09-02 22:29:57 · 300 阅读 · 0 评论 -
java基础-初始化
1、构造器 在java 中使用new 创建对象,将会为对象分配内存,并调用相应的构造器。 构造器是一种特殊类型的方法,没有返回值。2、方法重载方法重载是通过参数类型列表进行区分的,不能以返回值区分重载方法。(为了副作用而调用)对于基本类型的方法重载,如果实际参数类型小于方法中声明的形式参数类型,就会自动提升类型。但char类型特殊,如果无法恰好找到接收char类型的方法,就会直接提升到int类原创 2016-09-03 08:54:18 · 223 阅读 · 0 评论 -
java基础-接口
1、抽象类和抽象方法抽象类不能创建对象。包含抽象方法的类叫做抽象类。继承抽象类,并想创建该新类的对象,就必须为基类的所有抽象方法提供方法定义。2、接口接口只提供形式,不提供任何具体实现。可以包含域,但隐式为static 和final 的。方法默认为public 访问权限。3、继承扩展接口可以继承多个接口。4、接口域 接口中的域首次被访问时,加载初始化。5、嵌套接口类中嵌套的接口可以使原创 2016-09-03 08:58:01 · 205 阅读 · 0 评论 -
java基础-异常
1、异常异常情形是指阻止当前方法或作用域继续执行的问题。从当前环境下跳出,并且将问题提交给上一级环境。2、捕获异常监控区域 try异常处理程序 catch 后面紧跟异常处理机制,负责搜索参数与异常类型相匹配的第一个处理程序。catch3、异常说明异常说明使用 throws 后面紧跟着异常参数列表代码必须与异常说明保持一致。如果方法在编译时被强制检查的异常被称为被检查异常。Runtime原创 2016-09-03 09:00:50 · 207 阅读 · 0 评论 -
java基础-控制流程
1、return用途:指定方法返回什么值;方法退出。返回void的方法中没有return,方法结尾处会有一个隐式的return;反之,必须确保每一条代码路径都将返回一个值。2、标签在java 中使用标签因为有循环嵌套的存在,而且想从多重嵌套中break或continue。1)一般的continue会退出最内层的循环的开头,并继续执行;2)带标签的continue会到达标签的位置,并重新进入原创 2016-09-03 08:58:30 · 249 阅读 · 0 评论 -
java基础-访问控制
1、包访问权限当前包中所有其他类对那个成员都有访问权限,但对于这个包之外的所有类,这个成员却是private。2、publicpublic之后紧跟着的成员声明自己对每个人都是可用的。3、private除了包含该成员的类之外,其他任何类都无法访问这个成员。4、protectedprotected提供包访问权限,也就是说,相同包内的其他类可以访问protected元素。与public相比,访问原创 2016-09-03 08:56:48 · 212 阅读 · 0 评论 -
java基础-泛型信息
1、泛型java中的泛型,编译器保证类型的正确性。2、泛型接口interface name<T>{ }3、泛型方法public <T> returnType methodName(){}类型参数推断支队赋值操作有效。显示类型说明,在点操作符与方法名之间插入尖括号。this.<>methodName4、匿名类泛型5、擦除在泛型代码内部,无法获得任何有关泛型参数类型的信息。擦除,原创 2016-09-03 08:56:04 · 203 阅读 · 0 评论 -
java基础-多态
1、向上转型一个类既可以作为自己本身的类型使用,也可以作为它的基类使用。将某个对象的引用视为对其基类的引用的做法,就是向上转型。2、方法绑定将方法调用与方法主体关联起来叫做绑定。分为前期绑定和动态绑定。除了static方法和final方法,其他所有方法都是后期绑定(动态绑定)。3、构造器和多态构造器的顺序: 1)调用基类构造器 2)按声明顺序调用成员初始化 3)调用导原创 2016-09-03 08:55:05 · 194 阅读 · 0 评论 -
java基础-持有对象
1、容器collection:一个独立元素的序列,这些元素都服从一条或者多条规则Map:一组成对的键值对对象。2、ListArrayList 适用于随机访问LinkedList 适用于删除和插入操作。subList 操作的幕后是初始化列表,对subList返回的修改会影响初始化列表,反之亦然。3、stackpeekpoppush4、set只保存不重复的数据TreeSet将元素存在红原创 2016-09-03 08:51:16 · 217 阅读 · 0 评论 -
java基础-复用类
1、组合将一个对象的引用置于另一对象的域中。组合情况下,需要对组合对象进行初始化,否则编译器会自动初始化为null。初始化的位置:1)在定义对象的地方2)在类的构造器中3)在使用对象的之前,惰性初始化4)使用实例化2、继承1)初始化基类 初始化:java 会自动在导出类的构造器中插入对基类构造器的调用。 构造过程是从基类向外扩散的。 如果调用带有参数的构造器,需要显示调原创 2016-09-03 08:57:30 · 255 阅读 · 0 评论