摘要: 进程通信方式: 1.管道 所谓管道,就是一个进程向一个存储空间的一端写入信息,另一个进程从存储空间的另一端读取信息。管道所占的空间既可以是内存,也可以是磁盘。。要创建一个管道,一个进程只需调用管道创建的系统调用即可。该系统调用所做的事情就是在某种存储介质上划出一片空间,赋给其中一个进程写的权利,另一 阅读全文
posted @ 2018-01-10 16:30 辰北321 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 1. 进程调度的定义 在多进程并发的环境里,虽然从概念上看,有多个进程在同时进行,但是实际上,在单个CPU下在任何时刻只能有一个进程处于执行状态,其他进程则处于非执行状态。那么问题来了,我们如何确定在任意时刻到底由哪个进程执行呢?进程调度的任务就是选择下一个执行的进程。 程序使用CPU 的模式分为三 阅读全文
posted @ 2018-01-10 10:10 辰北321 阅读(1009) 评论(0) 推荐(0) 编辑
摘要: 1.局部变量:是指那些在方法体中定义的变量以及方法的参数;它只在定义它的方法内有效,作为操作类时临时存储数据用。注:如果 某个方法中的局部变量的名字与全局变量的名字相同 则该全局变量在这个方法中暂时失效。 1.局部变量:是指那些在方法体中定义的变量以及方法的参数;它只在定义它的方法内有效,作为操作类 阅读全文
posted @ 2017-09-16 16:10 辰北321 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 1.左移运算符 << 高位舍弃,低位补零。 2.右移运算符 >> 低位舍弃,高位补符号位。 3.无符号右移 >>> 低位舍弃,高位补零。 阅读全文
posted @ 2017-09-12 10:57 辰北321 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 1.String 是不可变类,任何对它的改变都会生成一个新的对象,而StringBuffer是可变的。 2.StringBuffer 是线程安全的, StringBuilder 是线程不安全的。多线程下要使用StringBuffer,但是单线程下StringBuilder的性能更好。就类似HashT 阅读全文
posted @ 2017-09-11 10:42 辰北321 阅读(96) 评论(0) 推荐(0) 编辑
摘要: 恢复内容开始 1) 什么是线程? 线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。程序员可以通过它进行多处理器编程,你可以使用多线程对运算密集型任务提速。比如,如果一个线程完成一个任务要100毫秒,那么用十个线程完成改任务只需10毫秒。Java在语言层面对多线程 阅读全文
posted @ 2017-08-30 21:20 辰北321 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 。。。接上一篇 6、直接内存(NIO) 直接内存(Direct Memory)并不是虚拟机运行时数据区的一部分,也不是Java虚拟机规范中定义的内存区域,但是这部分内存也被频繁地使用,而且也可能导致OutOfMemoryError 异常出现,所以我们放到这里一起讲解。在JDK 1.4 中新加入了NI 阅读全文
posted @ 2017-08-27 21:00 辰北321 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 计算机cpu运转速度越来越快,硬盘远远跟不上cpu的读写速度,就设计可内存。随着cpu的发展,内存的读写速度也跟不上cpu处理速度,就在每颗cpu上加入了高速缓存。在多处理器系统中,每个处理器有自己的高速缓存,同时又共享内存(主存),这就有了缓存一致性问题。于是引入了一些协议,各个处理器运行时都要遵 阅读全文
posted @ 2017-08-27 14:31 辰北321 阅读(553) 评论(0) 推荐(1) 编辑
摘要: 计算机的核心是CPU,它承担了所有的计算任务。它就像一座工厂,时刻在运行。假定工厂的电力有限,一次只能供给一个车间使用。也就是说,一个车间开工的时候,其他车间都必须停工。背后的含义就是,单个CPU一次只能运行一个任务。进程就好比工厂的车间,它代表CPU所能处理的单个任务。任一时刻,CPU总是运行一个 阅读全文
posted @ 2017-08-25 23:56 辰北321 阅读(114) 评论(0) 推荐(1) 编辑