java.lang.StackOverflowError错误

  今天,在运行wiring your web application with open source java时,当提交一份订单后,老是出现java.lang.StackOverflowError错误,经过调试,发现问题出在SaveOrderAction.java中,

里面有一段代码如下:

order.setOrderLineItems(lineItems);

__log.debug("the order before save is: "+ order.getUserName()+"this order is:"+order);

// delegate the save to the service layer and further upstream

Order returnedOrder = getOrderService().saveNewOrder(order);

__log.debug("the user's name who placed returnedOrder is: "+ returnedOrder.getUserName()+"this order is:"+returnedOrder);

oForm.setOrder(order);

request.setAttribute("form",oForm);

//ActionErrors errors = new ActionErrors();

//errors.add(Globals.ERROR_KEY, new ActionError("message.order.saved.successfully"));

//saveErrors(request, errors);

__log.debug("the order after set into form is: "+ order.getUserName()+"this order is:"+order);

return mapping.findForward("success");

  如果不注释掉上面3行,就会出现这个错误,真不知道是什么原因。报错信息如下:

“type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: Servlet execution threw an exception

root cause

java.lang.StackOverflowError

note The full stack trace of the root cause is available in the Apache Tomcat/5.0.25 logs.

  另外,如果把log4j配置成显示debug信息,控制台就会一直报告如下信息,不知是怎么一回事:

2006-01-06 22:40:21,564 DEBUG logicalcobwebs.proxool.spring:181  -> 000003 (00/01/00) - Connection #41 created to achieve minimum of 2 = AVAILABLE

2006-01-06 22:40:21,594 DEBUG logicalcobwebs.proxool.spring:181  -> 000003 (00/02/00) - Connection #42 created to achieve minimum of 2 = AVAILABLE

2006-01-06 22:40:51,618 DEBUG logicalcobwebs.proxool.spring:431  -> 000003 (00/01/00) - #0041 removed because it has problems: java.sql.SQLException: Syntax error or access violation,  message from server: "You have an error in your SQL syntax.  Check the manual that corresponds to your MySQL server version for the right syntax to use near 'values(current TimeStamp)' at line 1".

2006-01-06 22:40:51,628 DEBUG logicalcobwebs.proxool.spring:431  -> 000003 (00/00/00) - #0042 removed because it has problems: java.sql.SQLException: Syntax error or access violation,  message from server: "You have an error in your SQL syntax.  Check the manual that corresponds to your MySQL server version for the right syntax to use near 'values(current TimeStamp)' at line 1".

2006-01-06 22:40:51,638 DEBUG logicalcobwebs.proxool.spring:181  -> 000003 (00/01/00) - Connection #43 created to achieve minimum of 2 = AVAILABLE

2006-01-06 22:40:51,658 DEBUG logicalcobwebs.proxool.spring:181  -> 000003 (00/02/00) - Connection #44 created to achieve minimum of 2 = AVAILABLE

2006-01-06 22:41:00,661 INFO  proxool.stats.spring:66  -> 22:40:00 - 22:41:00, s:0:0.00/s, r:0:0.00/s, a:0.00ms/0.00

2006-01-06 22:41:21,671 DEBUG logicalcobwebs.proxool.spring:431  -> 000003 (00/01/00) - #0043 removed because it has problems: java.sql.SQLException: Syntax error or access violation,  message from server: "You have an error in your SQL syntax.  Check the manual that corresponds to your MySQL server version for the right syntax to use near 'values(current TimeStamp)' at line 1".

2006-01-06 22:41:21,681 DEBUG logicalcobwebs.proxool.spring:431  -> 000003 (00/00/00) - #0044 removed because it has problems: java.sql.SQLException: Syntax error or access violation,  message from server: "You have an error in your SQL syntax.  Check the manual that corresponds to your MySQL server version for the right syntax to use near 'values(current TimeStamp)' at line 1".

2006-01-06 22:41:21,711 DEBUG logicalcobwebs.proxool.spring:181  -> 000003 (00/01/00) - Connection #45 created to achieve minimum of 2 = AVAILABLE

2006-01-06 22:41:21,731 DEBUG logicalcobwebs.proxool.spring:181  -> 000003 (00/02/00) - Connection #46 created to achieve minimum of 2 = AVAILABLE

