- 浏览: 79382 次
- 性别:
- 来自: 山西
最新评论
文章列表
本节通过一个简单的实例来说明Java程序中如何调用dll。
1.创建HelloWorld.java;
2.编译HelloWorld.java文件,产生HelloWorld.class文件;
class HelloWorld {
public native static void sayHelloWorld();
}
3.在命令行下执行javah HelloWorld,产生HelloWorld.h文件;
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* ...
- 2009-04-21 14:17
- 浏览 919
- 评论(0)
静态初始化代码不能抛出异常;
类变量的生存期从类第一次被加载开始,到应用程序结束为止;
一旦某个类包含了哪怕一个抽象方法,那么你也必须把该类定义成抽象类。并且Java不允许创建抽象类的实例,就像不能直接实例化某个接口一样;
如果某个类没有指定访问修饰符,那么该糊涂拥有包访问级别,即默认的访问级别。这意味着,同一个包中的其它类可以引用这个类,但是不同包中的类不能访问这个类。
- 2009-04-21 14:01
- 浏览 1111
- 评论(0)
1.状态转换:
转到Not Runnable(blocked)状态
调用sleep(),wait(),等待I/O完成。
转到Runnable状态
调用notify(),notifyAll(),interrupt(),I/O结束。
2.线程方法
yield()
让当前线程礼让一下其它线程,让它们有机会取得执行权;该方法仅适合不支持Timeslicing的OS。
join()
当B线程使用join()加入到A线程时,A线程会等待B线程工作完毕,然后再继续它的动作。
- 2009-04-21 13:58
- 浏览 993
- 评论(0)
public synchronized void setName(String name);
synchronized(this);
synchronized(arrayList){arrayList.add(new someClass());}
例如:
package testsynchronized;
class Student {
private String name;
private String id;
public String getName() {
return name;
}
publ ...
- 2009-04-21 13:49
- 浏览 1005
- 评论(0)
程序中用swing组件时应注意,任何java程序都是由主线程中的main()方法开始执行,当main()方法中的JFrame调用setVisiable(true)后,引发了另一个线程——事件分派线程,而actionPerformed()及paintComponent()方法都是在事件分派线程中被调用,所以如果在actionPerformed()方法中有大量的耗时操作,将会导致用户界面无法响应用户请求,造成用户界面锁死。在这种情况下,最好在actionPerformed()方法中将耗时操作的程序部分移至一个新的线程中实现,这样程序在进行大量计算的同时又可以及时地响应用户请求.
package t ...
- 2009-04-21 13:41
- 浏览 1164
- 评论(0)