上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 35 下一页
摘要: 一. 上一节中的代码写的并不是很眼镜,如下图中的属性,应该都是私有的。我们不应该直接访问资源中的属性,是因为它具备了不安全性。 瞎赋值怎么办呢?为了可控,意味着资源里面的属性需要被私有化,并对外提供方法访问。因此上节中的代码要进行改写。 首先对资源描述类进行修改,至于为什么set方法中写有两个形参, 阅读全文
posted @ 2017-12-17 09:00 前锋营 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 一. 引言 刚才的输出中,是一片相同的连续输出。现在我们希望,每输入一次,输出端就输出一次。 在输入前要先明确一下,资源里面是否有数据。有数据的话要先输出,我们要在资源中多定义个变量,用来标记里面是否有数据。 也就是说,资源里面的数据被输出了。 上来先默认资源里面没有数据。输入拿到执行权后,先判断资 阅读全文
posted @ 2017-12-17 08:21 前锋营 阅读(307) 评论(0) 推荐(0) 编辑
摘要: 一. 引言 之前讲述了线程的基本使用,卖票和存钱。卖票相当于把资源都释放出来,被别人获取到。而存钱,则是把数据都存进去。 现在,我们将线程进行了改变。以前是多个线程在执行同一个动作,无论是继承还是实现,都是一个run方法。换句话说,就是一个线程任务,多线程在同时执行一个任务。只不过它们是分别存放在了 阅读全文
posted @ 2017-12-16 14:55 前锋营 阅读(244) 评论(0) 推荐(0) 编辑
摘要: 一. 接下来将的也是同步的一个小知识点,我们在使用同步的时候,会有这么一种现象,死锁。 什么情况下,是锁死?在我们程序当中,最常见的体现形式之一就是同步的嵌套。形象的说法是:两个人各有一只筷子,都想要吃饭,结果争执之下,谁都吃不了。和谐的情况就是,筷子给对方,对方吃饭之后,再连自己的筷子一起还回来, 阅读全文
posted @ 2017-12-16 08:27 前锋营 阅读(243) 评论(0) 推荐(0) 编辑
摘要: 一. 单例设计模式之前在谈论的时候,有一部分涉及线程的问题,因此只讲述了一半。现在将其重新描述一下。 单例分为两种表现形式,懒汉和饿汉。 二. 多线程下的单例:饿汉式 懒汉式(延迟加载单例设计模式) 什么时候用到这个对象,再加载它。这个例子并不准备运行,知道就可以。 现在准备将其结合到多线程基础上来 阅读全文
posted @ 2017-12-15 21:02 前锋营 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 一. 接下来更加深入地讲解一下,示例还是卖票,但是程序稍作了修改。 也就是调用的同步函数有多个修饰符,有了static的存在。 由于show函数是静态的,访问的num,那么num也要修改为静态的变量。其实num静不静态都一样,都是共享数据。 在加了两个静态修饰符后,再次编译运行一下程序。 DOS结果 阅读全文
posted @ 2017-12-15 11:03 前锋营 阅读(333) 评论(0) 推荐(0) 编辑
摘要: 一. 至于同步函数用的是哪个锁,我们可以验证一下,借助原先卖票的例子 对于程序中的num,从100改为400,DOS的结果显示的始终都是0线程,票号最小都是1。 票号是没有问题的,因为同步了。 有人针对只出现0线程,说是票数太少,0线程都给操作完了。即使改成四万张票,也是0线程操作。 正常来说,四个 阅读全文
posted @ 2017-12-15 09:22 前锋营 阅读(327) 评论(0) 推荐(0) 编辑
摘要: 一. 不同的包有很多,不同包之间的类该如何访问呢?之前没有包的时候都是默认包,当前这个目录就是默认包,它们都在同一个包里进行互相访问(不同类之间的访问,调用)。现在看不同包里类与类之间的访问又是怎样的? 上一节的自动生成的包中,包名的确定是根据程序中自己书写的名字,来确定的。比如下图这样的,写成pa 阅读全文
posted @ 2017-12-13 17:25 前锋营 阅读(653) 评论(0) 推荐(0) 编辑
摘要: 一. 包的知识点是面向对象最后的知识点。 (都是对类的操作,那java源文件呢?) 什么是包?包有什么用? 介绍一下起源,同一个文件夹里面有两个.java的源程序。它们里面各自有一个class Demo类,在源文件编译的时候,分别会产生Demo类。但由于在同一个文件夹,因此只出现了一个Demo类。为 阅读全文
posted @ 2017-12-13 17:12 前锋营 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 一. 现在用一个示例,将刚才所讲的同步内容练习一下。 对于一个函数中,存在多个线程,如果出现安全隐患,这隐患是在哪儿?以及如何通过同步函数来解决。(相当于一个实操) 存一百,存三次是共同的,两个人执行的是同样的动作。 线程开启之前,要先有任务。这个任务要么叫爹覆盖我的方法,要么实现Runable把你 阅读全文
posted @ 2017-12-13 16:43 前锋营 阅读(232) 评论(0) 推荐(0) 编辑
上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 35 下一页