⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄

📁 JAVA的课件
💻
📖 第 1 页 / 共 2 页
字号:
中文java技术网::全面认识JAVA 
            登录 |免费注册|炎黄盈动|论坛| 主页    站点导航 +-首页 +Java社区 +开源项目 +JAVA图书 +-新手入门 
              |-配置JAVA环境 |-JAVA语言基础 |-开发工具与教程下载 |-程序代码下载 |-实用技巧 |-FAQ abc |-学习资源 
              +专题技术 |-JAVA线程 |-Socket编程 |-应用服务器 |-Web Service |-J2EE |-EJB专题 
              |-JAVA与XML |-Servlet与JSP |-Applet与Swing |-数据库专题 |-JavaMail 
              |-Java智能卡 |-J2ME |-WAP应用技术 |-Java认证考试 |-设计模式 +电子期刊 +会员管理 |-会员管理中心 
              |-我的文章中心 |-JWT成员 




                        全面认识JAVA 阅读次数8279 
                        出处 (注明出处)肖占海     


                              全面认识JAVA 阅读次数5172 

                              出处 (注明出处)JJANI 



                              --------------------------------------------------------------------------------
                              以下是Java标准技术的一些要点: 

                              一、Java的跨平台性,即一次编译到处运行 

                              简单地说Java的跨平台性就是指,编译后的Java程序可直接在不同的平台上运行而不用重新编译,这一特性使得Java随着Web应用的普及而迅速普及起来。而Java的跨平台性是如何实现的呢?这就要理解Java虚拟机和字节码的概念。 


                                实际上,编译后的Java代码并不是传统的二进制代码(如Windows下的.exe文件),而是Java字节码,这种字节码文件是不能直接在操作系统上执行的。要想在一个操作系统上运行一个Java程序必须有一个中间环节来负责将Java字节码解释成二进制码,这个中间环节就是Java虚拟机(简称JVM)。由于目前大多数操作系统已经实现了JVM,所以Java轻松实现跨平台性。 


                                二、面象对象技术 

                                Java全面支持面象对象技术,这体现在Class(类)是Java程序构成的基本单元,一个Java程序通常由许多Class组成,而且这些Class还会有一定的继承关系,Java支持Class的单继承,从而使类之间的继承关系更明确。继承的结果产生类的多态性,类的多态本质上讲就是可以用父类的引用访问继承类的实现(子类对象),类的这种多态性最终形成了组件对象模型的基础,即通过接口(父类)访问实现(子类)。 


                                三、Java中的I/O操作 

                                Java中以字节流(InputStream和OutputStream)、节符流(Reader和Writer)来分别读写二进制数据和字符数据,使用非常简单有效。Java类库中的File类不仅提供文件操作而且还包含文件夹操作,如下面这几行代码可以列出C盘根目录下的所有文件: 


                              File f=new File("c://"; 
                              String [] m_dir= f.list(); 
                              for(int i=0;i System.out.println(m_dir); 

                              四、Java中的图形及事件处理 

                              可以用awt包或swing包的Java类来进行大部分的Java图形界面设计,下面的几行代码将产生一个200*200像素的窗体: 


                              Frame f=new Frame("Welcome"; 
                              f.setSize(200,200); 
                              f.setVisible(true); 

                              默认情况下,Frame窗体的关闭按钮不起作用,这也是Java初学者迷惑的地方。为了使用户按下关闭按钮时能关闭Frame窗体,需要让这个窗体响应一个WindowEvent事件,具体的做法就是给这个窗体添加一个事件监听器对象,这个事件监听器就是WindowListener接口的实现。在上面的代码中插入如下代码就可以关闭窗体: 


                              f.addWindowListener(new WindowAdapter(){ 
                              ??public void windowClosing(WindowEvent e){ 
                              System.exit(0); 
                              ??} 
                              } 

                              这里用到一个无名内部类,无名内部类是Java中内部类的一种灵活运用方式。 

                              五、Java中线程及同步控制 

                              线程概念的引入是为了实现并行处理,从而提高程序的效率。Java中的线程实现非常简单,可以用两种方式来创建线程,一种是实现Runnable接口,另一种是继承Thread类重写run()方法。两种方式唯一的不同就是前者保留了继承一个类的可能(因为Java只支持类的单继承,但接口没有此限制)。 


                                永远都用start()方法来启动一个线程,线程类中的run()可以被直接调用,但决不是启动一个线程,二者有着本质的区别。 


                                用同步控制关键字synchronized来保护线程敏感数据,synchronized块中的内容可以保证同一时刻只能被一个线程访问,所以其中的数据是线程安全的。 


                                用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中被访问了。 


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


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

                              Java SDK Micro Edition (J2ME) 

                              用于开发掌上电脑、手机等移动通信设备上使用的应用程序。并不是所有的移动设备都支持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) 

                              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) 
                              { 
                              ??try{ 
                              response.setContentType("text/html"; 
                              PrintWriter out=response.getWriter(); 
                              out.println(""); 
                              out.println(""); 
                              out.println("Hello world"); 
                              out.println(""); 
                              out.println(""); 
                              ??}catch(IOException e){} 
                              } 
                              } 

                              将这个Class文件编译后放至Tomcat\webapps\examples\WEB-INF\classes下,然后在浏览器地址栏里输入http://127.0.0.1:8080/examples/servlet/Myservlet即可看到 
                              Hello world出现在浏览器中。 

                              (四)Java Server Page (JSP) 

                              同Servlet相似的是,JSP运行于Web服务器端,并且也需要Tomcat之类的容器。不同的是,由于JSP是将Java代码嵌在html标记里(同ASP一样用),JSP的界面设计同后台开发人员的工作可以有效分离。可以想像让开发人员用Servlet写一个花捎的Web页面有多困难,所以JSP+Servlet混合Web应用是比较理想的选择。 


                              看起来JSP同ASP的实现机制大同小异,其实也存在着本质的区别。所有的ASP页面都是解释运行的,而JSP页在第一次被请求时会被编译,再以后的客户请求都是直接运行服务器上的.class文件(在Tomcat的Work文件夹下),所以JSP要比ASP速度上快许多。 


                              (五)Java Beans 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -