分类：电脑/网络-程序设计
问题：大家学习java的看法有什么看法?请大家畅所欲言? 
回答：非常实在的好文章--『再谈下ＪＡＶＡ学习和ＪＡＶＡ程序员在上海找工作的几点看法』 作　　者： fengyunzaiqi () 　　　最近因为比较闲，而且有几个师弟来上海找工作，交流后有点感受，所以发了一个贴子．那是第一次在ＣＳＤＮ上发贴，最近几天又想了想，所以再发一贴，可能也是最后一贴，我只谈谈我在上海做了６年开发所了解到的一些东西，本人能力一般，所以我说的也只针对能力一般的人，特别厉害的牛人不需要理会我说的话．希望能对有些人有一点帮助．　　　对于快要毕业的大学生来上海找工作，我觉得最重要的是基础知识一定要好．我推荐看ＪＡＶＡ编程思想这本书，很多公司笔试的ＪＡＶＡ方面的题目出自这本书．另外ＪＳＰ，ＳＥＲＶＬＥＴ，ＪＤＢＣ一定要有所了解，这个能说明你在大学的时候实习过，做过一些小项目的．HIBERNATE，ＳＴＲＵＴＳ，ＳＰＲＩＮＧ这些东西我不推荐你去学习，我觉得你应该学习如何处理异常，学会用ＪＤＢＣ访问数据库，学会如何释放资源，如何控制数据库事务，学会如何写自定义标签，这样能够显著的提高你的编程水平．　　　工作一年的后我觉得应该回过去看看大学的数据结构，算法，操作系统，然后应该对面象对象要有更深刻的理解，设计模式也应该慢慢开始涉及到（ＪＡＶＡ变编程思想这本书建议多看几次）．我不建议工作一年就开始换工作，因为找工作要花时间，新工作就要适应新的框架和新的业务，这样你就会乱费很多时间的．我还是不建议你去看HIBERNATE，ＳＴＲＵＴＳ，ＳＰＲＩＮＧ这样的东西，虽然你工作中可能要用到它．对于英语我觉得应该早做准备，强迫自己看一些英文方面的书籍，提高自己的口语水平，另外我还要强调一点，适当的参加培训是很有必要的，上海有很多的外语培训机构（主要是培训商务交流），效果很不错的，不过也很贵的，所以去前一定要计划好，不要象大学那样交了钱不去上课或者不认真听课，那样就最好先不要去．　　　工作两年后，如果你算法，数据结构，设计模式等等有比较深的了解的时候　我觉得HIBERNATE，ＳＴＲＵＴＳ，ＳＰＲＩＮＧ的实现方法你应该能够很快理解．　我还是不推荐你学习这些，我推荐学习ＥＪＢ．推荐书籍精通ＥＪＢ，ＥＤ　ＲＯＭＡＮ写的那本．就象他说的这本书不是宣传ＥＪＢ，不是写关于ＥＪＢ世界如何精彩，不是为了消灭某个其他对手等等，学习这本书是希望你能构建出健壮，安全，可扩展的服务器部署．他里面很多的概念你可能在工作中碰不到，但是不表示你可以不需要理会，而应该去思考如果碰到这样的问题我应该怎样解决，然后可以去网上找资料解决它．（这本书是写ＥＪＢ２．０的，但是我还是推荐，看完后你绝对不会觉得是乱费时间，我也觉得没有做过项目也很难理解这本书的）　　　我觉得一个程序员要到一定档次，英语是必须的，所以我觉得如果能有一个全英文的工作环境工作一段时间是很应该的．现在基本上的技术规范全部是英文写的，很多技术论文也是英文的，如果英语不行，水平很难提高．其实对于在上海工作三年的程序员基本上知道自己应该如何发展的．　　　再说说上海ＪＡＶＡ程序员的大概工资吧．一般应届毕业生３Ｋ左右，三年工作经验５Ｋ以上，５年工作经验８Ｋ以上．这个工资是指很多公司全部能够给出，而且也比较容易找到的．对于很厉害的人肯定不合适．大公司和外企在我说的基础上乘１．５倍．（其实上海找软件开发大专就可以了，只不过要牺牲一部分福利，和需要更高的能力，本科就一点问题也没有）　　　对于从外地来上海找工作的学生，我建议做好长期打算，毕竟找工作是需要开销的，上海的交通费用很高，而且是省不掉的．但是心态一定要摆正，首先要有决心，工作一定可以找到，另外不要浮躁，其实找工作应该是一个不段学习的过程，当你面试一家公司，那么笔试的题目在你面试完后一定要花时间把你你不会的搞明白，笔试十家后你会发现其实题目差不多的．态度一定要谦虚，待遇可以适当降低但是不要低于２．５Ｋ（不过一般你转正都能要求到这个数目的，只要你好好和老板谈）．要相信工作可以找到也要做好长期打算（就是万一短时间找不到工作的打算，不要轻易退场，挺一挺就过去了），经济上要准备充足．而且面试不要担心什么的，上海软件公司多得很，你今天面试不过，三个月后这个公司可能又要你去面试的．他不会记得你的．在投简历的时候，简单点的两页就可以突出你在学校期间做过哪些项目．只要是软件工程师就可以投，最多乱费两页纸，不要做太好的简历，是乱费钱．网上投简历就应该全部投，最多是不要你去面试，不会少什么的．找工作能力是一方面，技巧也有的，只有自己慢慢体会了．　　再说说为什么我不推荐学习HIBERNATE，ＳＴＲＵＴＳ，ＳＰＲＩＮＧ，因为我一直就在用这个，现在突然发现自己好象无法前进了．所以现在又重新学习基础，但是问题是我年龄大了，事情多了，可以供学习的时间不多了．所以我才极力推荐在工作的前三年一定要把基本功打扎实．现在有很多程序员会用HIBERNATE，ＳＴＲＵＴＳ，ＳＰＲＩＮＧ来写项目，可是确不会写一个ＪＤＢＣ连接，对ＪＡＶＡ的多线程一点不知道，ＳＥＲＶＬＥＴ不会的也很多．这个是很不好的，也是现在国内很多程序员的通病．为什么很多人说程序员到３０就写不动代码，学不会新东西了，你基础那么差还能学会就真的怪了．　　　不要把时间放到讨论ＥＪＢ和ＳＰＲＩＮＧ哪个好哪个差上面，不过我还是倾向ＥＪＢ的，很多人说ＥＪＢ能实现的ＳＰＲＩＮＧ也能实现（好象有ＥＪＢ能实现的但ＳＰＲＩＮＧ不能实现，但是没有完全了解不敢说），但是为什么不想想ＳＰＲＩＮＧ能实现的难道ＥＪＢ不能实现，实现麻烦一点有什么关系呢，学习一个东西不是要看到它的优点，而更应该看到它的缺点．呵呵，不要骂我，我认为ＳＯＡ将成为潮流，把骂我的时间放到了解ＳＯＡ上．而且想去大的外企，那么社会招聘百分之八十会问ＥＪＢ的．进去大的外企有两个方式，一个是社会招聘，但是这个面试特别严格，基础不好外语不好的基本上没有戏．（社会招聘指招聘有工作经验的，应届毕业生叫校园招聘）另外一个就是通过外包进去，这样进去要求要低，但是你必须乱费几年，等机会直接进你外包出去的公司或者跳巢到和他同一档次的外企．　　　很多人说待遇不重要，重要的是学到东西，这个是不对的．待遇是你价值的体现，学东西就为了更好的待遇，所以要工资的时候不要觉得不好意思，想要多少就直接说出来．只有生活有保障才能更好的学习，更好的工作．工资高，心情就好，做什么也快呀．其实应该这么说，能学到什么不重要，重要的是工资要高．　　　所谓程序员只能到３０岁的说法是明显不对的，程序员也不是一个跳板，不要总是想去做系统分析，去搞管理，而应该扎扎实实的学习．做程序员有什么不好，从程序员开始，往中级程序员，高级程序员，职深程序员，专家程序员一直走下去．　　　再次强调，外语很重要，请把它放在第一位置．最近好象软件行业也开始好转起来了，对日的外包多不说，欧美的外包也多起来了，而且外包的性质也发生变化，从最初的编码和测试发展到分析，设计，编码，测试全部外包了．这样和做国内的项目区别不大，所以还是很有发展前景的．　　　好象还有很多想说的但是说不出来，发现在ＣＳＤＮ上发贴很费时间，所以这个也是我最后一次发贴，项目马上开启了，也没有时间来论坛了．希望想来上海发展的和在上海做ＪＡＶＡ的程序员全部能找到满意的工作，生活更开心点，毕竟做程序还是很辛苦的．以上只是个人观点，没有任何强加给任何人的意思