初识不知曲中意,再听已是曲中人下一句是什么(初识Java)
初识Java
Java的特性和优势简单性
就是c++语法的纯净版 。没有头文件 ,指针运算 ,结构 ,联合 ,操作符重载 ,虚基类等等 。
面向对象
面向对象是一种程序设计技术 ,他将重点放在数据(即对象)和对象之间的接口上 。万物皆对象!
可移植性
这是JAVA的一个重要的优势 。JAVA代码或者说字节码 、二进制码可以跨平台的移植 ,而不用管具体的操作系统和硬件环境 。 “一次编写 ,随处运行 ”:“write once, run anywhere ”
高性能
JIT(JUST IN TIME)即时编译 。将一些“热点 ”字节码编译成本地机器码 ,并将结果缓存起来 ,在需要的时候重新调用 。这样的话 ,使JAVA程序的执行效率大大提高 ,某些代码甚至接近c++的效率 。
分布式
JAVA是为internet的分布式环境设计的,因为他能够处理tcp/ip协议 。
动态性
就是在需要时将某些代码添加到正在运行的程序中 。反射机制 。当需要把某些代码添加到正在运行的程序中时 ,动态性是一个非常重要的特性 。Java的动态特性是其面向对象设计方法的扩展。它允许程序动态地装入运行过程中所需要的类 ,这是C++语言进行面向对象程序设计所无法实现的 。
多线程
多线程的使用可以带来更好的交互响应和实时行为 。多线程的简单性是Java成为主流服务器端开发语言的主要原因之一。
安全性
Java适合于网络/分布式环境,为了达到这个目标 ,在安全性方面投入了很大的精力 ,使Java可以构建防病毒 ,防篡改的系统 。
健壮性
Java是一种健壮的语言 ,吸收了C/C++ 语言的优点 ,但去掉了其影响程序健壮性的部分(如:指针 、内存的申请与释放等) 。
Java三大版本JAVA SE:它是JAVA的标准版 ,是整个JAVA的基础和核心 ,是JAVAEE和JAVAME技术的基础 ,主要用于开发桌面应用程序 。
JAVA ME:它是JAVA的微缩版 ,主要应用于嵌入式开发 ,比如手机程序的开发 。
JAVA EE:也叫JAVA的企业版 ,它提供了企业级应用开发的完整解决方案 ,比如开发网站,还有企业的一些应用系统 ,是JAVA技术应用最广泛的领域 。主要还是偏向于WEB的开发 ,而JAVA EE的基础就是JAVA SE,是最核心的 。
JDK 和 JREJDK
Java 2 SDK (Development Kit)包含:JRE的超集 ,包含编译器和调试器等用于程序开发的文件
JRE
Java Runtime Environment (JRE) 包含:Java虚拟机 、库函数 、运行Java应用程序和Applet所必须文件
Java运行环境的三项主要功能:
加载代码:由class loader 完成;
校验代码:由bytecode verififier 完成;
执行代码:由 runtime interpreter完成 。
区别和联系:
sdk(也就是jdk)是jre的超集 ,是在jre的基础上增加了编译器及其他一些开发工具 。 jre就是java运行时环境 ,包括了jvm和其它一些java核心api,任何一台电脑 ,只有安装了jre才可以运行java程序 。如果只是要运行JAVA程序 ,之需要JRE就可以 。 JRE通常非常小 ,也包含了JVM 。如果要开发JAVA程序 ,就需要安装JDK 。
初识JVM(JAVA Virtual Machine)
JVM是一种规范 ,可以使用软件来实现 ,也可以使用硬件来实现 ,就是一个虚拟的用于执行bytecodes字节码的计算机。他也定义了指令集 、寄存器集 、结构栈 、垃圾收集堆 、内存区域 。 JVM负责将java字节码解释运行 ,边解释边运行 ,这样,速度就会受到一定的影响JAVA提供了另一种解释运行的方法JIT(just in time) ,可以一次解释完 ,再运行特定平台上的机器码,高级的JIT可以只能分析热点代码 ,并将这些代码转成本地机器码 ,并将结果缓存起来 ,下次直接从内存中调用 ,这样就大大提高了执行JAVA代码的效率 。这样就实现了跨台 、可移植的功能。
JVM是指在一台计算机上由软件或硬件模拟的计算机;它类似一个小巧而高效的CPU 。
byte-code代码是与平台无关的是虚拟机的机器指令 。
java字节代码运行的两种方式:
1)方式interpreter(解释) 2)Just-in-time(即时编译):由代码生成器将字节代码转换成本机的机器代码,然后可以以较高速度执行 。JAVA的跨平台实现的核心是不同平台使用不同的虚拟机不同的操作系统有不同的虚拟机 。Java 虚拟机机制屏蔽了底层运行平台的差别 ,实现了“一次编译 ,随处运行 ” 。
编写 Java 程序时 ,应注意以下几点:大小写敏感:Java 是大小写敏感的 ,这就意味着标识符 Hello 与 hello 是不同的 。
类名:对于所有的类来说 ,类名的首字母应该大写 。如果类名由若干单词组成 ,那么每个单词的首字母应该大写 ,例如 MyFirstJavaClass 。
方法名:所有的方法名都应该以小写字母开头 。如果方法名含有若干单词 ,则后面的每个单词首字母大写 。
源文件名:源文件名必须和类名相同 。当保存文件的时候,你应该使用类名作为文件名保存(切记Java 是大小写敏感的) ,文件名的后缀为 .java 。(如果文件名和类名不相同则会导致编译错误)。
主方法入口:所有的 Java 程序由 public static void main(String []args) 方法开始执行 。
JAVA程序的运行机制计算机的高级编程语言类型: 编译型 ,解释型. Java 语言是两种类型的结合 。
编译型:
有一个负责翻译的程序来对我们的源代码进行转换,生成相对应的可执行代码。这 个过程说得专业一点 ,就称为编译(Compile) ,而负责编译的程序自然就称为编译器(Compiler) ,就类似于把一本中文书直接翻译成英文版进行出售 。
程序执行速度快 ,同等条件下对系统要求较低 ,因此像开 发操作系统 、大型应用程序 、数据库系统等时都采用它 ,像C/C++ 、Pascal/Object Pascal(Delphi)、VB等基本都可视为编译语言 ,而一些网页脚本 、服务器脚本及辅助开发接口这样的对速度要求不高对不同系统平台间的兼容性有一定要求的程序则通常使用解释性语言 ,如Java 、 JavaScript、VBScript 、Perl 、Python等等 。
翻译型:
打个比方:假如你打算阅读一本外文书 ,而你不知道这门外语 ,那么你可以找一 名翻译 ,给他足够的时间让他从头到尾把整本书翻译好 ,然后把书的母语版交给你阅读(编译型);或者,你也立刻让这名翻译辅助你阅读 ,让他一句一句给你翻译 ,如果你想往回看某个章节,他也得重新给你翻译 。(解释型)
**Java语言虽然比较接近解释型语言的特征 ,但在执行之前已经预先进行一次预编译 ,生成的代码是介 于机器码和Java源代码之间的中介代码 ,运行的时候则由JVM(Java的虚拟机平台 ,可视为解释器)解 释执行 。它既保留了源代码的高抽象 、可移植的特点 ,又已经完成了对源代码的大部分预编译工作 ,所以 执行起来比“纯解释型 ”程序要快许多 。**
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!