Java语言的简单介绍

  • 一、Java语言的介绍
  • 二、Java的版本
  • 三、JDK的介绍
  • 四、Java API文档
  • 五、Java语言的特点
    • 1. 面向对象
    • 2. 解释性
    • 3. 多线程
    • 4. 可移植性 / 跨平台性
    • 5. 安全性
    • 6. 分布性
    • 7. 高性能
    • 8. 动态
    • 9. 简单
    • 10. 健壮性

一、Java语言的介绍

  Java语言是1995年Sun公司推出的一门 面向对象程序设计语言

  Java语言是 跨平台 的,即用Java语言编写的程序,可以运行在任何平台(硬件/软件系统平台)和设备上,实现 “一次编写,到处运行”

  Java语言 既是编译型的,又是解释型 的。如下图所示,Java程序首先经编译转为字节码(Java的中间语言,携带了很多编译时的信息),接着Java虚拟机(JVM)将字节码解释为机器码,最终在计算机上运行的是机器码。

二、Java的版本

  Java主要分为两个版本,分别是Java SE和Java EE。

  Java SE是Java的标准版,主要用于桌面应用程序开发,包含了Java语言基础、JDBC(Java数据库连接)、I/O(输入/输出)、TCP/IP网络、多线程等核心技术。

  Java EE是Java的企业版,主要用于开发服务器应用程序,如网站、服务器接口等,其核心为EJB(企业Java组件)。Java EE版本兼容Java SE版本

三、JDK的介绍

  JDK(Java Developers Kits),即用于 编译和执行Java程序 的Java开发工具。

  JDK根据研发公司的不同,可以分为两种,分别是由Oracle公司推出的 Oracle JDK(简称JDK) 和由Sun公司推出的 Open JDK 。Oracle JDK的源码有知识产权问题,而Open JDK是一个完全开源且免费的Java平台

  注意:从JDK 7升级到JDK 8的过程中,Oracle放弃了原本的“1.X”版本号名称,直接使用版本号的最后第二位数字,所以很多资料中仍会记载JDK 1.7而不是JDK 7,其实这两个名称是同一个版本的不同叫法。即使是JDK 8版本,使用“java -version”命令查询出的结果仍然是“1.8.XX”。这个 版本名称不统一的问题直到JDK 9才得以解决,JDK 9彻底删除了“1.X”前缀。

  不同版本的JDK之间可能存在不兼容问题。当技术人员开发服务器应用程序时,需要提前知道服务器的JDK版本,按照各版本的要求编写Java代码。

四、Java API文档

  API的全称为Application Programming Interface,即应用程序编程接口,主要包括类的继承结构、成员变量、成员方法、静态成员的描述信息和详细说明等内容。大家可以在这个链接找到JDK 11的API文档:https://docs.oracle.com/en/java/javase/11/docs/api/index.html。具体界面如下:

  注意:从JDK 1.7开始,官方就不再发布中文版的API文档。如果你觉得英文比较吃力,可以看基于JDK 1.6的中文版API文档。国内的开源中国提供了一个可以在线查找的中文版JDK 1.6 API文档,地址为https://tool.oschina.net/apidocs/apidoc?api=jdk-zh。

五、Java语言的特点

  笔者在这里只罗列一些对于初学者来说,十分重要的特点。想要了解更多Java特点,可以自行搜索。

1. 面向对象

  Java提倡 万物皆对象,语法中不能在类外定义单独的数据和函数,即Java语言最外部的数据类型是对象,所有的元素都要通过类和对象来访问。

2. 解释性

  运行Java程序需要解释器,任何移植了Java解释器的计算机或其它设备都可以用Java字节码进行解释执行字节码独立于平台,本身携带了很多编译时的信息。

3. 多线程

  Java语言支持多线程机制,能够使用应用程序在 同一时间并行执行 多项任务,而且相应地同步机制可以保证不同线程能够正确地共享数据

4. 可移植性 / 跨平台性

  Java具有与体系结构无关的特性,可以方便地移植到网络上的不同计算机中。同时,Java的类库也实现了针对不同平台的接口,使得这些类库也可以被移植。

5. 安全性

  Java语言取消了类C语言中的指针和内存释放等语法,避免了用户对内存的非法操作。

6. 分布性

  Java的分布性包括操作分布和数据分布,其中操作分布是指在多个不同的主机上布置相关操作,而数据分布是将数据分别存放在多个不同的主机上,这些主机是网络中的不同成员。Java可以凭借URL(同一资源定位符)对象访问网络对象,访问方式与访问本地系统相同。

7. 高性能

  Java编译后的字节码是在解释器中运行的,所有它的速度较多数交互式应用程序提高了很多。另外,字节码可以在程序运行时被翻译成特定平台的机器指令,从而进一步提高运行速度。

8. 动态

  Java在很多方面比C和C++更能够适应发展的环境,可以动态调整库中的方法和增加变量,而客户端却不需要任何更改。在Java中进行动态调整是非常简单和直接的。

