内存溢出异常解决方案总结

内存溢出异常解决方案总结

ID:39569793

大小:86.00 KB

页数:11页

时间:2019-07-06

内存溢出异常解决方案总结_第1页
内存溢出异常解决方案总结_第2页
内存溢出异常解决方案总结_第3页
内存溢出异常解决方案总结_第4页
内存溢出异常解决方案总结_第5页
资源描述:

《内存溢出异常解决方案总结》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、内存溢出异常解决方案总结一调整虚拟机参数二立即释放无用的对象三利用序列化和反序列化技术简单的说java中的堆和栈java把内存分两种:一种是栈内存,另一种是堆内存1。在函数中定义的基本类型变量和对象的引用变量都在函数的栈内存中分配;2。堆内存用来存放由new创建的对象和数组那些情况可以导致java内存溢出数据量过于庞大死循环静态变量和静态方法过多无法确定是否被引用的对象,java虚拟机不回收内存(内存泄漏),循环产生过多重复的对象实体线程池为线程生命周期开销问题和资源不足问题提供了解决方案。通过对多个任务重用线程,线程创建的开销被分摊到了多个任务上。其好处是,因为在请求到达时线程已经存在

2、,所以无意中也消除了线程创建所带来的延迟。这样,就可以立即为请求服务,使应用程序响应更快。而且,通过适当地调整线程池中的线程数目,也就是当请求的数目超过某个阈值时,就强制其它任何新到的请求一直等待,直到获得一个线程来处理为止,从而可以防止资源不足pageContext,request,session,application生命周期request是封装client端(也就是用户通过browser)提交的请求数据和属性的对象。response是封装webserver端响应数据和属性的对象。我们经常会将pageContext、request、session和application混为一谈,因为

3、它们都可以通过setAttribute()和getAttribute()来设定或读取属性。但它们之间是有别的,它们最大的区别在于使用范围。pageContext对象的范围只适用于当前页面范围,即超过这个页面就不能够使用了。所以使用pageContext对象向其它页面传递参数是不可能的。request对象的范围是指在一JSP网页发出请求到另一个JSP网页之间,随后这个属性就失效。session的作用范围为一段用户持续和服务器所连接的时间,但与服务器断线后,这个属性就无效。比如断网或者关闭浏览器。application的范围在服务器一开始执行服务,到服务器关闭为止。它的范围最大,生存周期最长

4、。session主要功能:验证用户是否登录。在几个页面上都能取得。request:只有跳转页面才能取得。application:只要设置一次,所有的网页窗口都可以取得数据。applicationsessionrequest->都需要跨多个页面设置过多application或每一个session保存过多的对象则性能降低能使用request就不要使用session能使用session的就不要使用applicationapplication应用:在线人员统计、在线人员名单列表pageContext:默认情况下一个页面的保存范围实际上四种属性范围都是通过p

5、ageContext属性完成的pageContext.setAttribute("name","mldn",PageContext.REQUEST_SCOPE);更改红字的名字得到。在另外一页用request去接收Stringname=(String)request.getAttribute("name");<%=name%>;如果要释放application资源要重新启动服务器四种属性范围都是依靠pageContext展开的,但是在开发中,往往使用session和request范围最多。JMS如果用过JMS的话,会发现它类似写JDBC或JCA代码。它有创建或检索JMS资源的样板代码,每

6、当你需要编写一个新类来发送或接受消息时,都得重复编写那个样本代码。下面列出了传统JMS实现涉及的步骤:1、创建JNDI初始上下文context;2、从JNDI上下文获得队列连接工厂;3、从队列连接工厂取得队列Queue;4、创建一个Session对象;5、创建一个发送或接受对象;6、利用第5部创建的发送或接受对象发送或接受消息;7、处理完消息后,关闭所有JMS资源。Hibernate缓存机制以及一级缓存和二级缓存的作用Hibernate的缓存机制概念:java对象的属性(通常是一些集合类型的属性)占用的内存空间。如果对象的占用的内存很大就称为重量级的对象。如果对象的内存小就称为轻量级的对

7、象。Session的缓存被称为hibernate的第一级缓存。SessionFactory的外置缓存称为hibernate的二级缓存。这两个缓存都位于持久层,它们存放的都是数据库数据的拷贝。SessionFactory的内置缓存存放元数据和预定义SQL,SessionFactory的内置缓存是只读缓存。Session缓存的三大作用:1,减少数据库的访问频率,提高访问性能。2,保证缓存中的对象与数据库同步,位于缓存中的对象称为持久化对

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。