广告
返回顶部
首页 > 资讯 > 后端开发 > JAVA >【Java入门】Java的语言概述
  • 422
分享到

【Java入门】Java的语言概述

javajvm搜索引擎开发语言经验分享 2023-09-04 12:09:28 422人浏览 薄情痞子
摘要

前言 📕作者简介:热爱跑步的恒川,致力于C/C++、Java、python等多编程语言,热爱跑步,喜爱音乐的一位博主。 📗本文收录于Java入门篇系列,该专栏主要

在这里插入图片描述
前言

📕作者简介:热爱跑步的恒川,致力于C/C++、Java、python等多编程语言,热爱跑步,喜爱音乐的一位博主。
📗本文收录于Java入门篇系列,该专栏主要讲解:什么是java、java的数据类型与变量、运算符、程序的逻辑控制、方法的使用、数组的定义与使、类和对象、继承和多态、抽象类和接口、认识String类、认识异常等……持续更新,请大家拭目以待恒川的专栏!
📘相关专栏C语言初阶C语言进阶恒川的日常汇报、系列等,大家有兴趣的可以看一看
📙Python零基础入门系列,正在发展中,喜欢Python的朋友们可以关注一下哦!


Java语言概述

1. Java是什么

在这里插入图片描述

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

在这里插入图片描述

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

2. Java语言重要性

  1. 语言广泛使用程度
    下图数据来自于TioBE编程语言社区2017年12月和2018年10月最新的排行榜,常年占据语言排行榜榜首,是近些年最火的编程语言之一。
    在这里插入图片描述
    TIOBE 编程语言社区排行榜是编程语言流行趋势的一个指标,每月更新,这份排行榜排名基于互联网上有经
    验的程序员、 课程和第三方厂商的数量。排名使用著名的搜索引擎(诸如 Google、MSN、Yahoo!、Wikipedia、YouTube 以及 Baidu 等)进行计算。
    注意:上述排名不能说明那个语言好,那个语言不好,每门编程语言都有适应自己的应用场景。
  2. 工作领域
    Java语言目前在IT领域的应用是非常广泛的,掌握Java语言可以从事不少IT行业的相关开发岗位,具体包括
  • 企业级系统
    比如大型复杂的企业级软件系统,Java的安全机制以及跨平台性的优势,其在分布式系统领域开发中有
    广泛应用,涉及到金融、电信、交通、电子商务、ERP系统等。

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

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

  • 大数据平台开发
    大数据相关的各类框架,比如:hadoopspark、stORM、flink等,以及各种中间件flume、kafka、sqoop等,这些框架以及工具等大多数是用Java语言开发的,随着大数据技术的落地应用,Java在大数据领域的应用前景也是比较广阔的。

除上述开发领域外,Java在游戏领域、人工智能领域、科学计算领域、嵌入式领域也有一定的应用。因此学好Java,将来就业的选择也会非常广泛。

  1. 在校招中的岗位需求在这里插入图片描述
    从上述位置需求中可以看出,由于应届生缺少实际工作经验,因此校招中企业更看重学生的基础,也就是:语言、数据结构/算法、操作系统、网络数据库等,其他的属于加分项。

3. Java语言发展简史

在这里插入图片描述

Java 语言源于 1991 年 4 月,Sun 公司 James Gosling博士 领导的绿色计划(Green Project)
开始启动,此计划最初的目标是开发一种能够在各种消费性电子产品(如机顶盒、冰箱、收音机等)上运行的程序架构。这个就是Java的前身: Oak(得名与Java创始人JamesGosling办公室外的一棵橡树),但由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1995年代互联网的发展,Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布,并提出“Write once, Run anywhere" 的口号。

在这里插入图片描述

4. Java语言特性

以下Java语言特性来自于Java白皮书:

  1. 简单性

Java语法是c++语法的一个“纯净版本”,相当于对C++做了一个减法。这里没有头文件、指针运算(甚至指针
语法)、结构、联合、操作符重载、虚基类等等。不仅如此,Java开发环境远远超出大多数其他编程语言的开
发环境。

  1. 面向对象
    什么是面向对象?
    在Java的世界里,一切皆对象。比如:人、狗、手机、电脑等都是对象。所谓面相对象,就是依靠对象之间
    的交互来完成事情,比如:人用手机网上购物,狗吃骨头…
    Java的面向对象特性与C++旗鼓相当,与C++的主要不同点在于多重继承。在Java中,取而代之的是更简单的
    接口概念。而且与C++相比,Java提供了更丰富的运行时自省功能。

  2. 分布式(微服务)
    Java有丰富的例程库,用于处理像Http和FTP之类的tcp/IP协议。Java应用程序能够通过URL打开和访问网络
    上的对象,其便捷程度就好像访问本地文件一样。

  3. 健壮性
    Java与C++最大的不同在于Java采用的指针模型可以消除重写内存和损坏数据的可能性(对于曾经花费几个小时来检查由于指针bug而引起内存冲突的人来说,一定很喜欢Java的这一特性)。不仅如此,Java编译器能够
    检测许多在其他语言中仅在运行时才能够检测出来的问题。

  4. 安全性
    Java适用于网络/分布式环境。为了达到这个目标,在安全性方面投入了大量的精力。使用Java可以构建防病毒、防篡改的系统

