匹马行天下之思维决定高度篇——道道道,学习Java之道
致Java星球的程序员兄弟们的一封信
亲爱的Java星球的程序员兄弟们:
你们好!我是来自地球的一名Java程序员,首先我代表地球人对贵星球的高司令来到地球传授Java语言,造福了全人类,造福了整个地球表示由衷的感谢!
还记得高司令刚来地球的时候,他不会说中国普通话,也不会说国际通用语之一的英语,为了能跟地球人进行正常沟通,他决定给地球人传授他们星球的Java语言。考虑到人类从小就学习自己的母语,突然学习全新的语言肯定困难重重。可作为Java星球的精英,James Gosling认为方法总比困难多。
在中国,他认真观察,发现中国人都会说普通话,于是他以此为突破口,认真观察中国人是如何学汉语的,看能不能跟Java语言有所关联。 结果他发现一个孩童从出生到上学之前,孩子因为有家教,能与人进行正常的交流。孩子是如何做到的?高司令观察了一户人家,这家的男人和他的妻子从怀胎十月到孩子出生,每天都会对着孩子说一些很有营养的话,还会放歌曲,这就是胎教了。孩子出生后的一段时间虽然不能说话,但是随着孩子一天天长大,父母常说的一些话他能听明白,直到他能学说话了,父母就会耐心的教孩子叫爸爸、叫妈妈,这好像对小孩来说太简单了,可能他听的太多了,在娘胎就已经背会了,没有任何难度,再到后来,孩子能自己走路了,父母就带着孩子出去玩。走到路上,看到一辆车,父母就对孩子说,看,那是小汽车,看到小狗,就对孩子说,看,那是小黑狗,能汪汪叫……见到新鲜的东西总会给孩子介绍,久而久之,孩子就记住了。等到孩子再长大点,父母就带孩子去动物园了,孩子看到各种动物很开心,看,爸爸,那是大象,看,妈妈,那是老虎。。。这时候爸爸说,我们要爱护动物。孩子有点疑惑,问爸爸,什么是动物啊?爸爸解释说,你平时看到的小猫小狗,还有动物园里的这些老虎大象他们都叫动物,“物以类聚人以群分”,爸爸慢慢的说的有点深入了,但孩子似乎能理解,感觉涨了好多知识。
高司令观察这个小孩还没正式上学之前,就已经能明白这么多东西,对他以后学习汉语肯定是很有帮助的。他觉得,他也可以这样做,先把Java语言中最简单的变量、常量、数据类型等这些简单的概念讲给人类,让人类先了解这些东西,久而久之,就像小孩会说简单的话一样,破口而出了。再之后,就可以进一步加大难度,教人类理解“面向对象“,对于这个,他们从小就知道“物以类聚人以群分”,再回过头来理解“对象”也不是很难,Java语言中是“生活处处皆对象”,从小时候由对象认识类,而Java中由类认识对象,之间的联系甚是紧密,只要人们向对象有了一定的认识,Java语言的学习也不再是很难的事了。
“不成规矩,无以成方圆”,汉语也有汉语的“规矩”,这些规矩孩子们就需要去学校进行专业系统的学习了.我们继续说上面我提到的那个小孩吧,他从小跟父母学的是青海方言,上小学了,学校老师要求不能再说“家乡话”了,都要说官方规定的普通话,并耐心的给他们教学说普通话的规律。孩子学得很认真,拼音掌握的很好,说普通话自然没毛病。再后来老师就带孩子们学汉字了,由易到难,从入门到精通,学生们边读边写,学的是不亦乐乎。久而久之,孩子就能写一些常用的汉字了,小时候爸爸教他的小猫小狗,大象老虎他都会写了,小贤很高兴,对学习也越来越感兴趣了。
高司令看到小贤学的这么好,深受启发,他深知Java语言也有Java语言的“规矩”,就比如之前说到的变量,变量虽然理解着很简单,但也有规则,变量名不能以数字开头,区分大小写,驼峰命名法等都是规矩,这个就需要高司令专业系统的给人类“培训”了。等人类知道一些基础规则后,高司令带人类进行实践,带着一种神圣庄严的仪式感带人类在计算机中输出了第一句Java语言“Hello World”。此后,一些简单的输出对人类不再是难题了,变量、常量、数据类型、运算符等都能熟练运用,规则和实践相辅相成,使用起来得心应手。
中华文化,博大精深,少年强,则国强,为了国家更加繁荣富强,华夏儿女发奋图强,刻苦学习,小贤也不例外,他学会写字后,老师给他们教组词,教成语,教造句,教古诗,这个过程中有个问题,孩子们好多字不认识,不过不要紧,老师又负责任的教他们查字典,一切学习都有板有眼,行云流水。再后来就教孩子们写作,写作的时候可以引用好诗好句,引用的越恰当,写作质量就越高。高司令看到这,不由引用了周恩来的一句话“为中华之崛起而读书”,孩子们,加油。
万物皆相通,你要去发现其中的意思,其中的规律,现在的我还不具备这种能力,但是高司令就不一样了,看到孩子们学组词,学成语,学造句,学古诗,由此他教人类Java语言中的流程控制、数组、函数,其实也不难理解,因为之前基础的规则他们都会了,现在只是运用,精简,包装,以更完美的形式实践。面向对象在之前人类也有一定的了解,现在给他们讲一些深层的,他们也能理解,面向对象三大特征封装、继承、多态,从了解到掌握再到精通,Java语言的精髓已经慢慢流入人类的脑海中了。孩子们写作引用诗词能给文章增光添彩,Java语言中亦是同理,面向对象以类的形式展现,在类中你可以无限发挥,合理的运用函数,精确的使用流程控制和数组,精而简,“高内聚,低耦合”是Java语言的加分项。类可以进行打包,进行分类,可以重复利用。孩子们学诗的时候分唐诗宋词,哪首适合就在文章中引用哪首,Java语言亦是如此,做项目的时候,哪个类适合就导入哪个类,那么问题来了,那么多类,怎么知道用哪个类呢?这个高司令早就给我们想到了,给我们准备了API文档,跟小孩的字典差不多一个意思,只不过各查所需罢了。小孩不识字就查新华字典,Java程序员不知道导入哪个类,就查API文档。本来以为学到这就可以下课了,但高司令意犹未尽,说Java语言形式多样,意味深长,等你们学了注解和反射,就更能体验了,后来人类听高司令把注解和反射讲完后,不由感叹,好神奇啊。
千秋无绝色!悦目是佳人!倾国倾城貌!惊为天下人!对于“美”大家都是喜欢的,"美"有很多种表达形式,美术是其中一种。孩子们也学美术,还记得小贤吗,他对“美”的要求是很高的,他喜欢画画,画的也确实不错,有板有眼,惟妙惟肖,值得称赞。但是如果把这些美的东西放到文章中去,就没有那么简单了,因为要考虑的东西很多,排版、读者的感受等等你都要考虑,不过小贤基本功扎实,这些问题对小贤来说也就不是问题了。从写文章,到文章的美化,小贤都是行云流水般一气呵成,堪称奇才。
高司令也是个爱“美”的人,虽然那些表达“美”的方式和地球上不一样,高司令是个全才,除了Java语言之外,他还会HTML,CSS,JavaScript等语言,这三种语言也是表达“美”的一种形式,HTML和CSS展示静态美,JavaScript展示动态美。高司令是个乐于分享的人,他相信“越懂得分享,你的价值增值越大”,这就是他来地球的使命。高司令又要开课了,把这三个“美”的艺术教给了人类,人类用它们做出了很多炫酷的作品。小贤凭着他的基本功和审美标准,能把文章和相应的美化装饰完美的结合起来,但是要想把用Java语言完成的项目进行美化装饰,可没这么简单,中间得有个过度,Servlet就是将Java后端和前端进行衔接的桥梁,Servlet其实是在服务器上运行的小程序,说白了就是一个Java类,只不过这个类比较特殊,既然比较特殊就肯定要特殊照顾了。为何特殊呢?刚说过了啊,桥梁嘛,客户端发出的请求会交给Servlet处理,等Servlet处理完后又要由它做出响应。不过万事万物“有利必有弊”,Servlet的弊端就在于它在完成响应的时候描述太复杂了,需要写很多代码,哈哈,还有一句叫“有因必有果”,既然麻烦,那就换个不麻烦的。JSP,它能很好的解决“麻烦”,JSP其实也是一个Servlet,只是它俩功能有些差别,Servlet擅长于处理后端数据,JSP擅长于完成前端响应,如果能合理应用它俩,那就锦上添花了。说到JSP,高司令又多说了点,他说在用JSP的时候,你要是能用EL表达式,JSP的代码就更简洁了,EL表达式就是为了使JSP写起来更加简单。
中华汉字那么多,要想全部记住是不可能的,最好的方法就是把所有的汉字都“存储”到字典中,等到我们忘了的时候可以查阅字典重新记忆。高司令对人类说:“在用编程语言做项目的过程中,也需要存储大量的数据,而且这很重要,等你们能用编程语言进行编程后,会经常对数据进行存储操作,用Java编程语言存储的数据可不是放在字典中了,而是放在‘数据库’中,一般情况下我们常用的数据库有两种,一种叫MySQL,另一种叫Oracle,你可以选择其中的一种进行数据的存储。不过需要注意的是,不论你选择哪一种,你在存储数据的时候都要用到一套操作数据库的标准规范叫JDBC。如果没有JDBC,可能你要用MySQL,你就需要用操作MySQL所对应的操作步骤,用Oracle,就又要考虑用操作Oracle所对应的操作步骤,但有了JDBC,存储数据就不用考虑那么多了,不管你用哪个数据库,就只有JDBC这一套操作步骤,省力省时间,何乐而不为。”
“昨夜江边春水生,艨艟巨舰一毛轻。向来枉费推移力,此日中流自在行”。人们对“效率”的要求似乎一直是只高不低,尤其生活在大城市的人们,每天都在过快节奏的生活,每个人都争分夺秒,一刻都不敢停下来。再看小贤,如今的小贤已经能独当一面了,写文章不在话下,不过现在他也在追求所谓的“效率”,凭着他扎实的基本功和多年写文章的经验积累,他为自己设计了几套“模版”,假如他要写信,就有专门的书信模版,要写作文,也有相对应类型的作文模版,有的模版是按总分总形式写的,开头和结尾部分都已经写好了,写的时候只需要把内容写进去即可。就问你服不服,效率高不高,别人吭哧吭哧写半天,小贤手到拈来,高司令看了不由感叹,“青出于蓝而胜于蓝”啊!
不过人类学编程的速度也是够快了,在高司令的耐心教导下,他们都能独立完成完整的项目了。人类现在考虑的也是“效率”问题,他们每天研究如何快速开发一个项目。高司令看时机成熟,在人类最需要他的时候出现了,他一出现就直奔主题,对人类说:“如今你们技术小成,我很欣慰,为了表示奖励,我决定帮你们解决你们近日苦思的问题。我最近看到你们在写作文的时候有一些相对应的作文模板,其实今天我教你们的东西跟这个模板是一个意思,首先说一个概念叫JSTL,也叫JSP标准标签库,它的作用就是能让你们这些开发人员利用它的标签取代JSP页面上的Java代码,其实就是让你们根据需求自定义模板,等到你再做开发时,你就可以根据项目需求选择合适的模板,选好后就可以直接套用模板,而不用再重复去写了。所以你们现在会比之前多一些选择,你们开发项目的时候可以选择用别人的模板,也可以自定义模板,这样就能增加开发效率,这个模板也叫框架,就是名字不一样,但涵义是一样的。”人类听完,很兴奋也很激动,此后不断努力研究,最终,好多各种著名的框架横空出世,有Spring,SpringMVC,Mybatis(也称SSM),Struts,Hibernate(也称SSH),还有SpringBoot等多种框架,被后面的人广泛应用,已成佳话。
“万丈高楼平地起”,就这样,高司令费尽心思把这笔知识财富留给了人类,最后腾空而起,在人类“风萧萧兮易水寒,壮士一去兮不复还”的悲调中消失,回到了Java星球,成为地球人心中最美的太阳。
备注:在此声明文中的高司令只是虚构人物,非Java之父“高司令”
总结:此篇名为致Java星球程序员们的一封信,实为对系统学习Java的概述,作此篇就是考虑到好多新手经常问我不知道学什么,怎么学而迷茫,因此我专门花费时间,构思了一周,把编程进行生活化,用生活中的思维去理解编程,其实也没有那么难,而且,我们在学校学的知识都是一块一块的,很少有人系统的按照整个顺序进行学习,因此他们有个问题就是不知道如何把这些一块一块的知识融合到一起, 七剑合璧,才能发挥出巨大的威力,希望此篇能对他们有所参考价值。
学习链接:文中涉及整个Java体系,以及学习方法,可点击下方推荐博客进行学习,祝您学习愉快,收获满满。
Java学习路线:【学习目录及学习资源获取】
Java学习经验:【匹马行天下之思维决定高度篇——教你如何爱上“编程妹子”】
编程开发工具:【开发工具】
编程学习思维:【在你迷茫时不如学好一门语言】
【原创声明】:本人原创,https://www.cnblogs.com/zyx110/
匹马行天下之思维决定高度篇——道道道,学习Java之道的更多相关文章
- Java匹马行天下之JavaSE核心技术——异常处理
Java匹马行天下之JavaSE核心技术——异常处理 异常的简介 在Java中,异常就是Java在编译.运行或运行过程中出现的错误. 程序错误分为三种:编译错误.运行时错误和逻辑错误 编译错误是因为程 ...
- Java匹马行天下之J2EE框架开发——Spring—>Spring框架知多少
————也许我注定成不了一个伟大的人,但是至少我可以做一个很棒的自己.我想我现在应该做的不是瞻前顾后,而是活在当下,正确认知自己,做好自己现在的工作,努力提升自己的能力,踏踏实实地做一个程序员 一.思 ...
- Java匹马行天下——开篇
个人感言: 匹马行天下是我高中时候看过一部叫<九鼎记>的小说中的其中一个大章节标题,在整个这一章中,讲的是是主人公滕青山历经艰险,又心如磐石,一心修行,最后巅峰归来的故事.现在回想,依旧心 ...
- Java匹马行天下之JavaWeb核心技术——JSP
JSP动态网页技术 一.JavaWeb简介 一.什么是JavaWeb? JavaWeb是用Java技术来解决相关web互联网领域的技术总称. 需要在特定的web服务器上运行,分为web服务器和web客 ...
- Java匹马行天下之JavaWeb核心技术——JSP(续一)
十二.JSP表单处理 我们在浏览网页的时候,经常需要向服务器提交信息,并让后台程序处理.浏览器中使用 GET 和 POST 方法向服务器提交数据. GET 方法 GET方法将请求的编码信息添加在网 ...
- Java匹马行天下之C国程序员的秃头原因
Java帝国的崛起 前言: 分享技术之前先请允许我分享一下黄永玉老先生说过的话:“明确的爱,直接的厌恶,真诚的喜欢.站在太阳下的坦荡,大声无愧地称赞自己.” <编程常识知多少> <走 ...
- Java匹马行天下之 Java国出了个Java——举国欢庆
Java帝国的崛起 前言: 看庭前花开花落,宠辱不惊, 望天上云卷云舒,去留无意. 闹心的事儿,选择释怀: 纠缠的人儿,试着放下, 生活其实很美. 心若向阳,就无惧悲伤. 愿你明朗坦荡纵情豁达,有得有 ...
- Java匹马行天下之Java帝国的崛起(大结局)
Java匹马行天下之Java帝国的崛起大结局 前言: [博客*缘] 网络真情伴, 博客友谊连. 笑中藏泪暖中寒. 回想那些悲喜, 苦涩也缠绵. 往事难回首, 新篇染旧言. 世间多少梦能全. 感谢相牵, ...
- Java匹马行天下之教你用学汉语式方法学编程语言
Java匹马行天下之教你用学汉语式方法学编程语言 前言: 前段时间接连更新了带小白从入门到了解的几篇博客: <Java匹马行天下之编程常识知多少> <Java匹马行天下之走进编程的殿 ...
随机推荐
- Ceph 的 'MAX AVAIL' 和 数据平衡 - Storage 6
1. 客户环境 节点数量:4个存储节点 OSD数量:每个节点10块8GB磁盘,总共 40 块OSD Ceph 版本: Storage 6 使用类型: CephFS 文件 CephFS数据池: EC ...
- UVA12983 The Battle of Chibi
第一眼能看出来是个dp O($n^3$) 暴力应该很好想 dp[i][j] = $\sum_{k=1}^i [a[k] < a[i]] *dp[k][j-1]$ 发现dp[i][j] 为前面小于 ...
- *.pvr.ccz文件还原成png格式
处于学习的目的,解包学习某个游戏的资源.大部分的素材都是png文件.但是一部分关键的是用的pvr.ccz文件. 百度一下知道这个文件是TexturePacker打包出来的文件,于是就又百度到了解决办法 ...
- 虚拟机安装Centos7系统后优化操作
重点说明 以下操作针对于VMware软件上新创建的Centos7的虚拟机的优化,当需要多台虚拟机的实验环境时,可通过以下需求先操作配置出一台优化机(也可称为模板机),并创建快照记录,以后的多台虚拟机环 ...
- opencv之膨胀与腐蚀
腐蚀和膨胀 Erosion/Dilation erosion/dilation,用白话说,就是让图像亮的区域收缩和扩张. 原理 我们定义一个卷积核矩阵.这个矩阵可以是任何形状的,但通常而言,是矩形或者 ...
- docker在Mac上的下载安装
在Mac上下载安装docker,下载链接:Stable 安装成功后启动终端,检查安装后的docker版本: yanguobindeMacBook-Pro:~ yanguobin$ docker --v ...
- 一次Commons-HttpClient的BindException排查
线上有个老应用,在流量增长的时候,HttpClient抛出了BindException.部分的StackTrace信息如下: java.net.BindException: Address alrea ...
- Redis 介绍学习
1.Redis 简介 Redis 是一个支持数据结构更多的键值对数据库.它的值不仅可以是字符串等基本数据 类型,也可以是类对象,更可以是 Set.List.计数器等高级的数据结构. Memcached ...
- CyclicBarrier 是如何做到等待多线程到达一起执行的?
我们有些场景,是需要使用 多线各一起执行某些操作的,比如进行并发测试,比如进行多线程数据汇总. 自然,我们可以使用 CountDownLatch, CyclicBarrier, 以及多个 Thread ...
- 区间 GCD
区间 GCD题目描述最近 JC 同学刚学会 gcd,于是迷上了与 gcd 有关的问题.今天他又出了一道这样的题目,想要考考你,你能顺利完成吗?给定一个长度为 n 的字符串 s[1..n],串仅包含小写 ...