一、Java简介

news2026/4/3 19:26:16

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

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

1.1.Java简介

Java是一门高级的面向对象的程序设计语言。使用Java语言编写的程序是跨平台的,从计算机到智能手机,到处都运行着Java开发的程序和游戏。Java程序可以在任何计算机、操作系统以及支持Java的硬件设备上运行。

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

1.1.1.什么是Java语言

Java是1995年由Sun公司推出的面向对象的程序设计语言,由“Java之父”院士詹姆斯·戈士林博士设计而成,完成了Java技术的原始编译器和虚拟机。Java最初的名字是OAK,在1995年被重命名为Java,并正式发布。

Java是一种通过解释方式来执行的语言,语法规则和C++类似。Java也是一种跨平台的程序设计语言,用Java语言编写的程序,可以运行在任何平台和设备上,如个人计算机、MAC苹果计算机、各种微处理器硬件平台,以及Windows、UNIX、OS/2、Mac OS等系统平台,真正实现“一次编写,到处运行”。Java非常适于企业网络和Internet环境,并且已成为Internet中最具有影响力、最受欢迎的编程语言之一。

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

1.1.2.Java应用的领域

借助Java,程序开发人员可以自由地使用现有的硬件和软件系统平台。这是因为Java是独立于平台的,它还可以应用于计算机之外的领域。Java程序可以在便携式计算机、电视、电话、手机和其他的大量电子设备上运行。Java的应用领域主要有以下方面:
桌面应用系统开发。
嵌入式系统开发。
电子商务应用。
企业级应用开发。
交互式系统开发。
多媒体系统开发。
分布式系统开发。
Web应用系统开发。
移动端应用开发。

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

1.1.3.Java版本

Java主要分为两个版本:Java SE和Java EE。
Java SE是Java的标准版,主要用于桌面应用程序开发。它包含了Java语言基础、JDBC(Java数据库连接)、I/O(输入/输出)、TCP/IP网络、多线程等核心技术。
Java EE是Java的企业版,主要用于开发服务器应用程序,如网站、服务器接口等,其核心为EJB(企业Java组件)。

以Java SE为例,各版本如下:
JDK 1.0~JDK 1.6 JDK7-JDK19
具体版本特点内容百度。

在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”前缀。

以上介绍的是Oracle公司推出的JDK,除此之外还有一个Open JDK。Open JDK最早由Sun公司推出,它是一个完全开源且商业免费的Java平台,被广泛应用到Linux系统上。因为Oracle JDK的源码有知识产权问题,所以Open JDK的源码和Oracle JDK并不是完全一样的,但运行效果是相同的。

虽然是代码开源的,但功能不完整,只包含了JDK中最精简的功能。

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

1.1.4.如何学好Java

1、明确自己的学习目标和大的方向,选择并锁定一门语言,然后按照自己的方向努力学习,认真研究。

2、初学者不用看太多的书,先找本相对基础的书进行系统的学习。很多程序开发人员工作了很久也只是熟悉部分基础而已,并没有系统地学习Java语言。

3、了解设计模式。开发程序必须编写程序代码,这些代码必须具有高度的可读性,这样编写的程序才有调试、维护和升级的价值。学习一些设计模式,能够更好地把握项目的整体结构。

4、不要死记语法。在刚接触一门语言,特别是Java语言时,掌握好基本语法并大概了解一些功能即可。尽量借助开发工具的代码辅助功能完成代码的录入,这样可以快速进入学习状态。

5、多实践,多思考,多请教。仅读懂书本中的内容和技术是不行的,必须动手编写程序代码,并运行程序、分析运行结构,从而对学习内容有个整体的认识和肯定。学会用自己的方式思考问题,通过编写代码来提高编程思想。平时多请教老师或同事,和其他人多沟通技术问题,提高自己的技术和见识。

6、不要急躁。遇到技术问题,必须冷静对待,不要让自己思维混乱。保持清醒的头脑才能分析和解决各种问题。可以尝试用听歌、散步等方式来放松自己。

7、多阅读别人的源代码。不但要看懂他人的程序代码,还要分析他人的编程思想和设计模式,并化为己用。

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

1.1.5.Java API文档

API即应用程序编程接口,主要包括类的继承结构、成员变量、成员方法、构造方法、静态成员的描述信息和详细说明等内容。从JDK 1.7开始,官方已不再发布中文版的API文档。如果感觉阅读英文吃力,可以选择查看基于JDK 1.6的中文版API文档。国内的“开源中国”网站提供了一个可以在线查找的中文版JDK 1.6 API文档,地址为https://tool.oschina.net/apidocs/apidoc?api=jdk-zh。

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

1.1.6.Java语言特性

简单

1、语法规则和C++类似。从某种意义上讲,Java语言是由C和C++语言转变而来的,因此C/C++程序设计人员可以很容易地掌握Java语言的语法。

