标签: java

JAVA_OPTS -XX:+PrintGCDetails 对性能有影响吗?

有谁知道PrintGCDetails是否对java性能影响很大?我一直在使用与生产服务器相同的设置的临时服务器上监视我们的 java 垃圾收集。

我认为可以肯定地说我不应该在生产中启用此功能,但我不知道这是否真的会对性能产生任何影响。

java garbage-collecting

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

Tomcat直接服务多个应用程序共享的静态(css、js)文件

我正在使用 ExtJS 框架,该框架有大量用于所有应用程序的文件js。css我打算在多个网络应用程序(不同的war文件)之间共享这些。

出于这个原因,我想直接从 Web 服务器提供 ExtJS 服务,在我的例子中js,它可以用于提供静态文件,如这个有用的链接中所示。cssTomcat6

因此我将我的文件放在/var/lib/tomcat6/webapps/ROOT/extjs/. 直接位于该目录下的静态文件可以正确提供服务,例如可以/extjs/ext.js正确提供位于 的文件/var/lib/tomcat6/webapps/ROOT/extjs/ext.js。

但是,较低级别目录中的文件(例如/extjs/welcome/css/welcome.css,应在 处提供文件)/var/lib/tomcat6/webapps/ROOT/extjs/welcome/css/welcome.css返回404.

TL/DR

Tomcat 仅在顶级目录中提供静态文件。404对于层次结构较深处的文件,将返回A。

配置文件内容:

已修复 - 解决方案:

问题是我放置了这个条款:

<Context docBase="/path/to/extjs-static-files" path="/extjs"/>
Run Code Online (Sandbox Code Playgroud)

在 Tomcat 的server.xml <Engine>条款中。一旦我将其放入<Host>标签中,它就开始工作。阅读这篇文档对于确定我做错了什么非常有帮助。

tomcat java tomcat6

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

如何使用 make-jpkg 和 fakeroot 在 Debian Wheezy 上无错误地安装 Oracle Java?

如何使用 make-jpkg 和 fakeroot 在 Debian Wheezy 上安装 Oracle Java?

在 debian wheezy 上安装 oracle java 的手册非常清晰易懂:

http://wiki.debian.org/JavaPackage https://blogs.oracle.com/marigan/entry/installation_of_the_jdk_on http://www.debian-administration.org/articles/142

  • 从oracle下载jdk-7u21-linux-x64.tar.gz
  • 安装 java 包
  • 使用 jdk-7u21-linux-x64.tar.gz 运行 make-jpkg

以 root 身份运行:

make-jpkg jdk-7u21-linux-x64.tar.gz fakeroot make-jpkg jdk-7u21-linux-x64.tar.gz

结果出现以下错误:

您是真正的 root —— 不幸的是,一些 Java 发行版具有直接操作 /etc 的安装脚本,并且可能会导致您的系统出现一些不一致。相反,您应该成为非 root 用户并运行:

fakeroot make-jpkg jdk-7u21-linux-x64.tar.gz

这不会对您的系统文件造成任何损害,并且仍然允许 Java 发行版成功解压。

正在流产。

作为普通用户运行:

make-jpkg jdk-7u21-linux-x64.tar.gz fakeroot make-jpkg jdk-7u21-linux-x64.tar.gz

导致警告/错误墙。

一些错误:

dpkg-shlibdeps: warning: Can't extract name and version from library name `libverify.so'
error: couldn't find library libxslt.so.1 needed by …
Run Code Online (Sandbox Code Playgroud)

debian java packaging debian-wheezy

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

Solr 搜索 - 无法解析 java.util.Map$Entry

我运行了 Solr 3.6.2 并为 Magento Enterprise 站点的搜索提供支持,并且一切正常,启动时没有错误等。

但是,当尝试访问以下管理页面时:

  • /solr/admin/stats.jsp
  • /solr/admin/registry.jsp
  • /solr/admin/analysis.jsp
  • /solr/admin/distributiondump.jsp

我收到以下错误:

Problem accessing /solr/admin/stats.jsp. Reason:

PWC6033: Unable to compile class for JSP

