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 ......
annotations : 注释
好处
1.文档编制
2.编译器检查
3.代码分析
JSR 175 是编程语言的元数据工具,为将元数据合并到核心java语言中提供正式理由和说明
基本知识:
注释采用"@"标记形式,后面是注释名称,然后在需要数据时,通过name=value对向注释提供数据
注释的三个基本种类:
标记注释 ......
脚本变量是使用 var 或 def 关键字声明的。
二者之间的区别在于:在脚本的整个生命周期内都可以为 var 变量赋予新值,
而 def 变量在被首次赋予新值后将保持不变;
def numOne = 100;
def numTwo = 2;
var result;
add();
subtract();
multiply();
divide();
function add() {
result = numOne + numTwo; ......
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);
......
最近一直在看primer c++,函数一章对c++函数之间传递参数有详细的讲解,传值、传指针和传引用的应用与区别都讲得很清楚,
以前一直用java,由于java没有指针,当时也没有引用这个概念,所以没有对java参数的传递有过多的思考,现在搞清楚了c++
传递参数的机制,自然就会跟java进行对比,究竟java传的是什么东西?
Java代 ......