摘要: 1、什么是匿名内部类? 内部类,存在于另一个类内部的类,而匿名内部类,顾名思义,就是没有名字的内部类。 2、为什么需要匿名内部类? 3、怎么实现匿名内部类? 阅读全文
posted @ 2017-11-29 17:25 毛会懂 阅读(407) 评论(0) 推荐(0) 编辑
摘要: 类 Byte ShortIntegerLong Float Double Boolean CharFile DateThread(java.lang.ThreadThread类的定义:public class Thread extends Object implements Runnable) 包  阅读全文
posted @ 2017-11-29 11:24 毛会懂 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 0.引言 什么都先不说,先看下面这个引入的例子: [java] view plain copy String str1 = new String("SEU")+ new String("Calvin"); System.out.println(str1.intern() == str1); Syst 阅读全文
posted @ 2017-11-27 14:48 毛会懂 阅读(292) 评论(0) 推荐(0) 编辑
摘要: 0. 前言 Java虚拟机(Java virtualmachine)实现了Java语言最重要的特征:即平台无关性。 平台无关性原理:编译后的 Java程序(.class文件)由 JVM执行。JVM屏蔽了与具体平台相关的信息,使程序可以在多种平台上不加修改地运行。Java虚拟机在执行字节码时,把字节码 阅读全文
posted @ 2017-11-27 14:25 毛会懂 阅读(195) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2017-11-20 16:32 毛会懂 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 控制并发线程数的Semaphore 简介 Semaphore(信号量)是用来控制同时访问特定资源的线程数量,它通过协调各个线程,以保证合理的使用公共资源。很多年以来,我都觉得从字面上很难理解Semaphore所表达的含义,只能把它比作是控制流量的红绿灯,比如XX马路要限制流量,只允许同时有一百辆车在 阅读全文
posted @ 2017-11-20 15:49 毛会懂 阅读(314) 评论(0) 推荐(0) 编辑
摘要: 要求:模拟200个设备,尽量瞬间并发量达到200。 思路 第一种:线程池模拟200个线程——wait等待线程数达200——notifyAll唤醒所有线程 第二种:线程池模拟200个线程——阻塞线程——达到200条件释放 比较 两种方案都可以实现瞬时高并发的模拟,但是建议使用第二种方案。 第一种方案中 阅读全文
posted @ 2017-11-20 15:45 毛会懂 阅读(883) 评论(0) 推荐(0) 编辑
摘要: 如何模拟一个并发?当时我的回答虽然也可以算是正确的,但自己感觉缺乏实际可以操作的细节,只有一个大概的描述。 当时我的回答是:“线程全部在同一节点wait,然后在某个节点notifyAll。” 面试官:“那你听说过惊群效应吗?” 我:“我没有听过这个名词,但我知道瞬间唤醒所有的线程,会让CPU负载瞬间 阅读全文
posted @ 2017-11-20 15:36 毛会懂 阅读(7053) 评论(0) 推荐(0) 编辑
摘要: 实现一个流控程序。控制客户端每秒调用某个远程服务不超过N次,客户端是会多线程并发调用,需要一个轻量简洁的实现,大家看看下面的一个实现,然后可以自己写一个实现。 阅读全文
posted @ 2017-11-20 13:48 毛会懂 阅读(3955) 评论(0) 推荐(0) 编辑
摘要: 1. 什么是原子操作?在Java Concurrency API中有哪些原子类(atomic classes)? 原子操作是指一个不受其他操作影响的操作任务单元。原子操作是在多线程环境下避免数据不一致必须的手段。 int++并不是一个原子操作,所以当一个线程读取它的值并加1时,另外一个线程有可能会读 阅读全文
posted @ 2017-11-20 13:45 毛会懂 阅读(165) 评论(0) 推荐(0) 编辑