(java.sql.SQLException产生的原因是proxool.xml的配置问题:http://www.learndiary.com/disDiaryContentAction.do?goalID=1468)

我用的是tomcat5.0+mysql4.0.14

运行wiring your web application with...的问题

我用:struts1.1+spring1.2.6+hibernate2.1.8运行wiring your web application with open source java中碰到了如下问题:

  1)、必须遵照作者在源码readme.txt的安装使用说明,尤其是组件版本号,否则就会出问题。

     如:文中要求用 Hibernate 2.1.2,如果用hibernate2.1.8则会出现错误:HibernateException:Unable to locate config file:e:\\pro.xml。(见:HibernateException:Unable to locate config file:e:\\pro.xml (0篇) http://www.learndiary.com/disDiaryContentAction.do?searchDiaryID=1466&goalID=1466&naviStr=a10a2961)因为hibernate2.1.2支持绝对地址文件定位,而2.1.8是把这个文件放在classpath中寻找的,所以把源码中的:“applicationContext-hibernate.xml -

   - <prop key="hibernate.proxool.xml">C:/MyWSADProjects/OnJavaCom/WebContent/WEB-INF/proxool.xml</prop>”

  改为:“applicationContext-hibernate.xml -

   - <prop key="hibernate.proxool.xml">proxool.xml</prop>”

  再把“proxool.xml”放入WEB-INF/classes下面就行了;

  在build.xml文件中要求用:ant1.5.3,我用eclipse2.1下的ant1.5.2出错。

  还有就是源码中没有要求的用:xdolet如果是1.1的版本也不行,用最新的1.2.3解决问题;

  

  2)、把log4j.jar和common-logging.jar(这个文件是否必须这样没有验证)加入系统的classpath,否则会在编译build.xml时说找不到log4j的类。这好像也可以在build.xml文件中指定。

  3)、需要把build.xml中的下列内容改成你机器上的:

“ <property name="xdoclet.lib.home" value="c:/java_api/xdoclet-1.2/lib"/>

<property name="properties.dir"   value="." />

<property name="hibernate.lib.home" value="C:/java_api/hibernate-2.1/lib"/>

<property name="war.webinf.home" value="C:/MyWSADProjects/OnJavaCom/WebContent/WEB-INF"/>

<property name="mysql.lib.home" value="C:/java_api/mysql-connector-java-2.0.14"/>

<property name="db2.lib.home" value="C:/java_api/db2java"/>



   另外,如果你不用db2数据库,就把build.xml中关于db2的东西去掉。否则会出错。

  4)、数据库(mysql)需要先在数据库中把库建起再用build.xml脚本创建表。

  5)、怀疑是作者的笔误,在web.xml文件中的“<param-value>WEB-INF/struts-config.xml</param-value>”应该是“<param-value>WEB-INF/struts-config.xml</param-value>”,否则在我的tomcat5.0下就会报错,但是不知在其它容器中如何?

  6)、还有就是要把每个开源项目的包完整的拷到你的应用程序的lib中,比如:spring就要把它所有的在lib下的第三方支持包全部拷入你的应用程序的lib中。做这些事不要怕有冗余的文件,java的运行机制是要用的时候再去创建类的实例。多些文件只是占点硬盘空间而已。

  我觉得有必要好好的找一找这些错误出现的真正原因。

HibernateException:Unable to locate config file:e:\\pro.xml

在运行:wiring your web application with open source java时,如果不按照说明中的用hibernate2.1.2,比如:用2.1.8,就会出现文中的问题。

转帖:转自:http://spring.jactiongroup.net/viewtopic.php?t=940&highlight=.HibernateException%3A+Unable+to+locate+config+file

--------------------------------------------------------------------------------

 

软件环境:

struts+hibernate+spring

配置文件:

/WEB-INF/web.xml

引用:

..................

<context-param>

<param-name>contextConfigLocation</param-name>

<param-value>

/WEB-INF/applicationContext-hibernate.xml

</param-value>

</context-param>

<servlet>

<servlet-name>SpringContextServlet</servlet-name>

<servlet-class>

org.springframework.web.context.ContextLoaderServlet

</servlet-class>

<load-on-startup>2</load-on-startup>

</servlet>

.............

 

/WEB-INF/applicationContext-hibernate.xml

引用:

<beans>

<!-- ========================= Start of PERSISTENCE DEFINITIONS ========================= -->

<!-- Choose the dialect that matches your "dataSource" definition -->

