Java SE
不爱吃萝卜的兔子
这个作者很懒,什么都没留下…
展开
-
java需要关注的知识点---IO流
1.无论何时使用readLine().都不应该使用DataInputStream,而应该使用BufferedReader.2.RandomAccessFile,只有RandomAccessFile支持搜索操作,并且只适用于文件。到jdk1.4中,它的大部分功能被nio存储映射文件所取代。3.读文件的几种方式:缓冲输入文件[code="java"]public class B...原创 2011-12-16 17:06:50 · 85 阅读 · 0 评论 -
java需要关注的知识点---HashMap
做了两年的java,感觉技术上没多大提升,特别是呆了一年外企,整理感觉自己都萎靡,不爱学习!所以,写个帖子记下在网上看到的东西以及自己要去学习的内容!努力奋斗!1.HashMap的实现--------------------<在看> 1.1 HashMap 的默认size是16,默认临界值是 12,默认的基数0.75。 1.2 HashMap 的最大size...原创 2011-11-17 17:48:16 · 99 阅读 · 0 评论 -
待了解的知识
2.Memcached----------------------- Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据库驱动网站的速度[url]http://tech.idv2.com/2008/07/10/memcached-001/[/url][url]h...原创 2011-11-21 14:40:33 · 134 阅读 · 0 评论 -
java需要关注的知识点---ConcurrentHashMap
ConcurrentHashMap默认初始大小 16,临界值:12:基数:0.751.ConcurrentHashMap是一个线程安全的hashMap。相对hashMap多出以下一些特殊属性:[code="java"] //默认能够同时运行的线程数目 static final int DEFAULT_CONCURRENCY_LEVEL = 16; //最大同时...原创 2011-11-21 14:53:11 · 138 阅读 · 0 评论 -
java需要关注的知识点---Hashtable
在concurrentHashMap出来之前,hashtable一直是作为线程安全的map使用。hashtable默认的初始大小是:11.1.Hashtable中的put方法。[code="java"] public synchronized V put(K key, V value) { // Make sure the value is not null if (va...原创 2011-11-23 11:21:46 · 112 阅读 · 0 评论 -
java需要关注的知识点---ArrayList
1.ArrayList 容器初始大小为10,使用object数组实现。2.ArrayList 在扩容、增加元素和删除元素的时候,使用的是数组的深克隆。3.ArrayList 的add()方法:[code="java"] public boolean add(E e) { ensureCapacity(size + 1); // Increments modCount!!...原创 2011-11-23 16:37:16 · 91 阅读 · 0 评论 -
volatile 修饰符
volatile修饰符告诉编译程序不要对该变量所参与的操作进行某些优化。在两种特殊的情况下需要使用volatile修饰符:第一种情况涉及到内存映射硬件(memory-mapped hardware,如图形适配器,这类设备对计算机来说就好象是内存的一部分一样),第二种情况涉及到共享内存(shared memory,即被两个以上同时运行的程序所使用的内存)。 大多数计算机拥有一系列寄存器,其...原创 2011-11-23 16:39:33 · 85 阅读 · 0 评论 -
java需要关注的知识点---LinkedList
LinkedList是采用双向链表来存储数据:[color=red][b]LinkedList允许插入null的值[/b][/color]双向链表的结构图:[img]http://dl.iteye.com/upload/attachment/594272/3436e4ec-0d11-3447-b29a-f3fdbdd4bd2e.jpg[/img]LinkedList的构...原创 2011-11-24 10:19:43 · 124 阅读 · 0 评论 -
java需要关注的知识点---Vector
1.默认初始大小 10.2.Vector是一个object数组,Vector的add是线程安全的。3.Vector的方法 ensureCapacityHelper[code="java"] private void ensureCapacityHelper(int minCapacity) { int oldCapacity = elementData.length; i...原创 2011-11-24 17:53:48 · 75 阅读 · 0 评论 -
java需要关注的知识点---HashSet
1.构造方法:[code="java"] public HashSet() { map = new HashMap(); }[/code]可以看出,hashSet的实现其实是一个hashMap(详见本人写的hashMap)HashSet中基本都是调用hashMap的方法实现的,取得的值都是hashMap的key,在往hashMap存入值时候,value都是一个默...原创 2011-11-28 15:20:59 · 74 阅读 · 0 评论 -
TreeeMap的底层实现
treeMap插入元素的图解法:插入前:[img]http://dl.iteye.com/upload/attachment/596734/535868cb-fe05-3cd1-9f9f-a2d876d92b83.gif[/img]插入过程:1[img]http://dl.iteye.com/upload/attachment/596738/bb978c92-5...原创 2011-11-28 17:46:34 · 98 阅读 · 0 评论 -
重入锁
重入锁(ReentrantLock)是一种递归无阻塞的同步机制。以前一直认为它是synchronized的简单替代,而且实现机制也不相差太远。不过最近实践过程中发现它们之间还是有着天壤之别。 以下是官方说明:一个可重入的互斥锁定 Lock,它具有与使用 synchronized 方法和语句所访问的隐式监视器锁定相同的一些基本行为和语义,但功能更强大。ReentrantLock 将由最近成功...原创 2012-02-08 14:18:47 · 86 阅读 · 0 评论 -
java需要关注的知识点---并发之加入一个新线程
[code="java"]package com.thread;public class Joining { public static void main(String[] args) { Sleeper sleepy = new Sleeper("Sleepy",15000), grumpy = new Sleeper("Grumpy",15000); J...原创 2012-01-03 11:29:13 · 100 阅读 · 0 评论 -
java需要关注的知识点---并发之后台线程
所谓的后台线程,是指在程序运行的时候在后台提供一种通用服务的线程,并且这种线程并不属于程序中不可或缺的部分。因此,当所有的非后台线程结束的时候,程序也就终止,同时会杀死所有的后台线程。[code="java"]package com.thread;import java.util.concurrent.TimeUnit;public class SimpleDaemons ...原创 2011-12-30 16:07:50 · 83 阅读 · 0 评论 -
java需要关注的知识点---标准I0流
[color=red][b]System.in[/b][/color][code="java"]public class SystemInTest { public static void main(String[] args) throws IOException { BufferedReader stdin = new BufferedReader(new InputStre...原创 2011-12-20 11:16:16 · 74 阅读 · 0 评论 -
java需要关注的知识点---I0之新IO(NI0)
缓冲器操纵数据:ByteBuffer是数据移进移出通道的唯一方式,使用ByteBuffer.wrap把子节数组包装起来然后用getChannel()方法在FileInputStream上打开一个通道,接着将来自于ByteBuffer的数据写入到FileChannel中。ByteBuffer的方法详细:capacity()--->返回缓冲区容量clear() --->清空缓冲区,...原创 2011-12-20 15:40:38 · 315 阅读 · 0 评论 -
java需要关注的知识点---I0之获取特殊属性
1.获取文本的编码方式:[code="java"]String encoding = System.getProperty("file.encoding");[/code]2.获取缓存中的数据。[code="java"]//encoding 为编码方式Charset.forName(encoding).decode(buff)[/code]...原创 2011-12-20 17:51:47 · 87 阅读 · 0 评论 -
java需要关注的知识点---Charset
1.Charset 名称必须以字母或数字开头。空字符串不是合法的 charset 名称。Charset 名称是大小写不敏感的,也就是当比较 charset 名称时总是忽略大小写。Charset 名称通常遵循 RFC2278:IANA Charset Registration Procedures 中所记录的约定.2.一些 charset 有一个历史名称,定义这个名称是为了和以前版本的 Java...原创 2011-12-21 10:25:03 · 138 阅读 · 0 评论 -
java需要关注的知识点--新I0(NIO)之大文件读取
在读取大文件的时候,采用管道方式进行分流,使用byteBuffer把文件分成一段段的进行读写。生成大文件 :[code="java"]public class ProductionFile { private static void productFile() throws FileNotFoundException { File file = new File("D://l...原创 2011-12-22 14:43:51 · 100 阅读 · 0 评论 -
java需要关注的知识点---I0之压缩
1.GZIP压缩:[code="java"]public class GZIPPcompress { public static void main(String[] args) throws IOException { if (args.length == 0) { System.out.println("Usage: \n GZIPcompress file\n" +...原创 2011-12-26 15:38:35 · 62 阅读 · 0 评论 -
java需要关注的知识点---I0之对象序列化
1。对象序列化:序列化是什么: 序列化就是将一个对象的状态(各个属性量)保存起来,然后在适当的时候再获得。 序列化分为两大部分:序列化和反序列化。序列化是这个过程的第一部分,将数据分解成字节流,以便存储在文件中或在网络上传输。反序列化就是打开字节流并重构对象。对象序列化不仅要将基本数据类型转换成字节表示,有时还要恢复数据。恢复数据要求有恢复数据的对象实例 序列化的什么特点:...原创 2011-12-27 10:59:02 · 122 阅读 · 0 评论 -
java需要关注的知识点---I0之XML的生成
[code="java"]package com.io;import java.io.BufferedOutputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.OutputStream;import java.util.Arrays;import java...原创 2011-12-27 17:47:21 · 69 阅读 · 0 评论 -
java需要关注的知识点---并发之定义任务
1:定义任务:[code="java"]public class LiftOff implements Runnable{ private int count = 10; private static int taskCount = 0; private final int id = taskCount++; public void run() { while(co...原创 2011-12-29 12:53:36 · 76 阅读 · 0 评论 -
java需要关注的知识点---并发之使用Executor
[code="java"]public class CachedthreadPool { public static void main(String[] args) { ExecutorService es = Executors.newCachedThreadPool(); for ( int i = 0; i< 5; i++) es.execute(new Lif...原创 2011-12-29 16:00:02 · 96 阅读 · 0 评论 -
java需要关注的知识点---并发之从任务中产生返回值
[code="java"]class TaskWithResult implements Callable{ private int id; public int getId() { return id; } public TaskWithResult(int id) { super(); this.id = id; } public v...原创 2011-12-29 16:04:32 · 76 阅读 · 0 评论 -
日志记录工具类
[code="java"]import org.apache.log4j.Logger;public class LogUnits { private static Logger logger = null; public static void logException(Exception e){ StackTraceElement[] stacks = (new ...原创 2012-11-09 15:51:41 · 155 阅读 · 0 评论