java基础
文章平均质量分 71
叶长鑫
这个作者很懒,什么都没留下…
展开
-
Java同步机制
看之前可以先看下java内存模型(http://www.cnblogs.com/nexiyi/p/java_memory_model_and_thread.html),可以更好理解本文一、volatile关键字volatile可以说是Java提供的最轻量级的同步机制,但是他并不容易完全被正确、完整地理解,以至于许多人都不去使用他。当一个变量定义为volatile之后,他将具有两种特性,原创 2016-09-09 21:18:51 · 535 阅读 · 0 评论 -
Java复习(1)—三大特性
封装:隐藏类的内部实现,可以在不影响使用的情况下改变类的内部结构,同时也保护了数据。将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成“类”,其中数据和函数都是类的成员。封装的目的是增强安全性和简化编程,使用者不必了解具体的实现细节,只要通过外部接口和特定的访问权限来使用类的成员。封装的基本要求是:把所有的属性私有化,对每个属性提供get转载 2016-08-30 13:48:19 · 345 阅读 · 0 评论 -
Java复习(2)—重写与重载的区别
一、重写1.概念(1)父类与子类之间的多态性,对父类的函数进行重新定义。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。在Java中,子类可继承父类中的方法,而不需要重新编写相同的方法。但有时子类并不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写。方法重写又称方法覆盖。 (2)若子类中的方法与父类中转载 2016-08-30 16:10:50 · 355 阅读 · 0 评论 -
Java复习(3)—java程序代码执行顺序
一、代码块执行执行顺序(不包含父类)1、静态代码块,它是随着类的加载而被执行,只要类被加载了就会执行,而且只会加载一次,主要用于给类进行初始化。2、构造代码块,在类中直接定义没有任何修饰符、前缀、后缀的代码块即为构造代码块。每创建一个对象时就会执行一次,且优先于构造函数,主要用于初始化不同对象共性的初始化内容和初始化实例环境。3、构造函数,每创建一个对象时就会执行一次。同时构造函数是给转载 2016-08-30 16:40:48 · 297 阅读 · 0 评论 -
Java复习(4)—访问控制符
public 所有类都可以访问protected 当前包和子类可以访问default 是默认访问类型 当前包下可访问private 只有本类内可以访问转载 2016-08-30 17:00:41 · 269 阅读 · 0 评论 -
java复习(5)—String、StringBuilder和StringBuffer
1.String类是不变字符串,StringBuffer类和StringBuilder类是可变字符串,这3种字符串都是16位的Unicode字符序列,并且这3个类都被声明为final类,因此不能被继承。2.String str = new String("abc")创建实例的过程 首先在堆中(不是常量池)创建一个指定的对象"abc",并让str引用指向该对象;在字符串常量池中查看,是原创 2016-08-30 18:35:55 · 268 阅读 · 0 评论 -
java复习(6)—HashCode与equals方法的关系
一、HashCode的作用首先,想要明白hashCode的作用,必须要先知道Java中的集合。 总的来说,Java中的集合(Collection)有两类,一类是List,再有一类是Set。 前者集合内的元素是有序的,元素可以重复;后者元素无序,但元素不可重复。那么这里就有一个比较严重的问题了:要想保证元素不重复,可两个元素是否重复应该依据什么来判断呢? 这就是Obje转载 2016-08-30 21:08:43 · 309 阅读 · 0 评论 -
synchronized和Lock的区别
一、synchronized每一个对象都有一个锁(监视器)monitor线程调用对象的synchronized方法活着访问synchronized代码块时,这个线程要先获取该对象的锁。当一个线程正在访问一个对象的synchronized方法时,其他线程不能访问该对象的synchronized方法,因为没有该对象的锁当一个线程正在访问一个对象的synchronized方法时,其他原创 2016-10-09 15:17:06 · 489 阅读 · 0 评论 -
Java中各种常用数据结构的使用(Vector、Stack、LinkedList)
一、Vector1.1Vector的介绍Vector 是矢量队列,继承于AbstractList,实现了List, RandomAccess, Cloneable这些接口。Vector 类可以实现可增长的对象数组。与数组一样,它包含可以使用整数索引进行访问的组件。但是,Vector 的大小可以根据需要增大或缩小,以适应创建Vector 后进行添加或移除项的操作。 Vecto原创 2016-09-06 12:57:34 · 878 阅读 · 0 评论