Java入门

        昨天面试被人BS,虽然心中有无限怨念,不过本屌丝本着做好自己让暴风雨来的更猛烈一些的理想(好吧,我承认有点凌乱了),如今java的正式发行版已经到了1.7,不得不承认我们很多代码的编写还停留在1.4及以前时代,面试官面试中还问到了我有没有使用HahsTable,我果断说没有使用,对方就开始不屑了,其实我的全局变量都在使用ConcurrentHashMap 

       你很容易遇到一个你跟他说hadoop,他跟你讲java基础,你跟他讲框架他跟你讲IO,你跟他讲IO他跟你讲变态的人,为了让自己的更健壮,我决定认认真真复习一遍基础。

今天就从java入门开始,第一讲《java编程思想》(第四版),不得不说很多东西老人说得很有道理“温故而知新”,平时写代码考虑最多的是实现功能,优雅不优雅考虑的倒是不多,看看基础,倒是有心思回顾以前的一些设计,就像并发陷阱都知道,其实写代码的时候却很少注意,也许是功能搞定了,才回去考虑,继承跟组合关系也是一样,多态的使用,action中get和post的选择。就拿get和post方法来说,其实就设计初衷而言get方法本身是不建议对后端有变更的,比如增删改就不建议通过get方法来处理,为什么?约定,你也许看见约定就觉得有点像英语老师回答你为什么老外要这么讲一样,可是代码就是这样必要的约定可以成为一种交流沟通的途径,可是很多时候不得不说我在除了文件上传下载,很多时候这两个都在混用,估计很多专业的人看见我这么搞,估计就像我当年看见有人在java代码属性命名中使用大量的下线一样不舒服。

今天拿着《java编程思想》(中文哦)从第一页看起,这本书除了翻译本身看着有点费劲以外沉下心,还是有些不少收获的诚如他名字所言,也许你已经api高手了,不过像我一样的也不在少数,api一堆,用的好的却不见得,用的明白的大多也都停留在api的汉语翻译上边了,底层思想可能还是有些欠缺啊。

 

好了,该扯扯书的内容了,一开始还是老外的套路,有点八股,对书中的涉及到的内容作一些基本介绍,前几版的区别,外加一堆感谢,不过没有优先感谢国家是有点不对了。总之都是跟知识关系不大的东西,也算是老外式的开胃菜了。

 

“万物皆对象”这个算是一种宣传,当然了对于开发人员来说也就意味着一种约定,一种思维方式的约定,不得不说自己写的很多代码还是很有结构编程的影子,很多时候类名就只是个标记,我关心的只是内部的方法,如果你觉得没问题,那么就说明你跟我还是一个级别,OOP(面向对象)本身就是要你从一个大局去考虑,然后逐步细分,而要是一上来就从加减法开始,那就注定你最后得代码要沦为被人唾弃的对象了。尤其是在你真正领略到了多态的精髓的时候你就明白了,接口个人的感觉就是更像是一种契约,上层应用只要拿到契约就OK了,本着诚信原则,底层承诺兑现契约,当然是惊喜还是失望就不保证了,至少每一条都会有的。

谈到继承跟组合,个人感觉跟倾向于组合,首先能保证安全性(前提是你明白这里需要注意安全性),能够做到良好的封装,个人推荐多使用组合关系少使用继承关系,除非有很强的父子关系,或者有写其他需求。

 

非面向对象编程的编译器产生的函数调用会引起所谓的“前期绑定”,即编译器将产生对一个具体函数的调用,而运行时将这个调用解析到将要被执行的代码的绝对地址,OOP程序知道运行时才能确定代码的地址,所以就有了“后期绑定”,也就是执行代码的地址知道运行的时候才能确定。java中为了实现“后期绑定”,在编译期使用一段代码通过对象中存储的信息来计算方法体的地址

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值