摘要: 转载自: Java并发编程:synchronized http://www.cnblogs.com/dolphin0520/p/3923737.html 前文中也有相关的详细描述:02 如何创建线程 线程并发与synchornized 虽然多线程编程极大地提高了效率,但是也会带来一定的隐患。比如说两 阅读全文
posted @ 2015-08-27 10:48 yweihainan 阅读(245) 评论(0) 推荐(0) 编辑
摘要: 1 .Thread中重要的属性 2 构造方法 在Thread重载了很多构造方法 我们挑选几个常用的进行列举 可以看出Thread的构造方法最终都会调用init方法 3 线程的状态 线程有四种状态 1. 新状态:线程已被创建但尚未执行(start() 尚未被调用)。 2. 可执行状态:线程可以执行,虽 阅读全文
posted @ 2015-08-27 10:28 yweihainan 阅读(574) 评论(0) 推荐(0) 编辑
摘要: 实现Callable<T>接口 :有泛型 实现call方法 有返回值 可以抛出异常 1 定义一个类实现Callable接口 可以指定泛型 2 实现call方法 有返回值 返回值类型是指定的泛型类型 3 使用Executors工厂获取ExecutorService线程池 4 将Callable子类实例 阅读全文
posted @ 2015-08-26 16:41 yweihainan 阅读(1264) 评论(0) 推荐(3) 编辑
摘要: 所有程序运行结果 请自行得出 创建线程方式一:继承Thread类 步骤: 1,定义一个类继承Thread类。 2,覆盖Thread类中的run方法。 3,直接创建Thread的子类对象创建线程。 4,调用start方法开启线程并调用线程的任务run方法执行。 若执行以下代码: 观察结果:程序是顺序执 阅读全文
posted @ 2015-08-26 16:32 yweihainan 阅读(1572) 评论(0) 推荐(3) 编辑
摘要: 一.操作系统中为什么会出现进程? 说起进程的由来,我们需要从操作系统的发展历史谈起。 也许在今天,我们无法想象在很多年以前计算机是什么样子。我们现在可以用计算机来做很多事情:办公、娱乐、上网,但是在计算机刚出现的时候,是为了解决数学计算的问题,因为很多大量的计算通过人力去完成是很耗时间和人力成本的。 阅读全文
posted @ 2015-08-26 15:48 yweihainan 阅读(354) 评论(0) 推荐(0) 编辑
摘要: 一、意图 保证一个类仅有一个实例,并提供一个访问它的全局访问点。 我们怎么样才能保证一个类只有一个实例并且这个实例易于被访问呢? 如果将对象赋值给一个java静态变量,那么你必须在程序一开始就创建好对象。万一这个对象非常耗费资源,而程序在这次的执行过程中又一直没有使用到它,不就形成浪费吗? 一个更好 阅读全文
posted @ 2015-08-26 13:49 yweihainan 阅读(404) 评论(0) 推荐(0) 编辑
摘要: 相信这段代码,问题不大 throw和return:都可以结束方法 结果: 如果catch有throw语句,在catch块中throw后面的语句执行不到(报错)。此时仍然会执行finally语句,但不会执行finally后面的语句 这里没什么好说的 结果: finally中的内容不论程序有无异常,都会 阅读全文
posted @ 2015-08-26 11:16 yweihainan 阅读(278) 评论(0) 推荐(0) 编辑
摘要: ConcurrentHashMap是Java5中新增加的一个线程安全的Map集合,可以用来替代HashTable。对于ConcurrentHashMap是如何提高其效率的,可能大多人只是知道它使用了多个锁代替HashTable中的单个锁,也就是锁分离技术(Lock Stripping)。实际上,Co 阅读全文
posted @ 2015-08-26 10:58 yweihainan 阅读(589) 评论(0) 推荐(0) 编辑
摘要: 集合是编程中最常用的数据结构。而谈到并发,几乎总是离不开集合这类高级数据结构的支持。比如两个线程需要同时访问一个中间临界区(Queue),比如常会用缓存作为外部文件的副本(HashMap)。这篇文章主要分析jdk1.5的3种并发集合类型(concurrent,copyonright,queue)中的 阅读全文
posted @ 2015-08-26 10:42 yweihainan 阅读(692) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2015-08-26 10:15 yweihainan 阅读(233) 评论(0) 推荐(0) 编辑
摘要: 1 class OperatorTest { 2 public static void main(String[] args) { 3 int a = 10; 4 int b = 20; 5 6 System.out.println("a:"+a+",b:"+b); 7 8 ... 阅读全文
posted @ 2015-08-26 10:07 yweihainan 阅读(609) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2015-08-26 10:00 yweihainan 阅读(246) 评论(0) 推荐(0) 编辑
摘要: Class.forName("xxx.xx.xx") 1 作用:加载类文件Class.forName(xxx.xx.xx) 返回的是一个类 而非对象 作用就是把对象的模板加载到内存在java里面任何class都要装载在虚拟机上才能运行。 2 静态静态的代码与类相关.其执行与初始化是在类文件加载时完成 阅读全文
posted @ 2015-08-26 09:56 yweihainan 阅读(450) 评论(0) 推荐(0) 编辑
摘要: Constructor Constructor表示一个类的构造器。即构造器的反射对象! 它是Class的一个组成部门,所以需要先得到Class,再通过Class的方法得到Constructor 1获取Constructor对象 获取Construcator对象需要使用Class对象,下面API来自C 阅读全文
posted @ 2015-08-26 09:52 yweihainan 阅读(257) 评论(0) 推荐(0) 编辑
摘要: 反射含义:可以获取正在运行的Java对象。 JAVA反射机制是在运行状态中,对于任意一个类,都能够得到这个类的所有属性和方法; 对于任意一个对象,都能够调用它的任意一个方法; 这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制. 反射就是让你可以通过名称来得到对象(类,属性,方 阅读全文
posted @ 2015-08-26 09:43 yweihainan 阅读(539) 评论(0) 推荐(1) 编辑
摘要: 1:what is it jvm把描述类的数据从class字节码文件加载到内存,并对数据进行校验、解析、初始化,最终成为jvm直接使用的数据类型 1、ClassNotFoundExcetpion 我们在开发中,经常可以遇见java.lang.ClassNotFoundExcetpion这个异常,今天 阅读全文
posted @ 2015-08-26 09:20 yweihainan 阅读(1458) 评论(0) 推荐(0) 编辑
摘要: HashMap是基于哈希表的Map接口的非同步实现 此实现提供所有可选的映射操作,并允许使用null值和null键 Hashtable跟HashMap很像,唯一的区别是Hashtalbe中的方法是线程安全的,也就是同步的 1 HashMap的数据结构: 在java编程语言中,最基本的结构就是两种,一 阅读全文
posted @ 2015-06-23 22:59 yweihainan 阅读(336) 评论(0) 推荐(0) 编辑
摘要: 垃圾回收(Garbage Collection, GC)是Java不同于c与c++的重要特性之一。 他帮助Java自动清空堆中不再使用的对象。 由于不需要手动释放内存,程序员在编程中也可以减少犯错的机会。 利用垃圾回收,程序员可以避免一些指针和内存泄露相关的bug(这一类bug通常很隐蔽)。 垃圾回 阅读全文
posted @ 2015-06-21 19:47 yweihainan 阅读(650) 评论(0) 推荐(1) 编辑
摘要: 1 问题说明: 在VMware里克隆出来的CentOS Linux使用ifconfig命令,我们没有看到eth0.。 然后重启网卡又报下面错误。 2 解决办法: 首先,打开/etc/udev/rules.d/70-persistent-net.rules内容如下面例子所示: 记录下,eth1网卡的m 阅读全文
posted @ 2015-06-20 17:20 yweihainan 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 我们要想实现IO的操作,就必须知道硬盘上文件的表现形式。 而Java就提供了一个类File供我们使用。 File java.io.File 文件和目录路径名的抽象表示形式,未必真实存在 1 构造方法 public File(String pathname) 构造函数,pathname必须是完整的路径 阅读全文
posted @ 2015-04-08 21:00 yweihainan 阅读(305) 评论(0) 推荐(0) 编辑