<bean id="mySessionFactory" class="org.springframework.orm.hibernate.LocalSessionFactoryBean">

<property name="mappingResources">

<list>

<value>com/hibernate/po/TbQueue.hbm.xml</value>

<value>com/hibernate/po/TMsgHistory.hbm.xml</value>

<value>com/hibernate/po/TbHistory.hbm.xml</value>

</list>

</property>

<property name="hibernateProperties">

<props>

<prop key="hibernate.dialect">net.sf.hibernate.dialect.SQLServerDialect</prop>

<prop key="hibernate.show_sql">true</prop>

<prop key="connection.useUnicode">true</prop>

<prop key="connection.characterEncoding">GBK</prop>

<prop key="hibernate.cglib.use_reflection_optimizer">true</prop>

<prop key="hibernate.proxool.xml">e:\\pro.xml</prop>

<prop key="hibernate.proxool.pool_alias">spring</prop>

</props>

</property>

</bean>

<!-- Transaction manager for a single Hibernate SessionFactory (alternative to JTA) -->

<bean id="myTransactionManager" class="org.springframework.orm.hibernate.HibernateTransactionManager">

<property name="sessionFactory"><ref local="mySessionFactory"/></property>

</bean>

<!-- Add more services here -->

<!-- CommonService-->

<bean id="commonService" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">

<property name="transactionManager"><ref local="myTransactionManager"/></property>

<property name="target"><ref local="commonServiceTarget"/></property>

<property name="transactionAttributes">

<props>

<prop key="find*">PROPAGATION_REQUIRED,readOnly,-DataAccessException</prop>

<prop key="save*">PROPAGATION_REQUIRED,-DataAccessException</prop>

<prop key="del*">PROPAGATION_REQUIRED,-DataAccessException</prop>

<prop key="update*">PROPAGATION_REQUIRED,-DataAccessException</prop>

<prop key="list*">PROPAGATION_REQUIRED,-DataAccessException</prop>

</props>

</property>

</bean>

<bean id="commonServiceTarget" class="org.common.spring.CommonServiceImpl">

<property name="hibernateDAO"><ref local="hibernateDAO"/></property>

</bean>

<!-- DAO定义区 -->

<bean id="hibernateDAO" class="org.common.hibernate.HibernateDAOImpl">

<property name="sessionFactory"><ref local="mySessionFactory"/></property>

</bean>

</beans>

 

e:\pro.xml

引用:

<proxool>

<alias>spring</alias>

<driver-url>jdbc:jtds:sqlserver://127.0.0.1/test;TDS=8.0</driver-url>

<driver-class>net.sourceforge.jtds.jdbc.Driver</driver-class>

<driver-properties>

<property name="user" value="sa" />

<property name="password" value="" />

</driver-properties>

<minimum-connection-count>2</minimum-connection-count>

<maximum-connection-count>20</maximum-connection-count>

<maximum-connection-lifetime>18000000</maximum-connection-lifetime> <!-- 5 hours -->

<house-keeping-test-sql>values(current TimeStamp)</house-keeping-test-sql>

<statistics>1m,15m,1d</statistics>

<statistics-log-level>INFO</statistics-log-level>

<fatal-sql-exception>Connection is closed,SQLSTATE=08003,Error opening socket. SQLSTATE=08S01,SQLSTATE=08S01</fatal-sql-exception>

<fatal-sql-exception-wrapper-class>org.logicalcobwebs.proxool.FatalRuntimeException</fatal-sql-exception-wrapper-class>

<verbose>false</verbose>

</proxool>

 

BaseAction.java

引用:

public abstract class BaseAction extends org.apache.struts.action.Action {

private CommonService commonService;

public void setServlet(ActionServlet actionServlet) {

super.setServlet(actionServlet);

ServletContext servletContext = actionServlet.getServletContext();

WebApplicationContext wac = WebApplicationContextUtils

.getRequiredWebApplicationContext(servletContext);

this.commonService=(CommonService)wac.getBean("commonService");

}

public CommonService getCommonService() {

return commonService;

}

}

 

在服务器启动时报错,信息如下:

引用:

信息: Installing web application at context path /phoneMsg from URL file:F:\tomcat\webapps\phoneMsg

2004-10-26 18:29:19,750 FATAL net.sf.hibernate.util.ConfigHelper - Unable to locate config file: e:\\pro.xml

