易截截图软件、单文件、免安装、纯绿色、仅160KB
热门标签: c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 最新文章 :

Java多线程,生产者,消费者回顾.简单的一条街包子铺!

一条街,有很多家包子铺,包子铺,开张的时候,都已经做好了19个包子,包子呢,是边做边卖.做1个包子,是铁定的800ms,而卖出1个包子不会超过1s(生意好).
 package book.thread;
import java.util.List;
import java.util.Vector;
/**
* 包子铺
*
* @author Vicky
*
*/
public class WaitNotify2 {
static class Shop implements Runnable {
private boolean isRunning = false;
private String name;
/** 记录今天做的总共的包子 * */
private int count = 0;
/** 做包子的任务 * */
private Thread subThread1 = null;
/** 卖包子的任务 * */
private Thread subThread2 = null;
/** 包子铺中的包子 * */
private List<Integer> baozis = new Vector<Integer>();
public Shop(String name) {
super();
this.name = name;
initShop();
}
/**
* 初始化包子铺
*/
private void initShop() {
for (int i = 1; i < 20; i++) {
baozis.add(count++);
}
}
/**
* 做包子,每秒做1个包子
*/
public void makeBaozi() {
subThread1 = new Thread() { ......

Java注释(Annotation)


Java5中提供了新的注释(Annotation),能够为类提供额外信息,本文介绍了如何定义注释、如何使用注释和如何解析注释。
1、定义注释
package ch5;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
// 注释什么时候起作用包括两种:RetentionPolicy.RUNTIME(编译并且在运行的时候可以找到),
// RetentionPolicy.SOURCE(编译的时候将被忽略)
@Retention(RetentionPolicy.RUNTIME)
// Target指出注释使用的地方:类或者接口上(ElementType.TYPE),
// 方法上(ElementType.METHOD),
// 属性上(ElementType.FIELD)
@Target({ElementType.TYPE})
public @interface Table {
 String name();
}
2、使用注释
package ch5;
@Table(name = "user")
public class UserBean {
 private String id;
 private String name;
}
3、解析注释
package ch5;
import java.lang.annotation.Annotation;
public class UserManger {
 private UserBean user;
 public static void main(String[] args) {
&nb ......

java界面开发中,如何防止窗口被耗时操作冻结?

      在Java开发中,经常会有这样的情况,点击一个按钮button1,触发的操作时很耗时的操作,有可能是10分钟,甚至需要更长的时间才能执行完毕,这时候界面如同被冻结一样。
      解决办法:使用多线程。
      如果button1触发的事件处理函数问button1Action(),
则该为如下:
button1Action()
{
    Thread t=new Thread(new Runnable(){public void run(){doit();}})
}
private void doit()
{
//耗时操作的执行代码
...
...
} ......

Java反射机制

Java中提供了Class类,可以通过Class类获取类的定义信息,包括包名、类名、类上的注释(Annotation)、类的修饰符、父类、继承的接口、构造方法、成员变量和成员方法。这些信息分别使用java.lang.annotation.Annotation、 java.lang.reflect.Constructor、java.lang.reflect.Field、java.lang.reflect.Method、java.lang.reflect.Modifier来表示。可以动态调用方法和属性。下面的例子展示了基本用法。
package ch5;
import static java.lang.System.out;
import java.lang.annotation.Annotation;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
public class ClassInfo {
 
 public static void main(String args[]){
  
  Class c=String.class;
  // 1、得到所有方法
  Method[] methods = c.getMethods();
  // 2、得到某个方法
  try{
   // 第一个参数是方法的名字,后面的参数是参数的类型
      Method find = c.getMethod("index ......

在java中使用iText拆分PDF文件

使用iText来拆分pdf文件相比PDFBOX要复杂一点。以下示例实现了拆分PDF文件为单页文件,并保存为“文件名-n.pdf”的文件:
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.pdf.PdfCopy;
import com.itextpdf.text.pdf.PdfReader;
/**
* PDF文档的工具
*
* @author Howard
*
*/
public class PDFTool {
/**
* 拆分pdf,返回页数
*
* @throws IOException
* @throws DocumentException
* @throws FileFormatException
* @throws FileNotFoundException
*
*/
public int split(String filePath) throws IOException, DocumentException {
PdfReader reader = new PdfReader(filePath);
int pageCnt = reader.getNumberOfPages();
for (int i = 0; i < pageCnt; i++) {
Document document = new Document(reader.getPageSizeWithRotation(i+1));
PdfCopy copy ......

保护你的JAVA / .net 程序,终极避免被反编译方法研究

保护你的JAVA / .net 程序,终极避免被反编译方法研究
反编译真的让JAVA / .net 制作者讨厌的东西。你花大量的精力做了一个很好的软件,却有人盗用,
盗用都算了
人家还用来商业...
就像某文说的.你的软件买 XXXXXXXX大元.人家公司买200元.....
怎么做到呢?就是通过反编译。
我们可以看到
就算保护很强的reflector4/6 也未能幸免
如果你不将你的Application进行保护,它将很容易被反编译
只需一个软件就可以获取阅读性很强的源代码。
现行方法我说一下,
一个 是所谓混淆。
二个是加壳或者虚拟机
我最近研究 是 终极大法。
就是将他彻底编译为本机代码,或者就是类似C/C++一样
编译为真正的机器码。
然后 你就高枕无忧吧。
我想如果对方真有本事能ASM-〉C or C#
上面什么保护对他而言都是纸老虎。
本机编译话题 网上不多,而且很多内容也比较旧了(好几篇2002年,也没有人验证)
我花了一个星期时间 验证每一种方法,给大家做个汇报
JAVA 篇
我倒不敢班门弄斧,JAVA有问题去请教我徒弟吧
(这是他的BLOG http://blog.csdn.net/DL88250)
JAVA 现行本机编译商业软件比较强悍,也比较成熟。直接去购买就是
不属于本文研究内容。
我研究的是GCJ。windo ......
总记录数:40319; 总页数:6720; 每页6 条; 首页 上一页 [236] [237] [238] [239] 240 [241] [242] [243] [244] [245]  下一页 尾页
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号