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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 刘蕴学 中级黑马   /  2012-10-11 19:57  /  28888 人查看  /  211 人回复  /   27 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 刘蕴学 于 2012-10-11 20:30 编辑

首先就是基础重要不重要,这个不好做定论,因为看你需要掌握的程度,黑马这边的课程需要基础在视频里都有,老毕的25天和张老师的高新技术,这些全部会用到,把这些全看熟了,并掌握原理才是关键,你去看什么字符串有操作创建几个对象这种的,自己提高可以,但对听课无帮助,除非你已经进入内存管理或者告诉缓存等方面的应用才会逐渐考虑对象的多少,占用内存,以及字符串常量池引起的浅溢出等等。

关于基础,比较典型的例子是,就拿动态代理来说,你可以研究下他的实现原理,这种模式在很多编程方面将会用到,并非仅是工具的使用,使用工具的仅仅是码农而已,掌握原理并应用在自己的代码中才最终是你的知识。

其次,关于其他视频应该掌握多少,有些人把jdbc,web, ssh等等全看了,以为当是预习,我想说的是,这本来没有错,但是你真正应该去看的是数据库,jdbc,mysql,web基础这些,ssh在web基础课里应用不多,并且都会有老师专门进行精讲,2天你就会用了,而在web基础课这里,你要下功夫,因为ssh实现原理老师都会以小框架的模式给你们将的很透彻,如果你基础太烂,听不懂,最后可能整个web这一块你都会学不懂,毕竟里边还有jsp,js等等很多知识,js你也需要重点去看,后面会有jquery等经典异步框架之类的技术。

像我们经常用的多线程,io之类的这些非常基本的,你每天都会用,多线程的同步很重要,无论web还是android,或者说是java相关的都会频繁应用,io这一块,你要着重研究字节流和字符流的区别,这是解决乱码的重中之重。

范型在这里你可以看或者不看,会用是最基本的,老师会讲很多框架的实现原理,如果你想自己写框架,那么范型、反射你都需要掌握到一定程度,这不是用的问题,而是理解,还有一些实际应用的经验。

反射这个是必须要重点去掌握的,web方面,经常会用反射来处理一些东西,比如说javabean方面的应用等等,至于android,在很多自定义组件中,你经常会需要用反射去访问那些你无法访问的字段来达到你的目的。

至于有些人说他仅是想学android,所以不去学web,这本身就是个错误,和兴趣无关,因为android里边,基本上凡是公司开发的,80%的应用都需要联网的服务器,所以你自己最后做项目的时候肯定需要写个服务器去做测试等等一系列事情,这时候你web不行,你代码就没法写了。在一个就是,有一些应用本身就是一个类似浏览器的实现,你不懂web真心写不了。

关于android,我想很多人都会去看视频,做预习,但我觉得大部分人应该去重点掌握awt/swing,以及java2图形操作,这对于android学习的帮助是很大的,如果你还有flex基础,那真心更有帮助。

另外就是,说实话,黑马4个月所讲的东西涵盖了基本上行业内的绝大分通用技术,还有一些是老师自己的东西,你每天所需要的时间很紧迫,如果基础太烂,我保证你每天后半夜睡觉都搞不定当天的内容,然后1个月下来,你堆积的东西越来越多,可能最后2个月自己就放弃学习了。。。

最后就是,千万别让基础拖你后腿

说了半天给大家讲个实际点例子,就说动态代理,掌握原理之后能做什么,我之前研究过一个东西,在以前我们定义一个对象,这个对象的行为就固定了,如果需要进行限制这个对象的某些行为,我们可能需要定义一堆的字段或者其他手段来控制,这是很不方便的,代码也显得更复杂,至少我自己写了之后发现很混乱,并且如果是运行时需要动态给某些对象删除或者增加功能(函数/方法)的话,写死的代码是实现不了的。

