08 2017 档案

Lock接口简介
摘要:在Java多线程编程中,我们经常使用synchronized关键字来实现同步,控制多线程对变量的访问,来避免并发问题。 但是有的时候,synchronized关键字会显得过于沉重,不够灵活。synchronized 方法或语句的使用提供了对与每个对象相关的隐式监视器锁的访问,但却强制所有锁获取和释放 阅读全文

posted @ 2017-08-17 15:15 猫咪大王 阅读(2280) 评论(0) 推荐(0)

用三个线程循环输出ABC
摘要:前两天看Java吧有人求助这个问题。想了想并不是很难。今天就顺手实现了一下。 我自己想到的有两种方法,一个是使用synchronized,一个是使用lock。 一、synchronized 这个方法的关键是synchronized关键字的位置。把它放在while判断之下就OK了。如果把synchro 阅读全文

posted @ 2017-08-16 21:26 猫咪大王 阅读(1271) 评论(0) 推荐(0)

TCP/IP四层模型
摘要:网络的分层模型有很多种,最常见的就是OSI的七层模型和TCP/IP的四层模型。 这里主要说一下TCP/IP的四层模型。TCP/IP的四层模型如下图所示: 一、应用层 向用户传送数据的层称为 应用层(application layer)。 传输层、网际层和主机网络层共同定义了数据如何从一台计算机传输到 阅读全文

posted @ 2017-08-15 19:07 猫咪大王 阅读(1024) 评论(0) 推荐(0)

Java多线程编程——生产者-消费者模式(1)
摘要:生产者-消费者模式在生活中非常常见。就拿我们去餐馆吃饭为例。我们会遇到以下两种情况: 1、厨师-客人 如下图所示,生产者、消费者直接进行交互。 生产者生产出产品后,通知消费者;消费者消费后,通知生产者。 以餐厅为例,厨师做好了一碗面,大声招呼:“13号,你的面好了!”;食客吃完了面,大声招呼:“师傅 阅读全文

posted @ 2017-08-11 10:40 猫咪大王 阅读(379) 评论(0) 推荐(0)

Java多线程编程——wait()和notify()、notifyAll()
摘要:1、源码 wait() notify() notifyAll()都是Object类中方法。源码如下所示: 可以看到它们都是final native修饰的方法。 2、使用条件 首先我们需要明确的一点是wait() notify() notifyAll()都是需要在线程拥有对象锁的情况下使用。 在没有对 阅读全文

posted @ 2017-08-02 18:28 猫咪大王 阅读(223) 评论(0) 推荐(0)

Java多线程编程——volatile关键字
摘要:(本篇主要内容摘自《Java多线程编程核心技术》) volatile关键字的主要作用是保证线程之间变量的可见性。 将JVM设置为-server时就会出现下面状况 可以看到 System.out.println("停止运行了!"); 没有得到运行,也就是说isRunning 一直是true的状态。 r 阅读全文

posted @ 2017-08-01 17:18 猫咪大王 阅读(204) 评论(0) 推荐(0)

2017年7月总结8月计划
摘要:这么快又是新的一个月了。 七月份对我而言就像一个转折点一般。 我离开了武汉,在那里我度过了我的17 18 19 20 21岁的大部分生涯。 还记得我刚进入大学,军训结束的时候就是我生日,那年我刚满17岁,室友们开开心心得帮我度过了生日。 现在我快22了,时间过得真快。 七月份,我经历了一段时间的加班 阅读全文

posted @ 2017-08-01 10:30 猫咪大王 阅读(171) 评论(0) 推荐(0)