2004-10-26 18:29:19,781 ERROR org.springframework.web.context.ContextLoader - Context initialization failed

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mySessionFactory' defined in resource [/WEB-INF/applicationContext-hibernate.xml] of ServletContext: Initialization of bean failed; nested exception is net.sf.hibernate.HibernateException: Unable to locate config file: e:\\pro.xml

net.sf.hibernate.HibernateException: Unable to locate config file: e:\\pro.xml

at net.sf.hibernate.util.ConfigHelper.getConfigStream(ConfigHelper.java:83)

at net.sf.hibernate.util.ConfigHelper.getConfigStreamReader(ConfigHelper.java:104)

at net.sf.hibernate.connection.ProxoolConnectionProvider.configure(ProxoolConnectionProvider.java:122)

at net.sf.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:83)

at net.sf.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:65)

at net.sf.hibernate.cfg.Configuration.buildSettings(Configuration.java:1155)

 

pro.xml的确在E盘啊???

 

返回页首      

 

 

chinalyc

spring 爱好者

注册时间: 2004-02-16

帖子: 6

来自: 北京

 发表于: Fri Nov 05, 2004 9:45 am    发表主题:   

--------------------------------------------------------------------------------

 

在net.sf.hibernate.util.ConfigHelper类中它是这样取先取一个文件的url。

代码:

final URL url = ConfigHelper.locateConfig(path);

public static final URL locateConfig(final String path) {

      try {

         return new URL(path);

      }

      catch(MalformedURLException e) {

                                               

         return findAsResource(path);

      }

   }

   public static final URL findAsResource(final String path) {

      URL url = null;

      // First, try to locate this resource through the current

      // context classloader.

      url = Thread.currentThread().getContextClassLoader().getResource(path);

      if (url != null)

         return url;

      // Next, try to locate this resource through this class's classloader

      url = ConfigHelper.class.getClassLoader().getResource(path);

      if (url != null)

         return url;

      // Next, try to locate this resource through the system classloader

      url = ClassLoader.getSystemClassLoader().getResource(path);

      // Anywhere else we should look?

      return url;

   }

你还是把这个文件放在classes目录吧

 

 

幼儿是没有时间观念的

  孩子他妈妈刚刚说明天去给她买牛奶,她马上就要牛奶了。对她来说,买牛奶就是现在就要有牛奶了。她分不清现在买和明天买的区别。这好象也是哪本书上说的。

  所以,避免向小孩子许诺什么:下周、明年、你过生日怎么怎么。。。,她连明天都等不得,何况那么远的许诺。

生活的快乐更多的是去发现

  生活的快乐不应该一味的追求。应该发现生活中本来就有的快乐。

  今天,在花店经过,闻见腊梅很香,心有所动,破天荒的买了一束回家。用一个花瓶插上,摆在家里。

  追求快乐是无止境的,而发现快乐也是无止境的。我们是以发现快乐为主还是以追求快乐为主,这也许就是人生能否快乐的分水岭?

不能要求孩子太严格了

  吃零食,像大人有时都难免。更何况孩子。孩子需要快乐,而吃零食是她的快乐很大的一部分。所以,如果全信书,不能给孩子吃零食,那也未必对孩子太残忍了。

  所以,适当的零食应是孩子的权利。当然,食物还是应该以一日三餐为主的。

幼儿无错论

  孩子的一切都是出自自心,看到吃的东西就想吃,看到自认为有趣的东西就想玩。至于吃不吃得,玩不玩得,只有大人替她考虑了。

再译:wiring your web application...中的难点、疑点

1、Building non-trivial web applications with Java is no trivial task.

2、where the business logic will reside

3、how to enforce a consistent design across all application layers

4、Each application layer should be isolated from other layers but allow an interface for communication between them.

5、Assembling a model that can be presented in a view.

6、 type coupling

7、“allow”的使用: In particular, the Hibernate framework allows object-to-relational persistence and query service for Java.

8、This is not the correct place because it leads to tightly coupled applications and code that can be hard to maintain over time.

9、“allow”的使用:This layer allows developers to stop building and maintaining unnecessary data transfer objects, or DTOs, to match their domain objects.

10,,This model allows Java developers to work with objects naturally in an OO fashion without additional coding.

11. allows for easier maintenance when troubleshooting

12.Inversion of control is a simple concept that allows objects to accept other objects that are created at a higher level.

13.Since Hibernate works with POJOs we will use our domain objects for persistence.

