【Java探索之旅】我与Java的初相识(一):Java的特性与优点及其发展史

个人头像
🎥 屿小夏 : 个人主页
🔥个人专栏 : Java入门到精通
🌄 莫道桑榆晚,为霞尚满天!

文章目录

  • 一. Java语言概述与优势
    • 1.1 Java的概述
    • 1.2 Java语言的优势
  • 二. Java领域与发展史
    • 2.1 Java的使用领域
    • 2.2 Java发展史简述
  • 三. Java语言特性

在这里插入图片描述

一. Java语言概述与优势

1.1 Java的概述

​ Java是一种优秀的程序设计语言,它具有令人赏心悦目的语法和易于理解的语义。

​ 不仅如此Java还是一个有一系列计算机软件和规范形成的技术体系,这个技术体系提供了完整的用于软件开发和跨平台部署的支持环境,并广泛应用于嵌入式系统、移动终端、企业服务器、大型机等各种场合。
在这里插入图片描述

1.2 Java语言的优势

语言广泛使用程度:

​ 下图数据来自于TIOBE编程语言社区2023年8月最新的排行榜,是近些年最火的编程语言之一。
在这里插入图片描述

注意:上述排名不能说明那个语言好,那个语言不好,每门编程语言都有适应自己的应用场景。

二. Java领域与发展史

2.1 Java的使用领域

企业级系统

​ 比如大型复杂的企业级软件系统,Java的安全机制以及跨平台性的优势,其在分布式系统领域开发中有广泛应用,涉及到金融、电信、交通、电子商务、ERP系统等。

Web开发领域

​ Java语言在设计初期,赶上了互联网发展的风口,当时就瞄准了互联网开发,凭借稳定的性能表现和较好的扩展性,Java语言一直是大型互联网平台的重要解决方案。

android平台应用

​ Android是一种智能手机操作系统,Java是一门非常流行的编程语言。Android上的应用程序就是大多是用Java编写的,Android的SDK大部分就是直接将Java SDK翻译过来的,所以具有Java基础,也可以快速上手Android开发。

大数据平台开发

​ 大数据相关的各类框架,比如:Hadoop、spark、storm、flink等,以及各种中间件flume、kafka、sqoop等,这些框架以及工具等大多数是用Java语言开发的,随着大数据技术的落地应用,Java在大数据领域的应用前景也是比较广阔的。 除上述开发领域外,Java在游戏领域、人工智能领域、科学计算领域、嵌入式领域也有一定的应用。因此学好Java,将来就业的选择也会非常广泛。

2.2 Java发展史简述

祖师爷JAVA之父:詹姆斯·高斯林
在这里插入图片描述

Java 语言源于 1991 年 4 月,Sun 公司 James Gosling博士 领导的绿色计划(Green Project) 开始启动,此计划最初的目标是开发一种能够在各种消费性电子产品(如机顶盒、冰箱、收音机等)上运行的程序架构。

这个就是Java的前身: Oak (得名与Java创始人James Gosling办公室外的一棵橡树),但由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1995年代互联网的发展,

Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布,并提出“Write once, Run anywhere" 的口号。

三. Java语言特性

  1. Java语法相对于C++更为简洁,去除了C++中的头文件、指针运算、结构、联合、操作符重载、虚基类等内容。
  2. Java中的一切皆对象,如人、狗、手机、电脑等。Java的面向对象特性与C++相当,但不同之处在于多重继承。Java使用更简单的接口概念,同时提供了更丰富的运行时自省功能。
  3. Java拥有丰富的例程库,用于处理TCP/IP协议,如HTTP和FTP。Java应用程序能够轻松地通过URL访问网络对象,就像访问本地文件一样。
  4. Java采用的指针模型可以消除重写内存和损坏数据的可能性。Java编译器能够检测许多在其他语言中仅在运行时才能检测出的问题。
  5. Java适用于网络/分布式环境,投入了大量精力来确保安全性。Java设计初衷就是防范各种常见攻击。
  6. Java编写的程序在不同的平台上可以运行。这是因为Java程序在编译后生成的是字节码文件,而不是特定于某个平台的机器码。
  7. Java为了实现与平台无关,自己维护了一套基于栈架构的指令集。在具体硬件环境中运行时,Java解释器会逐条的将字节码文件中的指令翻译成CPU的指令集。
  8. Java程序的执行效率在有些场合不亚于C/C++,近年来JVM也在不断的优化,让Java程序的执行效率大幅提高。
  9. Java是第一个支持并发程序设计的主流语言。多线程可以带来更好的交互响应和实时行为。
  10. Java与C/C++相比更加具有动态性。它能够适应不断发展的环境。在Java中找出运行时类型信息十分简单。

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

智能优化算法应用:基于跳蛛算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于跳蛛算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于跳蛛算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.跳蛛算法4.实验参数设定5.算法结果6.参考文献7.MATLAB…

MDK官网如何下载stm32支持包

网站:https://www.keil.com/demo/eval/arm.htm 1 2 3点这个下载

数字图像处理(实践篇)十九 漫水填充

目录 一 漫水填充算法--FloodFill 二 涉及的函数 三 实践 一 漫水填充算法--FloodFill FloodFill漫水填充算法就是选中与种子点相连接的区域,利用指定颜色进行区域颜色填充。可以通过设置连通方式或像素的范围控制填充的效果。通常是用来标记或者分离图像的一部…

直流负载箱的技术发展趋势和创新有哪些?

直流负载箱广泛应用于电子、通信、航空航天等领域,随着科技的不断发展,直流负载箱也在不断创新和改进,直流负载箱在负载电流和电压的测量方面要求高精度和高稳定性。未来的发展趋势是提高负载箱的测量精度和稳定性,以满足更高要求…

