1  kettle.properties參数配置数据源连接和FTP连接 因为測试环境和生产环境中数据库连接FTP等配置会在部署过程中变更,所以预先定义成配置项,在配置文件里改动.这样測试和公布将会变得简单,以下以数据库为例说明这类配置的使用. (1)      首先要找到配置文件,不同的操作系统路径也不一样.本人用win7进行开发,配置文件的路径为"C:\Users\chenpeng\.kettle\kettle.properties".例如以下: (2)      配置文件里的详细配…
总结:我真的发现输出数字,没觉得线程有什么特别的,不过在项目中用的很多,无论是游戏,还是其他 可以控制物体移动的速度 package com.a.b; class MyThread extends Thread {// 继承Threhad .实现Rnuuable接口 @Override public void run() { for (int i = 0; i < 10; i++) { System.out.println(i + " "); } } } public class…
声明 17.推荐一行一个声明,因为这样有利于写注释.换句话说,下面的声明方法中, int level; // indentation level int size; // size of table 要优于: int level, size; 绝对不要将变量和方法的声明放在同一行,例如: long dbaddr, getDbaddr(); // WRONG! 不要将不同类型的变量的声明放在同一行,例如: int foo, fooarray[]; //WRONG! 注意:上面的例子中,变量与标识符…
先上实例 public class TestStatic { public static String staticString = "this is a static String"; //静态变量 public String instanceString = "this is a instance String";//实例变量 //静态方法 public static void staticMethod(){ System.out.println("t…
提高你的Java代码质量吧:推荐使用枚举定义常量 一.分析 常量的声明是每一个项目中不可或缺的,在Java1.5之前,我们只有两种方式的声明:类常量和接口常量.不过,在1.5版之后有了改进,即新增了一种常量声明方式,枚举常量.代码如下: enum Season{ Spring,Summer,Autumn,Winter; } 二.场景 那么枚举常量与我们的经常使用的类常量和静态常量比有什么优势呢? 1.枚举常量更简单  先把Season枚举翻译成接口,代码如下: interface Season{…
下载原版阿里JAVA开发手册  [阿里巴巴Java开发手册v1.2.0] 本文主要是对照阿里开发手册,注释自己在工作中运用情况. 本文难度系数为一星(★) 码出高效.码出质量. 代码的字里行间流淌的是软件生命中的血液,质量的提升是尽可能少踩坑,杜绝踩重复的坑,切实提升质量意识.另外,现代软件架构都需要协同开发完成,高效协作即降低协同成本,提升沟通效率,所谓无规矩不成方圆,无规范不能协作.众所周知,制订交通法规表面上是要限制行车权,实际上是保障公众的人身安全.试想如果没有限速,没有红绿灯,谁还敢上…
这篇文章讲解Java代码的基本执行过程 我们先抛开各种JAVA IDE,开发工具,只使用文本编辑器,以突出最本质的东西. 在Linux环境下,我们编辑一个文件: vim HelloWorld.java 编辑如下代码: public class HelloWorld{ String name; public HelloWorld(String name){ this.name = name; } public void pHelloWorld(){ System.out.print("HellWo…
转载自http://www.cnblogs.com/panjun-Donet/archive/2010/08/10/1796209.html (一)静态方法(1)在Java里,可以定义一个不需要创建对象的方法,这种方法就是静态方法.要实现这样的效果,只需要在类中定义的方法前加上static关键字.例如: public static int maximum(int n1,int n2) 使用类的静态方法时,注意: a在静态方法里只能直接调用同类中其他的静态成员(包括变量和方法),而不能直接访问类中…
kettle 设计完成之后,可以在设计工具中进行调用,也可以使用java代码进行调用.   1.通过文件方式执行转换.   public static void runTransfer(String[] params, String ktrPath) {          Trans trans = null;          try {              // // 初始化              // 转换元对象              KettleEnvironment.in…
在上文中,<Java代码质量改进之:同步对象的选择>,我们提出了一个场景:火车站有3个售票窗口,同时在售一趟列车的100个座位.我们通过锁定一个靠谱的同步对象,完成了上面的功能. 现在,让我们反过来,每个窗口负责一趟车.比如一号窗口就卖1号列车的票,二号窗口就卖2号列车的票.不过它们需要同时开始卖票. 一:ThreadLocal的最简应用 首先,既然是各卖各的火车了,那么,就不需要同步了.于是代码又回归到: 但是当前的代码肯定是不对的,每个线程访问的都是同一个火车的ticket,并且还会出现超…