您的位置:首页 > 职场人生

读《Java程序员,上班那点事》笔记(一):给自身一个清晰的定位?

2009-08-25 16:37 281 查看
结识这本书很偶然,开始在网上看到有人推荐,后来看了一下样章,总体感觉比较精彩,感觉对自己以后的职业规划有很好的指导作用。但是也有美中不足的地方,比如对java内存的介绍有一些瑕疵。

今天购得一本,读了很少一部分,先记录一下自己的感受。

序言部分介绍的不错,这本书可以算是"课外读物",凝结了很多作者的实战经验和思考,很多东西言简意赅,语言又特别活泼,在轻松阅读的时候能得到很多收获。

前言部分,作者指出找工作不容易的两点原因:

1.应聘者对自身没有一个清晰的定位。

2.应聘者所掌握的技术知识和工作岗位的需求脱节。

共同点:对即将走向的工作岗位没有清楚的了解。

这两个问题我恰恰都有,但是我有不同的看法(其实是苦衷),对于尚未就业的人来说,这两点可能是不容易避免的。(书的读者群较大,我根据自身写感受)

关于未来,我一直没有比较明确的目标。以前找工作的时候,应聘职位是软件工程师,至于是干什么的,我并不知道。曾经面试过几家公司,最后可以从事的工作有:

1.Linux的驱动程序开发(面试的时候聊到自己对Linux内核有所了解,这个工作多少可以利用以前的知识,还算喜欢)。

2.电力行业软件开发(面试的时候只是考察了一些算法问题,用记事本直接写代码,考察基本功,并没有问过以前的相关经验。但多少有些VC的经验,这个工作也可以利用我以前的经验,至少不讨厌)

3.数据库应用产品的开发(面试考察基本功,最后是使用Powerbuilder从事开发工作,没有相关经验,也不喜欢数据库相关的开发,不喜欢)。

4.测试工作(面试考察基本功,从事的工作是公司统一安排的,虽然对这项工作一无所知,但是公司不错,待遇也好,自己会考虑这个工作)。

找工作给我的感受是,做什么样的工作很多时候并不是自己决定的。当时的感觉,去公司应聘,公司接受我,待遇我接受,工作不讨厌,OK。虽然我对就业形势并不悲观,但能意识到作为毕业生,个人的选择并没有很多。

于是我有了这样的疑惑:清晰的定位是不是能做得到,能做到的话作用有多么大?

或许有了一定的工作经验之后,会对某些领域比较熟悉,从而对自己有清晰的目标和定位。但现在的我,很难做到这一点。可能很长一段时间内,我的目标依然是,有个公司需要我,我可以在某个职位上体现自己的价值,够了。

关于"应聘者所掌握的技术知识和工作岗位的需求脱节"这点,除非是对相当有经验的人来说,否则也是没有办法的事。

经常会考虑,我现在掌握的知识到底能干什么?

从掌握的编程语言来看,我熟悉的语言很少,了解C++和Java,自学过几天的Erlang和Scala。

最熟悉的语言是C++,有些实际开发经验,了解点ACE,CORBA,但是实际的公司中,C++用来干什么,做哪方面的开发我并不清楚。如果有机会,去做游戏服务器方面的开发或许是个很好的出路。

多少算熟悉Java,开发过一个简单的Web模块,但这方面的知识很少(比如不懂什么SSH,汗),我也不喜欢这样的工作,所以基本不会去做这方面的工作。现在对java的关注集中于语言和jvm方面,比如我喜欢看javac如何实现,jvm如何处理一些细节问题等等,但这些东西我不知道有什么实际价值,可能只能作为单纯的爱好去学习和研究了。

熟悉点Erlang和Scala,单纯的"略懂",肯定也不能从事相关的工作了。

所以又有感受,应聘者掌握的的技术只是和工作岗位的需求脱节,同样是没有办法的事。出现这样的情况,一方面是正常的,读书期间不应该过于功利,能按照自己的爱好学习点东西甚至进行一定的研究是好事;一方面是非正常的,如果所学和实际脱节过重,可能以后不好发展,甚至工作都不好解决,这可能需要多和工作的前辈交流了。

最近开始关注招聘信息,根据一定的招聘要求给自己定位是不是合适呢?

在买书之前就读了书里的《破除Java开发中的封建迷信》和《控制内存的功力》两部分,有些不同的想法,这里也提一下。

1.《破除Java开发中的封建迷信》部分,我感觉作者举得例子不是很好。

比较内存的话,我想拿java的对象和C++的对象来比较可能比较恰当,java对象更占内存,似乎是天生的性质,比如在Sun Java Hotspot虚拟机中,每个对象有两个机器字的对象头,一个用来保存hash code信息,gc信息和对象的锁信息,另一个用来指向Class对象,这自然比C++里的对象消耗的多了点(即使C++的类中包含了虚函数表指针)。这里并没有考虑内存对齐之类的东西,我也无意写一个严格的对比,只是一点直观的想法。【参考http://java.sun.com/products/hotspot/whitepaper.html

比较性能的话,Java的性能体现在JIT可以进行的优化上,书里的例子可能并不能体现这一点。这方面我是菜鸟,可能需要进一步查阅资料来分析。

2.《控制内存的功力》

这部分谈到了Java的堆和栈,很遗憾,书里的描述基本都是错的,因为引用了一个著名的帖子《关于java栈与堆的思考》(原帖内容前后矛盾,搞不清java编译器和jvm的功能划分,"创造性"的提出了"栈变量可以共享"的理论)。其实那个帖子的现象倒是值得研究,一个基本全是错误的帖子(这倒不必深究,估计是作者初学Java之习作),竟然被引用来引用去(“不明真相的群众”发挥作用了),最后成为经典,可见转帖的力量是强大的。

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/ZangXT/archive/2009/07/26/4380697.aspx
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: