
J2SE
夜梦星辰
这个作者很懒,什么都没留下…
展开
-
重磅推出诛仙辅助软件第二波:Java版按键精灵
前言:上次推出诛仙答题辅助软件用起来不错(想上十名榜不难,YY下),不过在后来我自己使用过程中发现程序存在BUG,就是启用后,如果你不是按小键盘的12345而按鼠标右键,程序就不能使用了,应该是进入逻辑循环,根本原因是我的程序架构上存在问题,所以针对上次的教训本次推出的第二波辅助软件采用全新的架构:“模式架构”(名字要响亮,:)),这种模式能从根本解决之前的那类逻辑问题,而且能够很明朗的进行业务分...2009-09-16 18:43:24 · 1070 阅读 · 0 评论 -
反射在设计模式中的应用
利用设计模式可以使我们的代码更灵活,更容易扩展,更容易维护。各种面向对象的程序设计语言都提供了基本相同的机制:比如类、继承、派生、多态等等。但是又有各自的特色,c# 中的反射机制便是一个很重要的工具,好好地利用就可以在实际中发挥很大的作用。 我们来看一个例子: 我的程序中有需要一系列的对象,比如apple,orange…, 要想利用他们,我们就必须在程序中根据用户要求,然后一个...原创 2010-06-08 10:52:28 · 422 阅读 · 0 评论 -
Reader和InputStream的区别
Reader支持16位的Unicode字符输出,InputStream支持8位的字符输出。 Reader和InputStream分别是I/O库提供的两套平行独立的等级机构,InputStream、OutputStream是用来处理8位元的流,Reader、Writer是用来处理16位元的流。 而在JAVA语言中,byte类型是8位的,char类型是16位的,所以在处理中文的时候需要用Reade...原创 2010-05-28 13:21:13 · 130 阅读 · 0 评论 -
快速开方算法比较
快速开方算法比较:public class Test { private static int a,b,c,p=0x80; private static int K,A,B,C,R=0x4000,D=60000; public static float sqt1(){ if(D>50176){A=0; a=0; C=50176;c=224;} /...原创 2010-08-18 17:34:10 · 530 阅读 · 0 评论 -
关于switch语句
switch语句在一定程度上是有动态跳转(函数指针就是一种动态跳转),另外switch语句绝对不是和if... else if ... else if等效的switch语句有两种实现:一、table switchswitch (key) {case 2: ...;case 3: ...;case 5: ...;case 6: ...;} 这...原创 2010-02-10 16:10:57 · 188 阅读 · 0 评论 -
代码优化之-优化除法
说明:文章中的很多数据可能在新的CPU或不同的CPU或不同的系统环境下有不同的结果,可能不能面面俱到) x86系列的CPU对于位运算、加、减等基本指令都能在1个CPU周期内完成(现在的CPU还能乱序执行,从而使指令的平均CPU周期更小);现在的CPU,做乘法也是很快的(需要几个CPU周期,每个周期可能启动一个新的乘指令),但作为基本指令的除法却超出很多人的预料,它是一条很慢的操作,整数和浮点的除...原创 2010-02-09 13:57:35 · 331 阅读 · 0 评论 -
Supported Encodings
The classes java.io.InputStreamReader, java.io.OutputStreamWriter, java.lang.String, and classes in the java.nio.charset package can convert between Unicode and a number of other character encodings. ...原创 2010-02-09 13:41:36 · 147 阅读 · 0 评论 -
应用JAD批量反编译CLASS文件
反编译别人的程序是不对的,但是有时候由于某种原因,不得不反编译别人的代码,那就需要一个工具了。小颖JAVA源代码反编译专家V1.4终极版是个很好的工具,但是只能对JDK1.4.2和之前的版本编译的程序反编译,而JDK5.0后的就无能为力了,但是可以下载JAD.EXE来逐个反编译 CLASS文件,不过如果碰到有几十个或几百个文件夹,并且目录很深的时候,就麻烦了,这个给出一个直接使用命令行反编译整个目...原创 2010-02-09 12:31:17 · 102 阅读 · 0 评论 -
数组快速复制
data[0] = 0 ;int len = 1 ;int off = 1 ;while(true){ System.arraycopy(buf.data, 0, buf.data, off, len) ; if ( off + len >= buf.data.length ) break ; off = len ; len += len ;...原创 2010-02-08 15:33:38 · 84 阅读 · 0 评论 -
Java语言的Hook实现
引言:最近在玩完美时空的诛仙Online(不知道这里有没人有共同爱好的),这个游戏每晚七点会出现一个任务“新科试炼”。这个任务简单地说就是做选择题,范围小到柴米油盐,大到世界大千,所以多玩的YY上出现一个频道叫“诛仙答题频道”,这个频道会即时为玩家提供正确答案,所以当大家都上YY的时候,最终出来的成绩的高低并不取决于你的知识面,而是取决你家的网速及你的反应速度(答题越早,所获得的成绩越高)。我家的...2009-08-25 17:39:20 · 671 阅读 · 0 评论 -
[原创]多线程之队列式执行任务
前言:最近做的一个项目正好要用到多线程,而且要实现队列式处理,即外界可向线程添加任务,同时一旦队列中有任务时,线程自动启动对之进行处理。要求任务的添加与执行要同步处理。最终结果如下:[TaskThread.java]import java.util.HashMap;import java.util.Vector;/*** Task Processing Thre...2010-04-29 10:24:22 · 154 阅读 · 0 评论 -
深刻理解Java编程的7个例子
1. 阅读下列代码回答问题(第一个Java程序,理解PATH和CLASSPATH,学会使用javac和java命令)package cn.edu.uibe; public class HelloWorld { public static void main(String[] args) { System.out.println("Hello Wo...原创 2010-01-14 10:13:22 · 86 阅读 · 0 评论 -
原子变量(AtomicLong, AtomicInteger, AtomicReference)
J2SE 5.0提供了一组atomic class来帮助我们简化同步处理。基本工作原理是使用了同步synchronized的方法实现了对一个long, integer, 对象的增、减、赋值(更新)操作. 比如对于++运算符AtomicInteger可以将它持有的integer 能够atomic 地递增。在需要访问两个或两个以上 atomic变量的程序代码(或者是对单一的atomic变量执行两个或两...原创 2009-11-06 09:30:36 · 146 阅读 · 0 评论 -
Java父线程与子线程
问:在父线程中New了一个子线程,想在停止父线程时也停止子线程,应该怎么做? 答:从某种程度上讲,做不到。 不管是父线程还是子线程,这只不过是在运行时谁建了谁时用的,一旦所谓的字线程被启动,这两个线程是没有先后贵贱区分的。 任何线程是没有办法把另外一个线程终止的。 如果你一定想你说的那样是线的话,下面是唯一个可行方案。在"父线程"建立“子线程”时,...原创 2010-06-12 12:49:14 · 473 阅读 · 0 评论