10

说一说我理解的Java

 2 years ago
source link: https://www.techstack.tech/post/164885530/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

说一说我理解的Java

发表于2022-04-02|更新于2022-04-02|基础知识
字数总计:1.8k|阅读时长:5分钟|阅读量:3

大四校招时第一次接触 Java,了解到 Java 或者说编程也是全靠培训机构,对 Java 的第一印象就是 速成高薪, 就业一年就能月薪一万。所以当时就在金钱的诱惑下来到了北京学习 Java 。

所以刚开始学习的时候,有好多问题在困扰我:

Java 是什么?为什么叫 Java?Java 能干什么?为什么 main 方法要这么写?

后面随着学习和学习和看书,大部分都是从Java的发展史开始讲,总之就是那些什么Java历史悠久,Java很优秀,Java越来越牛,用的人越来越多,什么编程语言排行榜常年第一,大致都是这些,然后再扯些其他的,接着就上起了Hello World!就这样,Java生涯的第一个程序开始了,意思是“你好,世界!”

不过这些问题始终困扰着我,我也始终不知道这些答案。不过我学会了百度:

百度百科是这样介绍 Java 的:

Java是一门面向对象的编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 [1] 。

Java具有简单性、面向对象、分布式健壮性安全性、平台独立与可移植性、多线程、动态性等特点 [2] 。Java可以编写桌面应用程序、Web应用程序、分布式系统嵌入式系统应用程序等 [3] 。

大眼一看,呃… 说的真好(下次不要再说了),不过总觉得有点官方啊,继续搜索其他的文章,看看别人怎么介绍Java的,随便点开一篇文章,看,这位博主这样说:

Java是一种可以撰写跨平台应用程序的、面向对象的程序设计语言。简单说,Java就是一种语言,不过是一种针对jvm的语言,Java编译后是字节码,而jvm会把这些字节码解释成机器码,然后做出相应的动作。

百度百科那个说到了C和C++,还有什么面向对象,分布式,还有什么静态面向对象编程,觉得有点不懂,看这位博主写的,貌似懂了一些,不过啥是jvm啊?

越搜索涉及到的名词越来越多。然后这个问题就不了了之了,就剩下了对工作一年就能月薪一万的期待。

后面伴随着工作了解到越来越多的知识,回想起来这个问题,也不禁勾起了对过往的回忆,如果过去的我问现在的我,那么我将要怎么向过去的我说明白呢。

首先,Java 是什么?

Java 是一种语言,就像汉语,英语,法语等语言一样,只不过汉语这些语言是我们人与人之间沟通交流的语言,而 Java 就是我们与计算机沟通的语言。

我们为什么要与计算机沟通呢?

因为计算机是一台特别聪明的机器,特别适合进行大数据量的计算和重复性的计算,能特别高的提升我们人类的生产力。所以我们需要计算机来帮我们做一些我们不擅长的事情。

那与计算机沟通是不是只有 Java 呢?

就像人类沟通交流有许多的语言一样,和计算机沟通交流也有许多的语言,会有很多种不同的分类。

对于这么多语言我们不用去管它,重点还是 Java。

那为什么有这么多语言呢?

计算机虽然比较聪明但是特别死板,想让它帮忙做一些事情,需要把事情拆解成一步一步的很小的步骤让它去做,但是有很多事情的一些步骤都是一样的,这样我们让计算机帮我做一些事情就会特别累。所以会有一些语言会把一些步骤整合到一块,变得比较简单,然后请几个翻译来把我们说的这种比较简单的翻译成计算机能理解的语言。这样我们就向翻译说一些比较简单的指令就可以了。所以这些语言包含了我们在各种场景下使用的简单的语言,也包含了这些语言的翻译。

一种语言或者也可以说成是一种工具,计算机能根据我们的指定搞定各种各样的事情,我们给计算机下达指令也是靠这些语言,同时计算机在做不同的事情的时候用到指令不同,所以对不同指令整合在一起的语言也是有所差异的。

那为什么叫 Java 呢?

Java 叫 Java是因为创始人员团队中其中一名成员由于灵感想到的,他想起自己在Java岛(爪哇岛)上曾喝过一种美味的咖啡。嗯。大佬起名就是这么随意。

Java 能干什么?

说 Java 能干什么,也可以换个说法说我们想让计算机干什么。话虽这么说,但是 Java 有自己擅长的事情和自己不擅长的事情。

Java其实有三个版本分类:

  1. JavaSE
  2. JavaME
  3. JavaEE

你可以大致的这样理解,JavaSE是Java的核心基础,包含的就是基础知识,自学Java刚开始都是从这个开始的,JavaME呢?不知道大家之前玩过那种游戏没,就是在安卓手机还没有的时候,我们会下载一些jar结尾的游戏文件来安装,打开之后都会先有这个图标:

你可以简单理解这就是JavaME搞出来的,不过后来出来了安卓,就代替了它,所以不用太管它,至于JavaEE,可以称为企业级应用开发,这部分会学各种框架,各种高级玩意儿,也是我们后期主要学习的东西,我们可以利用这部分知识开发各种网站啊,桌面应用啊,一些工具啊,甚至游戏都可以,当然,很多应用都是使用到了java的综合技术来实现的。不过在游戏,桌面应用,科学计算等一些场景有更擅长的语言和工具,Java 目前更多的还是用于企业级软件开发。不过“铁打的思想,流水的语言”,语言终归是工具,怎么用,能干嘛,这取决于用的人,如果你足够牛,那么你可以:

用java改变世界!


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK