由基本概念开始全面认识JAVA
用Object类中的wait()和notify()方法可以实现线程间交互,但要记住wait()和notify()方法只有发生在同一个对象上才能真正实现线程间交互。被某一对象wait()方法阻塞的线程需要另外一个调用了同一对象notify()的线程干预才能恢复运行。notify()方法一次唤醒一个被wait()方法阻塞的线程,notifyAll()方法可以一次唤醒所有被wait()方法阻塞的线程。 织梦内容管理系统
六、Java本地方法(native方法)的实现
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的三个版本:
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");
PrintWriter out=response.getWriter();
内容来自dedecms
out.println("");
out.println(""); 织梦内容管理系统
out.println("Hello world");
织梦好,好织梦
out.println("");
out.println(""); copyright dedecms
}catch(IOException e){}
文章评论
共有位Admini5网友发表了评论 查看完整内容