jsp+javabean能否满足100人使用?
http://www.jdon.com/jivejdon/thread/30437.html
Java有一个垃圾回收机制,总是在内存剩余大概5%才启动,因为它中断权限最高,它运行,其他全部停止,因此,我们不希望垃圾回收机制频繁启动,那么就要控制内存不要触碰剩余5%底线。
控制资源就是使用Pool或cache来控制,Spring/JdonFramework下可自行加入; EJB已经默认加入了。
这也是2003年/2004年极力推荐EJB原因,因为EJB机制本身已经包含了资源控制和优化,如果你理论上对于前面原理不熟悉,选择EJB还能避免你架构方向错误。
如果你理论上属于无知,又狂热追求Spring这些新玩艺(当初),那么,即使你使用Spring,性能还是和Jsp+JavaBeans一样,在大访问量情况下经常死机,因为Spring里面需要手工配置Pool或cache这些资源控制机制。
所幸,JdonFramework只需你实现一个Poolable接口就可以了。
垃圾回收机制的原理是:只回收那些不被引用的对象。内存不通过垃圾回收机制回收,还会其他方式吗?Java不需要象C那样,用完对象后,需要进行清理,所以你的对象赋null只是防止其他地方象这个对象里嵌入新的对象,否则,根本不起任何作用,有点掩耳盗铃。
我以前说过,如果说Java比C方便,因为对象使用之后不需要清理,那么有了IOC/DI依赖注射以后,Java中对象使用之前也不需要创建了。
对象在一般语言中,如果需要使用,必须首先创建,使用完成后,必须清理,这些琐碎的事务困扰开发者的开发效率,现在在Java中无需了。
关于控制资源,前面提到Pool和cache,当然单例也是一种方式,不过这种方式在J2EE多线程环境下要时刻注意线程安全性,后者是Spring和JdonFramework等IOC容器采取的方式,但是仅仅将业务逻辑Bean使用单例有时不够,还需要Pool支持;除了业务逻辑Bean要控制其资源,数据Bean也要控制,使用cache,每次数据Bean对象获得都从数据库获得,虽然连接池水平再好,也是不具备伸缩性的,Cache才是真正根本解决之道。
按照"资源晚申请,早释放"的原则,java的垃圾回收机制是一个败笔,如果java支持手动释放,和自动回收机制结合起来,就既可以提高资源利用率也可以防止内存泄露了。
GC的触发频率与jvm heap capacity大小有关!
如果设置过大,则GC频率会很低,大量内存会被垃圾对象占满,超出内存后,又频繁写入硬盘虚拟内存!且GC的时间也会很长,占用CPU时间过多,给于性能上很大的影响!
而减低堆大小会导致JVM 频繁GC!虽然性能上,设置较小可能成本控制会比较好!
但设置过小,则会导致,GC成为CPU占用大户!
合理设置GC,是性能优化的关键之一!
非常有道理,这些取决于JVM参数设置。
据说JDK6.0出来后,提出了无需JVM参数设置的out-of-box性能解决方案,
>在的WEB容器本身就带有Thread POOL支持
只有Thread Pool不够,需要Bean Pool,使用依赖Thread Pool,很重的Bean将会延长线程的执行时间,而且某个线程访问某个业务Bean时,需要临时创建业务Bean,耗费内存,使用Pool控制Bean的资源,Thread Pool只能控制Servlet/Jsp的资源。
相关帖子:J2EE集群原理
分享到:
相关推荐
本文将深入探讨如何使用jsp、Javabean以及MySQL数据库技术,构建一个具备查看、修改和删除功能的通讯录管理系统。 首先,我们来看基础架构。jsp(JavaServer Pages)是一种动态网页技术,它允许开发者在HTML代码中...
标题"基于JSP+Servlet+JavaBean+MySQL的爱心宠物管理系统"表明这是一个使用Web开发技术构建的宠物管理系统。该系统利用了Java服务器页面(JSP)、Servlet、JavaBean以及MySQL数据库来实现对宠物相关数据的存储、处理...
《JSP+MySQL家庭理财系统——毕业设计详解》 在当今信息化社会,个人财务管理变得越来越重要,而利用技术...通过学习该项目,开发者不仅可以提升JSP编程技能,还能深入理解数据库应用,为今后的Web开发打下坚实基础。
JSP结合JavaBean组件,可以将业务逻辑封装在Java对象中,便于复用和维护。 Struts是一个开源的MVC(Model-View-Controller)框架,用于构建企业级Web应用。在通讯录管理系统中,Struts负责接收用户请求,解析并执行...
开发者需要熟练掌握JSP语法、Servlet编程、JavaBean组件以及MySQL的SQL操作,才能有效开发和维护这样的系统。 在实际开发过程中,可能会遇到性能优化、安全性、并发处理等问题。例如,通过缓存技术提高查询效率,...
JSP+JavaBean+Servlet 框架进行开发的小型旅游网站,并将开发的过程汇总在文 章中,本文主要阐述了这次开发小型旅游网站的主要流程,介绍了软件开发的背 景,介绍了在这次开发中所使用的技术及其主要特点,分析了...
在JSP项目中,JSP页面通常作为视图,JavaBean或Servlet作为控制器,而数据库模型则代表了Model层。 总结来说,这个“JS + JSP + 数据库的简单美团项目”涵盖了Web开发的基础知识,包括前端与后端的交互以及数据的...
【资源声明】:本资源作为“参考资料”而不是“定制需求”,代码只能作为参考,不能完全复制照搬。不一定能够满足所有人的需求,需要有一定的基础能够看懂代码,能够自行调试代码并解决报错,能够自行添加功能修改...
用户不仅可以自定义文字的字体和颜色,以个性化展示自己的消息,还能使用各种表情来增强情感表达。引用功能则允许用户引用他人的发言,便于讨论和回应,增加了沟通的清晰度和深度。 【JAVA结构】标签表明该聊天室是...
在Myeclipse中,开发者可以创建动态Web项目,并集成Servlet、JSP和JavaBean等组件,构建出前后端交互的网页应用。JSP(JavaServer Pages)是一种动态网页技术,它允许在服务器端生成HTML,然后发送到客户端进行展示...
在城乡信息管理系统中,JSP主要用于展示用户界面,接收用户请求,调用后台JavaBean或Servlet处理数据,然后将结果返回给前端。 3. **SQL数据库** SQL(Structured Query Language)是用于管理关系数据库的标准语言...
《JSP网上书店系统的设计与实现》 在当今数字化时代,电子商务已经成为不可或缺的一部分,而网上书店作为其中的一个重要分支,以其便捷性和丰富的资源深受广大读者喜爱。本文将深入探讨一个基于JSP技术的网上书店...
该系统基于 B/S 架构的三层系统开发模型,使用 Jsp+javaBean+servlet 技术。其中,JSP 技术用于制作动态网页,JAVA 语言用于连接数据库并进行数据操作,JavaScript 用于实现网页特效。系统后台使用 Tomcat 作为 WEB ...
本网站采用 JSP+MySQL 技术,使用 JSP+JavaBean+Servlet 框架进行开发。这种架构的优点在于提高了系统开发的效率,同时也可满足本网站对于系统的使用、拓展以及维护方面的要求。 四、网站的设计和实现 网站的设计...
2. **表达式语言(EL)**:这是一种简化数据访问的语言,允许开发者在JSP页面中直接引用JavaBean属性和其他对象,而无需使用脚本元素。 3. **JSTL(JavaServer Pages Standard Tag Library)**:这是一套标准的标签...
基于 JSP 的电科院校园二手交易平台设计 本文档介绍了基于 JSP 的电科院校园二手交易平台的设计和实现。该平台旨在为学生提供一个方便、安全的二手交易平台,实现了在线购物的方式。下面是该平台的设计和实现细节:...
2. JSP+Servlet+JavaBean 技术:服务器端采用了 JSP+Servlet+JavaBean 技术,实现了界面显示、业务流程控制和业务逻辑。 3. JSON 格式数据交换:客户端和服务器端之间采用 JSON 格式进行数据交换。 4. Sqlite 数据...
在JSP中,这些模块可以通过Servlet、JSP页面和JavaBeans(也称为JavaBean组件)实现。Servlet负责处理HTTP请求,执行业务逻辑,而JSP页面则用于显示结果。JavaBeans则封装了特定的功能,如用户信息管理、商品数据...
网上购物越来越成为现代年轻人的首选,足不出门便能选购好自己称心如意的商品,鲜花更是人们的首选,在百忙之中有可能你无法亲自到花店选择你想要的花,但是此系统借助发达的网络和现代的科技技术可以让你打开网页就...