06 2017 档案
摘要:ThreadPool用法与优势 合理利用线程池能够带来三个好处。第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。第二:提高响应速度。当任务到达时,任务可以不需要等到线程创建就能立即执行。第三:提高线程的可管理性。线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低
阅读全文
摘要:若代理类在程序运行前就已经存在,那么这种代理方式被成为 静态代理 ,这种情况下的代理类通常都是我们在Java代码中定义的。 通常情况下, 静态代理中的代理类和委托类会实现同一接口或是派生自相同的父类。 一、概述1. 什么是代理我们大家都知道微商代理,简单地说就是代替厂家卖商品,厂家“委托”代理为其销
阅读全文
摘要:转自:http://www.iteye.com/topic/103804 首先,ThreadLocal 不是用来解决共享对象的多线程访问问题的,一般情况下,通过ThreadLocal.set() 到线程中的对象是该线程自己使用的对象,其他线程是不需要访问的,也访问不到的。各个线程中访问的是不同的对象
阅读全文
摘要:HashMap,LinkedHashMap,TreeMap对比: 共同点: HashMap,LinkedHashMap,TreeMap都属于Map;Map 主要用于存储键(key)值(value)对,根据键得到值,因此键不允许键重复,但允许值重复。 不同点: 1.HashMap里面存入的键值对在取出
阅读全文
摘要:hashmap是不安全的,要实现安全,可以用Collections里面的synchronizedMap包裹来实现安全,或者用concurrentMap, 注意:hashtable是安全的 从JDK1.2起,就有了HashMap,正如前一篇文章所说,HashMap不是线程安全的,因此多线程操作时需要格
阅读全文
摘要:java System.gc() 与 Runtime.getRuntime().gc() 有什么区别? java.lang.System.gc()只是java.lang.Runtime.getRuntime().gc()的简写,两者的行为没有任何不同。唯一要能说有什么不同那就是在字节码层面上调用前者
阅读全文
摘要:转自:http://blog.csdn.net/hguisu/article/details/6155636/ 1. 引子 1. 引子 try…catch…finally恐怕是大家再熟悉不过的语句了,而且感觉用起来也是很简单,逻辑上似乎也是很容易理解。不过,我亲自体验的“教训”告诉我,这个东西可不是
阅读全文
摘要:从Java 5之后,在Java.util.concurrent.locks包下提供了另外一种方式来实现同步访问,那就是Lock。 1.Lock 首先要说明的就是Lock,通过查看Lock的源码可知,Lock是一个接口: 1 2 3 4 5 6 7 8 public interface Lock {
阅读全文
摘要:监视器与锁之间的关系: 1、object monitor 是任何一个对象都有的内置的数据结构,它是用来协调使用当前对象的多个线程之间的执行顺序的(wait/notify),线程会block或者wait 在一个对象的监视器上;锁是 对对象访问的时候,通过对对象加锁,防止并行访问的控制手段; 2、对 对
阅读全文
摘要:mkdirs()可以建立多级文件夹, mkdir()只会建立一级的文件夹, 如下: new File("/tmp/one/two/three").mkdirs(); 执行后, 会建立tmp/one/two/three四级目录 new File("/tmp/one/two/three").mkdir(
阅读全文
摘要:1. Comparator 和 Comparable 相同的地方他们都是java的一个接口, 并且是用来对自定义的class比较大小的,什么是自定义class: 如 public class Person{ String name; int age }.当我们有这么一个personList,里面包含
阅读全文
摘要:这里要讨论这些常用的默认初始容量和扩容的原因是: 当底层实现涉及到扩容时,容器或重新分配一段更大的连续内存(如果是离散分配则不需要重新分配,离散分配都是插入新元素时动态分配内存),要将容器原来的数据全部复制到新的内存上,这无疑使效率大大降低。 加载因子的系数小于等于1,意指 即当 元素个数 超过 容
阅读全文
摘要:一:快速失败(fail—fast) 在用迭代器遍历一个集合对象时,如果遍历过程中对集合对象的内容进行了修改(增加、删除、修改),则会抛出Concurrent Modification Exception。 原理:迭代器在遍历时直接访问集合中的内容,并且在遍历过程中使用一个 modCount 变量。集
阅读全文
摘要:转自:http://crystal2012.iteye.com/blog/1447845 在WWW(全球资讯网)中想要连结到某个网页,便需要给浏览器一个位址,而URL在此的功能就是告知浏览器某个资源在那个位置,简单来说,通常我们在IE或Netscape浏览器中所输入的网址就是URL的其中一种。 HT
阅读全文
摘要:转自: http://blog.csdn.net/guoweimelon/article/details/50804799 HashSet是Java Map类型的集合类中最常使用的,本文基于Java1.8,对于HashSet的实现原理做一下详细讲解。 (Java1.8源码:http://docs.o
阅读全文
摘要:转自:http://blog.csdn.net/caihaijiang/article/details/6280251 HashMap 和 HashSet 是 Java Collection Framework 的两个重要成员,其中 HashMap 是 Map 接口的常用实现类,HashSet 是
阅读全文
摘要:转自:http://blog.csdn.net/yuwei19840916/article/details/3245107 共享锁【S锁】又称读锁,若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁。这保证了其他事务可以读A,但在
阅读全文
摘要:这篇文章不错 http://www.importnew.com/14111.html java io底层是如何实现的 http://blog.csdn.net/zxman660/article/details/7875762 http://ifeve.com/overview/ https://ww
阅读全文
摘要:http://www.cnblogs.com/lwbqqyumidi/p/3837629.html http://blog.csdn.net/sunxianghuang/article/details/51982979 之前讨论的都是对于一个类,每次实例化的时候对象的各种类型都是一致的,比如一个pe
阅读全文
摘要:java中数组: 数组在Java里是一种特殊类型,有别于普通的“类的实例”的对象。但实际数组也是一种对象类型,int[]a = new int[5] a是在java栈中分配的引用变量,类型是int[] 数组类型,指向在堆里面地址连续的实际数组对象。 在内存中,数组存储在连续的区域内部,因为数组中每个
阅读全文
摘要:转自: http://blog.csdn.net/wangloveall/article/details/7992448/ Java序列化与反序列化是什么?为什么需要序列化与反序列化?如何实现Java序列化与反序列化?本文围绕这些问题进行了探讨。 1.Java序列化与反序列化 Java序列化是指把J
阅读全文
摘要:有时候 ,做软件时间长了,总是有点困扰。由于做的是java, 处于高级语言的范围,自然会对计算机语言这个东西在社会发展的过程中处于什么样的地位而思考,能不能每写一句代码的时候,从最上层的抽象到最底层CPU硬件的运行有一个清晰 的思维,为什么会出现 计算机这个东西,计算机的出现对于社会的发展有什么用,
阅读全文
摘要:放在一个类的内部的类我们就叫内部类。 二、 作用 1.内部类可以很好的实现隐藏 一般的非内部类,是不允许有 private 与protected权限的,但内部类可以 2.内部类拥有外围类的所有元素的访问权限 3.可是实现多重继承 4.可以避免修改接口而实现同一个类中两种同名方法的调用。 提起Java
阅读全文
摘要:在java线程并发处理中,有一个关键字volatile的使用目前存在很大的混淆,以为使用这个关键字,在进行多线程并发处理的时候就可以万事大吉。 Java语言是支持多线程的,为了解决线程并发的问题,在语言内部引入了 同步块 和 volatile 关键字机制。 synchronized 同步块大家都比较
阅读全文
摘要:转自: http://blog.csdn.net/zhangjg_blog/article/details/18369201 Java中对象的创建 clone顾名思义就是复制, 在Java语言中, clone方法被对象调用,所以会复制对象。所谓的复制对象,首先要分配一个和源对象同样大小的空间,在这个
阅读全文
摘要:转:http://blog.csdn.net/zhangjg_blog/article/details/18319521 什么是不可变对象? 众所周知, 在Java中, String类是不可变的。那么到底什么是不可变的对象呢? 可以这样认为:如果一个对象,在它创建完成之后,不能再改变它的状态,那么这
阅读全文
摘要:RPC(Remote Procedure Call Protocol) RPC使用C/S方式,采用http协议,发送请求到服务器,等待服务器返回结果。这个请求包括一个参数集和一个文本集,通常形成“classname.methodname”形式。优点是跨语言跨平台,C端、S端有更大的独立性,缺点是不支
阅读全文
摘要:内存溢出 out of memory,是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;比如申请了一个integer,但给它存了long才能存下的数,那就是内存溢出。 内存泄露 memory leak,是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可
阅读全文
摘要:父类中的final private方法不能被继承,父类中的static方法可以被继承,但是不能重写,这三者都属于前期绑定,java中除了这三种以及构造方法之外剩下的都是后期绑定(运行是绑定). 当父类的引用指向子类时,调用静态方法看引用,调用普通方法看对象。 静态的方法可以被继承,但是不能重写。如果
阅读全文
摘要:http://blog.csdn.net/yfqnihao/article/details/8271665 http://blog.csdn.net/cutesource/article/details/5904501 http://www.cnblogs.com/dingyingsi/p/3760
阅读全文
摘要:转自:http://blog.csdn.net/withiter/article/details/8140338 今天中午闲着没事,就随便写点关于Java单例模式的。其实单例模式实现有很多方法,这里我将对这些方法进行对比分析: 第一种: [java] view plain copy print? p
阅读全文