这是我想要实现的目标,但我失败了(我是 Linux 新手)。
我有一个 Fedora 16 机器(64 位)并且想安装多个版本的 oracle java(目前是 java 6 和 java 7)。我正在尝试使用 rpm 软件安装 java,我想将它们都安装在/opt.
我从 Oracle 站点下载了所需的软件包:
jdk-6u30-linux-x64-rpm.bin
jdk-7u2-linux-x64.rpm
Run Code Online (Sandbox Code Playgroud)
并从.bin运行的文件中提取 rpm 包
./jdk-6u30-linux-x64-rpm.bin -x
Run Code Online (Sandbox Code Playgroud)
获得以下情况:
jdk-6u30-linux-amd64.rpm
jdk-7u2-linux-x64.rpm
Run Code Online (Sandbox Code Playgroud)
然后我看了看里面jdk-6u30-linux-amd64.rpm :
rpm -qpl ~/Downloads/jdk-7u2-linux-x64.rpm
Run Code Online (Sandbox Code Playgroud)
并获得 java 6 将其文件安装到:
/etc (some files)
/usr/java/jdk1.6.0\_30 (the majority of the files)
Run Code Online (Sandbox Code Playgroud)
以类似的方式,java 7 将安装到:
/etc
/usr/java/jdk1.7.0\_02
Run Code Online (Sandbox Code Playgroud)
因为我想安装到/opt我尝试使用rpm relocation安装。这两个包似乎都是 rpm 可重定位的,实际上:
rpm -qpi ~/Downloads/jdk-6u30-linux-amd64.rpm | grep -i reloc
Run Code Online (Sandbox Code Playgroud)
结果给出
Relocations : /usr/java
Run Code Online (Sandbox Code Playgroud)
和
rpm …Run Code Online (Sandbox Code Playgroud) 我已经使用本指南安装了 Oracle JDK 。然后我不小心安装了OpenJDK(尝试准备PC构建Android)。如何返回到 Oracle Java?我可以保留OpenJDK,但将 Oracle Java 设置为默认值吗?
自 Apple Java 2012-006 更新以来,Java 首选项窗格已消失。Apple 说您从 Oracle 安装最新版本的 Java 以恢复对 Applet 的支持。但是 JRE 7 只有 64 位并且明确不支持 Chrome。自 10 月 16 日以来,有没有人想出如何让 Applets 在 Chrome 上再次运行?
这是一个如此业余的问题,我什至不得不问。
在 Eclipse 中,有时我无法编辑文件。我可以打开它,但它的行为就像它是一个只读文件一样——打字没有效果。但它只是偶尔发生,这就是让我发疯的原因。
我使用的唯一视角是 Java 和 Perforce,通常我通过 Perforce 检出一个文件,如下所示:

签出后,它看起来像这样:

但是我不能编辑这个文件。同时,您是否看到了直接位于“VWAPParameterManagerImpl.java”下方的文件?我可以很好地编辑那个,使用相同的步骤检查它。此外,我昨天还能够编辑“VWAP.java”@我也亲眼目睹了非 java 文件的情况。在 Windows 资源管理器中,我检查了文件的属性并验证它不是只读的(如果这意味着什么;我不知道还有什么要检查的)。
那么,为什么有时我不能在 Eclipse 中编辑文件,我该怎么做才能使这些文件可写?
显然我可以在gvim或其他程序中打开文件,但我想在 Eclipse 中进行编辑。我主要是一个 C++ 开发人员并且习惯于 UNIX 环境,所以这个 Java/Windows 的东西真的让我绊倒了。在此先感谢任何可能提供建议的人...
我遇到了服务器物理内存不足的问题,我无法辨别它是来自我的应用程序的 Java 进程还是服务器上的其他进程。让我们假设以下场景:
服务器物理内存:3747MB
Java -Xms64m
Java -Xmx512m
Java XX:MaxPermSize=512m
当我启动服务器时,操作系统 (RHEL) 使用您最喜欢的内存报告工具(top, cat /proc/meminfo | grep Mem, free -m等)报告正在使用 487MB 。当我启动我的 Java 进程(pid 123)时,它使用了大约 215MB 的物理内存(如 RES 内存报告的那样ps -f -p 123),使我使用的总内存高达 700MB 左右。
如果我让它运行一整天,我的进程的 RES 内存会稍微波动,但通常是一致的。然而,服务器总内存稳步增加约 1500MB,达到 2200MB。
如果我的 java 堆大小或 perm gen 堆在增长,它不会反映在进程的 RES 内存中吗?
此外,我似乎无法在任何地方考虑额外的 1500MB。
# ps aux | awk '{ RES+=$6 } END { printf("RES: %.2fMB\n", RES/1024) }'
RES: 722.23MB
Run Code Online (Sandbox Code Playgroud)
谁能帮我找回丢失的记忆?我基本上是想弄清楚这是我的应用程序问题,还是基础架构团队的服务器构建问题。
我正在使用 Eclipse 做一个 Java 项目。当前默认情况下,它在控制台中显示输出。有没有办法将其重定向到文本文件?
至少在python中,我曾经这样做过
python somefile.py > output.txt
我从链接下载了 server-jre-7u21-windows-x64.tar.gz
http://www.oracle.com/technetwork/java/javase/downloads/server-jre7-downloads-1931105.html
解压 .gz 文件,得到没有扩展名的文件 server-jre-7u21-windows-x64。
我试图通过双击安装它。但是无法安装?
有人可以建议我怎么做吗?
我可以卸载旧的更新吗?
关于更新,我指的是更新 1、更新 2,例如 Java 7 Update 1、Java 7 Update 2 等。
我说的是 Windows 的 Java。
我最近在 Windows 10 系统上卸载了所有 Oracle Java 产品并从https://jdk.java.net/11/安装了 OpenJDK ,因为我打算开发一些 Java 应用程序。为了安装它,我只需将 jdk 解压缩到另一个文件夹中并相应地设置JAVA_HOME环境变量。然后我安装了 Eclipse IDE,一切正常。但是,我有另一个程序(不是我开发的)停止工作,抱怨它需要 Java 运行时环境。我认为 OpenJDK 为我提供了运行 Java 应用程序的所有工具,但我肯定错过了一些东西。
我尝试了什么:我从 stackoverflow阅读了这个线程,但我不想构建自己的 JRE,只需在我的计算机上安装一个能够运行我已经安装的 Java 应用程序的 JRE。(我可以运行我正在创建的 Java 应用程序而不是外部应用程序这一事实有点奇怪)。
我还尝试遵循此线程的指导,这是第一个答案建议运行的两个命令的输出:
C:\Users\MyUser>java --version
openjdk 11.0.2 2019-01-15
OpenJDK Runtime Environment 18.9 (build 11.0.2+9)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.2+9, mixed mode)
C:\Users\MyUser>javac --version
javac 11.0.2
Run Code Online (Sandbox Code Playgroud)
非常感谢您的帮助。