摘要: ResultSetHandler 和 QueryRunnerResultSetHandler是用来简化查询到的数据处理的.ResultSetHandler的实现方法可以不用创建实例对象去封装就能打印出来查询到的全部数据.通过:ArrayHandler:把结果集中的第一行数据转成对象数组。ArrayListHandler:把结果集中的每一行数据都转成一个数组,再存放到List中。BeanHandler:将结果集中的第一行数据封装到一个对应的JavaBean实例中。BeanListHandler:将结果集中的每一行数据都封装到一个对应的JavaBean实例中,存放到List里。ColumnList 阅读全文
posted @ 2013-07-15 15:34 星海浮沙 阅读(330) 评论(0) 推荐(0)
摘要: 1、冒泡排序 Bubble Sort最简单的排序方法是冒泡排序方法。这种方法的基本思想是,将待排序的元素看作是竖着排列的“气泡”,较小的元素比较轻,从而要往上浮。在冒泡排序算法中我们要对这个“气泡”序列处理若干遍。所谓一遍处理,就是自底向上检查一遍这个序列,并时刻注意两个相邻的元素的顺序是否正确。如果发现两个相邻元素的顺序不对,即“轻”的元素在下面,就交换它们的位置。显然,处理一遍之后,“最轻”的元素就浮到了最高位置;处理二遍之后,“次轻”的元素就浮到了次高位置。在作第二遍处理时,由于最高位置上的元素已是“最轻”元素,所以不必检查。一般地,第i遍处理时,不必检查第i高位置以上的元素,因为经过前 阅读全文
posted @ 2013-06-08 22:43 星海浮沙 阅读(175) 评论(0) 推荐(0)
摘要: 到目前为止,我们看到的示例都只是以非常简单的方式来利用Java多线程编程。只有最小的数据流,而且不会出现两个线程访问同一个对象的情况。但是,在大多数有用的程序中,线程之间通常有信息流。试考虑一个金融应用程序,它有一个 Account 对象,如下例中所示:一个银行中的多项活动public class Account { String holderName; float amount; public Account(String name, float amt) { holderName = name; amount = amt; } public void depos... 阅读全文
posted @ 2013-06-08 18:11 星海浮沙 阅读(162) 评论(0) 推荐(0)
摘要: 在 Java 程序中使用多线程要比在 C 或 C++ 中容易得多,这是因为Java 编程语言提供了语言级的支持。为什么会排队等待?下面的这个简单的 Java 程序完成四项不相关的任务。这样的程序有单个控制线程,控制在这四个任务之间线性地移动。此外,因为所需的资源 ? 打印机、磁盘、数据库和显示屏 -- 由于硬件和软件的限制都有内在的潜伏时间,所以每项任务都包含明显的等待时间。因此,程序在访问数据库之前必须等待打印机完成打印文件的任务,等等。如果您正在等待程序的完成,则这是对计算资源和您的时间的一种拙劣使用。改进此程序的一种方法是使它成为多线程的。四项不相关的任务class myclass { 阅读全文
posted @ 2013-06-08 18:05 星海浮沙 阅读(177) 评论(0) 推荐(0)
摘要: 1、作用域public,private,protected,以及不写时的区别? 答:区别如下: 作用域 当前类同一packag子孙类其他package public√√√√ protected√√√× default√√×× private√×××上面范围不对,default只要是同包都能访问,同包子类也可以访问。protected只有不同包,非子类才不能访问。 不写时默认为friendly,需要注意的是freiendly并不是Java的关键字,Java用default关键字代替!2、char型变量中能不能存贮一个中文汉字?为什么? 阅读全文
posted @ 2013-06-08 17:52 星海浮沙 阅读(248) 评论(0) 推荐(0)
摘要: 解决方法如下: 1. 单击“窗口”菜单下面的“首选项”: 2. 选择“Java ”选项下的“编译器”选项: 3.在“编译器一致性级别”右边的下拉菜单里选择“6.0”: 4.单击“确定”按钮后在弹出的对话框单击“是”按钮,至此,设置完成。 阅读全文
posted @ 2013-06-08 17:50 星海浮沙 阅读(429) 评论(0) 推荐(0)
摘要: Java编程思想(第4版)中文高清版:http://pan.baidu.com/share/link?shareid=502949&uk=2785758310英文原版PDF:http://pan.baidu.com/share/link?shareid=503042&uk=2785758310随书源码:http://pan.baidu.com/share/link?shareid=503044&uk=2785758310Effective Java(第2版)中文高清版:http://pan.baidu.com/share/link?shareid=503046& 阅读全文
posted @ 2013-06-08 17:46 星海浮沙 阅读(477) 评论(0) 推荐(0)
摘要: Java的白皮书为我们提出了Java语言的11个关键特性 (1)Easy:Java的语法比C++的相对简单,另一个方面就是Java能使软件在很小的机器上运行,基础解释其和类库的支持的大小约为40kb,增加基本的标准库和线程支持的内存需要增加125kb。 (2)分布式:Java带有很强大的TCP/IP协议族的例程库,Java应用程序能够通过URL来穿过网络来访问远程对象,由于servlet机制的出现,使Java编程非常的高效,现在许多的大的web server都支持servlet。 (3)OO:面向对象设计是把重点放在对象及对象的接口上的一个编程技术.其面向对象和C++有很多不同,在与多重... 阅读全文
posted @ 2013-06-08 17:42 星海浮沙 阅读(138) 评论(0) 推荐(0)
摘要: PE文件病毒虽然因为传播不及蠕虫已经很少独立存在了,但是仍然有很多病毒把他的感染部分作为一个功能.而且学习PE文件病毒可以让我们对PE的格式更好的了解,而加壳程序的外壳部分也运用到了和PE文件病毒类似的技术,所以还是可以了解下的 我也是刚学习这方面的东西,就把一点点心得写了下来.参考了罗云彬的在下菜鸟一只,望高手指教~ 首先说说PE文件病毒的工作方式.一个PE文件病毒基本上有这几个功能:1)获取kernel32.dll的基地址 2)通过所获得的kernel32的基地址通过dll的PE文件格式中的输出表获得以后要使用到的API的地址,并将他们存放在变量或是栈中,将来所调用的API直接通过CALL 阅读全文
posted @ 2012-12-20 14:12 星海浮沙 阅读(615) 评论(0) 推荐(0)
摘要: 所谓DLL注入就是将一个DLL放进某个进程的地址空间里,让它成为那个进程的一部分。要实现DLL注入,首先需要打开目标进程。例:hRemoteProcess = OpenProcess( PROCESS_CREATE_THREAD | //允许远程创建线程 PROCESS_VM_OPERATION | //允许远程VM操[1]作 PROCESS_VM_WRITE, //允许远程VM写 FALSE, dwRemoteProcessId ) 由于我们后面需要写入远程进程的内存地址空间并建立远程线程,所以需要申请足够的权限(PROCESS_CREATE_THREAD、VM_OPERATION、... 阅读全文
posted @ 2012-12-12 16:48 星海浮沙 阅读(187) 评论(0) 推荐(0)