技术人员,请注意那些被你忽略的重要事情 [转载]

对于很多做技术的朋友,包括我自己在内,一直以为:只要技术牛,就可以活的非常滋润;只要技术牛,就可以拿优厚的待遇;只要技术牛,就可以拉着几个小伙伴搞自己的“事业”;只要技术牛,就可以驰骋IT江湖。
 
很多的事情,或许是我们预期太高,期望太美好,或者就是我们自己一厢情愿的“意淫”。因为我们总是“这山望着那山好,只要到了山顶,一切就会不一样”。其实事情不是这样的。
说教无益,下面就说下自己的一些经历和感受,希望对大家有用,如果冒犯,请一笑了之。
 
技术重要,软实力更加重要
 
         说到这里,大家心里会有很多的嘀咕:作为我们搞技术的,技术就是生命,技术就是立身之本,技术就是饭碗,你说技术不重要,唬谁呢!
 
         其实说到了软实力,就是我们本身最人性的东西,例如,性格,品性,做人态度,做事风格,解决问题的思维方式,看待事务的角度….
 
         很多人可以凭着热情,兴趣,把技术做到很厉害,甚至达到顶峰,但是,我们发现一点:到最后,做成了事的,一定不是因为他仅仅只有强悍的技术能力。
 
         换句话说,对于我们很多人员,我们如果拼命的努力,顽强的学习,很多人都可以成为高手,牛人。但是,在技术层面上,其实是可以被人超越的,但是,你的思维,人性方面的东西,别人无法Copy,也很难超越。我们终有一天,会遇到“长江后浪推前浪”的局面,我们拿什么来和后辈竞争。
 
         常常和一些公司的朋友在一起聊,大家都发现很多的技术人员到了一定的程度就上不去了,尽管技术在不断的深化,但是待遇和职位就是停在那里不动。不是每个公司都像阿里,腾讯这样,会给技术人员足够的空间去发展,提升。
 
         有个朋友,做技术也不错,做了多年的架构师,而且主要是偏重在技术上面。后来去一个公司面试技术总监,而老板是市场出身,是一个完全不懂技术人。在面试过程中,老板肯定丝毫没有提到技术的问题,而提出的都是关于做事方式,思维方式,和解决问题的思路,还有一些个人经历、性格方面的问题,尽管这个朋友从来没有真正做过管理职位,尽管这个朋友从来没有带过几十人的团队,但是老板当时就拍板录用。除了说明老板的魄力之外,我们也可以看到“对于高层人员而已,软实力很重要”。
 
         当一堆技术能力相当,背景差不多的人在一起竞争一个位置的时候,最后决定成败的就是“软实力”,人性方面的因素,所以,阿里在选择一个不懂技术的王坚,最后把阿里云搞上去。甚至有时候,在选择人员上,软实力会比技术能力更加重要,这也为什么很多公司会选择:“这个人虽然能力不强,但是很上进,我们更愿意要他”。
 
不要以“技术人员都很宅为理由”
 
         每次让技术人员做一些“出众”的事情的时候,很多的人总是躲躲闪闪,要么是上不了台,要么就是上台之后哆哆嗦嗦,要么就是呆在那里….
 
         一直以来,很多人都说“搞技术的都很宅”,所以每次看到技术人员闷不吭声,每次看到技术人员沉默寡言的时候,我们都“容忍”了。同时,我们做技术的也认同了这个“公理”,在心里把我们自己禁锢,给自己找了一个“公认”的借口不去和别人接触,不主动的去与人沟通,不积极的出去露面。
 
         我们很多的人都对那些技术大会上面的大牛演讲者羡慕不已,都希望自己有朝一日可以也可以站在台上面意气风发,也希望自己被万众瞩目。后来,我陆陆续续的也有幸的接触到了一些这些大会的讲师,其实很多时候,他们也是被“逼着”上去的,都是硬着上了。而且在演讲之前,已经提前几个月在家里反反复复的练习了很多遍。每次我们看到只是别人的光环,却没有关注背后的辛酸。
 
         对于技术,有个朋友说的非常好:你自己懂,不算真的懂;你自己懂,要写出了让别人;也懂,你自己懂,要讲出来让别人懂。这才说明你真的懂了。
 
         我们很多人做技术的时候,喜欢把知识“焖“在心中,从来不吐露出来。在现在,技术人员是要”勇于发声“的。
 
         如果说80%的技术人员都是“宅”的,如果你不“宅”,你发声了,起码你就在某种程度上面超过了他们。
 
         今天就暂时到这里,写博很难,IT不易,且看且珍惜。

对于类中静态变量的控制问题

java静态对象和非静态对象有什么区别?

比对如下:

  • 静态对象
  • 非静态对象

拥有属性:

  • 是类共同拥有的
  • 是类各对象独立拥有的

内存分配:

  • 内存空间上是固定的
  • 空间在各个附属类里面分配

分配顺序:

  • 先分配静态对象的空间

继而再对非静态对象分配空间,也就是初始化顺序是先静态在开发过程中遇到使用静态变量,将它作为计数标识等作用,除了通过synchronized进行控制外,发现并没有解决在高并发问题。还要在将此类设计为单例模式,在单例模式中对于对象的生成也要加锁(synchronized),这样在外层类进行调用时就可以控制住线程的高并发问题。

 

参考文档:http://devbean.blog.51cto.com/448512/203501/

通过HttpClient类调用其他子系统中action方法

最近只是项目中偶然用到,所以拿来在这里简单记录一下,以便后期使用。这里只是简单的HttpClient使用方法,而且这里只是用了get方法,关于其他HttpClient相关内容,待后续学习后补充。
下文代码中使用GET的请求方式,那么所有参数都直接放到页面的URL后面用问号与页面地址隔开,每个参数用&隔开,例如:http://java.sun.com/?name=liudong&mobile=123456

 

【ps】
HttpClient 是 Apache Jakarta Common 下的子项目,用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。HttpClient 已经应用在很多的项目中,比如 Apache Jakarta 上很著名的另外两个开源项目 Cactus 和 HTMLUnit 都使用了 HttpClient,更多使用 HttpClient 的应用可以参见http://wiki.apache.org/jakarta-httpclient/HttpClientPowered。HttpClient 项目非常活跃,使用的人还是非常多的。目前 HttpClient 版本是在 2005.10.11 发布的 3.0 RC4 。