- 浏览: 1168762 次
文章列表
import java.util.concurrent.Exchanger;
/**
* Exchanger让两个线程可以互换信息。
* 例子中服务生线程往空的杯子里倒水,顾客线程从装满水的杯子里喝水,
* 然后通过Exchanger双方互换杯子,服务生接着往空杯子里倒水,顾客接着喝水 ...
- 2011-12-21 09:45
- 浏览 686
- 评论(0)
import java.util.Random;
import java.util.concurrent.CyclicBarrier;
/**
* CyclicBarrier类似于CountDownLatch也是个计数器,
* 不同的是CyclicBarrier数的是调用了CyclicBarrier.await()进入等待的线程数,
* 当线程数达到了CyclicBarrier初始时规定的数目时,所有进入等待状态的线程被唤醒并继续。
* CyclicBarrier就象它名字的意思一样,可看成是个障碍,
* 所有的线程必须到齐后才能一起通过这个障碍。
* Cycli ...
- 2011-12-21 09:44
- 浏览 705
- 评论(0)
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
/**
* CountDownLatch是个计数器,它有一个初始数,
* 等待这个计数器的线程必须等到计数器倒数到零时才可继续。
*/
public class CountDownLatchTest {
/**
* 初始化组件的线程
*/
public static class Component ...
- 2011-12-21 09:43
- 浏览 774
- 评论(0)
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.locks.Condition;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
/**
* 有时候线程取得lock后需要在一定条件下才能做某些工作,比如说经典的Producer和Consumer问题。
* 在Java 5.0 ...
- 2011-12-21 09:39
- 浏览 711
- 评论(0)
import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
/**
* BlockingQueue是一种特殊的Queue,若BlockingQueue是空的,
* 从BlockingQueue取东西的操作将会 ...
- 2011-12-21 09:37
- 浏览 698
- 评论(0)
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
/**
* Callable 和 Future接口
* Callable是类似于Runnable的接口,实现Callable接口的类和实现Runnable的类都是可被其它线程执行的任务。
* Callable和Runnable有几点不同: (1)Callable ...
- 2011-12-21 09:35
- 浏览 680
- 评论(0)
每个人都希望职业上有成就,而不是碌碌无为的一生。然而,真正有成就的是少数,甚至对于职业生涯满意的恐怕也是少数。
综合来说,职业的发展必须有三要素:1,技能不断提升;2,选对行业;3,跟对人。
1.关于技能提升,在之前的博文也总结过,要经过3个层次,也就是从实施方法,具体方法,到抽象方法的掌握,不断挑战自我,不断进步,这本身也是一个历程,很少有人最后到达一览众山小的境界。
2.对于行业的选择,自古就有“男怕入错行,女怕嫁错郎”的古话。如果行业没有选择对的话,要付出更多的代价,才能有回报,虽然“360行,行行出状元”,但是那个毕竟是少数。如果在2000年选择互联网,在2010年进入项目型软件公 ...
- 2011-12-20 14:27
- 浏览 569
- 评论(0)
软件开发这个职业,可能是最好的职业,也可能是最坏的职业。最好的职业就是,可以发挥你最大的创造力,可以不断提升自己,可以入行就有不错的待遇,甚至可能一夜暴富的机会等等。最坏的职业可能就是,新技术层出不穷,一不留神就可能被淘汰,必须花大量的时间学习充电,并且中国面临更大的成本压力等。
如何不断提升自己,是每个技术人员必须思考的问题。从技术能力上,可以大致划分为三个层次:第一个层次,掌握实施方法,如各种编程技巧等;第二个层次,掌握具体方法,如架构设计,解决方案等;第三个层次,掌握抽象方法,如设计模式,解决问题框架等。
第一个层次,掌握实施方法,基本上是程序员的要求,如掌握Java的各种语法 ...
- 2011-12-20 10:59
- 浏览 605
- 评论(0)
这一两天现场实施的同事,发现系统的tomcat会因为内存溢出的情况出现假死的情况。现场的同事一时查不出问题,最后一招了写个脚本监控一下。
1 使用环境
操作系统:CentOS 4.8
JDK版本:j2sdk1.4.2
Tomcat版本:tomcat-5.0.28
2 监控脚本
#!/bin/bash
#
# Keep watch at tomcat's status,
# automatically restart it if it dead or out of memory.
export PATH=$PATH:/sbin:/bin:/usr/sbin:/usr/bi ...
- 2011-12-20 09:07
- 浏览 585
- 评论(0)
.
想了想还是应该是这样的
抽象,继承,多态 都是为了封装,在想了一下,觉得封装不是目的,只是手段,所以觉得最终是这样的
重用是目的,其他的几个都是为它服务的
- 2011-12-20 00:13
- 浏览 674
- 评论(0)
/*--修改/删除有默认值的字段 示例--*/
--测试表
Create Table t1(
ID int Default(0),
Name Varchar(16) Default(16),
Memo Varchar(255) Default( ' ')
)
go
--要求,删除name字段,将memo字段改为: Memo Varchar(32) Default(32)
--处理方法
----a.先删除要处理字段的默认值约束
declare @s varchar(800 ...
- 2011-12-19 11:13
- 浏览 824
- 评论(0)
1.首先我们创建一个表
Create Table test(
ID int Default(0),
Name Varchar(16) Default(16),
)
2.如果要为表增加一个列AGE,默认值为0
alter table test Add Age int Not Null CONSTRAINT DF_test_Age DEFAULT (0) WITH VALUES
WITH VALUES这个参数的说明:
指定在添加到现有行的新列中存储 DEFAULT constant_expression 中所给定的值。只有在 ADD 列子句中 ...
- 2011-12-19 11:10
- 浏览 689
- 评论(0)
“Word无法启动转换器mswrd632.wpc”又一Word常见问题,也是许多使用Word办公软件朋友经常遇到的故障之一。也不知道这阵子怎么了,许多网友纷纷提问说遇此问题导致Word打不开,都不知道该如何解决,这里Word联盟收集了一些网友的解决方法,马上给大家整理出来,希望能帮助大家解决此故障!
可能导致“Word无法启动转换器mswrd632.wpc”的原因有一下几种:
1、文件损坏导致;
2、安装的是破解版或精简版造成的问题;
3、Office办公软件组件丢失;
4、系统中了病毒或木马;
5、电脑中存有多个版本的Office办公软件,混乱了;
6 ...
- 2011-12-15 14:26
- 浏览 633
- 评论(0)
IsNullOrWhiteSpace
.NET Framework 4.0 中新增的一个函数,用来判断字符串是否为空(包括空格、NULL、String.Empty、和一行特殊的字符等),与.NET 以前的另一个函数IsNullOrEmpty()相比,这个函数的功能更强
if (!string.IsNullOrWhiteSpace(temp))
{
//此处自定义代码
}File.Exists Directory.Exists用于判断文件夹或文件是否存在的函数
if (File ...
- 2011-12-13 14:18
- 浏览 646
- 评论(0)
有一段时间, 没有写delphi的东东了. 昨天突然要写一个OCX, 但是jsp的页面上居然一直调用失败. 原因出在classid的选择上.
下面是jsp的代码
<div id="testdiv" style="width:100%;height:100%">
<object id="testid"
classid="clsid:6CFAE108-AD70-49DC-BDB6-61F008148893"
codebase="<%=basePath% ...
- 2011-12-13 08:47
- 浏览 648
- 评论(0)