小编hom*_*ome的帖子

为什么New Relic会吃掉很多tomcat内存?

最近我们开始使用New Relic来监控我们在tomcat 7.0.6服务器上托管的生产webapp,但我们发现这个tomcat的内存占用量不断增加,并在一周内耗尽所有服务器(AWS高内存双超大型实例)记忆并变得反应迟钝,只有通过重新启动它才能找回它.我们在启动tomcat时提供Xms和Xmx参数,但在几小时内tomcat进程的内存使用量超过Xmx值并且它一直在增加,直到所有服务器内存都结束.这是进程命令:

/usr/java/jdk1.6.0_24//bin/java
    -Djava.util.logging.config.file=/xxx/xxx/xxx/xxx/apache-tomcat-7.0.6/conf/logging.properties
    -Xms8192m
    -Xmx8192m
    -javaagent:/xxx/xxx/xxx/xxx/apache-tomcat-7.0.6/newrelic/newrelic.jar
    -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
    -Duser.timezone=Asia/Calcutta
    -Djava.endorsed.dirs=/xxx/xxx/xxx/xxx/apache-tomcat-7.0.6/endorsed
    -classpath /xxx/xxx/xxx/xxx/apache-tomcat-7.0.6/bin/bootstrap.jar:/xxx/xxx/xxx/xxx/apache-tomcat-7.0.6/bin/tomcat-juli.jar
    -Dcatalina.base=/xxx/xxx/xxx/xxx/apache-tomcat-7.0.6
    -Dcatalina.home=/xxx/xxx/xxx/xxx/apache-tomcat-7.0.6
    -Djava.io.tmpdir=/xxx/xxx/xxx/xxx/apache-tomcat-7.0.6/temp org.apache.catalina.startup.Bootstrap start"
Run Code Online (Sandbox Code Playgroud)

理想情况下,我希望这个过程不要使用超过8GB的内存,但在几小时内它会超过10GB,并且在几天之内它会超过20GB并且此服务器上的其他所有内容都会受到影响(我使用'top'来查看内存使用情况) .这怎么可能?

java tomcat memory-leaks jvm-arguments newrelic

6
推荐指数
1
解决办法
4061
查看次数

使用Java进行LAN仿真?

我必须创建一个模拟大约50-100个节点的Java程序.我想测试一些路由算法并分析网络性能.我尝试用线程模拟节点,但是当我使用更多线程时,我的CPU利用率就像任何东西一样上升.是否有一种在Java中模拟网络的方法.如果是这样的话?

java simulation lan

6
推荐指数
1
解决办法
366
查看次数

Readline太慢 - 什么更快?

我正在使用BufferedReader和InputStreamReader从流读入来创建一个从读者创建的长字符串.它最多可达100,000行,然后抛出500错误(服务器上的调用失败).我不确定是什么问题,有什么比这个方法更快?它的工作线路数千,但我正在使用大型数据集.

BufferedReader in = new BufferedReader(new InputStreamReader(newConnect.getInputStream()));
String inputLine;               
String xmlObject = "";
StringBuffer str = new StringBuffer();

while ((inputLine = in.readLine()) != null) {
    str.append(inputLine);
    str.toString();
}       
in.close();
Run Code Online (Sandbox Code Playgroud)

提前致谢

java xml servlets bufferedreader inputstreamreader

5
推荐指数
1
解决办法
6831
查看次数

是否可以使Class.forName("")灵活?

在询问之前,请理解我的英语不好.

Class.forName(...)在servlet编程中使用类.当我访问servlet时,我从Database获得一行详细的控制器信息,指出要使用哪个控制器.

这是Class.forName(...)我编码:

Class c = Class.forName(row.getControllerInfo);
c.newInstance();
Run Code Online (Sandbox Code Playgroud)

这工作正常,但有一个问题,我正在使用Eclipse.问题是,当我修改Controller文件时,更改的内容未应用于服务器.

java class

5
推荐指数
1
解决办法
167
查看次数

默认资源包用于每个语言环境?

我有一个网页,其中的内容是使用默认资源包中的值为每个区域设置?

java locale resourcebundle

5
推荐指数
1
解决办法
4432
查看次数

Jboss数据源中的数据库故障转移

在JBoss数据源中,如何为我想要的数据库故障转移提供多个连接字符串.

