- 浏览: 33218 次
- 性别:
- 来自: 北京
-
最新评论
-
Corwen:
INSERT ... ON DUPLICATE KEY UPD ...
mysql insert的几点操作(DELAYED 、IGNORE、ON DUPLICATE KEY UPDATE )
import java.util.concurrent.CountDownLatch; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; /** * CountDownLatch维护一个计数器,等待这个CountDownLatch的线程必须等到计数器为0时才可以继续. * 以下实例模拟服务器的启动,假设启动一个服务器需要初始化3个组件,当3个组件初始化完毕后,服务器才算成功启动. */ /** * 使用CountDownLatch的关键技术点如下: * 1.构造CountDownLatch对象时,需要指定计数器的初始值,该值必须大于等于0,一旦对象被创建,其初始值将不能被改变. * 2.CountDownLatch的await方法使当前线程进入等待状态,直到计数器为0 * 3.CountDownLatch的 和countDown方法使计数器减1. */ public class CountDownLatchTest { /** 初始化组件的线程 */ public static class ComponentThread implements Runnable { CountDownLatch latch; //计数器 int ID; //组件ID //构造方法 public ComponentThread(CountDownLatch latch, int ID) { this.latch = latch; this.ID = ID; } public void run() { //初始化组件 System.out.println("Initializing component " + ID); try { Thread.sleep(500 * ID); } catch (InterruptedException e) {} System.out.println("Component " + ID + " initialized!"); latch.countDown(); //将计数器减1 } } /** 启动服务器 */ public static void startServer() throws Exception { System.out.println("Server is starting."); //初始化一个初始值为3的CountDownLatch CountDownLatch latch = new CountDownLatch(3); //启动3个线程分别去3个组件 ExecutorService service = Executors.newCachedThreadPool(); service.submit(new ComponentThread(latch, 1)); service.submit(new ComponentThread(latch, 2)); service.submit(new ComponentThread(latch, 3)); service.shutdown(); latch.await();//等待3个组件的初始化工作都完成 System.out.println("Server is up!");//当所需的三个组件都完成时,Server就可以继续了 } public static void main(String... args) throws Exception { CountDownLatchTest.startServer(); } }
发表评论
-
apache 中的EqualsBuilder和HashCodeBuilder
2012-05-04 10:27 1025自动化hashCode()和equals() 问题产生:当需 ... -
Java 中的Double Check Lock
2012-05-03 10:53 1648对于多线程编程来说 ... -
JDK5.0新特性系列---11.4线程 Condition
2012-05-02 11:05 813import java.util.concurrent. ... -
JDK5.0新特性系列---11.6线程 BlockingQueue
2012-05-02 11:05 795importjava.util.concurrent. ... -
JDK5.0新特性系列---11.5.4线程 同步装置之Exchanger
2012-05-02 11:05 748/** * Exchanger让两个线程互换信息 ... -
JDK5.0新特性系列---11.5.1线程 同步装置之Semaphore
2012-05-03 10:54 767import java.util.ArrayList; ... -
JDK5.0新特性系列---11.2线程 任务执行架构
2012-05-03 10:54 874import java.util.concurrent. ... -
JDK5.0新特性系列---11.3线程 锁Lock
2012-05-03 10:54 796import java.util.concurrent. ... -
JDK5.0新特性系列---11.1线程 Callable和Future
2012-05-03 10:54 1230import java.util.concurrent. ... -
JDK5.0新特性系列---8.泛型编程
2012-04-28 08:58 850import java.util.ArrayList; ... -
JDK5.0新特性系列---10.监控与管理虚拟机
2012-04-28 08:58 906import java.lang.management ... -
JDK5.0新特性系列---9.注释功能Annotation
2012-04-28 08:58 824import java.lang.annotation. ... -
JDK5.0新特性系列---7.使用ProcessBuilder执行本地命令
2012-04-28 08:57 944import java.io.BufferedReade ... -
JDK5.0新特性系列---6.格式化输出
2012-04-28 08:57 628import java.util.Date; / ... -
JDK5.0新特性系列---5.可变长参数Varargs
2012-04-26 21:53 600/** * 在J2SE5.0之前,当传入到方法的参数 ... -
JDK5.0新特性系列---4.静态导入
2012-04-26 21:51 739/** *静态导入:是指可以import类的静态方法 ... -
JDK5.0新特性系列---3.枚举类型
2012-04-26 21:50 643/** *enum关键字表示枚举类型,它的作用相当于 ... -
JDK5.0新特性系列---2.新的for循环
2012-04-26 21:48 689import java.util.ArrayList; ... -
JDK5.0新特性---1.自动装箱和拆箱
2012-04-26 21:44 888/** * 基本类型的数据值可以直接赋给基本数据对象 ... -
JAVA移位运算符)
2012-04-20 13:32 860移位运算符就是在二 ...
相关推荐
压缩包中的文件`jdk-1_5_0-windows-i586.exe`是Windows平台上的JDK 5.0安装程序,适用于32位系统。安装这个版本的JDK后,开发者可以体验到上述的新特性,并在项目中使用它们来提升代码质量。需要注意的是,随着Java...
JDK5.0是Oracle公司于2004年发布的一个重要版本,引入了许多新特性,对Java编程语言做了重大改进,提升了开发效率。要下载JDK5.0,首先访问Oracle的官方网站历史版本页面,或者通过互联网上的存档链接找到该版本的...
### JDK 5.0新特性详解 #### 一、自动装箱与自动拆箱 在JDK 5.0中,引入了一个非常实用的功能——自动装箱和自动拆箱,这极大地方便了开发者在处理基本数据类型和它们对应的封装类之间的转换。以前,我们可能需要...
[浪曦][原创]JDK5.0新特性[风中叶老师主讲]共10 part [浪曦][原创]JDK5.0新特性[风中叶老师主讲]共10 part
在Java开发领域,JDK 5.0是一个重要的里程碑,引入了多项显著的新特性,极大地提升了编程效率和代码质量。本文将深入探讨其中的四个关键特性:常量、枚举、for each循环(也称为增强型for循环)以及反射。 首先,让...
jdk-8u311-windows-x64.exe jdk-8u311-windows-x64.exe.zip jdk-8u311-windows-x64.exe jdk-8u311-windows-x64.exe.zip jdk-8u311-windows-x64.exe jdk-8u311-windows-x64.exe.zip jdk-8u311-windows-x64.exe jdk-8u...
在JDK 5.0中,Java引入了一系列重要的新特性,极大地提升了开发效率和代码的可读性。这些新特性包括自动包装和解包、增强的for循环、可变参数方法、printf风格的格式化输出、枚举类型以及静态导入等。 首先,自动...
[浪曦][原创]JDK5.0新特性[风中叶老师主讲]共10 part [浪曦][原创]JDK5.0新特性[风中叶老师主讲]共10 part
浪曦 - JDK5.0新特性.part3
浪曦 - JDK5.0新特性.part2
[浪曦][原创]JDK5.0新特性[风中叶老师主讲]共10 part [浪曦][原创]JDK5.0新特性[风中叶老师主讲]共10 part
在Java编程语言中,JDK 5.0的发布带来了一系列重要的新特性,极大地提升了开发效率和代码质量。其中,枚举(Enum)是引入的一个关键特性,它为表示固定集合中的常量提供了强大而安全的支持。这篇博客将深入探讨JDK ...
浪曦 - JDK5.0新特性.part5.rar
浪曦 - JDK5.0新特性.part4.rar
[浪曦][原创]JDK5.0新特性[风中叶老师主讲[浪曦][原创]JDK5.0新特性[风中叶老师主讲[浪曦][原创]JDK5.0新特性[风中叶老师主讲
[浪曦][原创]JDK5.0新特性[风中叶老师主讲][浪曦][原创]JDK5.0新特性[风中叶老师主讲][浪曦][原创]JDK5.0新特性[风中叶老师主讲]
本话题涉及三个不同版本的JDK:jdk-8u172-windows-x64.exe、jdk-8u251-windows-x64.exe以及jdk-14.0.1_windows-x64_bin.exe,分别对应Java 8的两个更新版本和Java 14的一个版本。 首先,让我们详细了解一下Java 8。...
在`JDK5.0新特性 (2)——反射.doc`中,你可能会学习到如何使用`java.lang.Class`对象来获取类信息,以及如何使用`java.lang.reflect`包中的`Constructor`、`Method`和`Field`类来操作类的构造器、方法和字段。...
### JDK 5.0 和 Tomcat 5.0 配置全攻略 #### 环境搭建背景 对于初入Java领域的新手来说,环境配置往往是一个不小的挑战。本篇文章旨在帮助那些在Java学习过程中遇到环境配置问题的朋友,提供一份详尽的JDK 5.0 和 ...
jdk-8u171下载。 JDK介绍 JDK(Java Development Kit) 是 Java 语言的软件开发工具包(SDK)。 SE(J2SE),standard edition,标准版,是我们通常用的一个版本,从JDK 5.0开始,改名为Java SE。 EE(J2EE),enterprise ...