java简介

纵饮孤独 提交于 2020-03-17 08:34:40

1.1 java平台简介
java se :java标准版,主要用于桌面机应用和数据库的开发。
java ee :java企业版,提供企业级开发的各种技术,主要用于企业级开发,现在用的最多的就是这个。
java me :java micro edition,这个版本主要用于嵌入式和移动式的开发,最常用的就是手机应用软件的开发。
jdk:java development kit.
jdk目录及说明:
(1)bin:jdk的基本程序都在这里,如javac,java,javadoc;
(2)demo:java的一些例子程序;
(3)jre:java的运行环境;
(4)lib:java的类库;
(5)src:java类库的源代码;
1.3 程序开发过程
(1)创建一个源文件。java源文件就是java代码,以Java语言编写。Java源文件是纯文本文件,扩展名为“.java”。可以用任何文本编辑器来创建和编辑源文件。
(2)将源文件编译为一个.class文件。使用jdk所带的编译工具javac.exe,它会读取源文件并将其文本文件编译为Java虚拟机能理解的指令,保存后缀以.class结尾的文件中。包含在class文件中的指令就是众所周知的字节码(bytecodes),它是与平台无关的二进制文件,执行时由解释器java.exe解释成本地机器码,边解释边执行。
(3)运行程序。使用java解释器(java.exe)来执行java应用程序字节码(.class文件),通过使用java虚拟机来运行java应用程序。
编写HellWorld程序:
public class HelloWorld{
      public static void main(String [] args){
      System.out.println("Hello ,World ! ");
      }
 }
java有哪些优点:
(1)提供一个解释环境:
*加速开发:java当初是为了开发适用于智能化电子消费设备上的软件,它是基于c++的语言,但做了简化,能加速软件开发的过程。
*一次编写,到处运行。(跨平台性)
*多线程:多线程编写的简单性是java成为流行的服务器端开发语言的主要原因之一。
(2)提供了一个比较容易的编程方式:
*更健壮:没有指针(引用),没有内存管理;
*更纯粹的面向对象的编程:在java中认为一切均是对象,对象有属性以及改变属性值的方法。通过Java编程围绕着构建对象的模板,实例化对象,调用对象的方法和属性等来进行封装,继承,多态。

java虚拟机的特性:
JVM:java virtual machine,是用软件来模拟一个虚拟的环境。我们用java编写的源程序经过编译之后会生成字节码文件,JVM提供了一个解释运行java字节码文件的环境,只要在不同的操作系统上安装JVM后,就能对同一个java程序进行解释运行,这就是Java的跨平台,一次编写,到处运行。它能将.class转换成机器或者操作系统所能识别的二进制文件。

垃圾收集的概念:
垃圾:无用对象所占据的空间;
垃圾回收:将无用对象所占据的空间进行回收的过程。
为什么要进行垃圾回收?
对象创建需要占用内存空间,在一个程序运行过程中要创建无数个对象,如果对象永久占用内存,那么内存很快就会消耗光,导致后续对象无法创建或者出现内存不足的错误,因此必须采用一定的措施及时回收那些无用对象的内存,这样保证内存可以被重复利用。c++等程序员忘记内存释放,导致无端的内存占用;或者释放类库占用内存,导致系统崩溃;
java中的垃圾回收处理:由虚拟机通过一个系统级的垃圾回收期鲜橙自动完成,不会忘记也不会释放错误,系统更加稳定;
java中垃圾回收处理的特点:
(1)由虚拟机通过垃圾回收线程自动完成;
(2)只有当对象不再被使用,它的内存才有可能被回收;如果虚拟机认为系统不需要额外的内存,即使对象不再被使用,内存也不会被回收;CPU是否空闲,内存是否紧张;
(3)程序无法显示迫使垃圾回收器立即执行垃圾回收,可以通过java.lang.System.gc()/java.lang.Runtime.gc()建议虚拟机回收对象;
阐述Java平台代码安全实现策略:
java虚拟机为java程序提供运行时的环境,其中一项重要的任务就是管理类,管理类的加载,连接和初始化;
加载:查找并加载类的二进制文件(class文件)Java虚拟机可以从多种来源加载类的二进制数据,包括:
*从本地文件系统中加载.class文件,最常见;
*通过网络下载.class文件;
*从zip,jar或其他类型的归档文件中提取.class文件;
*从一个专用数据库中提取.class文件;
*把一个java源文件动态编译为.class文件;
连接:
*验证:确保被加载类的正确性(有正确的内部结构并且与其他类协调一致);
为什么要验证?
Java虚拟机不知道某个特定的.class文件到底是由正常的java编译器生成的,还是黑客特制的。类的验证能提高程序的健壮性,确保程序被安全的执行。
类的验证内容:*代码和JVM规范一致
          *代码不能破坏系统的完整性
          *没有堆栈的上溢和下溢
          *参数类型是正确的
          *类型转换是正确的
初始化:给类的静态变量赋予正确的初始值;
java的工作方式:
源代码:编写java源代码文件
编译器:用编译器编译源代码。编译器会检查错误,如果有错误就要改正才能正确的输出。
输出:编译器会产生字节码。任何支持java的装置都能把它转译成可执行的内容。编译后的字节码于平台无关。
java虚拟机:可以读取和执行字节码。加载指定类,开始执行它的main方法,然后一直运行到main的所有程序代码结束为止。





易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!