将有两个具有相同表的Mysql数据库表示DB1和DB2.我想向DB1插入数据,如果DB1关闭,那么我需要将它插入DB2.在插入DB2期间,如果DB1出现,我需要将其余数据插入到DB1中.如何在JBoss中配置它?

java mysql database jboss

5
推荐指数
1
解决办法
7197
查看次数

具有抽象类继承的JPA实体

我有一个抽象类,它提供了一些继承的EJB实体的一些常用功能.其中一个是时间戳列.

public abstract class AbstractEntity {

    ...
    private long lastModified;
    ...

    @Column
    public long getLastModified() {
        return lastModified;
    }

    public void setLastModified(long ts) {
       lastModified = ts;
    }
}
Run Code Online (Sandbox Code Playgroud)

@Table
@Entity
public class MyEntity extends AbstractEntity {
    ...
    private Long key;
    private String value;
    ...

    @Id
    public Long getKey() {
        return key;
    }

    public void setKey(Long k) {
        key = k;
    }

    @Column
    public String getValue() {
        return value;
    }

    public void setValue(String txt) {
        value = txt;
        setLastModified(System.currentTimeMillis()); …
Run Code Online (Sandbox Code Playgroud)

ejb java-ee jboss7.x

5
推荐指数
1
解决办法
1万
查看次数

当有2个递归语句如下面的程序时,如何执行递归?

我之前发过一个问题但是我不够清楚.我很抱歉这个混乱,但我的意思是,如果有一个程序,如:

TreeNode createMinBST(int arr[], int start, int end) {
    if(end< start) return null;

    int mid = (start+end)/2;
    Treenode n= new Treenode(arr[mid]);
    n.left= createMinBST(arr, start, mid-1)  //LINE a
    n.right= createMinBST(arr, mid+1, end);  //LINE b
    return n;
}
Run Code Online (Sandbox Code Playgroud)

LINE a和LINE b是如何展开的(就像在编码面试书中所说的那样)或它是如何工作的?LINE a一直到基本情况并返回值然后LINE b执行吗?或者两个递归语句同时归结为基本情况?

如果有人可以解释从上面给出的代码创建最小BST的级别明智路径,那么理解多个递归语句(这里是2-线a和线b)是如何发生的将是非常有帮助的.

非常感谢

java recursion

4
推荐指数
1
解决办法
2330
查看次数

如何垂直对齐运行多行的文本

我意识到可能有一些问题与这个类似的标题,但我认为我的问题有点不同,我试图做一些背景阅读,似乎无法在任何地方找到一个优雅的解决方案(虽然那可能是因为一个不存在)

基本上,我有三个盒子,每个盒子左边有一个图像,里面有一些文字,问题是让文本垂直对齐,做了一些关于vertical-align实际工作原理的背景阅读(我并不完全确定之前)我尝试实现它来解决问题,它在除了其中一个盒子之外的所有盒子上都能很好地工作,你会在下面的演示中看到我的意思:

http://jsfiddle.net/5vxSP/1/

最后一个方框有第二行文字,这条线最终位于图像下方,有几种方法可以让我想到这样做,但大多数方法都是使用浮动图像,最后一个文本的边距盒子,虽然工作不是一个特别好的方式(好吧,我想是的,无论如何......)

是否有一种优雅的方式,这样文本将保留在框的中间,无论我决定使用的行数/字体大小?

如果我必须使用我原来的解决方案,我很高兴这样做,我只是想知道是否有更好的方法来做到这一点,我还没有发现.

html css vertical-alignment

4
推荐指数
1
解决办法
2万
查看次数

Java | 反思地获取构造函数

如果它的参数是,我如何反射性地得到构造函数Object ... objects.

我的构造函数:

  public MyClass ( Object ... objects )
  {
    if ( ! ( objects == null ) )
    {
      if ( objects.length > 0 && objects [ 0 ] instanceof Long )
      {
        setLatency ( ( Long ) objects [ 0 ] ) ;
      }
    }
  }
Run Code Online (Sandbox Code Playgroud)

我现在怎么做到的:

Class< ? > clazz = Class.forName ( "MyClass" ) ;

Constructor< ? > clazzConstructor = clazz.getConstructor ( Object [ ].class ) ;
Run Code Online (Sandbox Code Playgroud)

我尝试做什么:

Long latency = 1000L …
Run Code Online (Sandbox Code Playgroud)

java reflection constructor

2
推荐指数
2
解决办法
2449
查看次数