java是干嘛的?(什么是Java为什么我要做Java)(1)

想要入行的新手通常会走入一个误区,就是认为学习了一门语言,就可以称为是某某语言工程师了。但事实上真的是这样吗?其实并非如此。

今天我们就来看一看,Java 开发工程师到底开发的是什么东西。准确点来说,Java后端到底在做什么?

java是干嘛的?(什么是Java为什么我要做Java)(2)

大家都知道 Java 是一门后端语言,后端指的就是服务端,服务端代码一般运行在服务器上,通常我们运行Java 程序的服务器都是 Linux 服务器。

这些服务器在互联网公司中一般放在一个叫做机房的地方里,于是像我们这类 Java 程序员的代码一般也运行在这些机房里的服务器中。

Java 里有一个概念叫做虚拟机,你可以把它理解为一个安卓的模拟器,比如你在电脑上装了一个安卓模拟器,就可以通过它来运行安卓应用程序,比如装个 APP,手机游戏什么的。

java是干嘛的?(什么是Java为什么我要做Java)(3)

所以当你在电脑上安装了一个叫做 JDK 的东西时,电脑里就有了 JRE 也就是 Java 运行环境,有了这个运行环境,你就可以运行 Java 应用程序了。

知道 Java 程序如何运行在计算机上之后,我们再来讲一讲平时学的一些 Java 基础知识,它们到底有什么用?

其实平时这一些 Java 基础语法都仅仅是你写代码的一些基础知识,就相当于英语中的 26 个字母,常见的有基本类型变量、for 循环、if else 等等基本语法,掌握了这些基础知识之后,你就可以上手写一些很简单的代码了。

除此之外,Java 还有一些比较特别的概念,比如面向对象的特性,其中有类、接口等概念。为什么 Java 要引入这些东西呢,其实就是想让使用者更好地进行设计、抽象和编程。

对于新手来说,你不需要理解得特别的深刻,因为这些东西只有你在你真正写代码之后才能逐步去理解。

java是干嘛的?(什么是Java为什么我要做Java)(4)

java是干嘛的?(什么是Java为什么我要做Java)(5)

在进入程序员这个行业后经常有人问我为什么要走Java这条路,为什么不做C 、前端之类的方向,其实吧,这个问题搁在不同人身上,回答可能也是完全不一样的。我可能还是主要以我的角度出发,来说一说为什么要选择Java这条路。

简单易学

Java是一个面向对象的编程语言,容易理解。而且略去了多重加载、指针等难以理解的概念。并且实现了自动垃圾回收,大大简化了程序设计。

跨平台

跨平台是Java最大的优势。Java运行在JVM(Java虚拟机)上,在任何平台只要安装了JVM。Java就可以运行。它架构在操作系统之上,屏蔽了底层的差异。真正实现了“Write once,run anywhere”。

安全

Java中没有指针,这样就没有办法直接访问内存了。另外Java也不容易出现内存泄露。

多线程

Java内置对多线程的支持,可以方便地在程序中实现多线程的功能。不像其他不支持多线程的语言,需要调用操作系统的多线程功能才能完成多线程的实现。

丰富的类库

经过10多年的积累和沉淀,出现了很多优秀的开源社区,如Apache和Spring。这些优秀的社区提供了很多非常好的框架,借助这些框架可以使我们不用去关注Java底层的开发,而只需关注业务的实现。

使用广泛

Java几乎是所有的互联网企业都在用,而且都是用在大项目上。这就意味着Java方面的工作比较好找,另一点是在做Java开发时如果遇到问题,可以很容易从网上找到解决办法。

java是干嘛的?(什么是Java为什么我要做Java)(6)

教练,我想学Java!

java是干嘛的?(什么是Java为什么我要做Java)(7)

怎么学Java,一个简单的命题,我自己也折腾了好几年,现在虽不能说是Java高手,但也算是小有所成,至少还不至于搞不懂一些基本概念和技术原理。

从我大三那一年第一次在课堂上听老师讲JAVA课程到现在,也已经快4年的时间了,回顾我的学习历程,可以说是充满艰辛的,但又是不断在进步的,所谓道路是曲折的,前途是光明的,大抵就是这个意思吧。

java是干嘛的?(什么是Java为什么我要做Java)(8)

上课

这里的上课,一般还是指学校里的课程,不包括培训班。学校里的Java课程一般都比较简单,课程内容也不会太多,但对于当初我们这些小白来说,还是很有难度的。

比如讲基础数据类型,int、double、float分别占用几个字节,我们压根不知道为什么要这么分,讲面向对象、类和接口,更是一脸懵逼。到了期末,大家刷刷题,背背答案,也就这么过了,谁也没把这些知识太放在心上。

可能绝大部分人的大学Java课程都是这么学的,只能当成新手入门,算是为小白打开了新世界的大门。

看视频

上课和看视频的差异在于,看视频是一个自学的过程,你可以自己把握课程进度,配合完成练习。

在我初学Java的阶段,我非常喜欢看视频这种学习方法,很轻松,而且不懂的地方可以反复看,虽然效率不算高,视频质量也参差不齐,但是对新手来说,是很友好的。

慢慢地,你就会习惯通过看视频学习,并且找到自己喜欢的课程视频,尝试加速播放,配合视频完成一些练习,不断地提升自己。

去培训

培训班和大学上课不一样,整体的教学速度是很快的,并且更加注重实践,毕竟都自称是“速成班”、“包就业”,肯定要保证教学速度,同时尽快培养学员的实践能力。

java是干嘛的?(什么是Java为什么我要做Java)(9)

看书

都说优秀的程序员总归是要看书的,书中有颜如玉也有黄金屋,更有程序员最需要学习的一些基础知识和技术原理。比如作为一个Java工程师,你必须要看过《深入理解JVM虚拟机》否则永远上不了一个档次,不了解实现原理,却喜欢直接开始做项目,就如同空中楼阁一样不可靠。

看书,需要耗费时间,精力,需要你很认真地解读那些专业名词的含义,所以阅读难度往往是一个很高的门槛。但是,读完的人都知道,必须要硬着头皮坚持下去,才能得到你要的真知。

看博客

博客,不知道从何时起,变成了技术人最活跃的领地,在博客园、CSDN,或者是掘金,segmentfault等技术社区,都可以看到一些不错的技术文章,这往往是前人通过看书、实战后提炼出来的东西。

虽然现在的博客质量也是良莠不齐,但是如果能找到优质的博客,要比你自己去提炼总结轻松多了。

有时候看书看不懂,那么就去看博客吧。

写博客

我打心底里认为输出知识才是最好的学习方法,写博客最大的好处,就是可以让自己对所写内容学的更透彻,有科学研究表明,把知识教给他人,是让自己掌握这一知识的最有效方法。

在这方面我自愧不如,只写过一些粗浅的Java文章,除此之外基本没有能写出什么有深度的技术文章,希望在有多年技术积累后,我也能写出优质的文章。

java是干嘛的?(什么是Java为什么我要做Java)(10)

java是干嘛的?(什么是Java为什么我要做Java)(11)

,