- 浏览: 1248259 次
- 性别:
- 来自: 杭州
最新评论
-
jlotusYo:
博主,真感谢。
Java 密码扩展无限制权限策略文件 -
senninha:
这个。。是api说明吧。。
ScheduledExecutorService 源码分析 -
zoutao2008:
请问大文件如何处理?按你这种方式的话,文件超过200M时就会报 ...
hessian系列之二:上传文件 -
lwj1113:
lwj1113 写道谢谢博主这么细致的demo;在系列五中通过 ...
myBatis系列之五:与Spring3集成 -
lwj1113:
谢谢博主这么细致的demo;在系列五中通过testng测试类跑 ...
myBatis系列之五:与Spring3集成
文章列表
1. Windows访问Linux中的文件
a. putty, winscp通过SSH访问
需要提供Linux的ip地址,用户名和密码
b. Linux中架设ftp服务器
i. 在Linux中开启vsftpd服务:
service vsftpd start
ii. 在Windows中通过资源管理器或者ftp客户端访问
ftp://root:123456@192.168.1.103
2. Linux访问Windows的文件
a. Linux的光驱加载Windows下的iso映像
i. 使用ISORecorder将Windows下的文件夹打包成iso映像
ii. ...
线程互斥是一次只有一个线程执行某段代码,保证数据的一致性。线程通信是指通过notify或notifyAll来唤醒在wait某个对象锁的线程。实现方式是通过synchronized关键字声明。
1. 如果同步代码块在对象方法中,可以实例化一个Object来作为lock的对象,或者用this关键字表示lock这个对象:
synchronized(obj) {
// code block
}
synchronized(this) {
// code block
}
2. 如果同步代码块在静态方法中,使用一个静态对象,如当前class的字节码来作为lock的对象: ...
1. 根据不同的运行平台,选择不同的OpenLdap安装软件安装
Linux:
http://www.openldap.org/software/download/
Windows
http://www.userbooster.de/en/download/openldap-for-windows.aspx
2. 配置slapd.conf
打开安装目录下的slapd.conf,可以看到一些预定义的配置,包括以下几个部分:
ucdata路径
schema配置
访问权限控制
运行id和参数
动态模块
SSL配置
如果不需要SSL或者没有证书文件,则忽略下面代码:
TLS ...
Cloneable接口声明中没有指定要实现的方法,一个类要实现Cloneable,最好是覆盖Object类的clone()方法。
1. 如果类没有实现Cloneable接口,调用类对象的clone方法抛出CloneNotSupportedException。
public class CloneableTest {
public static void main(String[] args) throws CloneNotSupportedException {
CloneableTest test = new CloneableTest();
Object obj ...
Condition是一个条件功能的class,必须放在Lock代码块内,如同wait,notify方法放在synchronized块一样。
Condition的(await,signal)与object的(wait,notify)相比,提供了更为通用和灵活的解决方案,可以让多种条件的线程之间相互通信。
Condition的定义:
public interface Condition{
void await() throws InterruptedException;
void awaitUninterruptibly();
long a ...
Start.jar会调用org.mortbay.xml.XmlConfiguration的main()方法,如果没有提供启动参数则使用缺省的jetty.xml。代码首先实例化XmlConfiguration对象,然后调用其configure()方法去加载定义在xml文件里的类org.mortbay.jetty.Server,然后实例化Server类。
1. XmlConfiguration.main()方法:
public static void main(String[] args)
{
try
{
P ...
简单工厂(Simple Factory)模式:又称静态工厂方法(Static Factory Methord)模式。
工厂方法(Factory Method)模式:又称多态性工厂(Polymorphic Factory)模式或虚拟构造子(Virtual Constructor)模式。
抽象工厂(Abstract Factory)模式:又称工具箱(Kit或Toolkit)模式。
这几个模式是逐级抽象的:
1. 简单工厂模式只是对产品做了抽象,就是说把一类产品抽象出个接口或者抽象方法,然后由工厂去根据情况实例化某个具体的产品。
2. 工厂方法模式是在简单工厂模式的基础上对工厂做了抽象,把 ...
自动化测试工具有QTP, RFT等,下面就介绍下用RFT测试Flex (SDK version: 2.0.1)的步骤:
RFT(Rational Functional Test)是IBM开发的一套自动化测试工具,可以测试web, GUI和console。
前提条件:
1. Flex SDK installed
2. RFT installed
3. jdk installed
4. flex automation support available
如果没有装Flex automation软件,可以下载包含下面两个文件的附件
automation_agent.swc
a ...
加载资源可以用绝对路径和相对路径,但都有局限性。用硬编码的方式不好。
比较好的方式是绝对+相对方式。即绝对路径就是应用程序安装的路径,相对路径是资源文件相对于程序根目录的路径。
java.lang.ClassLoader不仅可以加载类到内存中,还可以加载其它的资源。
1. ClassLoader.getResourceAsStream
比方说配置文件,很多时候都是放在源代码路径下的,这样就可以直接使用ClassLoader
package com.john.basis;
public class MyClass {
InputStream inputStream = M ...
java.lang.reflect.Array
Java反射机制通过Array类来处理数组,结合java.lang.Class类,可以在运行时获取数组的相关信息。要和集合包中的java.util.Arrays区分开,Arrays类是一个数组工具类(排序、遍历数组,将数组转换为集合等)。
实例化数组
如果在编译时知道数组的类型(如int类型),使用new关键字实例化
float[] array = new float[3];
也可以使用反射:
float[] array = Array.newInstance(float.class, 3);
和new关键字类似,这个 ...
cascade定义的是关系两端对象到对象的级联关系;而inverse定义的是关系和对象的级联关系。
这里举个简单的例子:
你去网购买个手机外壳,
如果你指定外壳的cascade=all,网店除了把外壳寄给你之外,顺带把外壳的几个螺丝也寄给你。
如果你指定外壳的cascade=none,网店仅仅把外壳寄给你。你还要单独购买螺丝。
你完全不知道这个外壳有哪几个螺丝,也不知道某个螺丝属于某个外壳,
这时你让外壳说话了(外壳的inverse=false):a, b, c, d这四颗螺丝是属于它的。
或者你让螺丝说话(螺丝的inverse=false):我是属于m外壳的。
cascade 是级联的程 ...
setTimeout和setInterval是延时或定时调用某个函数某段代码。基本上是一样的,接下来就只以setTimeout为例。
通常使用形式:
iTimerID = setTimeout(strJsCode, 500) //strJsCode为一个包含js代码的字符串
iTimerID = setTimeout(objFunction, 500) //objFunction为一个函数对象
看一下下面的代码:
function showArguments() {
var s = 'length: ' + arguments.length;
for (var i = 0 ...
eval(str)是把传入的str当做脚本来执行,如果直接调用eval(),作用域为当前作用域。
function accumulate() {
var i = 1;
eval("var i = 3;");
document.writeln(i);
}
accumulate();
执行结果:3
如果改成window.eval():
function accumulate() {
var i = 1;
window.eval("var i = 3;");
document.writeln(i);
...
在javascript函数内部声明变量,加var为局部变量,不加var为全局变量。
function entail() {
var i = 4;
}
entail();
document.writeln(i);
执行会报错:i is undefined
function entail() {
i = 4;
}
entail();
document.writeln(i);
结果为 4
1. List 迭代过程中删除元素采用list.remove(obj)会造成其size自减,modCount自增而产生问题:
Collection list = new ArrayList();
list.add("creek");
list.add("misty");
list.add("forest");
Iterator iter = list.iterator();
while (iter.hasNext()) {
Object obj = iter.next();
if (" ...