JNI技术实践小结

视觉·编程 No Comments »

来源:JavaEye
xx组 kimmking
2008年11月12日

昨天和一部zzz一起研究解决一个java调用第三方dll的问题,从零开始学习了jni技术的应用,现在总结如下。

事情的起因是一部的一个项目需要用到一个爱国者提供的基于U盘的加密技术。对方提供了U盘和一个dll动态链接库hiddenIO.dll。在U盘的隐藏区域内可以储存USB-Key信息,通过这个dll里的两个方法可以使用c/c++编写程序在U盘的隐藏区域读写信息,对方提供了示例代码。由于一部的项目是基于SWT/RCP技术的,所以需要在java程序中调用这两个方法。

目前java与dll交互的技术主要有3种:jni,jawin和jacob。Jni(Java Native Interface)是sun提供的java与系统中的原生方法交互的技术(在windowslinux系统中,实现java与native method互调)。目前只能由c/c++实现。后两个都是sourceforge上的开源项目,同时也都是基于jni技术的windows系统上的一个应用库。Jacob(Java-Com Bridge)提供了java程序调用microsoft的com对象中的方法的能力。而除了com对象外,jawin(Java/Win32 integration project)还可以win32-dll动态链接库中的方法。就功能而言:jni >> jawin>jacob,其大致的结构如下图:
JNI技术实践小结01
jni技术体系功能结构图
Read the rest of this entry »

Java编程思想 “Thinking in Java” 总目录

视觉·编程 1 Comment »

作者:(美)Bruce Eckel

写在前面的话
引言
第1章 对象入门
第2章 一切都是对象
第3章 控制程序流程
第4章 初始化和清除
第5章 隐藏实施过程
第6章 类再生
第7章 多形性
第8章 对象的容纳
第9章 违例差错控制
第10章 Java IO系统
第11章 运行期类型鉴定
第12章 传递和返回对象
第13章 创建窗口和程序片
第14章 多线程
第15章 网络编程
第16章 设计范式
第17章 项目
附录A 使用非Java代码
附录B 对比C++和Java
附录C Java编程规则
附录D 性能
附录E 关于垃圾收集的一些话
附录F 推荐读物

正则表达式30分钟入门教程

视觉·编程 No Comments »

版本:v2.3 (2008-4-13) 作者:deerchao 转载请注明

你可以从这里下载CHM版本来代替在线浏览

Java对String字符串对象的创建以及管理

视觉·编程 No Comments »

作者:whutfirefox

Constant Pool常量池的概念:

在讲到String的一些特殊情况时,总会提到String Pool或者Constant Pool,但是我想很多人都不太明白Constant Pool到底是个怎么样的东西,运行的时候存储在哪里,所以在这里先说一下Constant Pool的内容。

String Pool是对应于在Constant Pool中存储String常量的区域.习惯称为String Pool,也有人称为String Constant Pool.好像没有正式的命名。

在java编译好的class文件中,有个区域称为Constant Pool,他是一个由数组组成的表,类型为cp_info constant_pool[],用来存储程序中使用的各种常量,包括Class/String/Integer等各种基本Java数据类型,详情参见 The Java Virtual Machine Specification 4.4章节。
Read the rest of this entry »

Java开发中实现DOM文档和XML文件间的转换

视觉·编程 No Comments »

作者:DuDu

本文简要描述了DOM的概念和内部逻辑结构,实例讲述DOM文档操作和XML文件互相转换的java实现过程。

1. DOM简介

目前,W3C已于2000年11月13日推出了规范DOM level 2。文档对象模型(DOM)是HTML和XML文档的编程接口规范,它与平台和语言是无关的,因而可以用各种语言在各种平台上实现。该模型定义了THML 和XML文件在内存中的逻辑结构(即为文档),提供了访问、存取THML和XML文件的方法。利用DOM规范,可以实现DOM 文档和XML之间的相互转换,遍历、操作相应DOM文档的内容。可以说,要自由的操纵XML文件,就要用到DOM规范。
Read the rest of this entry »

站在巨人肩膀上学好J2EE全攻略

视觉·编程 No Comments »

作者:大菜鸟

该如何学习J2EE呢?当然 Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。然后你就该学一学Servlet了。Servlet 就是服务器端小程序,它负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代 Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下 Javabean了,可能你早就看不惯JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?还好,SUN提供了 Javabean可以把你的JSP中的Java代码封装起来,便于调用也便于重用。接着就是EJB了,EJB就是Enterprise JavaBean,看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看JavaMail了。
Read the rest of this entry »

如何使用jar命令对java工程进行打包

视觉·编程 No Comments »

有时候为了更方便快捷的部署和执行Java程序,要把java应用程序打包成一个jar包。 而这个基础的操作有时候也很麻烦,为了方便java程序员们能够方便的打包java应用程序, 下面对jar命令进行介绍,并举出几个简单例子针对不同情况进行打包。

一. jar命令用法:
在cmd命令窗口下输入jar,回车,就会提示改命令的用法:
使用jar命令对java工程进行打包
Read the rest of this entry »

Java编程思想 附录F 推荐读物

视觉·编程 No Comments »

返回目录

■《Java in a Nutshell:A Desktop Quick Reference,第2版》
作者:David Flanagan
出版社:O’Reilly & Assoc
出版时间:1997
简介:对Java 1.1联机文档的一个简要总结。就个人来说,我更喜欢在线阅览文档,特别是在它们变化得如此快的时候。然而,许多人仍然喜欢印刷出来的文档,这样可以省一些上网费。而且这本书也提供了比联机文档更多的讨论。

■《The Java Class Libraries:An Annotated Reference》
作者:Patrick Chan和Rosanna Lee
出版社:Addison-Wesley
出版时间:1997
简介:作为一种联机参考资源,应向读者提供足够多的说明,使其简单易用。《Thinking in Java》的一名技术审定员说道:“如果我只能有一本Java书,那么肯定选它。”不过我可没有他那么激动。它太大、太贵,而且示例的质量并不能令我满意。但在遇到麻烦的时候,该书还是很有参考价值的。而且与《Java in a Nutshell》相比,它看起来有更大的深度(当然也有更多的文字)。
Read the rest of this entry »

Q网志 , powered by 七十二松 (72pines). WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS 登录