Oracle发布了针对Java 7的更新2,而OpenJDK似乎仍然是去年夏天发布的原始版本147.
是否可以使用OpenJDK?
似乎有一个OpenJDK项目仅用于更新(http://openjdk.java.net/projects/jdk7u/),它提到他们将在Oracle的同时发布更新,但我找不到任何东西.
谢谢
渣
我观察到操作系统所说的内容与jVisualVM所说的内容之间的Tomcat RAM消耗不匹配.
从htop开始,Tomcat JVM拥有993 MB的驻留内存
从jVisualVM,Tomcat JVM正在使用
根据我的理解,操作系统内存消耗应该是堆大小+ PermGen大小〜= 522 MB.但这比我观察到的要少471 MB.
任何人都知道我在这里错过了什么?
PS:我知道我的最大堆远远高于使用的,但我认为如果JVM不使用它(即堆大小较低)应该没有效果.
谢谢!渣
我们的项目有以下场景:
我正在寻找关于在工具和项目配置方面做到这一点的最佳方法的建议.
我们目前正在使用Ant,但是希望避免被蚂蚁埋没.有没有人用Maven做过这件事?
我已经看过很多关于如何构建依赖于java应用程序的Web应用程序的帖子,但是根据其他Web应用程序,Web应用程序上没有任何内容.
谢谢!
只是想知道设置maxElementsInMemory对性能的影响是否比实际使用的高得多?例如,最大10,000,仅使用100.
ehcache.xml中
<defaultCache
eternal="false"
overflowToDisk="false"
maxElementsInMemory="10000"
timeToIdleSeconds="7200"
timeToLiveSeconds="0"/>
Run Code Online (Sandbox Code Playgroud)
上下文:我正在使用带有hibernate的ehcache,我希望缓存一个表(所有实体)的所有记录.从一个客户到另一个客户,该表中的记录数量不同,因此很难设置精确的最大值.
谢谢!
渣
我们有一个 Java 应用程序,它使用启用了 TCP 保持活动状态的套接字
Socket.setKeepAlive(true) http://docs.oracle.com/javase/6/docs/api/java/net/Socket.html#setKeepAlive(boolean )
我们的测试表明,保持活动功能在 Windows 主机上可以正常工作,但在 Linux 主机 (Ubuntu Lucid) 上则无法正常工作。
深入研究后发现,Java 中使用的 SO_KEEPALIVE 数值常量似乎与 Linux 中使用的常量不匹配
在java中:jdk/src/share/classes/java/net/SocketOptions.java:
public final static int SO_KEEPALIVE = 0x0008;
Run Code Online (Sandbox Code Playgroud)
在 Solaris 中:include/sys/socket.h
#define SO_KEEPALIVE 0x0008 /* keep connections alive */
Run Code Online (Sandbox Code Playgroud)
在 Linux Sparc、MIPS、Alpha 和 PARISC 中:/usr/src//linux-headers-2.6.32-19/arch/sparc/include/asm/socket.h:
#define SO_KEEPALIVE 0x0008
Run Code Online (Sandbox Code Playgroud)
在其他 Linux(x86 和 amd64)中:/usr/include/asm-generic/socket.h:
\#define SO_KEEPALIVE 9
Run Code Online (Sandbox Code Playgroud)
我们认为这可以解释为什么 keepalive 在 Linux 上不起作用。谁能提出另一个原因或解决方案?
干杯马克
我有一个事务服务调用第二个具有REQUIRES_NEW传播的服务.
激活日志我看到Spring在创建子事务时创建了一个新的Hibernate Session,即使当前Thread已经有一个打开的Session.
[DEBUG] org.springframework.transaction.interceptor.AbstractFallbackTransactionAttributeSource.getTransactionAttribute(AbstractFallbackTransactionAttributeSource.java:106) Adding transactional method 'executeProcessed' with attribute: PROPAGATION_REQUIRES_NEW,ISOLATION_DEFAULT; ''
[DEBUG] org.springframework.orm.hibernate3.HibernateTransactionManager.doGetTransaction(HibernateTransactionManager.java:437) Found thread-bound Session [org.hibernate.impl.SessionImpl@467743d7] for Hibernate transaction
[DEBUG] org.springframework.transaction.support.AbstractPlatformTransactionManager.handleExistingTransaction(AbstractPlatformTransactionManager.java:415) Suspending current transaction, creating new transaction with name [com.microsigns.ds.businesslogic.rendering.service.impl.PipelineDataServiceImpl.executeProcessed]
[DEBUG] org.springframework.orm.hibernate3.HibernateTransactionManager.doBegin(HibernateTransactionManager.java:493) **Opened new Session** [org.hibernate.impl.SessionImpl@3d4b1aad] for Hibernate transaction
[DEBUG] org.springframework.orm.hibernate3.HibernateTransactionManager.doBegin(HibernateTransactionManager.java:504) Preparing JDBC Connection of Hibernate Session [org.hibernate.impl.SessionImpl@3d4b1aad]
[DEBUG] org.springframework.orm.hibernate3.HibernateTransactionManager.doBegin(HibernateTransactionManager.java:569) Exposing Hibernate transaction as JDBC transaction [jdbc:postgresql://localhost:5432/ds, UserName=microsignsdds, PostgreSQL Native Driver]
Run Code Online (Sandbox Code Playgroud)
重用会话不应该在性能方面更好吗?这还可以避免在子事务中重新加载或重新附加对象.我在这里错过了什么?
此行为在org.springframework.orm.hibernate3.HibernateTransactionManager中进行了硬编码:
xObject.getSessionHolder().setSynchronizedWithTransaction(true);
Run Code Online (Sandbox Code Playgroud)
我正在使用hibernate 3.6和Spring 3.1