你知道怎样在 Python 中管理内存吗

memray 是一个Python库,它提供了一种可视化内存管理工具,可以帮助Python开发人员更好地理解和优化他们的代码中的内存使用情况。 它是由彭博社开发的,可用于分析Python程序中的内存泄漏和其他内存问题。以下是memray库的使用场景和入门案例。…

ChatGPT可能即将发布新版本,带有debug功能:支持下载原始对话、可视化对话分支等

本文原文来自DataLearnerAI官方网站:ChatGPT内置隐藏debug功能:支持下载原始对话、可视化对话分支等 | 数据学习者官方网站(Datalearner) AIPRM的工作人员最近发现ChatGPT的客户端隐藏内置了一个新的debug特性,可以提高ChatGPT对话的问题调试…

【学习笔记】LLM for Education

ChatGPT has entered the classroom: how LLMs could transform education 前言IntroductionThe risks are realEmbracing LLMsIntroducing the AI tutorAugmenting retrievalWill it catch on?总结 前言 一篇来自Nature的文章,探讨了教育行业的不同参与者&#x…

harmony开发之Text组件的使用

TextInput、TextArea是输入框组件,通常用于响应用户的输入操作,比如评论区的输入、聊天框的输入、表格的输入等,也可以结合其它组件构建功能页面,例如登录注册页面。 图片来源黑马程序员 Text组件的使用: 文本显示组…

Elasticsearch:什么是检索增强生成 (RAG)?

检索增强生成 (RAG) 定义 检索增强生成 (RAG) 是一种利用来自私有或专有数据源的信息来补充文本生成的技术。 它将旨在搜索大型数据集或知识库的检索模型与大型语言模型 (LLM) 等生成模型相结合,后者获取该信息并生成可读的文本响应。 检索增强生成可以通过添加来…

STC15F100E单片机模拟串口

文章目录 一、芯片简介二、开发环境三、软件模拟串口参考 一、芯片简介 STC15F100系列单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机,新一代8051单片机,指令代码完全兼容传统8051,但是速度快6-12倍。 内部集成R/C时钟,5MHz…

Vue3拖拽功能【VueDraggablePlus】

一、介绍 由于 Sortablejs 的 vue3 组件一直没有更新,已经跟 vue3 严重脱节,所以诞生了这个项目,这个组件是基于 Sortablejs 的,所以如果你想了解更多关于 Sortablejs 的信息,可以查看Sortablejs 官网。VueDraggableP…

Markdown从入门到精通

Markdown从入门到精通 文章目录 Markdown从入门到精通前言一、Markdown是什么二、Markdown优点三、Markdown的基本语法3.1 标题3.2 字体3.3 换行3.4 引用3.5 链接3.6 图片3.7 列表3.8 分割线3.9 删除线3.10 下划线3.11 代码块3.12 表格3.13 脚注3.14 特殊符号 四、Markdown的高…

拼多多商品详情数据接口在数据分析行业的作用性

在数据分析行业中,拼多多商品详情数据的作用性主要体现在以下几个方面: 了解市场和用户需求:通过拼多多商品详情数据,企业可以了解到市场上什么产品受欢迎,用户对产品的反馈和评价如何,从而调整自己的销售…

js获取快递单号小练习

目录 1、css代码 2、html代码 3、js代码 完整代码 效果图 1、css代码 .box{width: 400px;height: 300px;margin: 100px auto;position: relative;}input{width: 250px;height: 40px;outline: none;}span{display: block;position: absolute;min-width: 270px;max-width: 40…

SpringBoot集成Spring Security+jwt+kaptcha验证(简单实现,可根据实际修改逻辑)

参考文章 【全网最细致】SpringBoot整合Spring Security JWT实现用户认证 需求 结合jwt实现登录功能,采用自带/login接口实现权限控制 熟悉下SpringSecurity SpringSecurity 采用的是责任链的设计模式,是一堆过滤器链的组合,它有一条很…

Centos7部署Graylog5.2日志系统

Graylog5.2部署 Graylog 5.2适配MongoDB 5.x~6.x,MongoDB5.0要求CPU支持AVX指令集。 主机说明localhost部署Graylog,需要安装mongodb-org-6.0、 Elasticsearch7.10.2 参考: https://blog.csdn.net/qixiaolinlin/article/details/129966703 …

基于Python+WaveNet+MFCC+Tensorflow智能方言分类—深度学习算法应用(含全部工程源码)(一)

目录 前言引言总体设计系统整体结构图系统流程图 运行环境Python环境TensorFlow 环境Jupyter Notebook环境Pycharm 环境 相关其它博客工程源代码下载其它资料下载 前言 博主前段时间发布了一篇有关方言识别和分类模型训练的博客,在读者的反馈中发现许多小伙伴对方言…

外贸辅助工具定制的价格范围,别被坑了哟!

随着全球化的不断发展,外贸已成为企业不可或缺的一部分。然而,在外贸过程中,企业往往会遇到各种问题,如语言障碍、文化差异、法规繁琐等,为了解决这些问题,许多企业选择定制外贸辅助工具。 但是&#xff0…

高德地图vue实现自定义标点热力图效果(缩放时展示不同数据)

高德地图插件引入省略。。。样式和vue基础组件省略。。。 如果每个标点没有数值,则可以用点聚合来实现功能下面例子,每个标点会有按市统计的数值,而且缩放一定程度时,需要展示按省统计的标点,因此需要自定义标点样式和…
最新文章