Articles of java

在linux下的java内存分配

我使用以下命令运行4个java进程: java -Xmx256m -jar … 系统在Fedora 12下有8Gb的内存。 然而它显然正在交换。 那如果4 x 256m = 1Gb怎么可能? 编辑:另外,如何使用所有8Gb的内存分配到基本上唯一的东西运行这么less的内存? 是不是Java的垃圾收集,因为操作系统告诉它,它不需要或什么? 最佳: top – 20:13:57 up 3:55, 6 users, load average: 1.99, 2.54, 2.67 Tasks: 251 total, 6 running, 245 sleeping, 0 stopped, 0 zombie Cpu(s): 50.1%us, 2.9%sy, 0.0%ni, 45.1%id, 1.1%wa, 0.0%hi, 0.8%si, 0.0%st Mem: 8252304k total, 8195552k used, 56752k free, […]

你认为你的Linux服务器上的Java是一个问题?

如果您想在Linux(或其他Unix) 服务器上使用实用程序,并且它需要Java,并且您的服务器上没有其他应用程序需要Java,那么您将被closures,您必须安装它吗? 也就是说,你是否看到了这种依赖关系,并认为“膨胀,安全危险,我必须维护的另一个系统”,或者在这一点上Java是如此安全无处不在,完全没有问题?

安装OpenJDK 1.6和1.7后无法findjavac

目前我为此感到不知所措。 我通过运行做了一些基础研究: # whereis javac 和 # find / -name javac 我什么都没有想出来 我search了网上的答案,但他们似乎都专注于文件系统上存在的javac ,这需要做的是恢复一个缺失的符号链接。 有没有人遇到这个问题,并find了解决办法? 我试图在Scientific Linux 6.3上安装openJDK,命令如下: # yum install openjdk

Java保存代理细节在哪里?

我的问题是标题状态真的。 但是为了更详细地介绍我想知道的内容,基本上我们有一小部分用户希望创build小型的video教程来在网上发布。 他们发现了一个免费提供这个function的网站,它使用了Java。 问题是,默认情况下,Java从IE自动获取其代理设置,似乎没有这样做(我们的IE设置为自动检测设置)。 解决方法是手动将我们的代理地址input到Javas设置,但是用户无权访问。 那么当Java手动input到Java时,Java在哪里保存了它的代理设置? 一旦我知道,那么我可以更改相应的registry/ ini设置。 所以,如果任何人都可以提供帮助,将不胜感激。 (PS是不是100%确定,如果这应该已经在服务器故障或超级用户,所以让我知道,如果这是错误的网站)

短信交易处理系统的高层次devise

我一直负责devise一个系统来处理短信交易。 事务以来自服务提供者的HTTP请求的forms出现。 在处理交易的过程中,有问题的系统需要联系其他几个不受我控制的系统,并做一些处理。 我可以select几乎所有的东西,从实现的语言到将要使用的数据库。 我希望这个系统能够很好地扩展,并且至less可能是高度可用的。 基于以上,我的问题是: 1)我应该select什么语言? 我是全职的C ++程序员,但对于这个系统来说,C ++似乎并不是一个好的select。 我很了解Java,Python和PHP,并尝试了许多其他语言。 我正朝着Java的方向发展。 你会selectJava吗,还是用其他的东西(根据需求)? 2)我认为要很好地扩展这个系统需要asynchronous处理的东西,并且应该有一个添加处理节点的能力。 为此,Java消息系统看起来是一个正确的select,例如Apache ActiveMQ的实现。 这是一个好主意吗? 3)显然这个东西需要一个sorting数据库。 有越来越多的NoSQL运动 – 我应该如何看待这种方式(例如Apache Cassandra看起来非常有希望),还是只使用真正的PostgreSQL或MySQL与InnoDB? 因为在我看来,这个东西需要ACID。

杀死成功的套接字(使用libpcap – tcpdump / tcpkill)

