小编Vie*_*iet的帖子

使用Hibernate时内存使用率很高

我在linux服务器上用java运行代码服务器端应用程序.我使用hibernate打开数据库会话,使用本机sql查询它,并始终通过try,catch,finally关闭此会话.

我的服务器使用非常高频率的休眠查询数据库.

我已经定义了MaxHeapSize,因为它是3000M,但它通常在RAM上使用2.7GB,它可以减少但比增加慢.有时它的内存使用量会增长到3.6GB,比我的MaxHeapSize在启动时定义的要多.

当使用的内存为3.6GB时,我尝试使用-jmap命令转储它,并获得一个大小仅为1.3GB的heapdump.

我使用eclipse MAT来分析它,这里是来自MAT的统治者树 支配树 我认为hibernate是问题,我有这么多的org.apache.commons.collections.map.AbstractReferenceMap $ ReferenceEntry.它可能无法通过垃圾收集进行处理,或者可能会变慢.

我该如何解决?

java memory-leaks hibernate out-of-memory heap-dump

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

JavaFx Webview JDK 8无法加载自签名证书

我尝试将webview实现到我的javafx应用程序中,并且我正在使用JDK 8来开发它.

当我使用webEngine加载任何HTTPS证书网站时,它工作正常:

webEngine.load("https://google.com");
Run Code Online (Sandbox Code Playgroud)

但是,如果我使用我的HTTPS自签名证书,则无法打开它.我试图使用此代码向您显示问题:

webEngine.getLoadWorker().stateProperty().addListener(
      new ChangeListener<Worker.State>() {
      public void changed(ObservableValue ov, Worker.State oldState, Worker.State newState) {                               
             if (webEngine.getLoadWorker().getException() != null && newState == State.FAILED){
            System.out.println(webEngine.getLoadWorker().getException().toString());
        }
  }
});
Run Code Online (Sandbox Code Playgroud)

我的问题是:

java.lang.Throwable:SSL握手失败

我尝试在使用我的webview之前添加以下代码来信任所有主机,但它不起作用:

// Create a trust manager that does not validate certificate chains
TrustManager[] trustAllCerts = new TrustManager[] { 
    new X509TrustManager() {     
        public java.security.cert.X509Certificate[] getAcceptedIssuers() { 
            return null;
        } 
        public void checkClientTrusted( 
            java.security.cert.X509Certificate[] certs, String authType) {
            } 
        public void checkServerTrusted( 
            java.security.cert.X509Certificate[] certs, String authType) {
        }
    } 
}; …
Run Code Online (Sandbox Code Playgroud)

java ssl javafx webview java-8

7
推荐指数
1
解决办法
4283
查看次数