Articles of Java的

JVM进程如何分配内存?

在理解JVM进程如何分配自己的内存方面,我有一点空隙。 我所知道的 RSS = Heap size + MetaSpace + OffHeap size OffHeap由线程堆栈,直接缓冲区,映射文件(库和jar)和JVM代码本身组成; 目前我正试图分析我的Java应用程序(Spring Boot + Infinispan),RSS是779M (它运行在docker容器中,所以pid 1可以): [ root@daf5a5ae9bb7:/data ]$ ps -o rss,vsz,sz 1 RSS VSZ SZ 798324 6242160 1560540 根据jvisualvm ,承诺的堆大小是374M Metasapce大小是89M 换句话说,我想解释799M – (374M + 89M)= 316M的OffHeap内存。 我的应用程序(平均)有36个活线程 。 每个线程消耗1M: [ root@fac6d0dfbbb4:/data ]$ java -XX:+PrintFlagsFinal -version |grep ThreadStackSize intx CompilerThreadStackSize = 0 […]

在Linux上安装GlassFish的位置?

免责声明:我对Linux比较陌生。 我辩论把它放在SuperUser或ServerFault上,因为答案确实需要将Linux作为一个系统解释(而不是一个特定的编程问题),但是我从Java开发人员的angular度对此感兴趣,我认为这是一个特定的问题,因为我安装GlassFish会极大地影响我的Javaconfiguration,最终影响应用程序configuration。 更不用说在其他网站上发布这个问题可能不会引起任何Java开发人员的注意,更多的可能是系统pipe理员,他们可能不太了解Java,因此完全无视这个决定。 我正在尝试确定GlassFish的安装位置,在我看来,我有(现实的)4个可行的选项: /opt/glassfish/ /usr/local/glassfish/ /home/myUsers/glassfish/ (这是所有OGS文档在其示例中显示的内容) /home/ogs/glassfish (作为自己的用户,类似于Apache Web服务器有时如何设置) 我想知道什么专业人士(考虑到Linux如何处理这些目录的不同性质,FHS等)以及每种方法的缺点。 我读过安装/分区的好处,安装在opt/ 。 不过,我通常会将第三方软件安装到usr/local/ ,所以我有点不确定这是一个策略。 Oracle GlassFish服务器(OGS)文档都显示(但从未彻底推荐)安装在您的主目录( home/myUser/ )下的GlassFish。 然后我再次读到,安装守护进程types的服务是非常普遍的(这是我想象的我将使用GlassFish作为 – 在那里我开始一次,它只是为了例行维护或崩溃)作为他们的自己的用户( home/ogs/glassfish/ )。 我相信这个决定也受到我将如何使用GlassFish的影响,所以让我用一些限制来解释这个问题: 我打算在同一台物理机器上的4个虚拟机上部署4个OGS实例,并将它们集群到同一个域中(4个服务器实例中的1个将成为域的pipe理服务器) 几个应用程序将同时部署到这个集群(所有3个非pipe理节点),并且应该全天候运行,除非它们发生崩溃(希望不经常!),或者当我需要维护或调整它们时 每个应用程序将会非常大,我想用真正的pipe理员来configuration它们,而不是“最小化”的默认设置 如果这些信息没有提供足够的信息来帮助做出这个select,请问,我可以更具体。 我想,当尘埃落定的一天结束的时候,我正在寻找(或多或less)一个与四个目录选项(加上其他明显的我省略)利弊。

Kafka – 无法使用Java将消息发送到远程服务器

我试图创build一个Kafka集群来发送消息到远程控制。 我已经configuration好了这里所描述的一切。 我在Linux red hat机器上运行这个,使用shell可以正常工作。 按照Windows机器上的quick start教程中所述编写java代码后,我收到以下错误: … DEBUG kafka.client.ClientUtils$ – Successfully fetched metadata for 1 topic(s) Set(example) … ERROR kafka.producer.SyncProducer – Producer connection to cldExampleKafka.domain:80 unsuccessful java.nio.channels.UnresolvedAddressException … at kafka.producer.async.ProducerSendThread.run(ProducerSendThread.scala:44) … WARN kafka.producer.async.DefaultEventHandler – Failed to send producer request with correlation id 2 to broker 0 with data for patitions [ati,0] java.nio.channels.UnresolvedAddressException … kafka.common.FailedToSendMessageException: […]

Linux上的JavaFX

