
JDK类学习
wankunde
这个作者很懒,什么都没留下…
展开
-
[转]string与stringbuffer的区别(经典)
string与stringbuffer的区别########################简单说来########################String对象内容是不可改变的,StringBuffer是可以改变的,并且高效。1.StringString a = "123"; a = a + "456";上面两句,虽然a的值最终改变了,但是实际上在编译的时候,第一...原创 2010-08-02 18:23:03 · 105 阅读 · 0 评论 -
JDK5-泛型
自己随便写的两个例子,可能说的不算全面吧! import java.util.Hashtable;public class Test1<K,V> { public Hashtable<K,V> table = new Hashtable<K, V>(); public void put(K k,V v) { table.put...原创 2012-05-14 22:01:39 · 150 阅读 · 0 评论 -
非主流并发工具之 ForkJoinPool
ForkJoinPool 是 Java SE 7 新功能“分叉/结合框架”的核心类,现在可能乏人问津,但我觉得它迟早会成为主流。分叉/结合框架是一个比较特殊的线程池框架,专用于需要将一个任务不断分解成子任务(分叉),再不断进行汇总得到最终结果(结合)的计算过程。比起传统的线程池类ThreadPoolExecutor,ForkJoinPool 实现了工作窃取算法,使得空闲线程能够主动分担从别的...原创 2012-05-09 23:54:06 · 267 阅读 · 0 评论 -
java利用FutureTask、ExecutorService 在多核时代充分利用CPU运算
FutureTask、ExecutorService 相关知识,请看java,API一个使用FutureTask简单的例子: package com.spell.threads;import java.util.concurrent.Callable;import java.util.concurrent.ExecutionException;import java.util.co...原创 2012-05-09 01:15:44 · 140 阅读 · 0 评论 -
ThreadLocal - 多线程共享变量的独立拷贝
基本概念 为每一个使用该变量的线程都提供一个变量值的副本,是每一个线程都可以独立地改变自己的副本,而不会和其它线程的副本冲突。从线程的角度看,就好像每一个线程都完全拥有该变量。使用场景 To keep state with a thread (user-id, transaction-id, logging-id) To cache objects which you need ...原创 2012-05-09 00:53:35 · 848 阅读 · 0 评论 -
java 里面volatile
Volatile修饰的成员变量在每次被线程访问时,都强迫从共享内存中重读该成员变量的值。而且,当成员变量发生变化时,强迫线程将变化值回写到共享内存。这样在任何时刻,两个不同的线程总是看到某个成员变量的同一个值。Java语言规范中指出:为了获得最佳速度,允许线程保存共享成员变量的私有拷贝,而且只当线程进入或者离开同步代码块时才与共享成员变量的原始值对比。这样当多个线程同时与某个...原创 2012-05-09 00:35:47 · 82 阅读 · 0 评论 -
阻塞队列使用---ArrayBlockingQueue
ArrayBlockingQueue是JAVA5中的一个阻塞队列,能够自定义队列大小,当插入时,如果队列已经没有空闲位置,那么新的插入线程将阻塞到该队列,一旦该队列有空闲位置,那么阻塞的线程将执行插入。从队列中取数据为:take,放数据为:put。下面的例子模拟了两个队列的插入和获取,首先在队列2中插入一个数据,启动线程2向队列2中插入数据时,该线程将阻塞在队列2等待,同时启动线程1向队列1中插入...原创 2012-05-04 19:28:24 · 110 阅读 · 0 评论 -
Java线程同步 (synchronized wait notify)
注:wait notify 都是Object的方法 同步(阻塞) :是一种防止对共享资源访问导致的数据不一致的一种模式。详细请参看操作系统。 在Java中,由于对多线程的支持,对同步的控制主要通过以下几个方法,synchronized,和wait(),notify()和notifyAll(),下面进行一一的讲解: A关键字synchronized每个jav...原创 2012-04-30 00:55:32 · 120 阅读 · 0 评论 -
jdk5 多线程学习
多线程复习线程有时称为 轻量级进程。与进程一样,它们拥有通过程序运行的独立的并发路径,并且每个线程都有自己的程序计数器,称为堆栈和本地变量。然而,线程存在于进程中,它们与同一进程内的其他线程共享内存、文件句柄以及每进程状态。一个进程中的线程是在同一个地址空间中执行的,所以多个线程可以同时访问相同对象,并且它们从同一堆栈中分配对象。 在 JDK 5.0 之前,确保线程安全的主要...原创 2012-04-30 00:50:12 · 128 阅读 · 0 评论 -
一个使用JSON-lib和json2.js的示例
使用了JSON-lib.jar 以及apache的commons的jar包 前台使用了json2.js来解析原创 2011-01-30 17:56:58 · 120 阅读 · 0 评论 -
JXL解析和生成Excel文件
JXL解析和生成Excel文件原创 2011-01-13 08:55:29 · 115 阅读 · 0 评论 -
约瑟夫环解决
package com;import java.util.ArrayList;import java.util.List;@SuppressWarnings("unchecked")public class Yuesefu { public static void main(String[] args) { List oldlist = new ArrayList()...原创 2011-01-10 17:37:48 · 146 阅读 · 0 评论 -
DOM4J解析XML数据
详细见附件原创 2011-01-06 17:57:02 · 109 阅读 · 0 评论 -
Java解析XML四种方式
示例工程见附件 1.DOM生成和解析XML文档 为 XML 文档的已解析版本定义了一组接口。 解析器读入整个文档,然后构建一个驻留内存的树结构,然后代码就可以使用 DOM 接口来操作这个树结构。 优点:整个文档树在内存中,便于操作;支持删除、修改、重新排列等多种功能; 缺点:将整个文档调入内存(包括无用的节点),浪费时间和空间; 使用场合:...原创 2011-01-06 17:21:14 · 120 阅读 · 0 评论 -
Web服务器和应用服务器的区别
通俗的讲,Web服务器传送(serves)页面使浏览器可以浏览,然而应用程序服务器提供的是客户端应用程序可以调用(call)的方法(methods)。确切一点,你可以说:Web服务器专门处理HTTP请求(request),但是应用程序服务器是通过很多协议来为应用程序提供(serves)商业逻辑(business logic)。 下面让我们来细细道来: Web服务器(Web Serve...原创 2010-06-05 20:56:31 · 112 阅读 · 0 评论 -
MyEclipse打包SWT浅析
MyEclipse打包SWT是什么概况呢?MyEclipse打包怎么执行呢?那么本文就向你介绍MyEclipse打包的基本情况。 MyEclipse打包SWT的缘由,最近做C/S界面使用了SWT,根据需求开发了一个类似“飞鸽”的传输终端,工程需要打jar包发布,并采用bat运行,打包发布的时候还真是遇到了点麻烦,下面我将自己的做法共享下MyEclipse打包SWT步...原创 2010-08-07 09:44:31 · 146 阅读 · 0 评论 -
String两种声明方式
String a="hello"; 声明一个String类型的 变量,变量的值是helloString a = new String("hello");是声明一个String类型的对象,对象的内容是helloString a="hello"; a是放在内存常量区String a = new String("hello");是放在内存堆空间里 ...原创 2010-08-02 18:25:14 · 579 阅读 · 0 评论 -
Java多线程之CyclicBarrier
import java.util.Random;import java.util.concurrent.CyclicBarrier;/** * CyclicBarrier类似于CountDownLatch也是个计数器, * 不同的是CyclicBarrier数的是调用了CyclicBarrier.await()进入等待的线程数, * 当线程数达到了CyclicBarrier...原创 2012-05-16 00:30:51 · 90 阅读 · 0 评论