9. 简单

  Java语法规则和C++类似,并对C++进行了简化和提高。Java提供了丰富的类库、API文档以及第三方开发包,另外还有大量基于Java的开源项目。此外,JDK(Java开发者工具)也已经开放源代码。

10. 健壮性

  Java会检查在编译和运行时的错误,并消除错误。

【软件开发】Java语言的简单介绍相关推荐

  1. Java语言实现简单FTP软件------源码放送(十三)

    Java语言实现简单FTP软件------>FTP协议分析(一) Java语言实现简单FTP软件------>FTP软件效果图预览之下载功能(二) Java语言实现简单FTP软件----- ...

  2. openresty开发系列10--openresty的简单介绍及安装

    openresty开发系列10--openresty的简单介绍及安装 一.Nginx优点 十几年前,互联网没有这么火,软件外包开发,信息化建设,帮助企业做无纸化办公,收银系统,工厂erp,c/s架构偏 ...

  3. APP定制开发:APP软件开发的语言和开发环境

    APP软件开发是移动互联网开发公司常开发的一种手机应用系统,对于刚刚进入APP软件开发领域的新手来说,选择什么编程语言和需要什么开发环境来开发APP软件是常遇到的问题.下面亿合科技小编来为大家分享下: ...

  4. 蓝桥杯软件类Java语言IDE(Eclipse)安装

    蓝桥杯软件类Java语言IDE(Eclipse)安装以及个性化设置 平时都在用idea搞工程类项目,正好报了下学期的蓝桥杯算法比赛,看到官网要求用eclipse编码,之前也参加过ccf-csp的比赛, ...

  5. ocbase 数据库 蚂蚁_iOS开发数据库篇—FMDB简单介绍

    iOS开发数据库篇-FMDB简单介绍 一.简单说明 1.什么是FMDB FMDB是iOS平台的SQLite数据库框架 FMDB以OC的方式封装了SQLite的C语言API 2.FMDB的优点 使用起来 ...

  6. 《嵌入式Linux与物联网软件开发——C语言内核深度解析》一2.4 位运算构建特定二进制数...

    本节书摘来自异步社区<嵌入式Linux与物联网软件开发--C语言内核深度解析>一书中的第2章,第2.4节,作者朱有鹏 , 张先凤,更多章节内容可以访问云栖社区"异步社区" ...

  7. iOS开发拓展篇-XMPP简单介绍

    iOS开发拓展篇-XMPP简单介绍 一.即时通讯简单介绍 1.简单说明 即时通讯技术(IM)支持用户在线实时交谈.如果要发送一条信息,用户需要打开一个小窗口,以便让用户及其朋友在其中输入信息并让交谈双 ...

  8. 嵌入式Linux与物联网软件开发:C语言内核深度解析

    嵌入式Linux与物联网软件开发:C语言内核深度解析     1.C语言与内存         1.引言         2.计算机程序运行的目的         3.位.半字.字的概念和内存位宽   ...

  9. iOS开发UI篇—UIWindow简单介绍

    iOS开发UI篇-UIWindow简单介绍 一.简单介绍 UIWindow是一种特殊的UIView,通常在一个app中只会有一个UIWindow iOS程序启动完毕后,创建的第一个视图控件就是UIWi ...

最新文章

  1. trycatch抛出异常_Java生鲜电商平台架构中,如何统一异常处理及架构实战
  2. python opencv读取网络图片
  3. VTK:给定颜色,找到对比色用法实战
  4. 在电脑上安装Linux操作系统(ubuntu)
  5. Linux软件安装管理 - CentOS (三) ---- 源码包管理
  6. CodeForces - 1337C Linova and Kingdom(贪心)
  7. mysql 关联索引_mysql中关于关联索引的问题——对a,b,c三个字段建立联合索引,那么查询时使用其中的2个作为查询条件,是否还会走索引?...
  8. Prepare for Mac App Store Submission--为提交到Mac 应用商店做准备
  9. LeetCode 1535. 找出数组游戏的赢家
  10. LXD 2.0 系列(十二):调试,及给 LXD 做贡献
  11. 页面显示拒绝访问请求
  12. python根据ip获取地理位置_使用python根据ip获取目标地理位置信息
  13. 2022年6月25日PMP考试通关宝典-5
  14. 大数据 | 致敬科比的篮球生涯。
  15. java华氏度xhuan_华氏摄氏转换
  16. HTML在列表中加图片,HTML + JS 列表显示图片
  17. Linux Bridge
  18. 电脑一些很经典的技巧
  19. python科学计算是什么意思_Python科学计算和数据分析(NumPy详细介绍)
  20. GD32实战11__SPI FLASH

热门文章

  1. mysql出现2058,连接MySQL报“Error No.2058 Plugin caching_sha2_password could not be loaded”
  2. 抢红包案例分析以及代码实现(二)
  3. C语言中取余与取模的区别
  4. 中文乱码
  5. 适配ipad Pro
  6. C语言从入门到精通 【精读C Prime Plus】【C语言笔记1-4章节】【更新中~】
  7. C++容器方法大汇总
  8. laravel view
  9. 一次软件测试的电话面试分享
  10. 游戏的帧率与屏幕的刷新率