Java是什么?

简介: Java是什么?

🚀

Java是一个跨平台的、面向对象的程序设计语言。该文章主要是让读者对Java语言有一个整体的了解,然后再慢慢学习具体的内容,最后达到完全掌握Java语言的目的。

通过阅读本章,您可以了解到:


一、简述Java语言

Java语言是一门高级的面向对象的程序设计语言。使用Java语言编写的程序是跨平台的,从pc端到手机端,到处都运行着Java开发的程序和游戏。

  • java是1995年由SUN公司推出的一门极富有创造力的面向对象的程序设计语言,它是由有“Java之父”之称的sun研究院院士詹姆斯·戈士林亲手设计而成的,正是他完成了Java技术的院士编译器和虚拟机。Java最初的名字是oak,在1995年被重命名为Java,并正式发布。
  • Java是一种通用的解释方式来执行的语言,其语法规则和c++类似。同时Java也是一种跨平台的程序设计语言。用Java语言编写的程序,可以运行在任何平台和设备上,如跨越IBM个人电脑、MAC苹果计算机、各种微处理器硬件平台,以及windows、Linux、IOS等系统平台,真正实现“一次编写,到处运行”。
  • Java语言编写的程序既是编译型的,又是解释型的。程序代码经过编译之后转换为一种称为Java字节码的中间语言,Java虚拟机(JVM)将对字节码进行解释和运行。编译只进行一次,而解释在每次运行程序时都会进行。编译后的字节码采用一种针对JVM优化过的机器码形式保存,虚拟机将字节码解释为机器码,然后再计算机上运行。

java语言程序代码的编译和运行过程如图1.1

二、Java的版本

按照Java应用的范围的版本分为三个版本:javaSE、JavaEE和JavaME。

1、javaSE

javaSE是Java的标准版,主要用于桌面应用程序的开发,同时也是Java的基础,它包含Java语言基础、JDBC(Java数据库连接性)操作、I/O(输入输出)、网络通信、多线程等技术。(javaSE结构如图1.2所示)

图1.2 javaSE的结构

2、javaEE

JavaEE是Java的企业版,主要用于开发企业级分布式的网络程序,如电子商务网站和ERP(企业资源规划)系统,其核心为EJB(企业Java组件模型)。(javaEE结构如图1.3所示)

图1.3 javaEE的结构

3、JavaME

JavaME主要用于嵌入式系统开发,如掌上电脑、手机等移动通信电子设备,现在大部分手机厂商所生产的手机都支持Java技术。(javaME结构如图1.3所示)

图1.4 javaME的结构

三、Java API文档

  • Java API文档是Java编程语言的官方应用程序接口(Application Programming Interface)文档。它包含了Java标准库中的所有类、接口、方法和常量的详细说明,以及它们的用法、参数和返回值等信息。
  • Java API文档由Oracle公司提供,我们在进行Java开发的时候,Java API文档是必不可少的参考资料。

四、Java语言的特性

3.1 简单易学

  • Java采用了C和C++语言的语法,使其易于学习和使用。同时,Java也避免了一些复杂的特性,使得程序编写更加简洁明了。

3.2 面向对象

  • Java是一种面向对象的编程语言,支持封装、继承和多态等面向对象的特性,使得程序设计更加灵活和模块化。

3.3 平台无关性

  • Java程序可以在不同的平台上运行,不受操作系统的限制。这得益于Java虚拟机(JVM),它负责将Java程序转换为特定平台的机器码。

3.4 自动内存管理

  • Java提供垃圾回收机制,自动管理内存分配和释放,使得开发者无需手动管理内存,降低了内存泄漏和空悬指针等错误的风险。

3.5安全性

  • Java的安全性得到了很高的重视,其安全模型可以防止许多安全漏洞,如缓冲区溢出和指针操作等。

3.6 多线程支持

  • Java天生支持多线程编程,通过线程机制可以实现并发处理,提高程序的效率。

3.7 开放性和可移植性

  • Java采用开放标准,有众多开源库和框架,使得开发者可以轻松地进行开发,并且Java程序可以在不同平台上无缝运行。

3.8 异常处理

  • Java提供了强大的异常处理机制,可以更好地处理错误情况,增加了程序的稳定性和可靠性。

3.9 高性能

  • 尽管Java是解释执行的语言,但通过即时编译技术(JIT)和优化,Java程序的性能已经接近于编译型语言。

3.10 大型生态系统

  • Java拥有庞大的生态系统,有大量的第三方库、框架和工具,可以帮助开发者快速构建复杂的应用程序。

备注:该文章如有任何不妥之处或者疑问以及见解,欢迎读者在评论区积极提出建议!

下篇文章:《第一个java程序helloworld代码的编写》

目录
相关文章
|
Java
103.【Java Microbenchmark Harness】(二)
103.【Java Microbenchmark Harness】
73 0
103.【Java Microbenchmark Harness】(二)
|
7月前
|
机器学习/深度学习 Java Windows
Java练习-2023-3-29
Java练习-2023-3-29
30 0
|
IDE 小程序 Java
初识Java 2
初识Java
76 0
|
7月前
|
设计模式 算法 安全
Java (3)
Java (3)
33 0
|
人工智能 监控 NoSQL
JAVA
简要讲述Java的特性以及相关的Java调优工具
JAVA
|
SQL XML 存储
JAVA问答3
JAVA问答3
103 0
|
Java
Java常见的坑(二)
你猜上述程序输出的是什么? 是 ABC easy as 123 吗? 你执行了输出操作,你才发现输出的是 ABC easy as [C@6e8cf4c6 ,这么一串丑陋的数字是什么鬼? 实际上我们知道字符串与任何数值的相加都会变为字符串,上述事例也不例外, numbers输出其实实际上是调用了Object.toString()方法,让numbers转变为'[c' + '@' + 无符号的十六进制数。
75 0
|
编解码 Java
1068 万绿丛中一点红(JAVA)
对于计算机而言,颜色不过是像素点对应的一个 24 位的数值。现给定一幅分辨率为 M×N 的画,要求你找出万绿丛中的一点红,即有独一无二颜色的那个像素点,并且该点的颜色与其周围 8 个相邻像素的颜色差充分大。
1100 校庆(JAVA)
2019 年浙江大学将要庆祝成立 122 周年。为了准备校庆,校友会收集了所有校友的身份证号。现在需要请你编写程序,根据来参加校庆的所有人士的身份证号,统计来了多少校友。