PWC6197: An error occurred at line: 41 in the jsp file: /admin/stats.jsp
PWC6199: Generated servlet error:
The type java.util.Map$Entry cannot be resolved. It is indirectly referenced from required .class files



org.apache.jasper.JasperException: PWC6033: Unable to compile class for JSP

PWC6197: An error occurred at line: 41 in the jsp file: /admin/stats.jsp
PWC6199: Generated servlet error:
The type …
Run Code Online (Sandbox Code Playgroud)

java magento solr

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

MySQL JDBC 强制忽略 AWS RDS 上的客户端证书

我有一个在 AWS 上运行并连接到在 AWS RDS 上运行的 MySQL 数据库的 Java Web 应用程序。

我凭自己的CA签名的应用程序使用SSL客户端证书连接到各种网络服务,所以我设置-Djavax.net.ssl.keyStore和-Djavax.net.ssl.trustStore系统属性。

我已将https://s3.amazonaws.com/rds-downloads/rds-combined-ca-bundle.pem证书添加到我的 .NET 中trustStore,并且可以通过命令行客户端使用 SSL 连接到 MySQL。

我的 MySQL 连接字符串如下所示:

jdbc:mysql://my-server-id.eu-west-1.rds.amazonaws.com/my-database?verifyServerCertificate=true&useSSL=true&requireSSL=true
Run Code Online (Sandbox Code Playgroud)

我正在使用mysql:mysql-connector-java:jar:5.1.38运行 JBDC 连接。

我发现我的 Java 应用程序在设置 时可以正常连接到 MySQL trustStore,但是当我设置keyStore和trustStore:

! javax.net.ssl.SSLException: Unsupported record version Unknown-0.0
! at sun.security.ssl.InputRecord.checkRecordVersion(InputRecord.java:552) ~[na:1.8.0_91]
! at sun.security.ssl.InputRecord.readV3Record(InputRecord.java:565) ~[na:1.8.0_91]
! at sun.security.ssl.InputRecord.read(InputRecord.java:532) ~[na:1.8.0_91]
! at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:973) ~[na:1.8.0_91]
! at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1375) ~[na:1.8.0_91]
! at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1403) ~[na:1.8.0_91]
! at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1387) ~[na:1.8.0_91] …
Run Code Online (Sandbox Code Playgroud)

mysql ssl java amazon-web-services

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

z/OS 中的已启动任务缺少 RACF 权限

我希望测试在 z/OS 下运行的 JDBC 服务器实现。通常的方法是定义一个 JCL 过程并将其作为启动任务运行。启动的任务需要一个用户 ID,它将在该用户 ID 下运行。JDBC jars 放置在已挂载在 OMVS 中的 ZFS 文件系统中。

启动任务的用户需要某些 RACF 权限 这是随以下 JCL 提供的

//RUNRACF  EXEC PGM=IKJEFT01
//SYSUADS  DD DSN=SYS1.UADS,DISP=SHR
//SYSLBC   DD DSN=SYS1.BRODCAST,DISP=SHR
//SYSTSPRT DD SYSOUT=*
//SYSTSIN  DD *
AU JDBCUSR NAME('JDBC STC USER') PASSWORD(JDBCUSR) -
    OWNER(IBMUSER) DFLTGRP(STCGROUP) -
    UACC(READ)  OMVS(HOME(/u/zfs4svr) PROGRAM(/bin/sh) UID(3005) -
FILEPROCMAX(131072))

RDEFINE STARTED SVRPROC.** STDATA(USER(JDBCUSR) GROUP(STCGROUP) -
TRUSTED(NO))

SETROPTS CLASSACT(STARTED)
SETROPTS RACLIST(STARTED) REFRESH

PERMIT BPX.SERVER ACCESS(READ) CLASS(FACILITY) -
  ID(JDBCUSR)

SETROPTS CLASSACT(FACILITY)
SETROPTS RACLIST(FACILITY) REFRESH
Run Code Online (Sandbox Code Playgroud)

当我开始任务时,SYSOUT 中出现以下错误消息:

JVMJZBL1001N JZOS …

java host authorization zos

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

