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'
相关文档:
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 ......
最近一直在看primer c++,函数一章对c++函数之间传递参数有详细的讲解,传值、传指针和传引用的应用与区别都讲得很清楚,
以前一直用java,由于java没有指针,当时也没有引用这个概念,所以没有对java参数的传递有过多的思考,现在搞清楚了c++
传递参数的机制,自然就会跟java进行对比,究竟java传的是什么东西?
Java代 ......
1、对象是按引用传递的---带"="号的赋值操作
2、Java 应用程序有且仅有的一种参数传递机制,即按值传递---由"函数调用"引起的
3、按值传递意味着当将一个参数传递给一个函数时,函数接收的是原始值的一个副本
4、按引用传递意味着当将一个参数传递给一个函数时,函数接收的是原始值的内存地址,而不是值 的副本
5、注 ......
MySql的时间类型有 Java中与之对应的时间类型
date ......
jdk安全强度设置:
http://java.sun.com/javase/downloads/index.jsp中的Other Downloads下载
解压zip,
用其中的两个jar包覆盖jdk6下\%JDK_HOME%\jre\lib\security目录下的jar包
jre目录下也作相同配置
然后通过代码段
try {
& ......