我不断收到以下消息,“您是否希望应用程序“java”接受传入的网络连接?”
首先,是什么应用程序?其次,如果它是浏览器的一部分,有时浏览器没有打开,它不会向我显示正在请求它的页面。“应用程序”非常通用。
第三,这是什么意思?是询问互联网上是否有人可以连接到我的计算机吗?
答案1
首先,什么应用程序?
好问题!这也是我最关心的问题。
Java 是一种通过为每个系统配备一个 Java 虚拟机来让相同的 Java 字节码在不同的操作系统上运行的技术。
考虑一下 Flash 代码在浏览器中的运行方式。每个操作系统和浏览器都有一个 Flash 插件。当访问者访问带有 Flash 文件的网站时,无论他们使用什么操作系统或浏览器,浏览器的 Flash 插件都会让他们按预期看到 Flash 文件。Java 与之类似,但它既可用于网页中的小程序,也可用于独立应用程序。
在没有打开浏览器的情况下,如果在传入连接提示中看到“java”,则表明有一个独立的 java 应用程序正在运行(而不是网页中的 java 小程序)。您需要进一步挖掘才能确切知道正在运行的 java 应用程序。您需要使用工具来显示启动 java 的命令行参数。
这一页展示如何使用活动监视器和终端中的 ps 命令查看活动进程的命令行参数。这个答案建议使用ps axv | grep java
仅显示命令行中包含 java 的进程。或者使用ps vp
PID(在哪里PID是您在活动监视器中看到的 PID)来查看特定进程的命令行。
一旦您看到 java 命令行,您可能能够更好地判断正在运行什么以及是否要允许传入连接。
它是不是在询问互联网上是否有人可以连接到我的计算机?
它唯一可能的作用是允许你的电脑或网络上其他电脑上的其他程序连接到 Java 应用程序。它可能互联网上的任何人都可以连接到 Java 程序,但只有满足以下条件之一时才可以:
- 1您的计算机直接连接到没有路由器功能或路由器功能被禁用的调制解调器。
或者
- 2您的计算机已连接到路由器,并且路由器的端口转发或防火墙设置为通过 Java 应用程序向您的计算机请求的同一端口发送传入连接。
答案2
Java 为各种服务打开随机端口连接;这就是 Java 的工作方式。
您必须允许传入 Java 连接才能使用运行 Java 虚拟机的功能。此功能在 OS X 中是正常的。
请在系统偏好设置 > 安全 > 防火墙中检查您的安全设置。
如果需要,请单击锁以解锁,然后单击“高级”。
应取消选中“阻止所有传入连接”,并选中“自动允许签名的软件接受传入连接”。
这些设置应该允许 Java 工作(在前几个提示之后),并且它不再提示您允许连接。