从一开始,Java就设计成能够防范常见的各种攻击:

  • 运行时堆栈溢出。蠕虫和病毒常用的攻击手段。
  • 破坏自己进程空间之外的内存。
  • 未经授权读写文件
  1. 体系结构中立
    编译器生成一个体系结构中立的目标文件格式,按照该中规范生成的文件,只要有Java运行时系统,这些编译后的代码就可以在许多处理器上运行。Java编译器通过生成与特定计算机体系结构无关的字节码指令来实现这一特性。精心设计的字节码不仅可以很容易的在任何机器上解释执行,而且还可以动态地翻译成本地机器代码。这就是为什么可以:“Wrice once,Run anywhere”。
    在这里插入图片描述
    而且其他语言编写的程序,在编译后如果能够严格按照字节码文件的规范生成.class文件,也可以在JVM上运行。
    在这里插入图片描述

  2. 可移植性
    与C/C++不同,Java规范中没有“依赖具体实现的地方”。基本数据类型的大小以及有关运算都做了明确的说
    明。例如,Java中的int永远是32位的整数,而在C/C++中,int可能是16位整数、32位整数,也可能是编译器
    提供商指定的其他大小。在Java中,数据类型具有固定的大小,这消除了代码移植时令人头疼的主要问题。

  3. 解释性
    Java为了实现与平台无关,自己维护了一套基于栈架构的指令集,Java源代码经过编译之后,字节码文件中的
    指令就是按照自己的指令集来组织的,但是在具体硬件环境中运行时,系统并不能识别,因为Java程序在执行
    时,Java解释器会逐条的将字节码文件中的指令翻译成CPU的指令集。

  4. 高性能
    边解释边执行,垃圾会说等导致了Java代码运行效率偏低,近年来JVM也在不断的优化,比如:JIT(即时编译
    器),热点代码探测,让Java程序的执行效率大幅提高,在有些场合不亚于C/C++。

  5. 多线程
    Java在当时很超前。它是第一个支持并发程序设计的主流语言。多线程可以带来更好的交互响应和实时行为。并发程序设计绝非易事,但是Java在这方面表现出色,可以很好的管理这个工作。

  6. 动态性

Java与C/C++相比更加具有动态性。它能够适应不断发展的环境。库中可以自由的添加新方法和实例变量,而对客户端没有任何影响。在Java中找出运行时类型信息十分简单(反射的特性,后续会学到)因此:Java不仅仅是一门编程语言,也是一个由一些列计算机软件和规范组成的技术体系。
在这里插入图片描述

5. Java开发环境安装

该内容后续会讲到,希望大家关注着恒川的Java系列博客内容


如果这份博客对大家有帮助,希望各位给恒川一个免费的点赞👍作为鼓励,并评论收藏一下,谢谢大家!!!
制作不易,如果大家有什么疑问或给恒川的意见,欢迎评论区留言。

来源地址:https://blog.csdn.net/m0_75058342/article/details/130509015

--结束END--

本文标题: 【Java入门】Java的语言概述

