Java平台由Java虚拟机(Java Virtual Machine)和Java 应用编程接口(Application Programming Interface、简称API)构成。Java 应用编程接口为Java应用提供了一个独立于 *** 作系统的标准接口,可分为基本部分和扩展部分。在硬件或 *** 作系统平台上安装一个Java平台之后,Java应用程序就可运行。现在Java平台已经嵌入了几乎所有的 *** 作系统。这样Java程序可以只编译一次,就可以在各种系统中运行。Java应用编程接口已经从1.1x版发展到1.2版。目前常用的Java平台基于Java1.4,最近版本为Java1.6。
Java分为三个体系JavaSE,JavaEE,JavaME。
JVM :JVM是Java Virtual Machine(Java虚拟机)的缩写,它是整个java实现跨平台的最核心的部分,所有的java程序会首先被编译为.class的类文件,这种类文件可以在虚拟机上执行,也就是说class并不直接与机器的 *** 作系统相对应,而是经过虚拟机间接与 *** 作系统交互,由虚拟机将程序解释给本地系统执行。JVM是Java平台的基础,和实际的机器一样,它也有自己的指令集,并且在运行时 *** 作不同的内存区域。 JVM通过抽象 *** 作系统和CPU结构,提供了一种与平台无关的代码执行方法,即与特殊的实现方法、主机硬件、主机 *** 作系统无关。JVM的主要工作是解释自己的指令集(即字节码)到CPU的指令集或对应的系统调用,保护用户免被恶意程序骚扰。 JVM对上层的Java源文件是不关心的,它关注的只是由源文件生成的类文件(.class文件)。JRE:JRE是java runtime environment(java运行环境)的缩写。光有JVM还不能让class文件执行,因为在解释class的时候JVM需要调用解释所需要的类库lib。在JDK的安装目录里你可以找到jre目录,里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和lib和起来就称为jre。所以,在你写完java程序编译成.class之后,你可以把这个.class文件和jre一起打包发给朋友,这样你的朋友就可以运行你写程序了(jre里有运行.class的java.exe)。JRE是Sun公司发布的一个更大的系统,它里面就有一个JVM。JRE就与具体的CPU结构和 *** 作系统有关,是运行Java程序必不可少的(除非用其他一些编译环境编译成.exe可执行文件……),JRE的地位就象一台PC机一样,我们写好的Win32应用程序需要 *** 作系统帮我们运行,同样的,我们编写的Java程序也必须要JRE才能运行。
JDK:JDK是java development kit(java开发工具包)的缩写。每个学java的人都会先在机器上装一个JDK,那 让我们看一下JDK的安装目录。在目录下面有六个文件夹、一个src类库源码压缩包、和其他几个声明文件。其中,真正在运行java时起作用的是以下四个文件夹:bin、include、lib、jre。现在我们可以看出这样一个关系,JDK包含JRE,而JRE包含JVM。
bin:最主要的是编译器(javac.exe)
include:java和JVM交互用的头文件
lib:类库
jre:java运行环境
(注意:这里的bin、lib文件夹和jre里的bin、lib是不同的)总的来说JDK是用于java程序的开发,而jre则是只能运行class而没有编译的功能。eclipse、idea等其他IDE有自己的编译器而不是用JDK bin目录中自带的,所以在安装时你会发现他们只要求你选jre路径就ok了。
要明白Java是什么,首先不能从一个角度去看,接下来我会从Java的来源,Java是什么,什么人适合学Java等方面来为你解答“Java是什么?”望采纳。
“什么是Java?”
Java,由Sun Microsystems公司于1995年5月推出,它是一种可以编写跨平台应用软件、完全面向对象的程序设计语言。
不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。
请输入图片描述
“Java是怎么来的?”
20世纪末,硬件领域出现了单片式计算机系统,这种系统价格低廉,立即引起了研究人员的注意,由于C++程序过于复杂和庞大,研究人员开发了一种称为Oak的面向对象语言。这是Java的雏形。
1995年,业界为了使单调的静态网页能够“灵活”起来,急需开发一种程序。这时,Sun公司想起了那个被搁置很久的Oak,并将Oak更名为Java,它语言精简,程序非常小,适合在网络上传输。
1995年5月,Sun公司正式发布Java。从此Java一路披荆斩棘,在经历20多年的发展之后依然长盛不衰,常年雄踞各大编程语言排行榜第一位,这也凸显了其在IT技术领域的绝对统治力。
“学了Java,我能干什么?”
●程序员,穿梭在各种软件开发之间;
●架构师,参加大型项目的实现;
●网站开发,把若干个页面组成集合;
●游戏开发,在以前诺基亚还很流行的时候,手机游戏有90%以上都是Java开发的;
......
除此之外还可以做嵌入式设备、消费类电子产品开发、桌面程序等工作。
Java技术作为互联网的中流砥柱,其应用范围之多,就业岗位之多,堪称第一。
“Java的就业前景饱和了吗?”
Java技术几乎无处不在,只要有使用到电子产品的地方,就会和Java挂钩。
近年,我国互联网发展尤为迅速,外卖、电商、短视频等各类产品层出不穷。其中,推动我国互联网飞速发展,网民规模持续增长离不开一批中国程序员在背后的辛苦工作。
有图有真相▼▼▼
1.Java在我国的招聘情况:
到目前为止,职友集上全国范围内有多达十几万的招聘信息,可见人才市场缺口巨大。
2.Java程序员薪资范围分布图:
*以上数据来自程序员客栈
从上图我们可以看到,超过半数的资深程序员年薪在20万以上,并且有近 40% 的资深程序员年薪在 25- 50 万之间。
3.程序员也是一门“铁饭碗”
2018 年下半年开始,很多互联网公司大面积裁员,大家都说“资本寒冬”到来,但是从调查结果中可以看到90.9%的程序员“根本没在怕的”!
“Java的应用范围有多广?”
Java能做的事情很多,涉及到编程领域的各个方面,从电子商务网站到 Android 应用,从科学应用到金融应用,从游戏到桌面应用等等。
● Android应用
打开你的安卓手机和任何一款App,他们都是使用Java语言开发的。
市场上见到的手机系统,例如MIUI,阿里云,乐蛙等,都是修改源代码再发行的。
● 金融业应用的服务器程序
因Java的安全性比较高,使其在金融服务业方面的应用广泛。
大部分银行和第三方交易系统均用Java开发前台和后台电子交易系统以及数据处理项目等等。
● Web应用
Java 语言在电子商务领域以及网站开发的领域都占据了一定的位置。开发人员可以用不同的框架来创建web项目。
时常被应用在各个政府部门如科学技术部、国家安全部、文化部等部门。
● J2ME应用
有一段时间,安卓上可用的游戏、软件几乎全部是用MIDP、CLDC,他们是J2ME平台的一部分。
● 大数据技术
Hadoop以及其他大数据处理技术很多都是用Java,例如Apache的基于Java的HBase和Accumulo以及 ElasticSearchas。
● 嵌入式领域
Java在嵌入式领域的发展有着广阔的空间。在这样平台上,只需130KB就可以很好使用Java技术。
“什么样的人适合学Java?”
● 逻辑思维能力强
对于Java来说所有功能都是通过编写代码实现的,需要开发人员具备较强的逻辑性和运算性。
● 端正心态、踏实耐心
在平时的工作中会有一大部分时间是花费在解决bug上,在遇到问题后一遍遍的排查代码,所以拥有良好的心态也是必不可少的优势。
● 不断学习的能力
随着科技的发展会不断出现各种新型的技术,开发人员需要及时的关注这些新技术并且转化为自己技能。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)