做java的web开发有用过多线程吗
2016-03-17 23:32
866 查看
现在很多招聘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了,其他的协议几乎是不用的。虚拟机优化更是少之又少。
唉,现在感觉只剩下业务了周而复始的重复,好没意思,高级东西接触不到永远停留在这个层面技术止步不前了。
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了,其他的协议几乎是不用的。虚拟机优化更是少之又少。
唉,现在感觉只剩下业务了周而复始的重复,好没意思,高级东西接触不到永远停留在这个层面技术止步不前了。
相关文章推荐
- 解决一些eclipse无法正常启动的问题
- java继承中的this用法
- java第一步
- java web之中,如果Servlet中有耗时较长的计算,该怎么做才好?
- Javase小项目尝试
- SpringMvc入门
- Java编程思想第三章---有关运算符的一些细节注意和思考
- Java RandomAccessFile用法
- 图片缩放时java.lang.IllegalArgumentException: pointerIndex out of range解决方案
- struts.xml配置文件(package,namespace,action)
- Java线程(七):Callable和Future
- 能不能简单描述一下你在java web开发中需要用到多线程编程的场景?
- com.mysql.jdbc.PreparedStatement.setBinaryStream(ILjava/io/InputStream;J)V错误解决
- 深入理解Java之泛型
- JAVA第二周随笔
- Spring MVC使用@ResponseBody返回JSON数据406以及乱码问题解决方案
- java 接口Comparable和Comparator的使用
- 如何在eclipse jee中创建Maven project并且转换为Dynamic web project
- 浅析Java中的final关键字
- struts2---struts.xml文件头