14.Here is the interface for the business service object that is stubbed for a DAO object dependency

[转]2005年IT人士生存状态

来源:《世界商业评论》ICXO.COM   发表时间:2006-01-03 12:19 

 

网易原代理CEO孙德棣离去的脚步声尚在人间回荡,嗒嗒声还在耳边萦绕,天堂居然又传来噩耗:“我们万分痛心地通知您,前任IBM大中华区政府及公众事业部总经理李清平先生,由于突发心肺衰竭,抢救无效,于今天凌晨四点在北京中医院不幸去世,享年46岁。”

  消息传出,人们已经不再如孙德棣去世时那么感性,当初各大网站不约而同地以头条加以祭奠的讣告没有再现,在经过一次又一次的打击后,大家已经从原来的感性伤怀,转而变为理性的反省。在IT世界网一位朋友告诉我李清平先生去世的消息时,我也没有当初的感伤,无语之余,兴起了盘点今年IT人士生存状态念头。

  薪酬呈两极分化 中低层工资不升反降

  其实IT行业员工的工资并没有想象得那样高。一位高校管理学教授曾列了一个各行各业工资比较公司,据他分析,以上海为例,IT行业的平均工资仅仅2400元左右,其水平远远低于其他热门行业。并且,与其他行业不同的是,IT行业工资很少提升,即使有提升幅度也非常小。

  其实,IT行业不仅平均工资水平不高,波动幅度也非常之大,IT内部各行业之间、高层与中低层之间的薪酬差距,无法以里计。调查显示,在IT行业中,月薪上万元的,比例非常之小;月薪在5000-8000元的,通信设备以及手机制造业占14.3%,计算机硬件行业占11.25%,计算机软件行业占48.75%,互联网及电子商务行业、电子及微电子技术行业、电信运营商及服务行业占25.6%;月薪在3000-5000元的,通信设备以及手机制造业占9.7%,计算机硬件行业占16.8%,计算机软件行业占46.5%,互联网及电子商务行业、电子及微电子技术行业、电信运营商及服务行业占27%;月薪范围在3000元以下的,通信设备以及手机制造业占4.7%,计算机硬件行业占26.7%,计算机软件行业占35.3%,互联网及电子商务行业、电子及微电子技术行业、电信运营商及服务行业占33.2%。

  就目前来说,网络安全、网络游戏、软件测试工程师和研究人员是IT行业的需求热点,也是工资待遇较高的岗位。

  而在高层与中低层之间,差距更为明显。据一份针对深圳地区IT界人士薪酬的调查显示,企业高管的平均工资在12000元以上,人数占2%;中层管理人员的工资在8000元左右,人数占13%;而基层人员只有3000元左右,人数却占了85%。

  从以上数据我们可以看出,在不同行业和不同职位,薪资相差很大。那些拿高工资的人数所占比例也非常小,大部分员工还是拿着较低的工资。并且,由于IT行业除了级别变动所产生的工资变动外,工资年增幅是非常小的,按物价折算后,中低层员工的工资呈现不升反降的趋势。

  当然,也有人表示,由等级带来的大幅工资差别,可以给年轻人更多的压力和动力,刺激他们努力拼搏,积极向上。

  西门子索尼启动IT裁员热潮 下岗成IT人口头禅

  6月27日上午,西门子上海移动通信有限公司召开全体员工大会,会上宣布裁员80%。其实,早在明基宣布收购西门子手机业务前两天,上海方面的工作已陷入全面停顿,员工们都在积极“申请”被“裁掉”,以期望拿到N+X的补偿。最初,西门子方面裁掉的主要是市场销售人员,没有涉及到技术人员。然而,在裁员的压力下,出现700多的技术人员集体辞职现象,为安抚大家,西门子和明基方面一致表示不再裁员。明基总裁李?耀在接受媒体采访时曾表示,明基在收购西门子手机部门之后两年内不裁员。然而,在商言商,当收购最终确认后,150多人的销售队伍还是被无情地抛弃了。

  其实,明基之所以接下国际巨头们不愿考虑的西门子手机业务烂摊子,主要就是看中了西门子的手机技术,而技术人员显然是这次并购的关键。如果700多名研发人员集体辞职的话,明基按协议虽可获得西门子核心技术的所有权,但依然没有太大的意义。

  无独有偶,此后不久,索尼新任CEO霍华德?斯丁格也向外界公布酝酿已久的战略调整方案,将对15项业务进行缩减、整合或退出,还将在全球关闭11家工厂,到2007财年末在全球裁员1万人,并削减约合18亿美元的支出。幸运的是,索尼中国方面表示,这次调整在中国不仅没有裁员计划,反而根据业务的继续拓展将会相应增加人员。

  西门子裁员是因为手机业务不理想,还有迹可循,索尼裁员更让员工忧心,因为这种因战略调整发生的裁员实在很难把握。对IT人士来说,不得不面对的可能就是这种难以预料的被迫离职。

  今年以来,除西门子和索尼以外,IBM、爱立信、摩托罗拉、甲骨文、日本先锋公司、松下、柯达、三洋电子、奥林巴斯、UT斯达康等大批国际企业都实施了裁员。裁员风波弥漫于业界,令业界人士惶惶不可终日。“UT斯达康的裁员计划则涉及了中国员工近800人,这对习惯了安稳生活的中国员工来讲,无疑是一场风暴。”当斯达康确定裁员后,其内部一位人士表示。

  而由裁员引发的员工忠诚度下降也是不争的事实。或许真像一位朋友所说的,当IT裁员成为一种文化,IT人员的下岗、待业、跳槽和由此而生的纠纷,都成了不可避免的负面现象。然而,对企业来说,要承担由此而来的成本;而对员工来说,更是要承受由前途不可知性所带来的生理和心理压力。

