今天发现正在做的项目,时不时的会报错:dalvikvm heap out of memory on a 7458832-byte allocation (堆分配的内存溢出)为什么会内存溢出呢?我以前从未遇见这种情况。后来在网上查了查资料,还是挺多的。怎么说呢?因为Android开发基本上是以java...
分类:
移动开发 时间:
2014-07-24 22:32:12
阅读次数:
281
Java本身是一种设计的很easy,很静止的语言,所以Java背后的原理也很easy,归结起来就是两点:1、JVM的内存管理理解了这一点,全部和对象相关的问题统统都能解决2、JVM Class Loader理解了这一点,全部和Java相关的配置问题,包含各种App Server的配置,应用的公布问题...
分类:
其他好文 时间:
2014-07-24 21:54:02
阅读次数:
250
Java堆用于存储对象实例,我们只要不断地创建对象,并且保证GCRoots到对象之间有可达路径来避免垃圾回收机制清楚这些对象,就会在对象数量到达最大堆的容量限制后产生内存溢出异常。代码清单中限制Java堆的大小为20MB,不可扩展(将堆的最小值-Xms参数与最大值-Xmx参数设置为一..
分类:
编程语言 时间:
2014-07-24 17:56:32
阅读次数:
264
如果你有一个web应用部署到Jetty,你能容易地从远程调试它。但首先你必须使用附加的参数启动远程JVM,然后在Eclipse中启动一个远程调试连接。这很容易就能做到。
注意:下面的例子假定你正在部署你的web应用到Jetty发布版本中。
设置Jetty调试端口
假定你将你的webapp部署到Jetty,有两种不同的方式设置调试端口:
通过命令行
在命令行中增加要求的参数如下:
$ j...
分类:
其他好文 时间:
2014-07-24 17:37:26
阅读次数:
248
JavaRebel是一个JVM插件(-javaagent),能够即时重载java class更改,因此不需要重新部署一个应用或者重启容器,节约开发者时间。JavaRebel 2.0的新特征:改变了方法体改变了class的结构,包括新增的方法,域,更改/添加注释,接口……更改了对Spring, Gui...
分类:
编程语言 时间:
2014-07-24 17:15:15
阅读次数:
253
递归算法是不可取的,因为效率很低,而且还有栈溢出的风险。
应该使用如下的迭代解法:
int Fibonacci(unsigned int n)
{
if(n <= 0)
{
return 0;
}
if(n == 1)
{
return 1;
}
int i = 0,j = 1,m;
unsigned int k;
for(k = 2; k <= ...
分类:
其他好文 时间:
2014-07-24 12:24:05
阅读次数:
233
题意:有两个空瓶 a,b是它们的容量,c是容量目标, 可以有三种操作 充满任意一瓶,倒空任意一瓶,将任意一瓶倒入另一瓶(能剩下但不能溢出);求任意一瓶的体积
达到目标体积所需要的最小操作数,并依此输出该操作。...
分类:
其他好文 时间:
2014-07-24 11:33:32
阅读次数:
232
深入研究Java类加载机制
类加载是Java程序运行的第一步,研究类的加载有助于了解JVM执行过程,并指导开发者采取更有效的措施配合程序执行。
研究类加载机制的第二个目的是让程序能动态的控制类加载,比如热部署等,提高程序的灵活性和适应性。
一、简单过程
Java程序运行的场所是内存,当在命令行下执行:
java HelloWorld
命令的时候,JVM会将HelloW...
分类:
编程语言 时间:
2014-07-24 11:29:42
阅读次数:
323
1. 开发了一个简单的监视weblogic运行情况的小程序,各位朋友下载下来试试,不用登陆console就可以知道server的运行状况,包括了jvm、线程、jdbc、状态jms等;还有一个更简单的选项,下拉选“warning”,直接查看是否有等待队列、jvm紧张阿、连接池泄漏阿、连接池等待阿;
2. 已经上传 weblogic_monitor.jar ,jar包里面有readme...
分类:
Web程序 时间:
2014-07-24 10:44:33
阅读次数:
324
虽说知道一般性的开发android应用需要注意的问题,可是也有水平参差不齐的情况,特别是维护代码,如果内存占用大,内存溢出严重,又怎么解决呢? -- 通过DDMS把heap抓出来分析...
分类:
移动开发 时间:
2014-07-24 10:29:16
阅读次数:
237