2、Java语言对C++进行了简化和提高。例如,Java语言使用接口取代了多重继承,并取消了指针,因为指针和多重继承通常使程序变得复杂。Java语言还通过垃圾自动收集,大大简化了程序设计人员的资源释放管理工作。

3、Java语言提供了丰富的类库、API文档以及第三方开发包,另外还有大量基于Java的开源项目。JDK(Java开发者工具箱)已经开放源代码,读者可以通过分析项目的源代码,提高自己的编程水平。

面向对象

面向对象是Java语言的基础,也是Java语言的重要特性,它本身就是一种纯面向对象的程序设计语言。Java语言提倡万物皆对象,语法中不能在类外面定义单独的数据和函数,也就是说,Java语言最外部的数据类型是对象,所有的元素都要通过类和对象来访问。

分布型

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

可移植性

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

解释型

运行Java程序需要解释器。任何移植了Java解释器的计算机或其他设备都可以用Java字节码进行解释执行。字节码独立于平台,它本身携带了许多编译时的信息,使得连接过程更加简单,开发过程更加迅速,更具探索性。

安全性

Java语言取消了类C语言中的指针和内存释放等语法,有效地避免了用户对内存的非法操作。Java程序代码要经过代码校验、指针校验等很多测试步骤才能够运行,因此未经允许的Java程序不可能运行,也不可能出现损害系统平台的行为,而且使用Java可以编写出防病毒和防修改的系统。

健壮性

Java语言的设计目标之一,是能编写出多方面、可靠的应用程序。因此,Java会检查程序在编译和运行时的错误,并消除错误。类型检查能帮助用户检查出许多在开发早期出现的错误,集成开发工具(如Eclipse、NetBeans)的出现也使得编译和运行Java程序更加容易。

多线程

Java语言支持多线程机制,能够使应用程序在同一时间并行执行多项任务,而且相应的同步机制可以保证不同线程能够正确地共享数据。使用多线程,可以带来更好的交互能力和实时行为。

高性能

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

动态

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1024301.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

爬虫获取一个网站内所有子页面的内容

上一篇介绍了如何爬取一个页面内的所有指定内容,本篇讲的是爬去这个网站下所有子页面的所有指定的内容。 可能有人会说需要的内容复制粘贴,或者直接f12获取需要的文件下载地址一个一个下载就行了,但是如下图十几个一级几十个二级一百多个疾病…

STM32-无人机-电机-定时器基础知识与PWM输出原理

电机控制基础——定时器基础知识与PWM输出原理 - 掘金单片机开发中,电机的控制与定时器有着密不可分的关系,无论是直流电机,步进电机还是舵机,都会用到定时器,比如最常用的有刷直流电机,会使用定时器产生PW…

「UG/NX」Block UI 指定方位SpecifyOrientation

✨博客主页何曾参静谧的博客📌文章专栏「UG/NX」BlockUI集合📚全部专栏「UG/NX」NX二次开发「UG/NX」BlockUI集合「VS」Visual Studio「QT」QT5程序设计「C/C+&#

怎么打开mysql题库练习系统

在正式考试的时候,大题上方会有一个启动的按钮,非常明显。 我在考试之前买了题库,但是一直没找到怎么进入mysql (指的不是平时自己做项目的入口,是考试系统仿真) 其实是要下载一个软件: 就在…

大数据与云计算实验一

检查是否开启 sudo service docker status 开启服务 sudo service docker start 运行服务 sudo docker run -itd -p 8080:80 nginx 查询ID docker ps -all 进入容器shell sudo docker exec -it <容器ID或容器名称> /bin/bash 找到/usr/share/nginx/html/index.…

【小沐学CAD】虚拟仿真开发工具:GL Studio

文章目录 1、简介2、软件功能3、应用行业3.1 航空3.2 汽车3.3 防御3.4 工业3.5 电力与能源3.6 医疗3.7 空间3.8 科技 结语 1、简介 https://disti.com/gl-studio/ https://ww2.mathworks.cn/products/connections/product_detail/gl-studio.html DiSTI 是 HMI 软件、虚拟驾驶舱…

zabbix自定义key

用户参数&#xff08;zabbix-agent&#xff09; 介绍 自定义用户参数&#xff0c;也就是自定义key&#xff0c;有时&#xff0c;你可能想要运行一个代理检查&#xff0c;而不是Zabbix的预定义&#xff0c;你可以编写一个命令来检索需要的数据&#xff0c;并将其包含在代理配置…

大模型如何赋能智能客服

2022年&#xff0c;大模型技术的出色表现让人们瞩目。随着深度学习和大数据技术的发展&#xff0c;大模型在很多领域的应用已经成为可能。许多公司开始探索如何将大模型技术应用于自己的业务中&#xff0c;智能客服也不例外。 智能客服是现代企业中非常重要的一部分&#xff0…

OpenCascade插件化三维算法研究平台

