java调用动态库(.dll或.so)
直接通过main入口:
arguments设置:-Djava.library.path=动态库所在目录
在Linux上调.so文件:.so文件 必须命名为:libXXX.so,如:libJni.so
在Windows上调.dll文件:.dll文件 命名不要加lib,直接命名为:XXX.dll 如:Jni.dll
例:
动态库:libJniNassirDecrypt.so 或 JniNassirDecrypt.dll
java调用动态库代码:
String sharedLibraryPath = "JniNassirDecrypt";
try {
System.out.println(System.getProperty("java.library.path"));
System.loadLibrary(sharedLibraryPath);
} catch (Throwable t) {
t.printStackTrace();
}
Web application调用:
Tomcat配置
windows下:把dll直接放到tomcat/bin就行了(也可以是环境变量path的所设定的任何一个目录下)
linux: catalina.sh加入
# -----------------------------------------------------------------------------
# OS specific support. $var _must_ be set to either true or false.
JAVA_OPTS='-Djava.library.path=/home/~~/tomcat/jni'
相关文档:
昨天看到这样一篇帖子,讨论类加载顺序的,也可以说是初始化顺序的,今天早上找不到了,本来想回复的,现在自己写博客回复了,呵呵
public class Singleton {
private static Singleton obj = new Singleton();
public static int counter1 ;
public static int counter2 = 0;& ......
Java反编译工具Eclipse插件--Jode Decompiler
安装非常的简单:
help => Software Updates => Find and Install... => Search for new features to install,
单击"New Remote Site..." 在URL栏输入 http://www.technoetic.com/eclipse/update ,
然后下一步,就可以看到“j ......
Graphics2D arg;
float thick=3.0f;
arg1.setStroke(new BasicStroke(thick, BasicStroke.CAP_SQUARE, BasicStroke.JOIN_ROUND));
arg1.drawLine(first.x, first.y, next.x, next.y);
arg1.setColor(Color.red);
......
优先级
运算符
名称
1
( )
括号
2
[ ] , 。
后缀运算符
3
- (一元运算符,取负数) , ! , ~ , ++ , --
一元运算符
4
* , / , %
乘,除,取模
5
+, -
加,减
6
>> , << , >>>
移位运算符
7
> , < , >= , <= , instanceof
关系运算符
8
==,!=
等于,不等于
9
......
jdk安全强度设置:
http://java.sun.com/javase/downloads/index.jsp中的Other Downloads下载
解压zip,
用其中的两个jar包覆盖jdk6下\%JDK_HOME%\jre\lib\security目录下的jar包
jre目录下也作相同配置
然后通过代码段
try {
& ......