Java虚拟机拥有自动管理内存机制,所以Java 程序员不需要像C/C++一样去关注内存的分配和释放,也不容易出现内存泄露和内存溢出的问题。但是如果一旦出现此类问题,如果我们对虚拟机的内存管理机制不了解,那么解决...
分类:
其他好文 时间:
2015-09-02 13:27:25
阅读次数:
401
关于java的JVM这块儿知识,在项目做大之后,一些性能的优化,要涉及到数据库,一些缓存要放在内存中。还有一些JMS的消息传播等等,高大上的知识需要有JVM内存模型知识的支持。所以自问自答,来回答下面几个问题。1.说说内存和JVM内存和Tomcat的内存。 内存,就是我们常常说的电脑上的内存。比如....
分类:
其他好文 时间:
2015-09-01 16:59:22
阅读次数:
233
hashmap为什么线程不安全, java.concurrent包的常用使用 spring如何进行bean的管理 tomcat常用的gc算法,如何配置 jvm内存模型 http请求的完整流程 ?从dns到三次握手到最后到action,以及http协议 zoonkeeper的原...
分类:
其他好文 时间:
2015-08-31 21:54:07
阅读次数:
172
1.JVM内存模型相关概念2.Java多线程并发深入理解3.Servlet、设计模式、SpringMVC深入理解4.Java基础遗漏点补充 数据库连接池:JDBC connection pool,频繁的建立、关闭连接,会极大的减低系统的性能,因为对于连接的使用成了系统性能的瓶颈。连接复用。通过建立....
分类:
其他好文 时间:
2015-08-30 20:50:49
阅读次数:
251
java由于拥有自动垃圾回收机制,所以一般情况下,我们不需要考虑内存泄漏的问题。jvm会自动收回无用的对象。所谓无用的对象,表示你的程序不可能再访问的对象。
但是,有一种情况必须考虑,就是要防止容器(List,Map等)内的对象无限增大。因为对象存贮在容器中,会被容器引用,从而如果容器的有效,容器内的对象就不会释放。
一旦真的出现内存泄漏,随着时间的推移,java程序逐渐增大内存消耗,最后出现...
分类:
编程语言 时间:
2015-08-29 17:01:41
阅读次数:
203
今天遇到了一个问题,当我在增加配置文件(*.xml)内容的时候,重新启动tomcat6时,控制台报错:java.lang.StackOverflowError;即,栈溢出错误。内存溢出,即程序运行要用到的内存大于虚拟机能提供的最大内存就发生内存溢出了。 内存溢出的问题要看业务和系统大小而定。查看jv...
分类:
其他好文 时间:
2015-08-28 19:16:14
阅读次数:
229
一.调整JBOSS最大连接数.配置deploy/jboss-web.deployer/server.xml文件.maxThreads:表示最多同时处理的连接数。应该将线程数(最大线程数)设置比最大预期负载(同时并发的点击)多25%(经验规则)。acceptCount:当同时连接的人数达到maxThr...
分类:
其他好文 时间:
2015-08-27 16:42:42
阅读次数:
134
1、程序计数器在虚拟机的概念模型里字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支、循环、跳转、异常处理、Java 虚拟机的多线程是通过线程轮流切换并分配处理器执行时间的方式来实现的,在任何一个确定的时刻,一个处理器(对于多核处理器来说是一个内核)只会执行一条线程中...
分类:
其他好文 时间:
2015-08-27 15:00:15
阅读次数:
157
引言Java的内存动态分配和垃圾收集的问题,都交给了JVM来处理。意注,将JVM运行数据区(虚拟机栈【栈帧】,程序计数器,堆内存)粗略的分为栈和堆(所有线程共享),回收的是堆中的对象实例。不是栈中的引用类型。
那么JVM是如何处理的?
从三个问题来分析:
1. 哪些内存需要回收?
2. 什么时候进行回收?
3. 如何回收?
注:现代收集器基本采用分代收集算法,堆分为:新生代和老年代...
分类:
其他好文 时间:
2015-08-27 13:30:06
阅读次数:
275
1, 设置Eclipse内存使用情况修改eclipse根目录下的eclipse.ini文件-vmargs //虚拟机设置-Xms40m -Xmx256m-XX:PermSize=128M //非堆内存设置-XX:MaxPermSize=256M2, JVM内存设置打开eclipse window-p...
分类:
系统相关 时间:
2015-08-25 20:57:14
阅读次数:
129