Linux上的JavaFX(x86和x64)有什么情况? JavaFX应用程序可以在Linux操作系统上正常运行吗? 我发现了2011年和2012年的一些问题,当时应用程序不稳定!

开源OCR

我正在寻找在Linux上运行的开源OCR库。 我需要这个工作PNG和PDF。 大多数情况下,我想从Java或ruby接口这个库。 任何想法,如果有什么可用的? 问候。

为什么我可以在写入Linux时成功移动一个文件?

我认为这个问题对S / O来说足够技术,而且可能也是针对Android的面向编程的。 我对如何在Android(或Java或Linux,如适用)中处理文件很感兴趣,因为我用我的新智能手机做了一些事情,我很想知道它是如何发生的。 我正在通过蓝牙将笔记本电脑上的文件传输到我的Android手机中。 我看到文件资源pipe理器中的新文件,假设它已完全传输,并将其从/sdcard/bluetooth移到/sdcard/torrents 。 我这样做之后,我注意到其实还在转移。 令我惊讶的是,它成功地完成了,通过手机中的通知图标进行确认,并通过双方的手动MD5检查。 在大多数系统中,文件移动会导致崩溃。 这个成功转移的原因是什么? 我知道,一般来说,文件path与文件系统上的文件位置(在这种情况下是SD卡)是分开的。 我想蓝牙应用程序已打开文件的句柄,当我做文件移动时,一个“打开的文件”表更新了一个新的path。 这个function在任何Linux系统中都是如此吗? 我可以在正在写入的文件上做一个mv ,并期望在新位置的副本是正确的吗?

从C中调用Java的Haskell

这可能听起来像一场噩梦,但我真的想要得到这个工作。 我使用这个例子大部分: 从Haskell调用C,并试图让这个工作在Ubuntu上。 我在java中运行这个: package test; public class JniTest { public native int fib(int x); } 这个在用javah创build.h文件之后在c:(test_JniTest.c) #include "test_JniTest.h" #include "Safe_stub.h" JNIEXPORT jint JNICALL Java_test_JniTest_fib(JNIEnv * e, jobject o, jint f) { return fibonacci_hs(f); } 然后在Haskell中(在存根之前)引用:(Safe.hs) module Safe where import Foreign.C.Types fibonacci :: Int -> Int fibonacci n = fibs !! n where fibs = […]

如何确认NUMA?

如何确认主机是否支持NUMA? Oracle文档说,NUMA感知起始于内核2.6.19,但是NUMA手册页说它是在2.6.14中引入的。 我想确保以-XX:+UseNUMA的Java进程实际上正在利用某些东西。 检查numa_maps,我看到我有他们: # find /proc -name numa_maps /proc/1/task/1/numa_maps /proc/1/numa_maps /proc/2/task/2/numa_maps /proc/2/numa_maps /proc/3/task/3/numa_maps 尽pipe我的核心背后是Oracle所说的: # uname -sr Linux 2.6.18-92.el5 我目前在RHEL5.1上使用64位jdk1.6.0_29。

Linux下的IntelliJ Idea,主类上没有这样的文件或目录

我正在linux下运行IntelliJ Idea。 我在里面创build了一个项目和一个模块,在这个模块中我有一个类(MyClass.class),当我试图从IDE运行它时, 错误:MyClass.class(没有这样的文件或目录) 有人可以解释我为什么IntelliJ Idea不能识别模块中的类吗? 我知道这应该是一个关于模块设置的问题,但我无法弄清楚。 我使用的是Ubuntu 11.10 好吧,我把这里的path和所有的东西都看到:) 键入 :echo $ PATH 结果: / usr / lib / lightdm / lightdm:/ usr / local / sbin:/ usr / local / bin:/ usr / sbin:/ usr / bin:/ sbin:/ bin:/ usr / games:/ usr / lib / JVM / JAVA -7-的openjdk-I386 / bin中:/ usr […]

简单的服务器监控与Java

我试图find一个解决scheme,使我能够监视服务器的资源消耗。 最好,我想要获得的指标是networking利用率IO,如果可能的话,CPU利用率/负载平均值和磁盘IO。 我唯一的要求是这个信息可以通过Java获得,所以可以被操纵,至less在Linux(Fedora)上工作。 我听说过一些监控工具,但我不确定这个最好的方法。 我可能希望每隔30秒收集一次信息。 谢谢 更新:只是重新迭代,我指的是系统范围内的监控而不是Java特定的监控。 我只想用Java来访问这些指标