摘要: 一. 为什么会讲述图解,是因为目前DOS给出的一些结果有写颠覆了原有的思想体系。多线程在执行时,cpu切换这执行,不同的内容交叉着出现。但是之前我们讲,一个函数只有执行完了才会弹栈,没执行完不会弹栈。现在通过图解来解释这一切。 以上面的截图来研究图解,我们只研究栈,其他的不做探讨。 以前的内存图解是 阅读全文
posted @ 2017-12-17 10:15 前锋营 阅读(251) 评论(0) 推荐(0) 编辑
摘要: 一. 不同的运行,导致over的位置发生了变化。为什么呢?我们这里至少有三个线程。三个线程之间来回随机切换。 接下来我们想知道的问题就是,我们开启了多个线程,怎么区分现在正在运行的线程是谁?多个线程随机切换,我们怎么区分。 区分的方法到哪儿找?到thread类中去寻找。线程怎么区分,线程自己最清楚。 阅读全文
posted @ 2017-12-17 09:43 前锋营 阅读(1853) 评论(0) 推荐(0) 编辑
摘要: 一. 既然是创建线程,那么线程应该怎么创建?在没有学习java之前,这些程序是谁在操作执行的呢?是由我们所在的操作系统来完成的。Windows里面有个任务管理器,它来管理这些任务,它来创建这些进程,并来创建进程中所用的线程。是由系统来完成的,我们无法直接使用系统来帮我们做这件事情。解决问题的时候,首 阅读全文
posted @ 2017-12-17 09:36 前锋营 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 一. 我们关注的重点在于主线程,我们一般不关注垃圾回收,因为这个动作是自动的,它是以什么方式来判断的呢?堆内存中一旦产生垃圾,它是不会立即去清理的,如果立即去清理的话会降低效率。因为垃圾回收在操作时,会和主线程抢夺cpu的控制权(获取cpu的执行权)。在某一时刻谁拿到执行权,谁就操作。接下来就是什么 阅读全文
posted @ 2017-12-17 09:27 前锋营 阅读(281) 评论(0) 推荐(0) 编辑
摘要: 一. 我们学java程序学到现在,到底是多线程的,还是单线程的?(现实中多线程是一直存在的,我们只是才开始学习这个概念而已,没学过不代表不存在。) 虚拟机的启动本身就依赖了多条线程,为什么? 举例来看,(举实例来研究多线程) New了三个匿名对象,画一个堆内存演示一下。 左边是栈,右边是堆。栈里面有 阅读全文
posted @ 2017-12-17 09:21 前锋营 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 一. Java的程序我们已经把它封装在包里面了,java的程序很多的情况下,包很多的情况下,我们把它塞成一个文件。这样显得更为方便。 这个压缩工具有什么好处?可以把多个目录合成一个文件。 Java中也有一个这样的打包工具,就是jar。可惜的是,jar并不是图形化界面的工具,它是DOS的工具。 怎么来 阅读全文
posted @ 2017-12-17 09:12 前锋营 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 一. 讲到现在发现,有包不如没包,源程序中书写类名要写很长(类名的前缀包很多时)。类文件的层次结构太多,包太多,显得很麻烦。 如果不愿意写这么长的名字,我们有一些解决办法。我们可以通过一个关键字来做这件事情,让你能实现相同的功能。 上图就是导入DemoA的包,我觉着导入就意味着将位置由所属的其它包, 阅读全文
posted @ 2017-12-17 09:05 前锋营 阅读(267) 评论(0) 推荐(0) 编辑
摘要: 一. 上一节中的代码写的并不是很眼镜,如下图中的属性,应该都是私有的。我们不应该直接访问资源中的属性,是因为它具备了不安全性。 瞎赋值怎么办呢?为了可控,意味着资源里面的属性需要被私有化,并对外提供方法访问。因此上节中的代码要进行改写。 首先对资源描述类进行修改,至于为什么set方法中写有两个形参, 阅读全文
posted @ 2017-12-17 09:00 前锋营 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 一. 引言 刚才的输出中,是一片相同的连续输出。现在我们希望,每输入一次,输出端就输出一次。 在输入前要先明确一下,资源里面是否有数据。有数据的话要先输出,我们要在资源中多定义个变量,用来标记里面是否有数据。 也就是说,资源里面的数据被输出了。 上来先默认资源里面没有数据。输入拿到执行权后,先判断资 阅读全文
posted @ 2017-12-17 08:21 前锋营 阅读(307) 评论(0) 推荐(0) 编辑