仓酷云

标题: 发布一篇在Java中利用VC++组件 [打印本页]

作者: 老尸    时间: 2015-1-18 11:34
标题: 发布一篇在Java中利用VC++组件
Java到底会发战成什么样,让我们拭目以待吧,我始终坚信着java会更好。以上都是俺个人看法,欢迎大家一起交流.
先容
JNI是我喜好的java编程框架;它让你你自在的利用当地编写的代码。比方,假如你想要在你的java程序中利用WindowsAPI(不如说dll),那末你就要用JNI。Java最受接待的特征就是它的平台有关性。可是,偶然候这一特征也会使你将Java程序与当地平台整合变得坚苦。
比方,在我们的工程中,将动静增加到数据库之前,我们利用MSMQ(MicrosoftMessagingQue)的行列机制来保护动静(为了不动静丧失)。Microsoft供应了MSMQAPI,它是Windows的API。可是我们的程序利用Java来处置动静的,而且Java不克不及间接会见如许的API(dll)。因而我们决意做一其中间DLL,它可以作为Java和VC++之间的桥(我们用过的手艺JavaNativeInteface或JNI)。
在进一步先容之前,你应当晓得或熟习的上面一些常识:
1.当地办法:当地办法是一个用在.Java文件中声明的办法,而且这个声明将在你的当地代码(关于Windows来讲是在VC++中)中界说。
2.静态块:Java中的静态块是指在任何其他事变产生前就可以够被实行的代码块。
那末让我们入手下手吧。起首,用当地办法声明来写你的Java程序。上面代码来自源代码中的例子:
publicclassJNITest
{
static
{
System.loadLibrary("JNITest");//Loadingdllinmemory
}
nativevoidshowMessage(Stringstr);//Declaringnativemethod
publicJNITest()
{
System.out.println("IntheconstructoroftheJavaprogram");
}
publicstaticvoidmain(Strings[])
{
JNITestJNT=newJNITest();
JNT.showMessage("PassingstringfromJava");
}
}
在下面的代码中我们声了然showMessage办法,它是当地的办法,然后挪用它,w.r.t类JNITest的对象。
实行上面的步骤:
1.编译代码天生.class文件
2.在JDK文件夹中找到javah命令
3.在Dos命令行下实行javah-jniJNITest
实行完下面的步骤将发生JNITest.h文件。这个.h文件包括了在Java代码中声明的当地办法的VC++中的函数名。
创立JNIDLL
<p>我已完成了一半了。
比如模式、敏捷方法什么的,这些思想好,但是实施的人没有理解而且没有正确运用这些知识导致了开发周期的延长。比如说对象,通过getName()方法不能获取对象的名字。
作者: 精灵巫婆    时间: 2015-1-21 10:19
Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站
作者: 若天明    时间: 2015-1-22 17:37
自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。
作者: 柔情似水    时间: 2015-1-25 18:02
你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?
作者: 兰色精灵    时间: 2015-2-3 12:25
Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)
作者: 仓酷云    时间: 2015-2-4 19:03
有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想)
作者: 爱飞    时间: 2015-2-9 16:41
你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。
作者: 海妖    时间: 2015-2-27 11:40
不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。
作者: 小妖女    时间: 2015-3-1 13:10
另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。
作者: 山那边是海    时间: 2015-3-10 18:17
Java是一种计算机编程语言,拥有跨平台、面向对java
作者: 小魔女    时间: 2015-3-13 01:09
至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。
作者: 冷月葬花魂    时间: 2015-3-20 08:40
Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。
作者: 变相怪杰    时间: 2015-3-21 00:44
你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。
作者: 再见西城    时间: 2015-3-26 18:11
让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。
作者: 乐观    时间: 2015-4-1 13:10
所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。
作者: 活着的死人    时间: 2015-4-4 00:16
Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
作者: 因胸联盟    时间: 2015-4-21 17:01
至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。
作者: 谁可相欹    时间: 2015-5-1 07:09
科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
作者: 蒙在股里    时间: 2015-5-2 08:38
[url]http://www.jdon.com/[/url]去下载,或到同济技术论坛的服务器[url]ftp://nro.shtdu.edu.cn[/url]去下,安装上有什么问题,可以到论坛上去提问。
作者: 飘灵儿    时间: 2015-5-5 22:43
《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2