现在很多招聘JavaWeb开发都有那么一条,
1.熟悉高并发,多线程

    但是我基本很少在Web开发中用到什么多线程,当然我是说自己写那些,像servlet,SLSB等这些容器管理不算,实质上servlet,SLSB基本上都是无状态的。反倒是做过一个socket通信的一个小项目大量的应用了线程。

   大家在开发Web项目,有用到多线程吗,用的多吗??


引用 5 楼 bao110908 的回复:
互联网应用在高并发情况下,瓶颈在 IO 上(网络 IO 和磁盘 IO 上),并不在 CPU 上,这时采用传统的多线程技术基本上无济于事。

减少数据库磁盘 IO 时间最有效的办法是使用缓存,还可以将数据库弄成 master/slave 的读写分离,分表分库等等。

减少网络 IO、静态资源磁盘 IO 有效的办法:响应使用 GZIP 压缩(Web 服务器都能支持)、设置静态资源(图片、JS……

    能做到这种程度公司不多啊,一般的web开发相当的没技术含量。一些设计文档拿出来,都是吹什么3层架构,MVC,IOC,AOP,ORM的。了不起的再给弄些个缓存,做一下数据优化。实质上这些都是网上一搜一大把的东西。像多线程这种设计一个高性能的又线程安全确实需要一点技术,而算法这种东西在web开发中基本上碰不到了。而http协议在web开发早已经有servlet了,其他的协议几乎是不用的。虚拟机优化更是少之又少。

唉,现在感觉只剩下业务了周而复始的重复,好没意思,高级东西接触不到永远停留在这个层面技术止步不前了。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