孙德棣李清平奔赴天堂 见证IT人工作压力

  9月21日,门户网站不约而同地用黑色字体做成

  专题,掀起了集体悼念刚刚与世长辞的网易代理首席执行官、年仅38岁的孙德棣。据网易内部人士介绍,近年以来,孙德棣一直靠打点滴坚持工作的。其压力之巨大,志向之高远,令人慨叹。其实,早在去年4月15日,网易就曾公布孙德棣因病休养的消息。但是,面对公司业务压力,孙德棣选择了带病工作。

  孙德棣过世尚不足三月,没想到李清平居然又走向了天堂。孙德棣走后,博客网CEO方兴东曾表示“人生如狗”,他引述国外一位作者的说法:“互联网的时间尺度是以狗年来计算的,我们的一年相当于普通人的7年。”他认为应该警惕互联网的节奏,因为“使命和理想很重要,但是生命依然高于一切”。而一位业外人士的话更让人警醒,他表示:“其实IT行业的工资并不是天生就比别的行业高,按时间进行等价计算的话,IT人的工资并不高,而按八小时工作制外应看作是加班来算的话,则不是不高,而是很低了。”在笔者看来,这种说法值得肯定。它让我们意识到,其实IT界人士的工资并不是像我们想象的那样高,因此,为了维持高工资而玩命工作的做法并不可取。

  当初刚开始实行八小时工作制的时候,人们无不高兴异常,因为在生活改善以后,终于有了消遣和娱乐的时间。但是,随着时间的推移,大家逐渐习惯了八小时工作制的事实,忘记了八小时工作制实施的初衷,曾经的激动、兴奋都已不复存在。随之而来的,便是对工作时间的回归,在大家潜意识里,八小时工作制好像成了变相的提高工作。对IT行业来说,八小时工作制早就名存实亡,各种名义的加班让我们疲于奔命。

  作为IT行业的评论人士,笔者每天下班之余都挂在网上,因此得以见证IT人士的在线时间。据一项调查显示,IT行业内普遍存在着工作超负荷现象。每天工作8小时以上者的比例高达77.8%,其中每天工作11小时以上者比例竟有22.5%.95%的公司白领处于亚健康状态,尤其是高科技行业、IT行业人士。如此的操劳带来的就是过劳死、疾病和亚健康。

  北京协和医院张医生指出,IT人士长期接触电脑,很容易带来肥胖、下肢静脉曲张、颈椎病、腰椎间盘突出、神经衰弱等疾病。而且由于激烈的就业竞争,使他们长期高强度、超负荷的劳心劳力,精神总是处于高度紧张的状态。

  孙德棣走后,王峻涛特地严格了公司的规章制度,没有特殊或重大事件,所有员工都不得加班。“我决定今天改一改,提前一小时回家,看看天会不会真的塌下来。”王峻涛说:“其实事情永远是做不完的,钱也是永远赚不完的。换一个角度来看,IT业界的机会也是最多的。错过了一个,也很快会涌现出下一个。”

  我想什么时候每个IT业的老板都能这样对待员工,每一位IT员工都能这样对待自己了,IT行业也就成熟了。

  华为联想引领国际化潮流 中国IT人走向世界

  国内企业中,华为无疑是国际化的代表。华为有一条内部定律,那就是只要是国际通讯大展,华为一个不落都要参加。每年几乎要参加20多个大型国际展览,每年在参展上的投入至少是一个亿。2005年上半年,华为实现全球销售额330亿元人民币,国际销售达24亿美元多。当前,华为成功入选英国电信(BT)“二十一世纪网络”的名单;与全球著名电信运营商Telefónica在西班牙马德里的首相府正式签署协议,双方还将携手拓展拉美地区市场;与沃达丰正式签署全球采购框架协议,华为将参与沃达丰的移动网络建设,这是中国通讯设备制造商第一次进入全球电信业最顶级“俱乐部”;近日,马来西亚电信宣布,将与华为携手开发用于通信业内的软件及应用产品。已在海外开疆拓土近10年的华为,无疑是中国企业国际化的排头兵和领航人。

  如果说华为是老牌国际化的代表,那么联想则是新兴国际化企业的典型。近日,上任尚不到一年的原总裁兼CEO沃德离职,原戴尔高级副总裁阿梅里奥接任。就在业界议论纷纷之时,联想内部已经表示,这是联想国际化、尤其是开发亚洲市场的首选。随着2006年都灵冬奥会的日益临近,联想目前已经启动了奥运战略,据说,联想的Lenovo品牌将在冬奥会期间正式推向国际市场。而此前,联想笔记本宽屏暨寒促策略发布会在香港迪士尼乐园隆重上市。据媒体披露,这是联想首次在大陆市场以外召开寒促发布会,其实是联想放出了攻占亚太市场的信号。

  而联想收购IBM PC可能更具有国际意义,毕竟这对国内企业来说还是首例。而联想据此走向国际的战略路线图,对国内企业更是具有较大的借鉴意义。众所周知,华为收购马可尼、海尔收购美国美泰,都曾遭遇所在国政府的堵截,因此,联想收购IBM PC的战略意义远大于实践意义。正因为此,柳传志才成为中国第一位荣获“推动美中关系杰出贡献人士”称号,而在由《中国企业家》举办的“2005最具影响力企业领袖”评选中,他也由去年的第二上升到第一位。IDC中国区总裁万宁就表示,联想目前已经算是国际化公司了。

  其实,近年来中国IT行业整体上正处于走出去的高峰期,包括像百度等互联网企业赴海外上市,其实都属于国际化的范畴。而随着国内IT企业的国际化步伐加大,国内IT行业人士也日益跨出国门,走上了与国际接轨的康庄大道。

  高级人才成香饽饽 “软件蓝领”奇缺

  据人力资源调研机构报告显示,IT业求职人员现状与用人需求存在严重的结构失衡,需求量明显呈金字塔型分布:高级IT人才相对缺乏,中端的研发设计销售人员略多,最为欠缺的是一大批从事低端开发和操作的所谓“数字蓝领”、“软件蓝领”。

  当然,这也不是中国IT行业的特色,蓝领奇缺是世界IT业面临的共性问题,无论是在软件大国美国和印度,还是在一些发展中国家,人才构成都呈金字塔结构。但是,与一些发展国家相比,发展中国家由于受发达国家的人才掠夺,IT蓝领的缺口更大。

  正因为此,IT行业的高级人才、尤其是高级技术人才,是业界最受欢迎的。当前,微软、Google和雅虎中国在中国高校掀起的招聘热潮,其主要招聘对象就是技术人员,彰显出国内外IT巨头对技术人员的青睐。作为尚处于发展中的IT行业来说,短期内技术肯定是决定因素,因此技术人员也必将是IT行业的主导性人才。

  IT人的生存现状,昭示着IT行业的繁荣或衰败;IT人的流动,暗示了IT业的发展走向。面对IT行业一夜暴富的神话,充满和追求的青年后生不可能不心动。然而,像百度员工那样,一夜之间就冒出几个亿万富翁,几百个千万富翁的例子,毕竟还是少数。因此,为了IT行业的持续繁荣,为了IT人的远大理想,我们还是应该悠着点,不为别的,就为了自己的健康、家人的幸福和生命的终极意义。