摘要: Iterator主要遍历Collection集合中的元素,也有称为迭代器或迭代精灵。 boolean hasNext():若被迭代的集合元素还没有被遍历,返回true. Object next():返回集合的下一个元素. void remove():删除集合上一次next()方法返回的元素。(若集合 阅读全文
posted @ 2019-07-04 14:48 樊伟胜 阅读(1923) 评论(0) 推荐(0) 编辑
摘要: Iterator:迭代输出 一旦操作集合的遍历输出,首选Iterator接口; ListIterator:Iterator子接口,专门输出List中的元素; Enumeration:古老的输出方式,迭代Vector元素,被Iterator取代; foreach:可输出数组和Iterable对象; 我 阅读全文
posted @ 2019-07-04 14:48 樊伟胜 阅读(4023) 评论(0) 推荐(1) 编辑
摘要: 方法: boolean add(Object o):该方法用于向集合里面添加一个元素,若集合对象被添加操作改变了,返回true. boolean addAll(Collection c):把集合c里面的所有元素添加到指定集合里面去,如果集合对象被添加操作改变了返回true. void clear() 阅读全文
posted @ 2019-07-04 14:47 樊伟胜 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 为什么出现集合类? 面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,就要对对象进行存储,集合就是存储对象最常用的一种方式。 数组和集合类同是容器,有何不同? 数组虽然也可以存储对象,但长度是固定的;集合长度是可变的。数组中可以存储任意数据类型,集合只能存储对象。 集合类的特点 阅读全文
posted @ 2019-07-04 14:45 樊伟胜 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 有一个数据存储空间,划分为两部分,一部分用于存储人的姓名,另一部分用于存储人的性别; 我们的应用包含两个线程,一个线程不停向数据存储空间添加数据(生产者),另一个线程从数据空间取出数据(消费者); 因为线程的不确定性,存在于以下两种情况: 若生产者线程刚向存储空间添加了人的姓名还没添加人的性别,CP 阅读全文
posted @ 2019-07-04 14:44 樊伟胜 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 三种方法: 同步代码块: synchronized(obj) { //obj表示同步监视器,是同一个同步对象 /**..... TODO SOMETHING */ } 同步方法 格式: 在方法上加上synchronized修饰符即可。(一般不直接在run方法上加!) synchronized 返回值 阅读全文
posted @ 2019-07-04 14:43 樊伟胜 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 导致安全问题的出现的原因: 多个线程访问出现延迟。 线程随机性。 注:线程安全问题在理想状态下,不容易出现,但一旦出现对软件的影响是非常大的。 我们可以通过Thread.sleep(long time)方法来简单模拟延迟情况。 我的总结: 当多条语句在操作同一个线程共享数据时,一个线程对多条语句只执 阅读全文
posted @ 2019-07-04 14:42 樊伟胜 阅读(171) 评论(0) 推荐(0) 编辑
摘要: join方法:调用join方法的线程对象强制运行,该线程强制运行期间,其他线程无法运行,必须等到该线程结束后其他线程才可以运行。 有人也把这种方式成为联合线程 join方法的重载方法: join(long millis): join(long millis,int nanos): 通常很少使用第三个 阅读全文
posted @ 2019-07-04 14:41 樊伟胜 阅读(289) 评论(0) 推荐(0) 编辑
摘要: Thread类内部有个public的枚举Thread.State,里边将线程的状态分为: NEW 新建状态,至今尚未启动的线程处于这种状态。 RUNNABLE 运行状态,正在 Java 虚拟机中执行的线程处于这种状态。 BLOCKED 阻塞状态,受阻塞并等待某个监视器锁的线程处于这种状态。 WAIT 阅读全文
posted @ 2019-07-04 14:39 樊伟胜 阅读(191) 评论(0) 推荐(0) 编辑
摘要: A extends Thread: 简单 不能再继承其他类了(Java单继承) 同份资源不共享 A implements Runnable:(推荐) 多个线程共享一个目标资源,适合多线程处理同一份资源。 该类还可以继承其他类,也可以实现其他接口。 我的总结: 实现方式,因为避免了单继承的局限性,所以 阅读全文
posted @ 2019-07-04 14:37 樊伟胜 阅读(555) 评论(0) 推荐(0) 编辑
摘要: 线程具有许多传统进程所具有的特征,故又称为轻型进程(Light—Weight Process)或进程元;而把传统的进程称为重型进程(Heavy—Weight Process),它相当于只有一个线程的任务。在引入了线程的操作系统中,通常一个进程都有若干个线程, 至少需要一个线程。 进程与线程的区别: 阅读全文
posted @ 2019-07-04 14:34 樊伟胜 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 1、继承Thread类 子类覆写父类中的run方法,将线程运行的代码存放在run中。 建立子类对象的同时线程也被创建。 通过调用start方法开启线程。 2、实现Runnable接口 子类覆盖接口中的run方法。 通过Thread类创建线程,并将实现了Runnable接口的子类对象作为参数传递给Th 阅读全文
posted @ 2019-07-04 14:34 樊伟胜 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 进程是指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间,一个进程中可以有多个线程。比如在Windows系统中,一个运行的xx.exe就是一个进程。 Java程序的进程里有几个线程:主线程, 垃圾回收线程(后台线程) 线程是指进程中的一个执行任务(控制单元),一个进程中可以运行多个线程, 阅读全文
posted @ 2019-07-04 14:32 樊伟胜 阅读(316) 评论(0) 推荐(0) 编辑
摘要: 处理日期,时间; 大部分的方法已过时,不推荐使用,但是你使用过时的方法也不会报错。 Date() 分配 Date 对象并初始化此对象,以表示分配它的时间(精确到毫秒)。 Date(long date) 分配 Date 对象并初始化此对象,以表示自从标准基准时间(称为“历元(epoch)”,即 197 阅读全文
posted @ 2019-07-04 14:31 樊伟胜 阅读(202) 评论(0) 推荐(0) 编辑
摘要: System 类包含一些与系统相关的类字段和方法。它不能被实例化,类中所有属性和方法都是static,可直接被System调用。 常用方法: static void exit(int status) 终止虚拟机的运行.对于发生了异常情况而想终止虚拟机的运行,传递一个非0数值,对于正常情况下退出系统传 阅读全文
posted @ 2019-07-04 14:31 樊伟胜 阅读(140) 评论(0) 推荐(0) 编辑
摘要: String是不可变类,一旦String对象被创建,包含在对象中的字符序列是不可变的,直到对象被销毁; StringBuffer 与 StringBuilder对象则是可变的! 举例说明这两个的好处:(不用每次新建对象,效率高!) package reviewDemo; public class D 阅读全文
posted @ 2019-07-04 14:30 樊伟胜 阅读(146) 评论(0) 推荐(0) 编辑
摘要: Math类 public final class Math extends Object 以下X表示double,float,int, long abs(X x):求绝对值 max(X x1,X x2):求最大值 min(X x1,X x2):求最小值 public static double ra 阅读全文
posted @ 2019-07-04 14:30 樊伟胜 阅读(936) 评论(0) 推荐(0) 编辑
摘要: String():初始化一个新的 String 对象,使其表示一个空字符序列,并不是返回空(不等于 null)。 String(StringBuffer buffer):根据StringBuffer对象来创建String对象; String(StringBuilder builder):同上 cha 阅读全文
posted @ 2019-07-04 14:26 樊伟胜 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 当异常出现在当前方法中,程序只对异常进行部分处理,还有一些处理需要在方法的调用者中才能处理完成,此时还应该再次抛出异常,这样就可以让方法的调用者也能捕获到异常; Eg: public static void buy(String price) throws Exception { try { if( 阅读全文
posted @ 2019-07-04 14:25 樊伟胜 阅读(1961) 评论(0) 推荐(0) 编辑
摘要: String String表示字符串,所谓字符串,就是一连串的字符; String是不可变类,一旦String对象被创建,包含在对象中的字符序列(内容)是不可变的,直到对象被销毁; 常量池:JVM中一块独立的区域存放字符串常量和基本类型常量(public static final)。 String使 阅读全文
posted @ 2019-07-04 14:25 樊伟胜 阅读(98) 评论(0) 推荐(0) 编辑