Java学习,携手共进——入门篇(1)

inkxx888   ·   发表于 2个月前   ·   编程代码
1.Java语言概述
2.Java虚拟机及跨平台原理(一部分)

这里讲的是Java的简要概述,有些繁琐,如果不想了解也可以跳过,对后续影响不大

首先,要了解到Java 是面向对象的语言,没有面向对象编程经验的读者需要花费不少时间来了解面向对象的概念、语法和编程思想,有不能理解的地方请大家一定要坚持,多花时间编写代码自然会豁然开朗,从面向过程到面相对象需要一个适应期。

Java 不只是一种编程语言,它是一个完整的平台,拥有庞大的库,将诸如图形绘制、Socket连接、数据库存取等复杂操作进行了最大程度的简化。

Java 是跨平台的,一次编译,到处运行,在 Windows 上编写的代码可以不加修改的移植到 Linux 上,反之也可以。

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

Java 的应用非常广泛:

Web开发:Java非常适合开发大型的企业网站,例如人人网、去哪儿网的后台都是Java。
Android开发:Android手机上APP几乎都是用Java开发的,例如QQ、微信、UC浏览器。
客户端开发:Java也可以用来开发电脑上的软件,例如Elicpse、Netbeans。
嵌入式应用:嵌入式应用就是在小型电子产品中运行的软件,例如老式手机上的软件、MP3上的软件。

但是,可以负责任的告诉你,Java 目前的主要应用方向是Web开发和Android开发,大部分IT公司招聘的Java程序员也是从事这两方面的工作。

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

Java 的GUI库称不上出色,很多用户不习惯它的界面;Java编写的客户端资源消耗也比较多;更重要的是,Java程序必须借助虚拟机才能运行,操作系统默认没有安装虚拟机(下节将会详细介绍)。直接投放市场的面向普通用户的客户端程序,用Java开发的很少。

在嵌入式方面,Java 很难操作底层硬件,灵活性较小,而且需要虚拟机支持,占用资源较多,对于配置很低的单片机系统来说有些吃力。所以,在力求高效、小型化、执行关键任务的应用中,最好采用汇编和C语言,例如火箭控制、传感器通信或报告宇宙飞行器的方位等。

Java 虽然是一门功能完善的语言,但是它有自己擅长的方面,也有不擅长的方面,大家在具体项目中要学会取舍。

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

前面说到Java是可以跨平台使用的,这就要谈及Java虚拟机(Java Virtual Machine,简称 JVM)。

JVM也是一个软件,不同的平台有不同的版本。我们编写的Java源码,编译后会生成一种 .class 文件,称为字节码文件。Java虚拟机就是负责将字节码文件翻译成特定平台下的机器码然后运行。也就是说,只要在不同平台上安装对应的JVM,就可以运行字节码文件,运行我们编写的Java程序。

而这个过程中,我们编写的Java程序没有做任何改变,仅仅是通过JVM这一”中间层“,就能在不同平台上运行,真正实现了”一次编译,到处运行“的目的。

JVM是一个”桥梁“,是一个”中间件“,是实现跨平台的关键,Java代码首先被编译成字节码文件,再由JVM将字节码文件翻译成机器语言,从而达到运行Java程序的目的。

注意:编译的结果不是生成机器码,而是生成字节码,字节码不能直接运行,必须通过JVM翻译成机器码才能运行。不同平台下编译生成的字节码是一样的,但是由JVM翻译成的机器码却不一样。

所以,运行Java程序必须有JVM的支持,因为编译的结果不是机器码,必须要经过JVM的再次翻译才能执行。即使你将Java程序打包成可执行文件(例如 .exe),仍然需要JVM的支持。

注意:跨平台的是Java程序,不是JVM。JVM是用C/C++开发的,是编译后的机器码,不能跨平台,不同平台下需要安装不同版本的JVM,但是在你下载Java时,jvm已经是根据你的平台下载不同jvm,也就是说,如果你是Windows系统的Java,他就自己给你下载windos的jvm,相同,如果你是macos等平台下载Java,他就给你自己下载相应的jvm,无需自己手动下载。

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

还有虚拟机及跨平台原理部分我们在下一张讲。

这只是Java的概述,看不看影响都不是很大,简要了解就可以了。

20 Reply   |  Until 2个月前 | 168 View

三池.
发表于 2个月前

java——从入门到放弃[滑稽][茶杯]

评论列表

  • 加载数据中...

编写评论内容

administrator
发表于 2个月前

兄台,此言差矣[滑稽]

评论列表

  • 加载数据中...

编写评论内容

1211302545
发表于 2个月前

阁下何故差乎?[滑稽]

评论列表

  • 加载数据中...

编写评论内容

896452247
发表于 2个月前

唯此[滑稽]滑天下之大稽答,若无声,则亡以哀。

评论列表

  • 加载数据中...

编写评论内容

1679644933
发表于 2个月前

JVM大体解释
你可以看成是Java与系统之间的一段枢纽,Java编辑好的代码经过JVM就转换成计算机岁能够理解的语言(什么语言你不用管),JVM也是根据不同平台进行版本下载,前面说错了,还请各位原谅。

评论列表

  • 加载数据中...

编写评论内容

1691684352
发表于 2个月前

若在下之答惹人讥笑,实为吾之欠缺,而大兄,又何出此言啊[滑稽]

评论列表

  • 加载数据中...

编写评论内容

悲漠
发表于 2个月前

寡人不比于君子,甘败于下风[滑稽]

评论列表

  • 加载数据中...

编写评论内容

2430658640
发表于 2个月前

阁下将吾与君子而论,实为鄙人之大幸[滑稽]

评论列表

  • 加载数据中...

编写评论内容

zgw888666
发表于 2个月前

莫非莫非,实为寡人求之不得,君可有共进之想法?[滑稽]

评论列表

  • 加载数据中...

编写评论内容

edream
发表于 2个月前

君错怪寡人也,寡人无它之想[滑稽]

评论列表

  • 加载数据中...

编写评论内容
LoginCan Publish Content