java的优点
java是目前使用最为广泛的语言之一,它具有简单,面向对象,移植性(跨平台),高性能,分布式,动态性,安全性等
简单性
java语言简单是指这门语言易学又好用,java中的很多语法都是与c++一样的,控制语句几乎一样,但是我们就不要以为java是c++的增强版,二者是两种完全不一样的语言,去除了C++语言中难以理解、容易混淆的特性,如头文件、指针、结构、单元、运算符重载、虚拟基础类、多重继承等,使得程序更加严谨简洁。
面向对象
面向对象是一种程序设计技术,面向对象更加的符合人的思维,是程序员更加容易编写程序,在我们的生活中我们时时刻刻都在跟对象打交道,比如我们养的宠物,使用的圆珠笔,汽车等,我们经常见到的公共汽车,小轿车,卡车等,这些都会涉及到几个重要的物理数量例如可承载人数,车速,油耗,自重等。以及重要的功能:刹车,转弯,加速等,我们也可以将这些功能叫做方法,而物理量是它们的状态描述。仅仅用物理量或功能不能很好的描述它们。
可以移植性
这个是java的一个重要优势,其它语言编写的程序面临的一个主要问题是操作系统的变化,处理器升级以及核心系统资源的变化,都可能导致程序出现错误或无法运行。
Java的虚拟机成功地解决了这个问题,Java编写的程序可以在任何安装了Java虚拟机JVM的计算机上正确的运行,Sun公司实现了自己的目标“一次写成,处处运行”。
高性能
JIT(JUST IN TIME)即时编译。将一些“热点”字节码编译成本地机器码,并将结果缓存起来,在需要的时 候重新调用。使JAVA程序的执行效率大大提高,使一些代码甚至接近c++的效率。
分布式
JAVA是为internet的分布式环境设计的,因为他能够处理tcp/ip协议。事实上,通过url访问一个网络资 源和访问本地文件是一样简单的。Java还支持远程方法调用(RMI,remote method Invocation),使程序 能够通过网络调用方法。
动态性
java程序的基本组成单元就是类,有些类是自己编写的,有一些是从类库中引入的,而类又是运行时动态装载的,这就使得Java可以在分布环境中动态地维护程序及类库,而不像 C++那样,每当其类库升级之后,相应的程序都必须重新修改,编译。
安全性
当你准备从网络上下载一个程序时,你最大的担心是程序中含有恶意的代码,比如试图读取或删除本地机上的一些重要文件,甚至该程序是一个病毒程序等。
当你使用支持Java的浏览器时,你可以放心地运行Java的小应用程序 Java Applet ,不必担心病毒的感染和恶意的企图,Java小应用程序将限制在 Java运行环境中,不允许它访问计算机的其它部分。
java的特点
Java的主要优势在于其做出的WORA:即一次编写(Write Once)、随处运行(Run Anywhere)。简 单来讲,这意味着开发团队能够利用Java编写一款应用程序,并将其编译为可执行形式,而后将其运行 在任何支持Java的平台之上。这显然能够极大提高编程工作的实际效率,这种优势来源于Java Virtual Machine(JAVA虚拟机的缩写),JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在 实际的计算机上仿真模拟各种计算机功能来实现的。JAVA语言的一个非常重要的特点就是与平台的无关 性,而使用Java虚拟机是实现这一特点的关键。
java的三大版本
1. JAVA SE:java的标准版本,是整个JAVA的基础和核心,也是JAVAEE和JAVAME技术的基础,主要用于开发桌面应用程序。学会后可以做一些简单的桌面应用。如:扫雷,贪吃蛇等。
2. JAVA ME:他是java的压缩版,主要用于嵌入式开发,列入手机程序的开发。
3. JAVA EE: java企业级版,用于开发网站,还有企业的一些应用系统,偏向与web开发,JAVAEE的基础就是JAVASE,所以基础一定要打好,这是最基本也是最核心的。
java se:
javase是java的核心和基础,是javaME和javaEE编程的基础。Java SE是由Sun Microsystems公司于1995年5月推出的Java和java平台的总称。用Java实现的Hot Java浏览器(支持Java applet)显示了Java的魅力:跨平台、动态的Web、Internet计算。从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器均支持Java applet。
JDK,JRE,JVM
JDK:Java Development Kit (java开发者工具)
JRE:Java Runtime Environment(java运行环境)
JVM:JAVA Virtual Machine(java虚拟机)
JDK:
JDK是java语言的软件开发工具包,主要用于移动设备以及嵌入式设备上的java程序,同样jdk也是java开发的核心,它包含了java的运行时环境(jvm+java系统类库)和java工具
常用的基本工具
-
Javac:Java源程序编译器,将Java源代码转换成字节码。
-
Java: Java解释器,直接从字节码文件,又称为类文件。执行Java应用程序的字节代码。
-
appletviewer.exe Java applet浏览器:appletviewer命令可在脱离万维网浏览器环境的情况下运applet
-
jar:java应用程序打包工具,可将多个类文件合并为单个JAR归档文件。
-
Javadoc:Java API文档生成器从Java源程序代码注释中提取文档,生成API文档HTML页。
-
jdb:Java调试器(debugger),可以逐行执行程序.设置断点和检查变Md
-
jps:查看Java虚拟机进程列
JRE
java运行时环境(Java Runtime Environment 简称jre)jre可以让计算机运行java应用程序,包含:java虚拟机,函数库,运行Java应用程序和Applet所必须文件
Java运行环境的三项主要功能
1. 加载代码:由class loader 完成;
2. 校验代码:由bytecode verifier 完成
3. 执行代码:由 runtime interpreter完成。
JDK和JRE的区别
jdk是jre的一个超集,它在jre原有的基础上添加了开发工具以及编译器
jre java运行时环境,它里面包含了jvm和其它一些java核心api,任何一台电脑只要是想运行java程序就必须要安装jre
如果只是要运行JAVA程序,之需要JRE就可以。
JRE通常非常小,也包含了JVM. 如果要开发JAVA程序,就需要安装JDK。
JVM(初识)
(JAVA Virtual Machine) JVM是一种规范,可以使用软件来实现,也可以使用硬件来实现,就是一个虚拟的用于执行bytecodes 字节码的计算机。他也定义了指令集、寄存器集、结构栈、垃圾收集堆、内存区域。
JVM负责将java字节码解释运行,边解释边运行,这样,速度就会受到一定的影响。JAVA提供了另一种 解释运行的方法JIT(just in time),可以一次解释完,再运行特定平台上的机器码,高级的JIT可以只能 分析热点代码,并将这些代码转成本地机器码,并将结果缓存起来,下次直接从内存中调用,这样就大 大提高了执行JAVA代码的效率。这样就实现了跨平台、可移植的功能。
1. JVM是指在一台计算机上由软件或硬件模拟的计算机;它类似一个小巧而高效的CPU。
2. byte-code代码是与平台无关的是虚拟机的机器指令。
3. java字节代码运行的两种方式:
a.方式interpreter(解释)
b.Just-in-time(即时编译):由代码生成器将字节代码转换成本机的机器代码,然后可以以较高速度执行。
JAVA的跨平台实现的核心是不同平台使用不同的虚拟机 不同的操作系统有不同的虚拟机。Java 虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,随处 运行”。