如何在 OutOfMemory 错误时重新启动由 systemd 管理的 Java 应用程序

我将 java 应用程序(在 Spring Boot 框架之上)安装为 systemd 服务。

[Unit]
Description=${module_name}-service
Requires=network.target
After=syslog.target

[Service]
User=${user_name}
ExecStart=/opt/${module_name}/${module_name}-${version}.jar
SuccessExitStatus=143

[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)

如何管理某些条件下的服务重启,例如 OutOfMemory 错误后的自动重启

java systemd

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

Java 问题让我发疯

当我尝试打开特定的 .jnlp 文件时出现此错误:

net.sourceforge.jnlp.LaunchException: Fatal: Initialization Error: Could not initialize application. The application has not been initialized, for more information execute javaws from the command line.
    at net.sourceforge.jnlp.Launcher.createApplication(Launcher.java:813)
    at net.sourceforge.jnlp.Launcher.launchApplication(Launcher.java:532)
    at net.sourceforge.jnlp.Launcher$TgThread.run(Launcher.java:936)
Caused by: net.sourceforge.jnlp.LaunchException: Fatal: Application Error: Cannot grant permissions to unsigned jars. Application requested security permissions, but jars are not signed.
    at net.sourceforge.jnlp.runtime.JNLPClassLoader$SecurityDelegateImpl.getClassLoaderSecurity(JNLPClassLoader.java:2393)
    at net.sourceforge.jnlp.runtime.JNLPClassLoader.setSecurity(JNLPClassLoader.java:321)
    at net.sourceforge.jnlp.runtime.JNLPClassLoader.initializeResources(JNLPClassLoader.java:734)
    at net.sourceforge.jnlp.runtime.JNLPClassLoader.<init>(JNLPClassLoader.java:285)
    at net.sourceforge.jnlp.runtime.JNLPClassLoader.createInstance(JNLPClassLoader.java:357)
    at net.sourceforge.jnlp.runtime.JNLPClassLoader.getInstance(JNLPClassLoader.java:429)
    at net.sourceforge.jnlp.runtime.JNLPClassLoader.getInstance(JNLPClassLoader.java:403)
    at net.sourceforge.jnlp.Launcher.createApplication(Launcher.java:805)
    ... 2 more
Run Code Online (Sandbox Code Playgroud)

该文件用于访问 Cisco ASA 的 ASDM,它一直运行良好,直到昨天……我正在使用另外 4 个类似的文件(因为我有 5 …

java

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

Windows JVM 级别上的 /dev/urandom 等价物是什么

最近因为熵的缺乏和阻塞rand IO导致挂起而遇到麻烦。在 Linux 上,我可以执行以下操作:

JAVA_OPTS=-Djava.security.egd=/dev/urandom ./myStartScript.sh
Run Code Online (Sandbox Code Playgroud)

Windows 上的等价物是什么?我们在 Linux 和 Windows 服务器上运行该应用程序,Linux 服务器使用 OpenJDK JRE,Windows 服务器使用 Oracle JRE。

我发现了很多关于 的建议CryptGenRandom,但是如何将其传递给 JVM 级别的应用程序?

windows java jvm

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

“GC(分配失败)”在我的 ElasticSearch 5.6 日志中是什么意思?

我在 Elasticsearch 5.6.3 日志中经常看到这些。这是我应该扩大规模并添加更多 RAM 的信号吗?或者这只是 ElasticSearch 的正常操作?

    [GC (Allocation Failure) [ParNew
 Desired survivor size 11141120 bytes, new threshold 15 (max 15)
 - age 1: 1761848 bytes, 1761848 total
 - age 2: 126464 bytes, 1888312 total
 - age 3: 165056 bytes, 2053368 total
 - age 4: 50584 bytes, 2103952 total
 - age 5: 105120 bytes, 2209072 total
 - age 6: 99072 bytes, 2308144 total
 - age 7: 2024 bytes, 2310168 total
 - age 8: 95632 bytes, 2405800 total
 - age …
Run Code Online (Sandbox Code Playgroud)

database java database-administration database-performance elasticsearch

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