- 浏览: 161727 次
- 性别:
- 来自: 杭州
最新评论
文章列表
Java多线程之CyclicBarrier
import
java.util.Random;
import
java.util.concurrent.CyclicBarrier;
/**
* CyclicBarrier类似于CountDownLatch也是个计数器,
* 不同的是CyclicBarrier数的是调用了CyclicBarrier.await()进入等待的线程数,
* 当线程数达到了CyclicB ...
CopyOnWriteArrayList
一、简介
JDK5中添加了新的concurrent包,其中包含了很多并发容器,这些容器针对多线程环境进行了优化,大大提高了容器类在并发环境下的执行效率。
CopyOnWriteArrayList类是一个线程安全的List接口的实现,在该类的内部进行元素的写操作时,底层的数组将被完整的复制,这对于读
操作远远多于写操作的应用非常适合。在CopyOnWriteArrayList上进行操作时,读操作不需要加锁,而写操作类实现中对其进行了加锁。
二、具体实现
CopyOnWriteArrayList底层的定义如下:
...
实现原理
锁分离 (Lock Stripping)
ConcurrentHashMap允许多个修改操作并发进行,其关键在于使用了锁分离技术。它使用了多个锁来控制对hash表的不同部分进行的
修改。ConcurrentHashMap内部使用段(Segment)来表示这些不同的部分,每个 ...
Charset(字符集)
在java.nio.charset包中共提供了Charset、CharsetDecoder、CharsetEncoder、
CodeResult、CodingErrorAction五个类,均继承自Object类,其中Charset实现了Comparable接口,其它类
均为自身实现。
Java中的字符使用unicode编码,每个字符占用两个字节。字节码本身只是一些数字,放在正确的上下文中可以被正确的解析。向ByteBuffer中存放数据时需要考虑字符集的编码方式,从中读取时需要考虑字符集的解码。
要读和写文本需要分别使用CharsetDecoder(解码器 ...
public void sendMail()
throws Exception {
try {
SubAuthenticator subauth = getSubAuthenticator(username, password);
// authenticator
props.put("mail.smtp.host", smtphost);
props.put("mail.smtp.auth ", " ...
第一种方法:
实现(jdk中)TimerTask的run方法
package com.noly.background.task;
import java.util.Date;
import java.util.TimerTask;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.scheduling.quartz.QuartzJobBean;
public class DailyTas ...
根据不同的主键产生方式,可能需要配置表名、主键字段名或序列名等信息。下面,我们以Oracle和MySql为例分别讲解使用序列及表字段产生主
键值的方式。
DataFieldMaxValueIncrementer接口定义了3个获取下一个主键值的方法:
l
int nextIntValue():获取下一个主键值,主键数据类型为int;
l
long nextLongValue():获取下一个主键值,主键数据类型为long;
l
String nextStringValue():获取下一个主键值,主键数据类型为String;
一般数据库都提供了自增键的功能,如M ...
项目开发中遇到了解析Excel的问题,顺利完成了测试发现office2003跟office2007有报错,网上找了一些资料,
package com.gts.admin.upload.services;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOExceptio ...
1. MySQL(http://www.mysql.com)mm.mysql-2.0.2-bin.jar
Class.forName( "org.gjt.mm.mysql.Driver" );
cn = DriverManager.getConnection( "jdbc:mysql://MyDbComputerNameOrIP:3306/myDatabaseName", sUsr, sPwd );
2. PostgreSQL(http://www.de.postgresql.org)pgjdbc2.jar
Class.f ...
文章非原创,参考链接见文末!
[html]
view plain
copy
常见的MIME类型如下表:
序号
内容类型
文件扩展名
描述
1
application/msword
doc
Microsoft Word
2
application/octet-stream bin
dms lha lzh exe class
可执行程序
3
application/p ...
Lorem ipsum dollor
在本章里,我们将讨论Firebug提供的,以支持JavaScript的开发、调试、概览、以及测试的各种工具。在这里我们将采用典型的
JavaScript用例的方式,并解释如何使用Firebug来实现这些用例。
在本章里,我们将讨论以下主题:
命令行API及其功能
控制台API
单步JavaScript调试
插入条件或无条件断点
命令行API
在第2章“Firebug窗口概览”中,我们已经看到了如何使用命令行,这里,我们将讨论的是命令行API提供的一些方法(methods)。这些方法将帮 ...
1、创建sequence
CREATE sequence my_seq AS INTEGER START WITH 628 increment BY
2、获取sequence的下一个
values nextval for my_seq
(my_seq是sequence名称)
3、在sql中使用sequence的下一个值
insert into table_name(id) values(nextval for my_seq
)
创建SEQUENCE
:
Sql代码
CREATE
SEQUENCE
NAME_XX ...
表格的构造:
$('#assginList').flexigrid({
title: 'Your DR Member',
height: 300,
width :1200,
striped:true,
usepager: true,
dataType: 'json',
...
最近进入一个项目,用到了struts1
一边学习一边工作。
http://www.doc88.com/p-210758272763.html