本文链接: https://www.lsjlt.com/news/393554.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 【Java入门】Java的语言概述
    前言 📕作者简介:热爱跑步的恒川,致力于C/C++、Java、Python等多编程语言,热爱跑步,喜爱音乐的一位博主。 📗本文收录于Java入门篇系列,该专栏主要...
    99+
    2023-09-04
    java jvm 搜索引擎 开发语言 经验分享
  • C语言入门篇--定义宏#define的概述
    目录1.什么是宏2.为什么要有宏?3.宏的用法3.1定义宏3.2宏常量3.3“宏函数”1.什么是宏 宏只做简单的文本替换,但一般在作为变量名出现或者在字符串中出现中是不会被替...
    99+
    2022-11-12
  • C语言多媒体框架GStreamer入门和概述
    目录一.概述二.Gstreamer 的特点:三.Gstreamer源码下载地址:四.Gstreamer二进制发布库:五.Gstreamer命令行显示一.概述 在音视频领域接触最多实现...
    99+
    2022-11-13
  • java中的异常概述
    一、什么是异常异常就是程序运行过程中所出现的不正常现象。try:把可能发生异常的代码包起来,当发生异常时,将异常抛出catch:捕获异常并处理finally:不管是否发生异常,都会执行throw:手动引发一个异常throws:定义任何被调用...
    99+
    2017-12-20
    java教程 java 异常
  • 简述Java编程语言对象的容纳
    如果一个程序只含有数量固定的对象,而且已知它们存在的时间,那这个程序是相当简单的。数组容纳对象有很多方式,数组是其中最为普遍的一种,它主要有如下两个特点:效率和类型。对于Java来说,为保存和访问一系列对象(实际是对象的句柄),最有效率的方...
    99+
    2023-05-31
    java 对象容纳 ava
  • Java Swing图形化编程的概述
    学习Java Swing图形化编程,我们首先要了解三个最基本的概念:顶层容器,控件,布局。 下面就来介绍一下这三个基本概念 1.顶层容器 什么是顶层容器?当我们使用Java进行图形编程的时候,图在哪里绘制呢?我们需要一个能够提供图形绘制的容...
    99+
    2023-06-03
  • Java包装类的概述与应用
    目录一、包装类概述二、包装类的自动装箱、自动拆箱机制 三、包装类中的缓存机制四、包装类的四则运算、位运算、比较运算、逻辑运算1、四则运算和位运算2、比较运算和逻辑运算五、包...
    99+
    2022-11-13
  • AJPFX关于Java NIO的概述总结
    Java NIO 由以下几个核心部分组成:ChannelsBuffersSelectors虽然Java NIO 中除此之外还有很多类和组件,但在我看来,Channel,Buffer 和 Selector 构成了核心的API。其它组件,如Pi...
    99+
    2023-06-02
  • 简述Java编程语言中的逃逸分析
            大家一般认为new出来的对象都是被分配在堆上,但这并不是完全正确,通过对Java对象分配过程分析,我们发现对象除了可以被分配在堆上,还可以在栈或TLAB中...
    99+
    2023-05-31
    java 编程语言 逃逸分析
  • Java基础入门语法--String类
    目录一、定义方式二、内存三、字符串比较相等四、字符串常量池五、理解字符串不可变六、字符、字节、字符串七、字符串的常见操作八、StringBuffer 和 StringBuilder(...
    99+
    2022-11-12
  • 一篇文章带你入门Java基本概念
    目录Java基本概念一、JRE(Java运行时环境)二、JDK(Java开发工具)三、Java源代码文件(.class)四、Java字节码文件(.java)五、Java虚拟机(JVM...
    99+
    2022-11-12
  • Java语言描述二叉树的深度和宽度
    解释:二叉树的深度:从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。二叉树的宽度:二叉树的每一层中都有一定数量的节点,节点数最多的那一层的节点数叫做二叉树的宽度。思路:递归实现。每个节点都可以看作根...
    99+
    2023-05-30
    java 二叉树 算法
  • Flutter入门学习Dart语言变量及基本使用概念
    目录正文变量变量的声明赋值变量的划分默认值变量的类型推断修饰符Late变量类型判断is和类型转换as一些重要概念空安全和可空类型表达式和语句注释DartPad正文 Dart是Goog...
    99+
    2022-11-13
  • 简单阐述一下Java集合的概要
    概念 Java中的集合就是一种容器,可以容纳不同种类的数据,这些容纳是建立在未知的基础上。 优点 1.可以动态保存任意多个对象,使用比较方便。 2.提供一系列方便的操作对象的方法:a...
    99+
    2022-11-12
  • Java入门需掌握的基本概念分别是什么
    本篇文章为大家展示了Java入门需掌握的基本概念分别是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Java的白皮书为我们提出了Java语言的11个关键特性。  (1)Easy:Java的语法比...
    99+
    2023-06-03
  • Java和C#顶层声明概述是怎样的
    Java和C#顶层声明概述是怎样的,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。在向大家详细介绍Java和C#顶层声明之前,首先让大家分别了解下Java中的顶层...
    99+
    2023-06-17
  • java语言之继承与多态的概念是什么
    在Java语言中,继承是一种对象-oriented编程的概念,它允许一个类(称为子类或派生类)继承另一个类(称为父类或基类)的属性和...
    99+
    2023-10-11
    java
  • Windows用户必备!Java自然语言处理的教程,从入门到精通!
    作为一名Windows用户,如果你想要掌握Java自然语言处理技术,那么这篇文章就是为你准备的。Java自然语言处理技术可以帮助我们更好地理解和处理人类语言,从而使得我们在信息处理、文本分析和语音识别等方面有更多的应用。 一、Java自然语...
    99+
    2023-06-25
    教程 自然语言处理 windows
  • JAVA语言的输入输出流详解(c)
    详解b中的例子,详解[@more@]  1. BufferedReader是Reader的一个子类,它具有缓冲的作用,避免了频繁的从物理设备中读取信息。它有以下两个构造函数:BufferedReader(Reader in) Buffere...
    99+
    2023-06-03
  • 入门java的第一步HelloWorld
    踏过JDK开发环境安装这所大门,我们正式走进了Java的世界。Java是一门面向对象的编程语言,不仅吸收了c++语言的各种有点,还摒弃了c++里难以理解的多继承,指针等概念,因此它具...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作