摘要: 一、前言 在多线程中,有时会出现多个线程对同一个对象的变量进行并发访问的情形,如果不做正确的同步处理,那么产生的后果就是“脏读”,也就是获取到的数据其实是被修改过的。 二、引入Synchronized锁机制 本篇将通过以下实例代码来讲述synchronized锁机制 2.1 多线程安全问题实例 举例 阅读全文
posted @ 2019-03-14 18:03 吹灭读书灯 阅读(711) 评论(0) 推荐(0) 编辑
摘要: 参考资料: Java-Stream流(基础篇) 阅读全文
posted @ 2019-03-14 11:11 吹灭读书灯 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 一、Thread类中的静态方法 Thread类中的静态方法是通过Thread.方法名来调用的,那么问题来了,这个Thread指的是哪个Thread,是所在位置对应的那个Thread嘛?通过下面的例子可以知道,Thread类中的静态方法所操作的线程是“正在执行该静态方法的线程”,不一定是其所在位置的线 阅读全文
posted @ 2019-03-12 22:21 吹灭读书灯 阅读(631) 评论(0) 推荐(0) 编辑
摘要: 一、Thread类中的方法调用方式 学习Thread类中的方法是学习多线程的第一步。在学习多线程之前特别提出一点,调用Thread中的方法的时候,在线程类中,有两种方式,一定要理解这两种方式的区别: 1、this.XXX() 这种调用方式表示的线程是线程实例本身 2、Thread.currentTh 阅读全文
posted @ 2019-03-12 11:00 吹灭读书灯 阅读(357) 评论(0) 推荐(0) 编辑
摘要: 一、线程的使用方式 1、继承Thread类,重写父类的run()方法 优点:实现简单,只需实例化继承类的实例,即可使用线程 缺点:扩展性不足,Java是单继承的语言,如果一个类已经继承了其他类,就无法通过这种方式实现自定义线程 结果: 可以看到两个线程并不是交替运行的,这也是正常的。解释之前先说一下 阅读全文
posted @ 2019-03-11 19:47 吹灭读书灯 阅读(307) 评论(0) 推荐(0) 编辑
摘要: 一、进程的的概念 引用线程之前进程的概念: 进程是表示资源分配的基本单位,也是调度运行的基本单位。例如,用户运行自己的程序,系统就创建一个进程,并为它分配资源,包括内存空间、磁盘空间、I/O设备等。然后,把该进程放入进程的就绪队列。进程调度程序选中它,为它分配CPU以及其它有关资源,该进程才真正运行 阅读全文
posted @ 2019-03-11 14:14 吹灭读书灯 阅读(1312) 评论(0) 推荐(0) 编辑
摘要: 转自:Java IO8:IO简单总结 字节流、字符流继承关系 前几篇文章讲解了字节流、字符流的使用,不过Java提供给用户的流类远不止此,限于篇幅原因,没办法一一讲解,而且也没有必要一一讲解,就像我在写博客的时候多次提到的,有问题的时候学会查JDK API即可。OK,虽然不一一讲解每种流,我自己简单 阅读全文
posted @ 2019-03-09 17:35 吹灭读书灯 阅读(524) 评论(0) 推荐(0) 编辑
摘要: 一、前言 前面的文章主要讲了文件字节输入流FileInputStream、文件字节输出流FileOutputStream以及对应的字节缓冲流,文件字符输入流FileReader、文件字符输出流FileWriter以及对应的字符缓冲流,这些都是常见的流类。当然,除了这些流类,Java还提供了别的流类供 阅读全文
posted @ 2019-03-09 17:02 吹灭读书灯 阅读(365) 评论(0) 推荐(0) 编辑
摘要: 参考资料:常见IO类继承关系图,Java IO6:字符流进阶及BufferedWriter、BufferedReader 一、字符流和字节流的区别 拿一下上一篇文章的例子: 注意第十行,将writer.close()方法注释之后,此时将无法将字符串写入文件 控制台输出: 说明一下原因: 字符流和字节 阅读全文
posted @ 2019-03-08 18:01 吹灭读书灯 阅读(266) 评论(0) 推荐(0) 编辑
摘要: 一、前言 既然字节流提供了能够处理任何类型数据的输入/输出操作的功能,那么为什么还存在字符流呢?我们来看一个例子 举例:通过字节流读取文本内容(含中文汉字) 结果: 说明:可以看到,hello world可以正常显示,汉字则成了乱码,这是因为字节流一次只能操作一个字节,而汉字是用两个字节的字符来表示 阅读全文
posted @ 2019-03-08 17:17 吹灭读书灯 阅读(376) 评论(0) 推荐(0) 编辑