摘要: 在整个IO包了,唯一表示与文件本身有关的类就是File类。使用File类可以进行1创建或删除文件等常用操作。要想使用File类。则首先要观察File类的构造方法,此类的常用构造方法如下所示: public File(String pathname) 实例化File类的时候,必须设置好路径 No. 方 阅读全文
posted @ 2018-01-10 12:21 小菜鸟321 阅读(156) 评论(0) 推荐(0)
摘要: 字节流常用基类 InputStream OutputStream 字符流常用基类 Reader Writer 由这四个类派生出来的子类,它们的名称都是以父类名称作为子类名的后缀,而前缀名都是这个子类的功能。 阅读全文
posted @ 2018-01-10 11:32 小菜鸟321 阅读(116) 评论(0) 推荐(0)
摘要: 内部类:定义在类中的类,称为内部类。 好处是可以直接访问到外部类中的成员。 外部类要访问内部类则必须创建内部类对象,通过内部类对象调用。 内部类直接访问外部类的原理:因为内部类持有了外部类的引用。外部类名.this,还是对象调用。 如果把内部类定义在成员位置上,它就可以被成员修饰符所修饰。 内部类的 阅读全文
posted @ 2018-01-09 17:50 小菜鸟321 阅读(125) 评论(0) 推荐(0)
摘要: 线程优先级从0-10,一般常用三个值表示0(最低) ,5(默认),10(最高),线程的优先级并不是表示优先级高的线程会先执行,低的后执行,而是表示CPU切换到该线程的几率会增加。 阅读全文
posted @ 2018-01-09 17:26 小菜鸟321 阅读(394) 评论(0) 推荐(0)
摘要: Join() 方法,它能够使调用该方法的线程在此之前执行完毕。 线程的join()方法:t.join()方法一旦调用,执行t.join()这段代码的线程立即阻塞,开始执行t线程。等t线程执行完毕之后,该block住线程才开始执行。 理解清楚了,就是等待它结束,不然不给继续运行下去。 阅读全文
posted @ 2018-01-09 17:08 小菜鸟321 阅读(198) 评论(0) 推荐(0)
摘要: 原理:让run()方法结束。 线程任务通常都有循环,因为开启线程就是为了执行需要一些时间的代码。 只要控制了循环,就可以结束run方法,从而停止线程。 控制循环定义一个标记即可。 阅读全文
posted @ 2018-01-09 14:50 小菜鸟321 阅读(119) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2018-01-09 12:57 小菜鸟321 阅读(85) 评论(0) 推荐(0)
摘要: package ProConDemo; //创建资源 public class Goods { private String name; //计数器 private int count = 1; //创建一个标记 private boolean flag; //创建资源的生产行为 public sy 阅读全文
posted @ 2018-01-09 12:32 小菜鸟321 阅读(134) 评论(0) 推荐(0)
摘要: Lock接口的出现比synchronzied有更多操作。 lock();获取锁 unlock();释放锁 同步函数与同步代码块对锁的操作是隐式的。 而lock接口,则将所单独封装成了对象,并提供了对锁的显式操作。 lock接口就是同步的替代 Condition接口替代了Object中的监视器方法 之 阅读全文
posted @ 2018-01-09 12:20 小菜鸟321 阅读(173) 评论(0) 推荐(0)
摘要: 问题1:重复生产,重复消费 原因:被唤醒的线程没有判断标记就进行了生产或者消费,导致重复的生产与消费。 解决办法:就是被唤醒的线程必须先判断,while循环可以让被唤醒的线程再次进行标记判断。 问题2:唤醒以后出现了死锁 原因:本方线程使用notify()时有可能唤醒本方线程,本方线程循环判断标记之 阅读全文
posted @ 2018-01-09 12:19 小菜鸟321 阅读(131) 评论(0) 推荐(0)