摘要: 1、触发器方式 触发器方式是普遍采取的一种增量抽取机制。该方式是根据抽取要求,在要被抽取的源表上建立插入、修改、删除3个触发器,每当源表中的数据发生变化,就被相应的触发器将变化的数据写入一个增量日志表,ETL的增量抽取则是从增量日志表中而不是直接在源表中抽取数据,同时增量日志表中抽取过的数据要及时被 阅读全文
posted @ 2016-04-09 09:45 技无止境 阅读(19142) 评论(3) 推荐(0) 编辑
摘要: 【接口回调】接口回调是多态的另一种体现。接口回调是指:可以把使用某一个接口的类创建的对象的引用赋给该接口声明的接口变量中,那么该接口变量就可以调用被类实现的接口中的方法。当接口变量调用被类实现的接口中的方法时,就是通知相应的对象调用接口的方法,成为接口回调。不同的类在使用同一接口时,可能具有不同的功 阅读全文
posted @ 2016-04-09 09:29 技无止境 阅读(753) 评论(0) 推荐(0) 编辑
摘要: 【对象的序列化和反序列化 】 1.定义:序列化--将对象写到一个输出流中。反序列化则是从一个输入流中读取一个对象。类中的成员必须是可序列化的,而且要实现Serializable接口,这样的类的对象才能被序列化和反序列化。这个接口是一个表示型的接口。serialVersionUID是一个串行化类的通用 阅读全文
posted @ 2016-04-09 09:28 技无止境 阅读(547) 评论(0) 推荐(0) 编辑
摘要: catch里return后还会执行finally吗??在java里,是的。但是值得注意的是,在存在try-catch-finally的方法中,return可能出现的位置有4个,在try中,在catch中,在finally中,在finally后(try-catch-finally外的语句块)。在这4个 阅读全文
posted @ 2016-04-09 09:28 技无止境 阅读(490) 评论(0) 推荐(0) 编辑
摘要: 1.遍历map的几种方式:private Hashtable<String, String> emails = new Hashtable<String, String>(); //方法一: 用entrySet() Iterator it = emails.entrySet().iterator() 阅读全文
posted @ 2016-04-09 09:26 技无止境 阅读(228) 评论(0) 推荐(0) 编辑
摘要: 排序是数据结构中重要的一个部分,也是在实际开发中最易遇到的问题之一,当然了,你也可以不考虑这些排序的算法,直接把要排序的数据insert到数据库中,用数据库的order by再select一下,也能产生排序结果,不过,开发一个好的系统,性能同样很重要。 在一堆数据中,是比较的执行耗时多,还是复制交换 阅读全文
posted @ 2016-04-09 09:24 技无止境 阅读(259) 评论(0) 推荐(0) 编辑
摘要: 平时写程序的时候,很多时候提示文件找不到,而抛出了异常,现在整理如下【一 相对路径的获得】 说明:相对路径(即不写明时候到底相对谁)均可通过以下方式获得(不论是一般的java项目还是web项目) String relativelyPath=System.getProperty("user.dir") 阅读全文
posted @ 2016-04-09 09:21 技无止境 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 今天一个案子,用户反映数量差异明明是 2.0-1.8,显示的结果却为0.20000005,就自己写了段方法测试了一下:package test1;public class Test2 {/*** @param args*/public static void main(String[] args) 阅读全文
posted @ 2016-04-09 09:20 技无止境 阅读(5534) 评论(0) 推荐(0) 编辑
摘要: 第一种办法InputStream is = Test.class.getResourceAsStream("DbConfig.properties");Properties p = new Properties();p.load(is);System.out.println(p.get("jndi" 阅读全文
posted @ 2016-04-09 09:19 技无止境 阅读(12925) 评论(1) 推荐(1) 编辑
摘要: 以对表test进行增,删,改,查进行说明:1.新建表test create table TEST ( TID NUMBER not null, TNAME VARCHAR2(32), TCODE VARCHAR2(32), CREATEDATE DATE )alter table TEST add 阅读全文
posted @ 2016-04-09 09:18 技无止境 阅读(328) 评论(0) 推荐(0) 编辑
摘要: 【javadoc命令的用法】 1.java源文件里,注释以/**开始 并以*/结束,里面可以包含普通文件,HTML标记和javaDoc标记。这些将构成javaDoc文档。 2.javadoc命令只能处理java源文件中在类声明,接口声明,成员方法声明,成员变量声明及构造方法声明之前的注释,忽略位于其 阅读全文
posted @ 2016-04-09 09:13 技无止境 阅读(9371) 评论(0) 推荐(0) 编辑
摘要: java编译命令 javac: javac -d <目录> 源文件.java 指定存放生成的class文件的路径命令行下编译带包名的java源文件: javac -d . XX.java 则会在当前目录下生成和包名一样的路径,路径下有编译生成的class文件。运行的时候 java 包名.类名 jav 阅读全文
posted @ 2016-04-09 09:13 技无止境 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 1. JAR 文件包 JAR 文件就是 Java Archive File,顾名思意,它的应用是与 Java 息息相关的,是 Java 的一种文档格式。JAR 文件非常类似 ZIP 文件——准确的说,它就是 ZIP 文件,所以叫它文件包。JAR 文件与 ZIP 文件唯一的区别就是在 JAR 文件的内 阅读全文
posted @ 2016-04-09 09:12 技无止境 阅读(1272) 评论(0) 推荐(0) 编辑
摘要: 如果你输入一个命令,比如java那么系统是如何找到这个命令的呢?按照顺序,系统先在当前目录搜索是否有java.exe, java.bat 等。 如果没有,就得到系统的PATH(不区分大小写)里面查找。 比如你的环境变量的PATH里面有 C:\program files\java\jdk1.6\bin 阅读全文
posted @ 2016-04-09 09:10 技无止境 阅读(14249) 评论(0) 推荐(2) 编辑
摘要: 1.什么是字节码? 字节码 byteCode JVM能够解释执行的。java程序的归宿,但是从规范上来讲和Java已没有任何关系了。一些动态语言也可以编译成字节码在JVM上运行。字节码就相当于JVM上的汇编语言。 2.字节码的一些特点标准JVM使用的堆栈;有些虚拟机使用寄存器。例如安卓虚拟机。标准J 阅读全文
posted @ 2016-04-09 09:04 技无止境 阅读(511) 评论(0) 推荐(0) 编辑
摘要: 1.jre:java运行环境 提供一个JVM和一些基础类库。2.只安装jre以后,机器就具备了运行java程序的条件。但是不具备开发java程序的条件。安装JDK以后,在c:/program files/java/下有一个jre,在c:/program files/java/jdk/jre下还有一套 阅读全文
posted @ 2016-04-09 09:04 技无止境 阅读(582) 评论(0) 推荐(0) 编辑
摘要: 1.Java数据类型基本概念: 数据类型在计算机语言里面,是对内存位置的一个抽象表达方式,可以理解为针对内存的一种抽象的表达方式。接触每种语言的时候,都会存在数据类型的认识,有复杂的、简单的,各种数据类型都需要在学习初期去了解,Java是强类型语言,所以Java对于数据类型的规范会相对严格。数据类型 阅读全文
posted @ 2016-04-09 09:01 技无止境 阅读(218) 评论(0) 推荐(0) 编辑
摘要: jquery:轻量级的库,类库比较小 封装了遍历HTML文档,操作DOM,处理事件,执行动画和开发AJAX的操作.为这些操作提供了简洁的语法和跨平台的兼容性.有很多jQuery的插件,如jQuery UI等,可以根据自己需求决定是否选用. prototype:老牌的轻量级的javascript库 d 阅读全文
posted @ 2016-04-09 08:31 技无止境 阅读(836) 评论(0) 推荐(0) 编辑
摘要: 前面的例子中创建一个消息消费者使用的是: sesssion.createConsumer(destination) 另外,还提供了另一种方式: sesssion.createConsumer(destination, selector) 这里selector是一个字符串,用来过滤消息。也就是说,这种 阅读全文
posted @ 2016-04-09 08:27 技无止境 阅读(2046) 评论(4) 推荐(0) 编辑
摘要: 消息的消费者接收消息可以采用两种方式: 1.consumer.receive()或 consumer.receive(int timeout); 2.注册一个MessageListener. 采用第一种方式,消息的接收者会一直等待下去,知道有消息到达或者超时。后一种方式会注册一个监听器, 当有消息到 阅读全文
posted @ 2016-04-09 08:27 技无止境 阅读(4711) 评论(0) 推荐(0) 编辑