A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 307512236 初级黑马   /  2018-5-12 22:21  /  1591 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

        在Java基础班的学习一晃便接近了尾声。当初,往互联网转行的最大的原因是因为对传统行业的失望,并非是发展前景和工资,而是思维认知模式。记得有一次面试,面试官问我,在前半年,公司需要花资源培养你,你对公司产生的价值较少,那你如何保证公司培养你之后你不跑路呢?那个时候我是非常崩溃的,私以为,员工之于公司,是一种资源,公司通过员工,达成公司的愿景。而公司之于员工,是一个平台,作为一个员工,我将我自己的时间和精力投资在这个这家公司,我需要获得我想要的回报,比如经验,比如金钱,比如存在感。而之前所在之行业,硬生生将员工与公司共同将饼做大的正和博弈,变成了通过减少员工工资支出,强调员工贡献,甚至连丢失员工的风险都想要转嫁给员工的零和博弈。
         于是,出于想在互联网行业中遇到价值观更加相近的伙伴,同时,自己对编程有也有一些基础,自学过C,并且从零开始编写了一套程序,获得竞赛的全国一等奖。就来到黑马学习Java。
在java基础班半个月的学习,不仅对于Java和编程的认识。收获更多的是对于计算机思维的思考。
1.  自顶向下和自底向上
人自然的做事行为模式是自底向上,总是先从能做的做起。但是这种做法会造成很多工作需要重复做,造成资源浪费,特别是在写程序时,刚写完一段代码,为了和另外的代码配合使用,或者运用于另外的场景。需要使用另外一种方法写,于是需要全部推到重来。而计算机思维中,很重要的一点就是自顶向下做事,也就是需要先构建一个框架,然后再填充内部的内容。这样才能在以后不用修改代码的大框架,节省写代码的时间。
2.全局和局部
我们日常做出选择时,受限于认知以及未知性,通常得到的答案是局部最佳,而由于计算机程序在设计时是自顶向下,同时计算机有处理大数的能力,我们更容易得到全局最佳的选择。比如 AlphaGo和人下围棋的时候。
3.成本之间的衡量
随着硬件的提成,以前很多的内容,比如char,byte等内容,都逐渐开始被我们抛弃,而更简单粗暴的使用int类型。实际上,这是运行效率,内存空间,以及人的工作效率这三者之间的成本衡量。现今内存空间成本低,人力成本高,于是我们不在需要去扣那一点内存空间。好和坏,只是在不同成本情况下的不同衡量。
4.等价性原则
很多时候,一个较难的问题 A 和相对容易的问题 B 是等价的。但是人类常常容易给什么问题就解决什么问题,给了 A 就解决 A,尽管它很难。而计算机则会试图解决等价,但是却更简单的问题。比如,当我们使用数组时,要解决数组元素的增加,是一件很麻烦的事情,于是我们有了集合类,从而将数组问题转换成了集合问题,就简单了很多。
5.模块化和封装
在解决一个大问题的时候,在日常生活中,我们可能就直接去做了,但是在计算机中,我们需要将其拆分成一个个的小问题,变成了一个个模块,然后用将这些拆分后的问题逐个解决。解决这些问题的方法,就好像一块块乐高积木,而解决整个问题,只需要我们选用不同的积木,搭成我们想要的样子。而解决这一个个小问题的程序,我们可以封装成方法函数模块。但下次遇到相似问题时,我们可以直接调用这些封装好的模块。

4 个回复

倒序浏览
回复 使用道具 举报
已拜读,同学加油
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马