前言:
什么?你想学习Java语言?还有C语言,C++,python?这样子可太多了bro,对于语言都是互通的,重要的是先精通一门,然后再去了解其他。本系列【Java】从入门到入土将带你学习Java语言从入门到发疯…啊不是,是精通!
那么对于想学一门语言,也得像买房子一样,先看个大概在思考要不要买吧?所以本篇带你看房式的了解一下,什么是Java语言,这栋房子好在哪里,值不值得购买。
Java是啥?抓娃,是夹娃娃的嘛?NONONO,不要走偏了同学,我们Java可是是一种优秀的程序设计语言,它具有令人赏心悦目的语法和易于理解的语义!
啥?这么厉害嘛,那它有什么特点呢?它能拿来干嘛?
Java
是一个有一系列计算机软件和规范形成的技术体系,这个技术体系提供了完整的用于软件开发和跨平台部署的支持环境,并广泛应用于嵌入式系统、移动终端、企业服务器、大型机等各种场合。
可能有人会说,这不会是你这个房地产在这自吹自捧吧?那倒不至于,我们可以看一组数据来了解一下,Java到底有多火!
这可不是假数据,这是Java官方提供的数据,感受一下,Java到底有多“火”嘞。
想了解Java,必须知道一下咱们的Java之父——高斯林老爷子.
詹姆斯·高斯林 (James Gosling)是一名软件专家,1955年5月19日出生于加拿大,Java编程语言的共同创始人之一,一般公认他为“Java之父”。
他12岁的时候,自己已经能设计电子游戏机,帮忙邻居修理收割机。年幼的他很快得到了周围老师同学的另眼相待。在父母的支持下,他得以投入更多精力到他十分感兴趣的计算机领域。大学时期,他在天文系担任程式开发工读生,1977年获得了加拿大卡尔加里大学计算机科学学士学位。
1981年他开发了Unix上运行的Emacs类编辑器GoslingEmacs(以C语言编写,使用Mocklisp作为扩展语言)。1983年获得了美国卡内基梅隆大学计算机科学博士学位,毕业后到IBM工作。年纪轻轻,就俨然一副人生赢家的样子了。
1990年,与Patrick Naughton和Mike Sheridan等人合作“绿色计划”,后来发展一套语言叫做“Oak”,后改名为Java。1994年底,James Gosling在硅谷召开的“技术、教育和设计大会”上展示Java程式。2000年,Java成为世界上最流行的电脑语言。
看到高斯林老爷子的发际线,是不是更能感受到越秃越强的真理了呢,赶紧学起来吧!!
通过上面的数据,同学们应该对Java目前到底有多流行有一个直观的认识了吧。这里有的同学可能会问了,上面的数据主要是Java在应用市场的流行,那么对于我们开发者,Java是否是我们开发应用程序的第一选择呢?
答案是:不一定的,不同的语言有不同的优势!
但是,作为编译语言的老大哥,长年占据着榜一榜二的语言,选择它确实是一个非常恰当的举动。我们再来看一组数据:
从进入互联网时代就一直处于前列的地位。
虽然在最近有所下滑,但是作为一门主语言仍然是名列前茅的,对于黑马python来说,很多地方都需要用到,但在大多数招聘的时候并不会说直接招主语言是python的。
并且在2021年6月中国编程语言排行榜中,Java以28.1%的市场份额占领榜首!C++市场份额为25.7%,和Java的差距再次拉大!
同学们可以随便搜搜近几年的编程类语言排行榜,Java绝对都是当之无愧的老大哥。那么,Java究竟有什么特性能获得广大程序员的一致青睐呢?一些大佬参考Java白皮书,列出如下11个特性:
Java
语法是C++
语法的一个“纯净版本”。这里没有头文件、指针运算(甚至指针语法)、结构、联合、操作符重载、虚基类等等。不仅如此,Java
开发环境远远超出大多数其他编程语言的开发环境。
什么是面向对象?
这里我们用木匠打一个比方,一个“面向对象”的木匠始终关注的是所制作的椅子,第二位才是所使用的工具;而一个“非面向对象的”木匠首先考虑的是所使用的工具。在Java
的世界里,一切皆对象。
Java
有丰富的例程库,用于处理像HTTP和FTP之类的TCP/IP协议。Java
应用程序能够通过URL打开和访问网络上的对象,其便捷程度就好像访问本地文件一样。
Java
与C++
最大的不同在于Java
采用的指针模型可以消除重写内存和损坏数据的可能性(对于曾经花费几个小时来检查由于指针bug而引起内存冲突的人来说,一定很喜欢Java
的这一特性)。不仅如此,Java
编译器能够检测许多在其他语言中仅在运行时才能够检测出来的问题。
Java
适用于网络/分布式环境。为了达到这个目标,在安全性方面投入了大量的精力。使用Java
可以构建防病毒、防篡改的系统。
编译器生成一个体系结构中立的目标文件格式,这是一种编译过的代码,只要有
Java
运行时系统,这些编译后的代码就可以在许多处理器上运行。
与
C/C++
不同,Java
规范中没有“依赖具体实现的地方”。基本数据类型的大小以及有关运算都做了明确的说明。例如,Java
中的int永远是32位的整数,而在C/C++
中,int可能是16位整数、32位整数,也可能是编译器提供商指定的其他大小。在Java
中,数据类型具有固定的大小,这消除了代码移植时令人头疼的主要问题。
Java
解释器可以在任何移植了解释器的机器上执行Java字节码。由于链接是一个增量式且轻量级的过程。所以开发过程也变得更加快捷,更加具有探索性。
尽管对解释后的字节码性能已经比较满意,但在有些场合下可能需要更加高效的性能。字节码可以(在运行时刻)动态的翻译成对应运行这个应用的特定cpu的机器码。
Java
在当时很超前。它是第一个支持并发程序设计的主流语言。多线程可以带来更好的交互响应和实时行为。并发程序设计绝非易事,但是Java
在这方面表现出色,可以很好的管理这个工作。
11.动态性
Java
与C/C++
相比更加具有动态性。它能够适应不断发展的环境。库中可以自由的添加新方法和实例变量,而对客户端没有任何影响。在Java
中找出运行时类型信息十分简单。
Java 语言源于 1991 年
Sun 公司 James Gosling 领导的的 Oak 项目,1995
年 Sun 公司正式起名为 Java,并提出“Write once, Run anywhere" 的口号。
1996 年
1 月 Java 1.0 发布,提供了一个解释执行的 Java 虚拟机,其时恰逢互联网开始兴起,Java 的 Applet 能在Mozilla 浏览器中运行,被看作是未来的互联网语言。
1997 年
2 月 Java 1.1 发布,Java 语言的基本形态基本确定了,比如反射 (reflection), JavaBean, 接口和类的关系等等,一直到今天都保持一致。然而,Java 最初的一些目标,如在浏览器中执行 Applet,以及跨平台的图形界面Awt 很快遭遇到负面的评价。
…
2014 年
3 月,Oracle 发布 Java 8,这个版本是大多数程序员认为的第三个有里程碑意义的 Java 版本。其中最引人注目的便是 Lambda 表达式了,从此 Java 语言原生提供了函数式编程能力。
美国当地时间 2018 年
9月25日,Oracle 官方宣布Java 11 (18.9 LTS) 正式发布,可在生产环境中使用!这是自 Java8 后的首个长期支持版本。
其实对于版本来说,Java语言的版本一直在更新,不仅仅是大标号,小序号也会一直在更新,但对于我们使用者来说,目前Java 8已经可以很好的提供给我们所需要的编译环境了,我们也不需要一味的追求更高的版本号。
不是!因为在每个领域都有更合适的编程语言。
这时候端水大师就要出现了(不过事实也是如此),存在即合理,所有的语言都有它独特的优点,有它发光的地方。
C 语言无疑是现代计算机软件编程语言的王者,几乎所有的操作系统都是 C 语言写成的。C++ 是面向对象的 C 语言,一直在不断的改进。
JavaScript 是能运行在浏览器中的语言,丰富的前端界面离不开 Javascript 的功劳。近年来的 Node.js 又在后端占有一席之地。
Python 用于系统管理,并通过高性能预编译的库,提供 API 来进行科学计算,文本处理等,是 Linux 必选的解释性语言。
Ruby 强于 DSL(领域特定语言),程序员可以定义丰富的语义来充分表达自己的思想。Erlang 就是为分布式计算设计的,能保证在大规模并发访问的情况下,保持强壮和稳定性。
Go 语言内置了并发能力,可以编译成本地代码。当前新的网络相关项目,很大比例是由 Go 语言编写的,如Docker、Kubernetes 等。
编写网页用 PHP,函数式编程有 Lisp/Scala,编写 iOS 程序有 Swift/Objective-C。
所以说,能在排行榜上,能一直有人去使用他们,那就都是好的语言,在其所在的领域能做得非常好。
那Java呢,Java作为经常占据榜一榜二的大哥,肯定也有它具有魅力的特点:
其一,语法比较简单,学过计算机编程的开发者都能快速上手。
其二,在若干了领域都有很强的竞争力,比如服务端编程,高性能网络程序,企业软件事务处理,分布式计算,Android 移动终端应用开发等等。
最重要的一点是符合工程学的需求,我们知道现代软件都是协同开发,那么代码可维护性,编译时检查,较为高效的运行效率,跨平台能力,丰富的 IDE,测试,项目管理工具配合。都使得 Java 成为企业软件公司的首选,也得到很多互联网公司的青睐。
Java 是一门开放的语言,其开源社区也是参与者众多。最有名的应当数 Apache 社区,目前已经拥有近 200 个顶级项目,其中绝大多数是 Java 语言项目。涉及到软件开发的方方面面,可以说当今几乎所有的中型以上 Java 应用中,都会有 Apache 开源项目的身影。国内最早参与 Apache 社区的以国外软件公司国内研发团队成员为主,如红帽、IONA、Intel、IBM 研发中心等。
所以说,Java不仅仅是一门编程语言,它是一个综合的技术体系,是面向对象思想的规范。
看了那么久的楼,客官是否心动了呢,这时候作为房地产的生意人就应该递出模拟合同让你看看了吧?
所以如果你想选择Java语言进行学习的话,不妨先把Java开发环境弄好!在这里我们选择的是JDK 1.8的版本,这已经是足够使用了。
首先要弄的肯定是下载文件啦,这里是Java1.8的文件:Java 1.8安装包,提取码是33x8。
对于安装以及环境的配置,这里有一篇文章其他大佬的文章,里面简单且详细的讲诉的如何进行安装与配置:这可能是最简单的Java环境的安装教程了
然后对于编译器就可以使用IDEA这个Java集成开发的编译器,但尽量不要使用中文,因为绝大多数的公司和程序员使用都是英文版的,更方便交流与沟通。这里是IDEA的下载链接,下载社区版哦:IDEA下载链接
那么看完房子也知道房子的价位啦,是不是应该看看我们的房子是怎么制作的嘞,首先我们来看一下Java的main方法:
public class Test{
public static void main(String[] args){
System.out.println("Hello,Java");
System.out.println("My name is:"+args[0]);
}
}
如上展示的就是最简单的一个Java程序,可能同学们看到后一头雾水,可以说,Java的main方法应该是当前主流编程语言中最“长”的。
对于到一个完整的Java程序的结构,Java程序的结构由如下三个部分组成:
1.源文件(扩展名为
*.java
):源文件带有类的定义。类用来表示程序的一个组件,小程序或许只会有一个类。类的内容必须包含在花括号里面。
2.类:类中带有一个或多个方法。方法必须在类的内部声明。
3.方法:在方法的花括号中编写方法应该执行的语句。
Java是一门半编译型、半解释型语言。先通过javac编译程序把源文件进行编译,编译后生成的.class文件是由字节码组成的平台无关、面向JVM的文件。最后启动java虚拟机来运行.class文件,此时JVM会将字节码转换成平台能够理解的形式来运行。
JRE(Java Runtime Environment):Java运行时环境,包含了JVM,Java基础类库。是使用Java语言编写程序运行的所需环境。
JDK(Java Development Kit):Java开发工具包,提供给Java程序员使用,包含了JRE,同时还包含了编译器javac与自带的调试工具Jconsole、jstack等。
然后Java程序运行需要经过编译,运行两个阶段。
编译:javac 命令
运行:java 命令
这就是Java看房篇的基本内容啦,不知道各位看官对这栋房子是否满意,如果满意,不妨赶紧入手起来,顺便给博主一个小小的赞哈。