【程序源代码】《JAVA基础》之Java语言基础

程序源代码

共 3772字,需浏览 8分钟

 ·

2020-09-19 17:45

关键字:《JAVA基础》 自学笔记

时令已经过了白露,转眼就快到了中秋佳节,天天渐渐变凉,一派秋天肃杀的景象。2020年注定是一个不平凡的一年。新型肺炎带来的影响还在持续。生活和经济都蒙上了一些不确定的薄薄的灰色。最近疫情期,自己憋在家里除了日常的活动外,没有其它事情要做,感觉时间都浪费掉了。同时由于疫情经济和情感上压力也有些大。为了排解压力让自己充实起来,我决定自己用一个月的时候自学一个新语言,选来选去决定学习python。在学习的过程中接有时感觉特别累,每天总体上也坚持自学至少三个小时。学习中发现了一个比较好的软件xmind,通过xmind这个思维导图软件制作了一些自学笔记,把每节的重点整理成图形的方式,很容易直观理解和掌握。最近整理出来一些图例分享给大家一起学习,希望大家能喜欢。自学确实不容易,贵在坚持!前一段时间给几个同学培训,录制了一些关于java基础方面的视频,我发布到公众号和视频网站上,最近好多朋友联系我给我鼓励让我继续接着写下去。所以今天陆续整理前面的一些文稿,整理成册分享给大家,欢迎鉴阅。希望大家能喜欢我的文章,继续鼓励我。共同成长。




第三节

Java语言介绍


图-1: 思维图


一、Java发展简史

1991年,James Gosling所在SUN公司的工程师小组想要设计这样一种小型计算机语言:该语言主要用于像电视盒这样的消费类电子产品,另外,由于不同的厂商选择不同的CPU和操作系统,因此,要求该语言不能和特定的体系结构绑在一起,要求语言本身是中立的,也就是跨平台的。为此,他们将这个语言命名为Green,类似于绿色软件的意思,后来,又改名为Oak,橡树的意思。改名后发现已经有一种语言叫这个名字了,于是再改名为Java。Java语言发展到今天经历了一系列过程:1991年,SUN公司的Green项目,推出Oak;1995年,推出Java测试版;1996年,推出JDK1.0;1997年,推出JDK1.1;1998年,推出JDK1.2,大大改进了早期版本的缺陷,是一个革命性的版本,并更名为Java2;2004年,推出J2SE 5.0(1.5.0)Tiger(老虎);2006年,推出J2SE 6.0(1.6.0)Mustang(野马);2011年,推出Java SE 7.0 Dolphin(海豚);2014年,推出Java SE 8.0。


二、Java的核心优势

Java为消费类智能电子产品而设计,但智能家电产品并没有像最初想象的那样拥有大的发展。然而到了20世纪90年代,Internet却进入了爆发式发展阶段,一夜之间,大家都在忙着将自己的计算机连接到网络上。这时,遇到了一个大问题。人们发现连接到Internet的计算机各式各样,有IBM PC、苹果机、各种服务器等,不仅硬件CPU不同,操作系统也不相同,整个网络环境变得非常复杂。程序员们希望他们编写的程序能够运行在不同的机器、不同的环境中,这就需要一种体系中立的语言(即跨平台)。Java的研发小组忽然发现他们用于小范围的语言也可以适应Internet这个大环境。跨平台是Java语言的核心优势,赶上了最初互联网的发展,并随着互联网的发展而发展,建立了强大的生态体系,目前已经覆盖IT各行业成为“第一大语言”,它被喻为计算机界的“英语”。虽然,目前也有很多跨平台的语言,但是已经失去先机,无法和Java强大的生态体系抗衡。Java仍将在未来几十年成为编程语言的主流。


三、Java各版本的含义

Java SE(Java Standard Edition):标准版,定位于个人计算机的应用开发

Java EE(Java Enterprise Edition):企业版,定位于服务器端的应用开发

Java ME(Java Micro Edition):微型版,定位于消费性电子产品的应用开发


四、Java的特性

1.跨平台/可移植性

跨平台/可移植性是Java的核心优势。Java在设计时就很注重移植和跨平台性。例如Java的int永远都是32位,不像C++可能是16或32位,会根据编译器厂商规定的变化而变化,给程序的移植带来麻烦。

2.安全性

Java适用于网络/分布式环境。为了达到这个目标,Java系统的开发人员在安全性方面投入了很大的精力,使Java可以很容易构建出防病毒、防篡改的系统。

3.面向对象

面向对象是一种程序设计技术,非常适合大型软件的设计和开发。由于C++为了照顾大量C语言使用者而兼容了C,使得自身仅仅成为了带类的C语言,多少影响了其面向对象的彻底性,而Java则是完全面向对象的语言。

4.简单性

Java就是C++语法的简化版。我们也可以将Java称之为“C++-”,即“C加加减”,指将C++的一些内容去掉,例如头文件、指针运算、结构、联合、操作符重载、虚基类等。同时,由于语法基于C语言,因此学习起来完全不费力。

5.高性能

Java在最初发展阶段,总是被人诟病性能低。客观上,高级语言运行效率总是低于低级语言的,这是无法避免的。Java语言本身在发展中通过对虚拟机的优化提升了几十倍的运行效率,例如,通过即时编译(JUST IN TIME,JIT)技术提高运行效率,将一些“热点”字节码编译成本地机器码,并将结果缓存起来,在需要的时候重新调用。这样使得Java程序的执行效率大大提高,某些代码甚至接近C++的效率。至此,Java低性能的缺陷已经被完全解决了。在业界发展方面,我们也看到很多C++应用转到Java开发,很多C++程序员转型为Java程序员。

6.分布式

Java是为Internet的分布式环境而设计的,因为它能够处理TCP/IP协议。事实上,通过URL访问一个网络资源和访问本地文件一样简单。Java还支持远程方法调用(Remote Method Invocation, RMI),使程序能够通过网络调用方法。

7.多线程

多线程的使用可以带来更好的交互响应和实时行为。Java多线程的简单性是Java成为主流服务器端开发语言的主要原因之一。

8.健壮性

Java是一种健壮的语言,它吸收了C/C++ 语言的优点,但去掉了其影响程序健壮性的部分(如指针、内存的申请与释放等)。Java程序不可能造成计算机崩溃。Java程序也可能有错误,即使出现某种出乎意料之事,程序也不会崩溃,而是把该异常抛出,再通过异常处理机制加以处理。


       五、Java应用程序的运行机制

计算机高级语言的类型主要有编译型和解释型两种,Java语言是两种类型的结合。Java程序员首先利用文本编辑器编写Java源程序,源文件的扩展名为.java;再利用编译器(javac)将源程序编译成字节码文件,字节码文件的扩展名为.class;最后利用虚拟机(解释器,java)解释执行。详细参考如下是图示:

图-2: java语言执行过程


      六、JVM、JRE和JDK 是什么

JVM(Java Virtual Machine)就是一个虚拟的用于执行字节码的“虚拟计算机”,它也定义了指令集、寄存器集、结构栈、垃圾收集堆、内存区域。JVM负责解释运行Java字节码,边解释边运行,这样,速度就会受到一定影响。不同的操作系统有不同的虚拟机。Java虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编写,随处运行(Write once, run everywhere)”。Java虚拟机是实现跨平台的核心机制,如图1-6所示。

图-3: 不同的操作系统有不同的虚拟机


JRE(Java Runtime Environment)包含Java虚拟机、库函数和运行Java应用程序所必需的文件。JDK(Java Development Kit)包含JRE以及编译器和调试器等用于程序开发的文件。JDK、JRE和JVM的关系如图1-7所示。

图-4: JDK和JVM的关系


—————————————

如果大家喜欢,请一定关注我哦






公众号ID:  itcode

【公众号二维码, 扫一扫吧


微信ID:  itcoder

微信二维码, 扫一扫吧




【投稿邮箱】315997972@qq.com
【写作说明】文章属于此公众号原创所有,如需转载请注明出处。
【免责申明】本公众号不是广告商,也没有为其他三方网站或者个人做广告宣传。文章发布源代码和文章均来源于各类开源网站社区或者是小编在项目中、学习中整理的一些实例项目。主要目的是将开源代码分享给喜欢编程、有梦想的程序员,希望能帮助到你们与他们共同成长。其中用户产生的一些自愿下载或者付费行为,原则与平台没有直接关系。如果涉及开源程序侵犯到原作者相关权益,可联系小编进行相关处理。

目前已有1000000+优秀的程序员加入我们
                          
                         

——————————————


【你的每一份打赏就是对我最真诚的鼓励】
浏览 44
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报