我正在尝试创build一个小型服务来监视和终止带有FIN标志的套接字。 我可以得到他们与tcpdump (我也尝试过tcp [13]&1): tcpdump "tcp[tcpflags] & tcp-fin != 0" tcpkill假设使用与tcpdump相同的接口,但是它的工作原理不一样。 我已经尝试了一堆命令,但它应该是(-i eth0可选): tcpkill -9 "tcp[tcpflags] & tcp-fin != 0" 其中说(但没有别的,成功的tcpkill输出数据): tcpkill:监听eth0 [tcp [tcpflags]&tcp-fin!= 0] 看看源代码,应该将正确的filter传递给pcap(在[]括号之间)。 使用Net :: Pcap的perl脚本我可以确定filter工作正常。 我不知道我在做什么错,或者如果它是旧版本的tcpkill / pcap这是一个问题。 任何帮助tcpkill或帮助使用perl的Net :: Pcap杀死套接字将不胜感激。 谢谢! #!/usr/bin/perl use strict; use warnings; use Net::Pcap; my $err = ''; my $dev = 'eth0'; my ($address, $netmask); Net::Pcap::lookupnet($dev, […]

在Sun ONE Webserver 6.1上访问密钥存储,以获得2048位密钥长度SSL

我们想获得2048位密钥长度的CSR请求。 基于浏览器的GUI为我们提供了一个1024位的CSR,我不知道如何改变这一点。 似乎1024位密钥长度将不再由SSL公司支持。 (更低的成本选项只支持2048位Thawte谁是更昂贵的说,他们接受1024年只有一年或两年的证书,但不是3)。 正在讨论的遗留系统正在运行Sun ONE Webserver 6.1。 升级将是非常耗时的,我们现在不需要这样做。 我们将逐步淘汰这些,但这将需要一段时间,所以… 得到它了!! How to generate 2048-bit keypair using Sun One or iPlanet 6.1 servers? 这是我使用的相同版本的networking服务器。 /opt/SUNWwbsvr/bin/https/admin/bin/certutil -R -s "CN=sub.domain.ext,OU=org unit,O=company name,L=city,ST=spelled state,C=US,E=email" -a -k rsa -g 2048 -v 12 -d /opt/SUNWwbsvr/alias -P https-sub.domain.ext-hostname- -Z SHA1 先前的努力已编辑出

获取syslog-ng来识别java stacktrace

我们使用log4j SyslogAppender将我们的日志语句发送到syslog-ng。 一旦这些消息在syslog-ng中,我们就无法使syslog-ng识别出一个堆栈跟踪与适当的日志语句。 因此,当我们过滤消息(我们分离出用于监视警报的ERROR级别语句)时,堆栈跟踪会丢失。 有谁知道是否有可能做到这一点? 我们在Gentoo上使用syslog-ng版本3.1.4的开源版本。

将SSL证书安装到独立的ActiveMQ失败

我正在尝试使ActiveMQ上的SSL工作,但继续遇到错误: SSL收到的logging超出了允许的最大长度。 (错误代码:ssl_error_rx_record_too_long) 我自己运行ActiveMQ服务器(我相信是Jetty),而不是Tomcat,因为它是我们需要的唯一实例。 我有一个签名的中介证书(我相信由openssl生成),我已经导入到密钥库使用: keytool -import -trustcacerts -alias trustserver -file trustserver.crt 我已经为每个可用的证书重复了这一点,并将SSL_OPTS设置为密钥库的位置,并给它一个密码。 我没有尝试过这个问题的文件(清除了现有的密钥库)。 摆脱了密钥库,我也试图将密钥转换成pkcs12使用: openssl pkcs12 -export -in mycert.crt -inkey mykey.key -out mycert.p12 -name tomcat – CAfile myCA.crt -caname root -chain 尽pipe改变我的.crtspath,并将证书放入一个文件(禁止叹气的版本)。 和keytool导入来导入catted文件和签名证书。 但是,我从服务器和STOMP + SSL连接收到相同的响应,我试图启动响应失败,启用encryption,无法连接。 我将不胜感激任何帮助解决这个问题,因为自从我上次在Java服务器上安装SSL以来已经有一段时间了。

HTTPS连接错误

我正在尝试使用http url连接来连接到一个servlet,即http:// localhost:9481 / test / NewServlet 。 它为我工作得很好。 现在我想使用https:// localhost:9481 / test / NewServlet进行连接 。 我得到了这样的错误: Error code: ssl_error_rx_record_too_long,Connection refused… 我需要在server.xml中编辑任何东西: 目前看起来像: <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" />