草庐IT

java - 如何找出我的 JVM 支持什么算法 [加密]?

我正在使用Jasypt进行加密。这是我的代码:publicclassEncryptor{privatefinalstaticStandardPBEStringEncryptorpbeEncryptor=newStandardPBEStringEncryptor();privatefinalstaticStringPASSWORD="FBL";privatefinalstaticStringALGORITHM="PBEWithMD5AndTripleDES";static{pbeEncryptor.setPassword(PASSWORD);//pbeEncryptor.setAlgor

java - 两个 JVM 之间的共享内存

在Java中有没有办法让两个JVM(在同一台物理机器上运行)使用/共享相同的内存地址空间?假设JVM-1中的生产者将消息放在特定的预定义内存位置,如果JVM-2上的消费者知道要查看哪个内存位置,是否可以检索消息? 最佳答案 解决方案1:我认为最好的解决方案是使用内存映射文件。这允许您在任意数量的进程(包括其他非Java程序)之间共享内存区域。您不能将java对象放入内存映射文件中,除非您将它们序列化。以下示例显示您可以在两个不同的进程之间进行通信,但您需要使其更加复杂以允许进程之间更好的通信。我建议你看看Java的NIOpackag

java - 两个 JVM 之间的共享内存

在Java中有没有办法让两个JVM(在同一台物理机器上运行)使用/共享相同的内存地址空间?假设JVM-1中的生产者将消息放在特定的预定义内存位置,如果JVM-2上的消费者知道要查看哪个内存位置,是否可以检索消息? 最佳答案 解决方案1:我认为最好的解决方案是使用内存映射文件。这允许您在任意数量的进程(包括其他非Java程序)之间共享内存区域。您不能将java对象放入内存映射文件中,除非您将它们序列化。以下示例显示您可以在两个不同的进程之间进行通信,但您需要使其更加复杂以允许进程之间更好的通信。我建议你看看Java的NIOpackag

java - Android Studio 无法在 Mac OSX (Mavericks) 上加载 JVM

我正在尝试在我的Mac上设置AndroidStudio。它正在运行OSX10.9.1Mavericks。我已经安装了最新的JDK(在编写1.7更新45时),并且我安装了AndroidStudio。我使用Java7是因为我必须运行一些Java应用程序,它们需要1.7。我没有安装Java1.6,因为它很古老。从任何启动器启动AndroidStudio实际上什么都不做。Activity管理器从不显示它正在运行。我不想安装Java1.6。我做了一些工作并尝试通过命令行通过包内容运行可执行文件,对于这两个可执行文件,我都收到以下消息:我不确定我应该如何解决这个错误。我在Mac上不是很熟练(对它来

java - Android Studio 无法在 Mac OSX (Mavericks) 上加载 JVM

我正在尝试在我的Mac上设置AndroidStudio。它正在运行OSX10.9.1Mavericks。我已经安装了最新的JDK(在编写1.7更新45时),并且我安装了AndroidStudio。我使用Java7是因为我必须运行一些Java应用程序,它们需要1.7。我没有安装Java1.6,因为它很古老。从任何启动器启动AndroidStudio实际上什么都不做。Activity管理器从不显示它正在运行。我不想安装Java1.6。我做了一些工作并尝试通过命令行通过包内容运行可执行文件,对于这两个可执行文件,我都收到以下消息:我不确定我应该如何解决这个错误。我在Mac上不是很熟练(对它来

java - 监控 JVM 的非堆内存使用情况

我们通常处理OutOfMemoryError问题是因为堆或permgen大小配置问题。但是所有的JVM内存都不是permgen或heap。据我了解,也可以和Threads/Stacks、nativeJVMcode有关……但是使用pmap我可以看到进程分配了9.3G,即3.3G堆外内存使用量。我想知道监控和调整这种额外的堆外内存消耗的可能性是什么。我不使用直接堆外内存访问(MaxDirectMemorySize默认为64m)Context:LoadtestingApplication:Solr/LuceneserverOS:UbuntuThreadcount:700Virtualizat

java - 监控 JVM 的非堆内存使用情况

我们通常处理OutOfMemoryError问题是因为堆或permgen大小配置问题。但是所有的JVM内存都不是permgen或heap。据我了解,也可以和Threads/Stacks、nativeJVMcode有关……但是使用pmap我可以看到进程分配了9.3G,即3.3G堆外内存使用量。我想知道监控和调整这种额外的堆外内存消耗的可能性是什么。我不使用直接堆外内存访问(MaxDirectMemorySize默认为64m)Context:LoadtestingApplication:Solr/LuceneserverOS:UbuntuThreadcount:700Virtualizat

java - 有什么办法可以 "reboot"JVM?

有没有办法重启JVM?如实际上并没有退出,而是关闭并重新加载所有类,然后从顶部运行main? 最佳答案 您最好的选择可能是在循环中运行java解释器,然后退出。例如:#!/bin/shwhiletruedojavaMainClassdone如果您希望能够完全重启或关闭,您可以测试退出状态:#!/bin/shSTATUS=0while[$STATUS-eq0]dojavaMainClassSTATUS=$?done在java程序中,您可以使用System.exit(0)表示您要“重新启动”,并使用System.exit(1)表示您要停

java - 有什么办法可以 "reboot"JVM?

有没有办法重启JVM?如实际上并没有退出,而是关闭并重新加载所有类,然后从顶部运行main? 最佳答案 您最好的选择可能是在循环中运行java解释器,然后退出。例如:#!/bin/shwhiletruedojavaMainClassdone如果您希望能够完全重启或关闭,您可以测试退出状态:#!/bin/shSTATUS=0while[$STATUS-eq0]dojavaMainClassSTATUS=$?done在java程序中,您可以使用System.exit(0)表示您要“重新启动”,并使用System.exit(1)表示您要停

java - 将最大和最小 JVM 堆大小设置为相同是否很好?

目前在我们的测试环境中,最大和最小JVM堆大小设置为相同的值,基本上与专用服务器机器允许我们的应用程序一样多。这是性能的最佳配置还是给JVM一个更好的范围? 最佳答案 Peter的回答是正确的,因为-Xms是在启动时分配的,它会增长到-Xmx(最大堆大小),但这有点误导他是如何措辞的。(对不起,彼得,我知道你知道这些东西很冷)。设置ms==mx有效地关闭了这种行为。虽然这曾经是一个好主意在旧的JVM中,但现在已经不是这样了。扩大和缩小堆允许JVM适应内存压力的增加,同时在内存压力降低时通过缩小堆来减少暂停时间。有时这种行为不会给您带