基于OpenCascade 7.7.0、QT 6.5.2开发了一个插件化三维算法研究平台。 由于采用插件化技术&#xff0c;平台启动极快&#xff0c;用户用到相关功能时&#xff0c;系统才载入相关模块。插件化平台&#xff0c;不仅可以作为三维建模、展示、格式转换等工具软件&#xff0c;还可以…

从菜鸟到吃鸡高手!教你提高战斗力的顶级游戏干货!

大家好&#xff01;作为专业吃鸡行家&#xff0c;今天我将为大家分享一些与众不同的干货&#xff0c;助你成为吃鸡界的顶级战士&#xff01; 首先&#xff0c;游戏战斗力的提升是每个吃鸡玩家的追求。通过使用绝地求生作图工具&#xff0c;你可以简单快捷地分享你的战斗经验与技…

生活中的光伏

光伏作为可再生能源发电的主力军&#xff0c;逐渐被更多的电力用户所接受。随着光伏发电的普及&#xff0c;人们在日常生活中对太阳能光伏发电的利用率越来越高。 1、太阳能公交站台 太阳能公交站台&#xff0c;是指公交中途站点供电方式由原来的直接接入电源改为太阳能供电。…

InputAction的使用

感觉Unity中InputAction的使用&#xff0c;步步都是坑。 需求点介绍 当用户长按0.5s 键盘X或者VR left controller primaryButton (即X键)时&#xff0c;显示下一个图片。 步骤总览 创建InputAction资产将该InputAction资产绑定到某个GameObject上在对应的script中&#xf…

基于matlab实现的卡尔曼滤波匀加速直线运动仿真

完整程序&#xff1a; clear clc %% 初始化参数 delta_t 0.1; %采样时间 T 8; %总运行时长 t 0:delta_t:T; %时间序列 N length(t); %序列的长度 x0 0; %初始位置 u0 0; %初速度 U 10; %控制量、加速度 F [1 delta_t 0 1]; %状态转移矩阵 B …

《模型结构图绘制 -- Axure 软件使用教程》学习笔记

《模型结构图绘制 – Axure 软件使用教程》 Axure10是订阅制收费软件可以根据鼠标位置放大试图 界面介绍 页面尺寸&#xff1a;Auto&#xff08;右上角&#xff09; 页面可以自动延展尺寸

CentOS 7 安装踩坑

CentOS与Ubuntu并称为Linux最著名的两个发行版&#xff0c;但由于笔者主要从事深度学习图像算法工作&#xff0c;Ubuntu作为谷歌和多数依赖库的亲儿子占据着最高生态位。但最近接手的一个项目里&#xff0c;甲方指定需要在CentOS7上运行项目代码&#xff0c;笔者被迫小小cos了一…

Linux-软件安装/项目部署

软件安装 软件安装方式 在Linux系统中&#xff0c;安装软件的方式主要有四种&#xff0c;这四种安装方式的特点如下&#xff1a; 安装JDK 上述我们介绍了Linux系统软件安装的四种形式&#xff0c;接下来我们就通过第一种(二进制发布包)形式来安装JDK。 JDK具体安装步骤如下&…

nodejs 如何在npm发布自己的包 <记录>

一、包结构 必要结构&#xff1a; 一个包对应一个文件夹&#xff08;文件夹名不是包名&#xff0c;但最好与包名保持一致&#xff0c;包名以package.json中的name为主&#xff09;包的入口文件index.js包的配置文件package.json包的说明文档README.md 二、需要说明的文件 1.配…

基于51单片机的智能病房呼叫系统的设计与实现

一、前言 显示床位号使用到4位数码管&#xff0c;为了节约单片IO口&#xff0c;使用TM1637来驱动数码管。 二、TM1637驱动芯片简介 三、电路设计&#xff0c;使用矩阵按键来模拟每个床位的呼叫按钮 四、编写51单片机代码 void delay_ms(u16 n) {u8 i;while(n--){i 111;while…

软件测试之功能测试详解

一、功能测试概述 1&#xff09;功能测试就是对产品的各功能进行验证&#xff0c;根据功能测试用例&#xff0c;逐项测试&#xff0c;检查产品是否达到用户要求的功能。 2&#xff09;功能测试&#xff0c;根据产品特性、操作描述和用户方案&#xff0c;测试一个产品的特性和…

Qt5开发及实例V2.0-第六章Qt图形与图片

Qt5开发及实例V2.0-第六章Qt图形与图片 第6章 Qt5图形与图片6.1 Qt 5位置相关函数6.1.1 区别概述6.1.2 【实例】 6.2 Qt 5基础图形的绘制6.2.1 绘图框架设计6.2.2 绘图区的实现6.2.3 主窗口的实现 6.3 Qt 5双缓冲机制6.3.1 原理与设计6.3.2 绘图区的实现6.3.3 主窗口的实现 6.4…