假设一个对象person,他有吃饭,有睡觉,有上厕所的功能,但是植物人不会吃饭吧?加班的可能几天不睡觉吧?便秘的可能不上厕所吧?就还仅是3个功能,如果多了呢?几十个,如果这些功能都可以随便组合,都不是必须具备的功能,那么你的逻辑代码需要多少,具体的功能组合形成的子类需要多少?我估计很多人到这就崩溃了。。。

如果拿代理来做,我们需要的是什么?接口,每个功能一个接口,这些接口被人的代理类实现(或者是适配器产生的具体实现类组合形成的策略模式),并会返回一个具备这些功能的person对象,我们仅需检查他具备不具备这些功能就可以,而不是还要检查一些额外的条件,而在某些功能失效,或者某些功能被加入的情况下,我们仅需要更换一下代理就行。这个可能不太好理解点,通俗来说就是,一个人没有胳膊,和有胳膊瘫痪的区别是不一样的。

这里频繁生成的各种功能组合的代理类的字节码是会存在于内存中,可能所有组合你都试过之后,一些不常用的组合会有内存溢出的风险,这时候就需要用到类加载机制和字节码技术,来把这些类的字节码文件像对象重用一样的进行重复利用,以避免大量的代理类造成内存溢出。

这个例子本身有一些局限性,适用性不是太广,其实技术方面没啥新东西,主要还是你想怎么做,以及在什么场景下用什么模式或者技术。





评分

参与人数 2技术分 +2 黑马币 +30 收起 理由
职业规划-刘倩老师 + 1 + 30 必须得赞~祝你学习结束后,早日找到满意工.
谭立文 + 1 很给力!

查看全部评分

211 个回复

倒序浏览
谢谢你的建议。

评分

参与人数 1技术分 +10 收起 理由
滔哥 + 10 补足你的技术分

查看全部评分

回复 使用道具 举报
本来我以为awt没什么用呢,那一天的视频也没有看,看了这哥们的评价,发现,得花一天的时间看看啊……

评分

参与人数 1技术分 +30 收起 理由
滔哥 + 30 补足你的技术分

查看全部评分

回复 使用道具 举报
受教了!

评分

参与人数 1技术分 +10 收起 理由
滔哥 + 10 补足你的技术分

查看全部评分

回复 使用道具 举报
路过了
回复 使用道具 举报
yangfengxiao 发表于 2012-10-11 20:02
谢谢你的建议。

呵呵……美女加油
回复 使用道具 举报
多谢你的建议

评分

参与人数 1技术分 +10 收起 理由
滔哥 + 10 补足你的技术分

查看全部评分

回复 使用道具 举报
拜读了~~

评分

参与人数 1技术分 +10 收起 理由
滔哥 + 10 补足你的技术分

查看全部评分

回复 使用道具 举报
葬天 中级黑马 2012-10-11 22:19:08
9#
写文章,需要一个高度
回复 使用道具 举报
张金 中级黑马 2012-10-11 22:43:57
10#
谢谢大师指点,现在我也不是很着急了,而是安心的学好基础。这个很关键。

评分

参与人数 1技术分 +10 收起 理由
滔哥 + 10 补足你的技术分

查看全部评分

回复 使用道具 举报
这个分享很好!!!掌握原理并应用在自己的代码中.
感谢.
回复 使用道具 举报
张利 中级黑马 2012-10-12 17:28:22
12#
学习了,顶一下~
回复 使用道具 举报
vittss 初级黑马 2012-10-13 09:49:37
13#
感觉老大哥的真心话 论坛有你更精彩
回复 使用道具 举报
少走了好多弯路,谢谢楼主
回复 使用道具 举报
真心觉得你 说的很好 体会很深,顶你了
回复 使用道具 举报
觉得很好,谢谢你
回复 使用道具 举报
          顶贴   
回复 使用道具 举报
楼主写的真不错,确实是这么一个过程,看来自己还真的需要再重新认认真真的再走一遍,巩固一遍。Thank you for sharing it。
回复 使用道具 举报
王冬 中级黑马 2012-10-13 16:10:23
19#
{:soso_e179:}
回复 使用道具 举报
就是。。基础还是最重要的。好好打基础吧!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马