- 浏览: 881426 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (509)
- android (55)
- CSS (23)
- eclipse (25)
- Data Structes and Algorithms (53)
- J2SE (87)
- Java_面试学习_j2se (26)
- java_面试学习_非技术 (13)
- java_gui (2)
- java_设计模式 (27)
- JDBC (10)
- java_web (15)
- hibernate (5)
- Oracle (37)
- Struts2 (7)
- Word-----dos (24)
- Jbpm (3)
- java小技巧 (8)
- math (1)
- flex (12)
- WebService (4)
- 生活 (9)
- 小框架或小语言 (27)
- spring (1)
- 面试~~~软实力 (7)
- jstat的用法 (1)
- jmap (1)
- 数据链路层和传输层的流量控制区别 (1)
- shell (0)
- 财商 (1)
- javascript (0)
- js研究 (1)
- 代码收集 (0)
最新评论
-
海尔群:
http://jingyan.baidu.com/articl ...
android加密 -
完美天龙:
------------------------- ...
asm----字节码操纵 -
houniao1990:
大神,请问 string 类型 定义为 oracle的 cha ...
hibernate注解 -
JamesQian:
Line:103
f.doFilter(msg);
是否需 ...
责任链模式_过滤器模式 -
sacoole:
好评
interview--- 如何从N个数中选出最大(小)的n个数?
package cn.itcast.heima2; import java.util.Random; public class ThreadLocalTest { private static ThreadLocal<Integer> x = new ThreadLocal<Integer>(); private static ThreadLocal<MyThreadScopeData> myThreadScopeData = new ThreadLocal<MyThreadScopeData>(); public static void main(String[] args) { for(int i=0;i<2;i++){ new Thread(new Runnable(){ @Override public void run() { int data = new Random().nextInt(); System.out.println(Thread.currentThread().getName() + " has put data :" + data); x.set(data); //方式1 /* MyThreadScopeData myData = new MyThreadScopeData(); myData.setName("name" + data); myData.setAge(data); myThreadScopeData.set(myData);*/ //方式二,new 出来的实例是每个线程一个 MyThreadScopeData.getThreadInstance().setName("name" + data); MyThreadScopeData.getThreadInstance().setAge(data); new A().get(); new B().get(); } }).start(); } } static class A{ public void get(){ int data = x.get(); System.out.println("A from " + Thread.currentThread().getName() + " get data :" + data); /* MyThreadScopeData myData = myThreadScopeData.get();; System.out.println("A from " + Thread.currentThread().getName() + " getMyData: " + myData.getName() + "," + myData.getAge());*/ MyThreadScopeData myData = MyThreadScopeData.getThreadInstance(); System.out.println("A from " + Thread.currentThread().getName() + " getMyData: " + myData.getName() + "," + myData.getAge()); } } static class B{ public void get(){ int data = x.get(); System.out.println("B from " + Thread.currentThread().getName() + " get data :" + data); MyThreadScopeData myData = MyThreadScopeData.getThreadInstance(); System.out.println("B from " + Thread.currentThread().getName() + " getMyData: " + myData.getName() + "," + myData.getAge()); } } } class MyThreadScopeData{ private MyThreadScopeData(){} public static /*synchronized*/ MyThreadScopeData getThreadInstance(){ MyThreadScopeData instance = map.get();//得到线程相关的实例 if(instance == null){ //改线程没有创建实例 instance = new MyThreadScopeData(); map.set(instance); } return instance; } //private static MyThreadScopeData instance = null;//new MyThreadScopeData(); private static ThreadLocal<MyThreadScopeData> map = new ThreadLocal<MyThreadScopeData>(); private String name; private int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }
发表评论
-
jdbc--批处理
2012-06-08 18:15 1127http://jdgnewtouch.iteye.com/bl ... -
jdbc
2012-06-07 20:51 912http://www.iteye.com/topic/6466 ... -
j2se----jdk6---httpServer
2012-06-05 20:42 1408package com.tdt.server.httpse ... -
获取运行时的堆栈信息
2011-12-11 11:00 2163public class Hi { public st ... -
简说XML的解析方式(DOM,SAX,StAX)
2011-09-30 08:44 929一般来说,解析XML文件存在着两种方式,一种是event-ba ... -
j2se----Java异步socket
2011-07-11 17:10 1438用异步输入输出流编写Socket进程通信程序 在Merlin ... -
j2se----socket的缓冲区讨论
2011-07-08 19:52 1768关于socket的发送缓冲区 ... -
Tomcat的Socket实现:org.apache.tomcat.util.net(一)
2011-07-08 19:12 1919org.apache.tomcat.util.net包的内容都 ... -
翻转句子中单词的顺序
2011-07-07 22:42 1749题目:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺 ... -
j2se---同步的Map
2011-07-07 20:50 1001顾名思义LinkedHashMap是比HashMap多了一个链 ... -
j2se---同步的Map
2011-07-07 20:48 10Map<String String> map = ... -
asm----字节码操纵
2011-06-30 09:14 3934想通过asm的代码生成来写.class文件至少得了解下面的 ... -
j2se----java中,如何获得用户当前的工作目录
2011-05-11 09:44 1869获得当前路径, get java current dire ... -
j2se-----zip
2011-05-10 09:05 1051private InitData getInitFile( ... -
j2se-----可变参数列表
2011-04-01 10:53 880public static void main(Strin ... -
UML
2010-12-31 09:42 896组合: 一种强聚合 class Bird{ ... -
j2se-----metadata
2010-12-19 17:14 1011DatabaseMetaData的用法 ... -
python------一小时学会
2010-12-08 16:28 1916先上java与python的相互调用 如何在Java中调用Jy ... -
j2ee------download.jsp
2010-12-08 13:39 1117Logger logger = C ... -
effective------equals , hashCode
2010-11-22 12:04 1046覆盖equals时总是覆盖hashCode :你都认为他 ...
相关推荐
- J2SE基础涵盖了很多面试常考问题,如基本类型及其封装类、equals与==的区别、对象方法、引用类型、哈希码、集合类的区别与用法、并发容器等。 - 还涉及面向对象特性、多线程、同步机制、并发包内的工具类,以及...
1. **J2SE**:它是Java的基础,提供了运行Java应用程序的环境。主要包括Java语言基础、面向对象编程、集合框架、异常处理、多线程、输入/输出流、网络编程等内容。其中,集合框架如ArrayList、LinkedList、HashMap等...
- 第一章介绍了线程的基础知识,包括Java中线程的基本术语,示例的使用说明,以及为什么需要使用线程。 2. **线程的创建与管理** - 第二章深入探讨了线程的创建和管理。包括线程的定义、创建方式、线程生命周期,...
#### J2SE基础 1. **九种基本数据类型的大小,及其封装类**: - Java提供了八种基本数据类型(`byte`, `short`, `int`, `long`, `float`, `double`, `boolean`, `char`),每种类型都对应一个封装类。例如,`byte` ...
随着版本的升级,JDK 1.1引入了JIT编译器,提高了性能,JDK 1.2则将Java技术划分为J2SE(Java标准版)、J2EE(Java企业版)和J2ME(Java微型版),并引入Swing组件库。JDK 1.3和1.4进一步增强了功能,如JNDI、JNI和...
这不仅包括了基础的J2SE(Java Standard Edition)部分,还涉及了JAVA WEB的全面内容。以下是这些领域的详细解析: **J2SE:** 1. **Java语法基础**:理解基本的变量、数据类型、运算符、控制结构(如if语句、...
│ │ 一些其它网站的java基础精华贴.txt │ │ 新建 文本文档.txt │ │ 经验总结.txt │ │ 资料目录.txt │ │ 题目.txt │ │ │ ├─HTML Pages │ │ │ Desktop_.ini │ │ │ Low Level Security in Java....
在Java 2(J2SE)中,`java.lang`包添加了一些新的类和方法,如`InheritableThreadLocal`,`ThreadLocal`的扩展,使得子线程可以继承父线程的变量,以及`SecurityManager`,用于实现安全管理策略。 过时方法在Java ...
│ │ 一些其它网站的java基础精华贴.txt │ │ 新建 文本文档.txt │ │ 经验总结.txt │ │ 资料目录.txt │ │ 题目.txt │ │ │ ├─HTML Pages │ │ │ Desktop_.ini │ │ │ Low Level Security in Java....
│ │ 一些其它网站的java基础精华贴.txt │ │ 新建 文本文档.txt │ │ 经验总结.txt │ │ 资料目录.txt │ │ 题目.txt │ │ │ ├─HTML Pages │ │ │ Desktop_.ini │ │ │ Low Level Security in Java....
│ │ 一些其它网站的java基础精华贴.txt │ │ 新建 文本文档.txt │ │ 经验总结.txt │ │ 资料目录.txt │ │ 题目.txt │ │ │ ├─HTML Pages │ │ │ Desktop_.ini │ │ │ Low Level Security in Java....
│ │ 一些其它网站的java基础精华贴.txt │ │ 新建 文本文档.txt │ │ 经验总结.txt │ │ 资料目录.txt │ │ 题目.txt │ │ │ ├─HTML Pages │ │ │ Desktop_.ini │ │ │ Low Level Security in Java....
3. **多线程**:Java 1.6对多线程的支持更加完善,包括Thread类、Runnable接口、synchronized关键字、volatile变量、ThreadLocal类以及并发工具类如Semaphore、CountDownLatch等。 4. **异常处理**:Java的异常处理...
在"23-多线程(02)"的压缩包中,很可能是进一步讲解了Java多线程的高级主题,如线程池的配置、并发集合(如ConcurrentHashMap、CopyOnWriteArrayList等)、线程局部变量(ThreadLocal)以及如何利用Future和...
包括synchronized关键字、wait()和notify()方法、ThreadLocal、线程池(ExecutorService)等概念。 3. **图形界面开发**:Java提供了丰富的图形用户界面(GUI)组件库,如Swing和JavaFX。这部分可能会介绍如何构建...
随着J2SE 5.0(Java SE 5)的发布,一些更先进的特性如泛型、枚举的改进和注解等引入,标志着Java进入了新的时代。 然而,对于那些需要维护旧系统的开发者来说,了解和熟悉JDK 1.4仍然是必要的。同时,研究JDK 1.4...
根据提供的文件信息,我们可以推断出这是一...综上所述,《Java Threads 第三版》涵盖了Java线程编程的各个方面,从基础知识到高级主题均有涉及。对于希望深入了解Java并发机制的开发者来说,这本书是一份宝贵的资源。