草庐IT

jvm-default

全部标签

java - 跨不同 jvm 或不同机器的 java 中的 Math.random() 有多随机

我有一个跨越许多不同物理服务器的大型分布式程序,每个程序都产生许多线程,每个线程在其操作中使用Math.random()从许多公共(public)资源池中抽取一block。目标是在所有操作中均匀地利用池。有时,通过查看资源池上的快照以查看它在那一刻获得了哪些片段,它看起来并不那么随机(实际上可能是这样,但很难测量和确定)。是否有比Math.random()更好并且表现同样出色(至少差不了多少)的东西? 最佳答案 Math.random()基于java.util.Random,它基于一个linearcongruentialgenera

java - 为 JVM 禁用 "internet access"?

我想知道是否有办法告诉JVM它无法连接到某个Java程序的任何Web资源,或者在这样做时立即失败,即做一个相当于关闭互联网的软件使用硬件开关访问。这是为了协助自动化测试,禁用系统的防火墙对我来说是没有选择的。背景:我目前正在处理一个Java问题,其中XML身份转换不适用于XML中引用的DOCTYPE,如下所示:DocumentBuilderFactory、TransformerFactory等的标准行为是访问Web以查找丢失的实体。虽然修复建议https://stackoverflow.com/a/9398602/1143126(一个NullEntityResolver)解决了我的大部

java - 如果我们尝试将 Native Thread 永久附加到 DVM (JVM) 会产生什么后果?

将native线程永久附加到JVM(AttachCurrentThread)是否可行(或者)在需要时附加(调用java函数)并在工作完成后立即分离是否更好我用上述案例编写了一个示例native应用程序,没有发现任何区别。但是通过谷歌搜索,我模糊地知道,当附加到JVM时,JVM线程调度负责调度,否则操作系统将调度native线程(如果未附加)。这是真的吗?分离之前连接的任何线程很重要;否则,调用DestroyJavaVM时程序不会退出。-http://java.sun.com/developer/onlineTraining/Programming/JDCBook/jniref.html

java - Tapestry : Start page use english locale instead of default locale

我们使用Tapestry5.1.0.5构建了一个网站,有时我们会在访问起始页时遇到缺少key的问题。这个问题只出现了4次,这是一个随机问题。实际配置:configuration.add(SymbolConstants.SUPPORTED_LOCALES,"fr");=>因此默认本地是fr而不是enconfiguration.add("tapestry.start-page-name","Accueil");=>所以当我们点击/时,tapestry将我们重定向到/accueil这是我们有时会遇到的问题:当点击/时,Tapestry在*_en.properties而不是*_fr.prope

java - 需要有关 Apple OS X 的替代 JVM 的指导

ApplehasdeprecatedtheirJVMfuture版本的OSX可能不支持它。我主要不是Java开发人员,但我偶尔会编写Java应用程序,我使用的主要应用程序使用Tomcat和Opal为命令行提供SOAP接口(interface)用C编写的可执行文件。我一直看到关于简单地使用另一个JVM的建议,但这似乎显得滑稽可笑。在这一点上,我认为在OSX上运行的OracleJVM纯粹是一种假设。这似乎是一个合理的解决方案,但鉴于苹果、甲骨文和谷歌似乎处于三方较量中,我担心它可能会延迟相当长的一段时间。我一直指向OpenJDK,但这似乎需要从源代码构建JVM。这对我个人来说很好,但对我的

JVM:常用的四种垃圾回收机制

1.CMS(ConcurrentMarkSweep):并行标记清除老年代垃圾回收机制cms是一个基于标记-清除算法的综合多种算法的老年代垃圾回收器适用场景:重视服务器响应速度,要求系统停顿时间最短。这里要说明下,这是一个老年代算法,年轻代怎么处理?不回收了嘛?这里其实年轻代是采用的其它算法,具体看策略,Java参数可以选择策略。这里下文也会涉及到主要的pipeline如下1、初始标记(CMSinitialmark)“StopTheWorld”,仅仅只是标记一下GCRoots能直接关联到的对象,也就是根集合可直接到达的对象,但不会直接到叶子节点,还有遍历新生代对象,标记可达的老年代对象;速度很快

java - Glassfish 3 : how do you change the (default) logging format?

问题源自这里:http://www.java.net/forum/topic/glassfish/glassfish/configuring-glassfish-logging-format-没有答案。默认的GlassFish3日志记录格式非常烦人,太长了。[#|2012-03-02T09:22:03.165+0100|SEVERE|glassfish3.1.2|javax.enterprise.system.std.com.sun.enterprise.server.logging|_ThreadID=113;_ThreadName=AWT-EventQueue-0;|MESSAGE

java - 一个有用的指标,用于确定 JVM 何时将陷入内存/GC 故障

我有一个scala数据处理应用程序,95%的时间都可以处理内存中抛给它的数据。剩余的5%如果不加以检查,通常不会遇到OutOfMemoryError,但只会进入主要GC循环,使CPU激增,阻止后台线程执行,即使它完成了,也需要10倍-50倍只要它有足够的内存。我已经实现了可以将数据刷新到磁盘并将磁盘流视为内存中迭代器的系统。它通常比内存慢一个数量级,但足以满足这5%的情况。我目前正在触发一个最大集合上下文的启发式方法,该集合上下文跟踪数据处理中涉及的各种集合的大小。这可行,但实际上只是一个临时的经验阈值。我宁愿对JVM接近上述不良状态使用react并在那时刷新到磁盘。我试过观察内存,但

java - -XX :+UseNUMA affects JVM performance for systems with only one node?如何

有很多文章介绍了JVMNUMA感知分配器的好处。但是我找不到有关可能导致什么性能影响的信息-XX:+UseNUMA单节点拓扑的标志,如#numactl--hardwareavailable:1nodes(0)node0cpus:0123node0size:32060MBnode0free:7770MBnodedistances:node00:10这似乎是一种极端情况,启用标志并没有真正的利润。如果是这样,启用它是否会导致任何缺点? 最佳答案 -XX:+UseNUMA在这些情况下没有坏处。HotSpotJVM在单个节点上运行时自动关闭

java - JVM如何使用超过4GB的内存

我有一个安装Linux服务器(最好是Ubuntu64位服务器)的请求,和Java(64位)在以下机器上:IntelCore2QuadQ8200-2.33GHz8GBDDR2内存软RAID1镜像(镜像)中的2个320GBSATAHDD问题是如何配置系统和Java,因为我需要JVM使用超过4gb的内存。它不能分布在很多虚拟机上。有超过4GB大的数据它必须在内存中,因为HDD速度慢且性能至关重要。这是一个配置和性能问题,如果有人有经验,我对评论感兴趣?非常感谢你在这件事上帮助我...... 最佳答案 一个64位的JVM应该完全没有巨型堆的