- 博客(18)
- 收藏
- 关注
原创 多线程问题
sleep()和wait()的区别: (1)这两个方法来自不同的类,sleep()来自Thread类是静态方法,和wait()来自Object类。 (2)sleep()释放资源不释放锁,而wait()释放资源释放锁; (3)一般sleep()和notify()一起用,唤醒;wait单独用需要trycacth处理异常;
2016-01-04 18:02:43 248
原创 泛型
为什么会有泛型啊? 因为集合和数组不一样,它存放的数据类型不固定,因此往集合里面存放元素时,存在安全隐患 为了解决这种安全机制,java提出了泛型机制,它是一种安全机制那你说下泛型有什么好处吧? 1,它是一种安全机制。 2,解决了ecplise中的黄线的问题 3,将运行期中可能出现的类型强制问题,提前到了编译器
2016-01-04 18:01:59 263
原创 Treeset排序几种方式
Treeset排序有几种方式呢? 两种,一种是将需要排序的类实现Comparable接口,重写里面的compareTo方法 是元素自然排序 一种是自定义一个比较器类实现Comparator接口,重写里面的compare方式,然后把自定义类创建对象 作为参数传入Treeset构造函数中,还可以用匿名内部类的形式传入构造函数。
2016-01-04 18:01:05 471
原创 abstract和那些关键字不能共存
abstract和那些关键字不能共存? fianl:首先abstract修饰的类,该类中的方法子类继承之后需要重写的,可是final修饰的 类不能比继承,也就没子类,方法更不能得到重写,相互冲突;不能共存 private:私有的意思,方法子类是不能被继承到的,那么方法就没有被重写,可是abstract 是要求方法重写的也相互冲突;
2016-01-04 17:59:53 1780
原创 重写和重载有什么区别
重写和重载有什么区别? 重写是在子父类中,方法声明相同,声明包括修饰符、返回值、方法名、参数列表,它与返回值有关 重载是在同一个类中,方法名相同,参数列表不同,参数列表包括数据类型和参数个数,与返回值有关
2016-01-04 17:59:06 344
原创 异常出现及其解决
1.索引越界异常(ArrayIndexOutofbandException)当遍历时,遍历到该数组中不存在的索引,就会出现索引越界异常.2.空指针异常(NullPointException)原因:当数组引用赋值为null再去调用数组中的元素就会出现空指针异常3、类型转换异常:(ClassCastException)当试图将对象强制转换为不是实例的子类时,抛出该异常4、没有这
2016-01-04 17:54:25 347
原创 多线程三种实现方式
Java中创建线程主要有三种方式:一、继承Thread类创建线程类(1)定义Thread类的子类,并重写该类的run方法,该run方法的方法体就代表了线程要完成的任务。因此把run()方法称为执行体。(2)创建Thread子类的实例,即创建了线程对象。(3)调用线程对象的start()方法来启动该线程。[java] view plaincopypac
2016-01-04 17:52:59 237
原创 集合框架
集合框架分为两大派系:|--单列集合 Coloection |-- List 有序,可重复,元素都有索引值 |-- ArrayList 底层是数组数据结构,查询速度快,增删稍慢,线程不安全的 |-- LinkedList 底层是链表数据结构,增删速度快,查询稍慢,线程不安全的
2016-01-04 17:51:19 190
原创 常体系
异 常:异常:就是不正常。程序在运行时出现的不正常情况。其实就是程序中出现的问题。这个问题按照面向对象思想进行描述,并封装成了对象。因为问题的产生有产生的原因、有问题的名称、有问题的描述等多个属性信息存在。当出现多属性信息最方便的方式就是将这些信息进行封装。异常就是java按照面向对象的思想将问题进行对象封装。这样就方便于操作问题以及处理问题。 出现的问题有很多种,比如角标越界(Arr
2016-01-04 17:49:54 207
原创 面向对象
面向对象设计原则是OOPS(Object-Oriented Programming System,面向对象的程序设计系统)编程的核心, 但我见过的大多数Java程序员热心于像Singleton (单例) 、 Decorator(装饰器)、Observer(观察者) 等设计模式,而没有把足够多的注意力放在学习面向对象的分析和设计上面。学习面向对象编程像“抽象”、“封装”、“多态”、“继承” 等基
2016-01-04 17:48:10 258
原创 static关键字小结
(1)静态的意思,用来修饰成员变量和成员函数 (2)静态的特点: 随着类的加载而加载 优先于对象存在 对所有对象共享 可以被类名直接调用 (3)静态的注意事项 A:静态方法只能访问静态成员
2016-01-04 17:47:07 258 1
原创 迭代器
* A:迭代器原理 * 迭代器原理:迭代器是对集合进行遍历,而每一个集合内部的存储结构都是不同的,所以每一个集合存和取都是不一样,那么就需要在每一个类中定义hasNext()和next()方法,这样做是可以的,但是会让整个集合体系过于臃肿,迭代器是将这样的方法向上抽取出接口,然后在每个类的内部,定义自己迭代方式,这样做的好处有二,第一规定了整个集合体系的遍历方式都是hasNext
2016-01-04 17:44:06 230
原创 java的设计模式之单利设计模式(饿汉和懒汉)
(1)设计模式: 解决某类问题行之有效的方法,是一种思想,是规律的总结 (2)用来保证某个类在内存中只有一个对象 (3)保证唯一性的思想及步骤 **为了避免其他程序建立该类对象,先禁止其他程序建立该类对象,即将构造函数私有化 **为了其他程序访问到该类对象,须在
2016-01-04 17:41:12 396
原创 java基础之io流
1.四大抽象基类 字节流(InputStream OutputStream) 字符流(Writer Reader)字节输出流写文件用其子类FileOutputStream类构造:FileOutputStream(File file)传递file对象包装文件 (String name)传递字符串类型文件名
2016-01-04 17:38:06 196
原创 java基础反射的心得
Class类 描述类的字节马文件对象的类获得class文件字解码对象的三种方式:1、对象.getcalss();2、对象.class属性3、Class类的静态方法forName(类的全路径名);最实用Class类中的获取方法 ——getConstructors()获取所有的构造方法 ——getConstructor(构造方法的参数列表)获取指定的构造方
2016-01-04 17:36:43 233
原创 java基础抽象类和接口区别
1:抽象类只能被继承,而且只能单继承。 接口需要被实现,而且可以多实现。 2:抽象类中可以定义非抽象方法,子类可以直接继承使用。 接口中都有抽象方法,需要子类去实现。3:抽象类使用的是 is a 关系。 接口使用的 like a 关系。 4:抽象类的成员修饰符可以自定义。 接口中的成员修饰符是固定的。全都是public的。
2016-01-04 17:35:37 260
原创 java基础的一些区别
1,编译时异常与运行时异常的区别:编译时异常 JAVA程序必须显示处理,否则程序就会发生错误,无法通过编译运行时异常 无需显示处理,也可以和编译时异常一样处理,是程序员自身犯的错误,需要回来修改代码2,throw 和 throws 的区别:throw:用在方法体内,后面跟的是异常对象名表示抛出异常,由方法内的语句处理只能抛出一个异常对象名throws:用
2016-01-04 17:31:38 312
原创 Map集合没有迭代器,以下是Map的两种取出方式:
第一种:Set keySet() 返回此映射中包含的键的Set视图,将Map集合中所有的键存入Set集合,然后再通过Set集合的 迭代器取出所有的键,再根据get方法获取每个键的值; 第二种:Set> entrySet() 返回此映射中包含的映射关系的Set视图,将Map集合中的映
2016-01-04 17:26:30 2289
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人