This Domain(Admin5.com) is for Sale:

由基本概念开始全面认识JAVA

时间:2007-12-27  来源:不详  作者:林子

用Object类中的wait()和notify()方法可以实现线程间交互,但要记住wait()和notify()方法只有发生在同一个对象上才能真正实现线程间交互。被某一对象wait()方法阻塞的线程需要另外一个调用了同一对象notify()的线程干预才能恢复运行。notify()方法一次唤醒一个被wait()方法阻塞的线程,notifyAll()方法可以一次唤醒所有被wait()方法阻塞的线程。 织梦内容管理系统

六、Java本地方法(native方法)的实现

dedecms.com

Java不是完美的,Java的不足除了体现在运行速度上要比传统的C 慢许多之外,Java无法直接访问到操作系统底层(如系统硬件等),为此Java使用native方法来扩展Java程序的功能。

本文来自织梦

可以将native方法比作Java程序同C程序的接口,其实现步骤:

织梦好,好织梦

1、在Java中声明native()方法,然后编译;

本文来自织梦

2、用javah产生一个.h文件;

织梦好,好织梦

3、写一个.cpp文件实现native导出方法,其中需要包含第二步产生的.h文件(注重其中又包含了JDK带的jni.h文件); 织梦内容管理系统

4、将第三步的.cpp文件编译成动态链接库文件;

本文来自织梦

5、在Java中用System.loadLibrary()方法加载第四步产生的动态链接库文件,这个native()方法就可以在Java中被访问了。

copyright dedecms

copyright dedecms


上述所提及的一些Java技术具有一定的普遍性,它们基本上是在Java各个方面的运用中都需要把握的术。实际上Java的运用非常广泛,而且每个方面都需要遵循不同的规范。以下是对Java应用的简要介绍。

本文来自织梦

(一)理解Java SDK的三个版本:

copyright dedecms

Java SDK Micro Edition (J2ME) copyright dedecms

用于开发掌上电脑、手机等移动通信设备上使用的应用程序。并不是所有的移动设备都支持Java,只有具备J2ME运行环境(JVM J2ME API)的设备才能运行Java程序。J2ME的集成开发工具(通常都有带有一些访真器)有 Sun 的J2ME Wireless Toolkit 、IBM的Visul Age Micro Edition 等。 织梦好,好织梦

Java SDK Standard Edition(J2SE)

本文来自织梦

主要用于开发一般台式机应用程序。我们平时所说的JDK就指J2SE,而我们学Java就是从学习J2SE开始的。

织梦内容管理系统

Java SDK Enterprise Edition (J2EE)

织梦内容管理系统

用于开发分布式的企业级大型应用程序。其中的核心是Entetprise Java Beans(EJB,分布式Java组件)的开发。 织梦好,好织梦

(二)Java小程序 (Applet)

织梦好,好织梦

Java小程序是一个继续了Applet类并重写了init()、paint()、stop()等方法的的Java类,它被布署在Web服务器(如IIS)上,当客户端请求Web页时,浏览器从Web服务器上将其下载到本地客户端,然后,浏览器创建该Applet类的实例并调用其init()方法,从安全角度考虑,Applet没有访问本地文件的权限。由于Applet是被浏览器执行的,所以Applet不需要一个main()方法。实际上,除了Java Application之外,所有其它Java应用都不需要一个main()方法。

织梦好,好织梦

(三)服务器端Java小程序 (Servlet) copyright dedecms

Servlet也是一个Java类,和Applet形成对比,Servlet是运行于服务器端的Java小程序,而且Servlet需要一个单独的Web服务器(如Tomcat)做容器。除此之外,Servlet中用到的一些类(如HttpServlet)并不包含在J2SE API中,所以需要将Servlet.jar(在Tomcat的common\lib文件夹下)加到环境变量中去。下面是一个简单的Servlet例子: 织梦好,好织梦

public class Myservlet extends HttpServlet{ 织梦好,好织梦

public void doGet(HttpServletRequest request,HttpServletResponse response) 织梦内容管理系统

{

copyright dedecms

try{

内容来自dedecms

response.setContentType("text/html");

内容来自dedecms

PrintWriter out=response.getWriter();

内容来自dedecms

out.println("");

内容来自dedecms

out.println(""); 织梦内容管理系统

out.println("Hello world");

织梦好,好织梦

out.println("");

织梦内容管理系统

out.println(""); copyright dedecms

}catch(IOException e){}

看完这篇,您有何感觉呢?

文章评论

共有位Admini5网友发表了评论 查看完整内容

24小时热门信息