java学习总结前言

写在前面

本系列博客是学习了java一段时间之后的一些见解;可以看做是笔记整理。
这些内容以一系列的博文呈现,每一篇博文都对应一张思维导图。
参见
java基础目录:
https://www.processon.com/view/link/5af2d43ae4b0a95710260588
因为图片贴上来不能动,所以建议另外打开一个网页,看着可得劲了。

JAVA基本思想和特性

一些历史


JAVA是由sun公司开发的一种面向对象的编程语言,95年诞生,后被Oracle公司收购。
详细的历史有兴趣可以去追究一下,这里说一说思想的演变。
关于java思想,几乎所有程序员都知道面向对象,可是对面向对象思想真正了解的又有多少人呢?

从二战聊起


据我了解(猜测吧,不一定准,当故事听),面向对象思想的雏形发生二战期间的一次战役中。大背景就是盟军需要跨海运送物资,德军各种阻挠,然后盟军派送战舰护送。战舰上有一个特别重要的职位(依稀记得好像叫激光制导员),这个职位让战舰的核心战斗力大大提升,但是有一个严重的问题,就是人才非常稀缺,而且培养出一个成手至少需要7年左右的时间。没办法,肯定不能培训啊,7年等物资的早就饿死了。这个时候,人们想了一个办法,也是编程中最重要的思想之一,就是分解问题。让一个成手将工作分解,分解到什么程度呢?据说分解到了,是个正常人就能干的地步。可能一个人只是递送一个零件这么简单。这样一来,每个人的职能单一,而且替换零成本。盟军就完美解决了这个问题。


前面二战的分解思想其实也用在了c语言中,不过c语言注重的是如何递送零件,所以被称为面向过程的语言;而像java、c++、c#一类的高级编程语言,生下来就是为了快速实现软件的,所以更注重于描述每个人的职责是什么样的,不去操心具体是如何传递零件的,而是操心从哪里拿零件和要送到哪里。这也就是这些语言被叫做面向对象语言的原因。


时至今日,面向对象已经不再是语言的标签了。它更是一种解决问题的思想,尤其是有6大原则支撑,让面向对象思想更加的完善,拥抱变化的能力越发强悍。迄今为止,应该是目前世界上使用的最流行的思想之一了。话不能说死,毕竟现在面向接口和面向服务也占有一席之地了。


语法前面


原谅我实在是想不出什么好的标题了。前面看不懂的后面都会有相应的解释,要是我忘了在评论里提醒我一下就好~
java可以说是当今世界上适用范围比较广的语言了(使用率第一的个人觉得应该是c),java的流行取决于互联网的飞速发展。而我觉得java做了三件非常匹配互联网又贴心的事,才是java经久不衰的真正原因。


-第一件:封装指针为引用
提到指针甚至有些不做软件的都知道,有些人会对指针产生畏惧,原因是不易懂、又复杂。这里不去探讨指针具体是怎么样的。我要说的是,java看到了使用指针直接操作内存这种方式的弊端,即造成程序可读性降低、程序员需要分出相当一部分精力去管理内存等现象。所以java把指针封装成了引用。虽然原理都是储存内存地址,但是java做了大量的自动化内存管理工作,比如jvm模型、GC等。
避免程序员直接操作内存地址和手动管理内存的麻烦。这些工作让程序员可以把精力主要集中在如何实现软件业务上。省去了内存管理的工作,软件做的更快、更完善、可维护性也更高了。


-第二件:不同版本的jvm

java生来就是想让所有程序员都能使用。写出来的程序在所有平台都能跑。单这几乎是不可能的。所以java很聪明的做了jvm(java虚拟机)。让java程序跑在jvm上,然后做兼容不同系统的jvm就行了。这样保证了几乎对每个平台的编码规范都是一样的(当然底层调用除外)。程序员写一套程序就能在不同的平台上跑,可省了大事了。


-第三件:大量API
java希望程序员用面向对象的思想去编程,将精力主要集中在实现可维护性高且适应变化能力较强的软件上,而不需要去操心底层的实现。
所以java开发了大量的API供程序员使用,使编写程序更加的便利,以及各种IDE工具的出现,更是让专注于业务的程序员如虎添翼。


由于这三件事情,程序员独立开发、团队之间互相协作都变得非常容易和规范。加上apache等组织的出现,得以让java在互联网领域中称王称霸。
至此,java的学习总结前言就差不多了。这里只讲我学习过程中发现的跟他人不太一样的见解,从不同的角度看问题,扩展思路。欢迎一起学习交流~!
后面的总结会每一篇文章配一张思维导图,不过推荐去processon查看,有账号的帮忙点个赞最好,谢谢啦~~

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值