這是歷史版本頁面 — 看 Java Runtime Environment (64-bit) 最新版本
程式打不開一直說要裝 Java?JRE 是什麼、裝了能解決嗎
你剛從某個網站下載了一個軟體,雙擊安裝檔卻跳出錯誤視窗,說「需要 Java Runtime Environment」;或者你打開某個老牌網路銀行、公家機關系統,畫面一片空白,只有一行字叫你安裝 Java。你只是想趕快把事情辦完,卻卡在一個聽過名字、但從來不知道它是什麼的東西上。
你直覺的反應是上網搜尋 Java 下載,裝完卻發現問題沒解決,甚至跳出更多看不懂的錯誤訊息。這是因為這類工具不是一般應用程式,它是一個「執行環境」——負責讓用 Java 寫的程式在你的電腦上跑起來。裝錯版本、裝到開發工具、或沒注意系統位元數,都會讓你白忙一場。這篇文章要講清楚的,就是這個執行環境到底解決什麼問題、什麼時候你才真的需要它。
01Java Runtime Environment 到底是做什麼用的?裝了它能幹嘛?
它是一套讓 Java 程式能在你的 Windows 電腦上執行的必備元件,包含 Java 虛擬機(JVM)和一堆程式庫。白話來說,很多軟體、網頁元件、遊戲是用 Java 寫的,你的電腦沒有這套環境,那些程式就跑不起來。裝了之後,這些應用程式才能正常開啟,例如線上遊戲、3D 圖片檢視、某些企業內部系統。
02我怎麼知道電腦裡有沒有裝這套軟體?
打開命令提示字元(cmd),輸入 `java -version` 後按 Enter。如果有安裝,畫面上會顯示 Java 的版本資訊;如果顯示「不是內部或外部命令」之類的訊息,就代表沒裝。另外,也可以到 Windows 的「控制台 → 程式和功能」裡找有沒有 Java 相關的項目。
03這套軟體和 Java Development Kit(JDK)有什麼不同?
JRE 是拿來「執行」Java 程式的,JDK 是拿來「開發」Java 程式的。JDK 裡面包含了 JRE,但另外還有編譯器、除錯器等開發工具。如果你只是要跑別人寫好的 Java 軟體,裝 JRE 就夠了;如果你要自己寫 Java 程式,才需要裝 JDK。裝錯的話,只是佔用硬碟空間,不會造成系統問題。
04裝了這套軟體之後,還需要做什麼設定嗎?
一般情況下不需要。安裝完成後,Java 程式就能直接執行。不過,有些瀏覽器基於安全考量,預設會擋掉 Java 外掛,如果你需要透過瀏覽器使用 Java 應用程式(例如某些舊的網路銀行系統),可能要在瀏覽器的外掛管理或 Java 控制面板裡調整安全性設定,允許執行。
05這套軟體可以同時裝好幾個版本嗎?
可以。官方說明指出,你可以在同一台電腦上安裝多個版本的 JRE。不過,官方也建議只保留最新版本,因為舊版本可能含有未修補的安全性漏洞。如果你不確定某個舊版是不是還有程式在用,可以先保留,等確認沒問題後再移除。
06我只是想玩個遊戲或開個文書軟體,為什麼還要裝這個?
因為那個遊戲或軟體是用 Java 寫的。Java 的設計理念是「一次編寫,到處執行」,所以很多跨平台的應用程式會用它開發。開發者把程式包裝好之後,使用者的電腦必須有 JRE 才能把程式跑起來。這不是你的問題,而是軟體本身的技術需求。
07我的電腦是 64 位元的 Windows,該裝哪一個版本?
這套軟體名稱就標明是 64-bit,支援 Windows 7 到 Windows 11 的 64 位元系統。安裝前可以先確認你的 Windows 是 64 位元還是 32 位元(在「設定 → 系統 → 關於」裡可以查到)。如果你的系統是 32 位元,這套 64 位元版本就無法安裝,需要另外找 32 位元的版本。
08這套軟體的介面是英文的,我看不懂怎麼辦?
這套軟體的介面語系是英文,安裝過程和 Java 控制面板都是英文介面。不過,安裝完成後,你平常使用 Java 程式時並不會看到它的介面——它是在背景運作的。只有當你需要調整 Java 的安全性設定或更新時,才會需要面對英文介面。如果完全無法理解,可以找線上翻譯或請熟人協助。
09我裝了這套軟體之後,電腦變慢或出現安全警告,是正常的嗎?
Java 本身具備安全模型,包含沙箱(sandbox)、程式碼簽章和權限控管,目的是讓 Java 程式在受控的環境中執行。但因為 Java 曾多次被發現安全漏洞,所以有些防毒軟體或瀏覽器會對 Java 外掛發出警告。建議你只從官方網站下載,並保持軟體更新,以降低風險。
10我是一個程式設計師,裝這套軟體夠用嗎?
不夠。JRE 只能執行 Java 程式,不能編寫和編譯程式碼。如果你要開發 Java 應用程式,需要的是 JDK(Java Development Kit),它包含了編譯器(javac)和除錯工具。官方說明也明確指出,JDK 是用來開發的,JRE 是用來執行的。如果你只是要跑別人寫好的工具,JRE 就夠了。
11這套軟體一直叫我更新,不更新會怎樣?
官方建議定期更新,因為更新通常包含錯誤修正、安全性修補和效能改善。如果你不更新,舊版本可能無法執行某些新開發的 Java 程式,也可能暴露在已知的安全風險中。不過,更新與否最終取決於你使用的程式是否需要新版本——如果現有程式都跑得好好的,短期內不更新不會立刻出問題。
12有沒有其他軟體可以取代這套軟體?
如果你要執行 Java 程式,JRE 是必要的,沒有其他軟體可以完全取代它。資料中列出的相近軟體,例如 .NET Framework,是微軟開發的執行環境,用途不同,無法互相替代。如果你是要開發 Java 程式,可以考慮 NetBeans IDE 或 JDK,但這些是開發工具,不是執行環境。
下載與官方連結
前往官方網站 下載 Java Runtime Environment (64-bit)
jre-8u112-windows-x64.exe · 60.86 MB · 連結指向軟體原廠
版本紀錄
- 2026-10-21 Java JRE 8 Update 511 (64-bit) 75.31 MB
- 2026-08-19 Java JRE 8 Update 503 (64-bit) 69.02 MB
- 2026-07-22 Java JRE 8 Update 501 (64-bit) 69.02 MB
再看 5 筆
- 2026-04-22 Java JRE 8 Update 491 (64-bit) 69 MB
- 2026-01-21 Java JRE 8 Update 481 (64-bit) 38.5 MB
- 2025-10-22 Java JRE 8 Update 471 (64-bit) 38.48 MB
- 2025-07-16 Java JRE 8 Update 461 (64-bit) 38.48 MB
- 2025-04-16 Java JRE 8 Update 451 (64-bit) 38.41 MB
這一版改了什麼
What's new in this version:
CHANGES:
security-libs/java.security:
- SunPKCS11 Provider no longer offering SecureRandom by default
- SecureRandom.PKCS11 from the SunPKCS11 Provider is disabled by default on Solaris because the native PKCS11 implementation has poor performance and is not recommended. If your application requires SecureRandom.PKCS11, you can re-enable it by removing "SecureRandom" from the disabledMechanisms list in conf/security/sunpkcs11-solaris.cfg
- Performance improvements have also been made in the java.security.SecureRandom class. Improvements in the JDK implementation have allowed for synchronization to be removed from the java.security.SecureRandom.nextBytes(byte[] bytes) method.
BUG FIXES:
- client-libs 2d GraphicsDevice.getConfigurations() is slow taking 3 or more seconds
- client-libs 2d Xrender: Class cast exception in 2D code running an AWT regression test
- client-libs 2d java/awt/Window/WindowsLeak/WindowsLeak.java fails
- client-libs 2d Wrong glyph is displayed for a derived font
- client-libs 2d [win10] Some unicode characters do not display any more after upgrading to Windows 10
- client-libs 2d ClassCastException: sun.font.CompositeFont cannot be cast to PhysicalFont
- client-libs 2d CCE: sun.java2d.NullSurfaceData cannot be cast to sun.java2d.opengl.OGLSurfaceData
- client-libs java.awt java.awt.SplashScreen.getSize() returns incorrect size for high dpi splash screens
- client-libs java.awt:i18n Caps Lock doesn't work as expected when using Pinyin Simplified input method
- client-libs javax.accessibility [macosx] sun.lwawt.macosx.CAccessible leaks
- client-libs javax.accessibility Uninitialised memory in WinAccessBridge.cpp:1128
- client-libs javax.accessibility Jaws reads wrong values from comboboxes when no element is selected
- client-libs javax.swing Selection in JList is drawn with wrong colors in Nimbus L&F
- client-libs javax.swing javax.swing.text.html.parser.Parser parseScript incorrectly optimized
- client-libs javax.swing JComboBox prevents wheel mouse scrolling of JScrollPane
- client-libs javax.swing Personalized Windows Font Size is not taken into account in Java8u102
- client-libs javax.swing JEditorPane.createEditorKitForContentType throws NPE after 6882559
- core-libs java.lang Annotations with lambda expressions has parameter result in wrong behavior.
- core-libs java.lang.invoke MHs.Lookup.findConstructor returns handles for array classes
- core-libs java.nio (se) Selector.select(long) uses wrong timeout after EINTR (lnx)
- core-libs javax.naming LDAP "follow" throws ClassCastException with Java 8
- core-libs javax.naming com.sun.jndi.ldap.SimpleClientId produces wrong hash code
- core-libs javax.naming Non-synchronized access to shared members of com.sun.jndi.ldap.pool.Pool
- core-libs javax.script ReferenceError in 1.8.0_72
- core-libs jdk.nashorn streamline input parameter of Nashorn scripting $EXEC function
- core-libs jdk.nashorn "ant test" fails to complete on Windows when run under cygwin shell
- core-libs jdk.nashorn Negative lookahead in RegEx breaks backreference
- core-libs jdk.nashorn Simplify Nashorn's Context class loader handling
- core-libs jdk.nashorn Nashorn shebang argument handling is broken
- core-libs jdk.nashorn Regression: two tests fail on Windows with "ant test" target
- core-libs jdk.nashorn fix Nashorn shebang argument handling on Mac/Linux
- core-libs jdk.nashorn arguments are handled differently in apply for JS functions and AbstractJSObjects
- core-libs jdk.nashorn Parsing issue with automatic semicolon insertion
- core-libs jdk.nashorn Script stack trace should display function names
- core-libs jdk.nashorn JSON.stringify does not work on ScriptObjectMirror objects
- core-libs jdk.nashorn Callback parameter of any JS builtin implementation should accept any Callable
- core-libs jdk.nashorn TypeError when a java.util.Comparator object is invoked as a function
- core-libs jdk.nashorn AccessControlException is thrown on public Java class access if "script app loader" is set to null
- core-svc Tests in com/sun/jdi fails intermittently with "jdb input stream closed prematurely"
- core-svc debugger com/sun/jdi/OptionTest.java test times out again
- deploy [macosx] Java Control Panel unable to perform tasks requiring admin privileges
- deploy [macos] JVM continuously throw a NullPointerException on new MacOS 10.12
- deploy javafx FXUIToolkit.showFileChooser() fails when jre is below 7u21
- deploy javafx FXUIToolkit.showSandboxSecurityDialog fails when running jre below 7u21
- deploy javafx FXUIToolkit.showMessageDialog() fails when running jre below 7u55
- deploy webstart Add a URL scheme handler to reliably launch .jnlp files - Mac registration part
- deploy webstart Change JavawsLauncher.app to use NSTask or execv
- deploy webstart Desktop shortcut is not updated after JNLP is changed in deployment cache
- deploy webstart Allow always checkbox in security dialog when jnlp location is unknown
- deploy webstart Signed JWS application unexpectedly asks for permission to open a socket
- hotspot compiler Math.pow yields different results upon repeated calls
- hotspot compiler Need to bailout cleanly if creation of stubs fails when codecache is out of space
- hotspot compiler CastII/ConvI2L for a range check is prematurely eliminated
- hotspot compiler PPC64: unaligned Unsafe.getInt can lead to the generation of illegal instructions
- hotspot compiler Partially initialized string object created by C2's string concat optimization may escape
- hotspot gc G1: UseSHM in combination with a G1HeapRegionSize > os::large_page_size() falls back to use small pages
- hotspot gc Confusing message in "Current rem set statistics"
- hotspot gc allocating heap with UseLargePages and HugeTLBFS may trash existing memory mappings (linux)
- hotspot gc Long response times with G1 and StringDeduplication
- hotspot gc Test gc/ergonomics/TestDynamicNumberOfGCThreads.java fails
- hotspot jvmti Crash in Method::checked_resolve_jmethod_id(_jmethodID*)
- hotspot jvmti Fix for JDK-8147451 failed: Crash in Method::checked_resolve_jmethod_id(_jmethodID*)
- hotspot runtime Null ProtectionDomain in JVM can cause NPE because principals field is not initialized to an empty array
- hotspot runtime vm/mlvm/anonloader/stress/byteMutation failed with: assert(index >=0 && index < _length) failed: symbol index overflow
- hotspot runtime ConstantPool::release_C_heap_structures not run in some circumstances
- hotspot runtime Convert an assert in ClassLoaderData to a guarantee
- hotspot runtime Zero: Better byte behaviour
- hotspot runtime SIGSEGV: Metadata::mark_on_stack
- infrastructure release_eng 8u112 template file need to be updated
- install install jdk 8u71 fails to install with no error message
- install install ent msi does not have double-click support
- javafx application-lifecycle Passing objects between JavaScript (JavaFX / WebKit) and Java causes a memory leak
- javafx base SortedList wrapping a FilteredList causes AIOOBE
- javafx controls TreeTableView's selectedItems reports include null items.
- javafx controls [TreeTableView] graphic property of TreeItem is still visible after collapsing tree
- javafx controls Enhance CustomColorDialog to have flexibility to hide 'Opacity', 'Use' and 'Save' Button
- javafx graphics Scene content shows too large on Retina display, when a regular screen attached
- javafx graphics Print jobs do not finish when using a page range
- javafx graphics javafx print jobs take 60 times longer than javax.print
- javafx graphics Generated temp files (+JXF...temp) for custom fonts not deleted on exit.
- javafx graphics changes to compile under Visual Studio 14.0
- javafx graphics Crash while running imported/w3c/canvas/2d.gradient.interpolate.overlap2.html
- javafx graphics ContextMenu shown at wrong position on Windows10 with Extended Screen
- javafx graphics Revert fix for JDK-8150181 to push it with the correct commit message
- javafx graphics JavaFX Path drawing appears to leak native memory
- javafx web Javascript Timing Events stop work on system clock changes at past
- javafx web WebView Tooltip position no longer changes in 8u60
- javafx web WebView can't alert from a timer
- javafx web Debug build is not working after new WebKit upgrade
- javafx web NullPointer exception in WebView
- javafx web SQL Server Reporting Services in WebViews shows 401
- javafx web [WebView] Icon font doesn't work if single page application will be loaded from jar
- javafx web Need to document that JavaScript to Java bindings use weak references
- javafx web Update to newer version of WebKit
- javafx web DRT crash at fast/css-generated-content/initial-letter-basic.html
- javafx web Update java-wrappers for WebKit generated classes following WebKit update
- javafx web Linux: Javascript Timing Events stop work on system clock changes at past
- javafx web Linux: libjfxwebkit.so has hard-coded path
- javafx web Char value is set as integer, not as character
- javafx web Add timestamp to WebView Keyboard Event
- javafx web Can't get file size with javascript
- javafx web the JVM for our Swing application crashes, once we login into our application server
- javafx web WebView cannot render CSS background image with SVG data
- javafx web Char value is returned as integer, not as character
- javafx web Test Case Failure in CallBackTest
- javafx web WebView can't alert from a timer
- javafx web jvm crash at javafx com.sun.webkit.WebPage.twkPrePaint (GFlag + Heap verification)
- javafx web Implement overridePreference() for DRT framework
- javafx web [WebView] Unable to tile SVG image using css background property
- javafx web WebEngine doesn't handle html5 color picker
- javafx web Assertion fails with https://html-online.com/editor/
- javafx web [Win] Timer functionality is broken after JDK-8089563
- javafx web [OS X] Compilation Issue in WebPage.cpp
- javafx web Fix compilation warnings in WebCore and JavaScriptCore
- javafx web EOFException in GZIPInputStream.readUByte while browsing
- javafx web [WebView] WebView can't display social network icons on wellsfargo.com
- javafx web General sibling selector is broken for selected input boxes in WebView
- javafx web Website weibo.com cannot be loaded
- javafx web JavaFX browser can get stuck in an infinite loop when calling path.getTotalLength()
- javafx web [Windows] JavaFX crash in WebPage.twkOpen in 8u112 when closing WebView while debugging
- javafx web Loading "https://www.windyty.com" with JavaFX WebView crashes JVM.
- other-libs corba NullPointerException in IIOPInputStream.inputClassFields
- security-libs java.security New fix for memory leak in ProtectionDomain cache
- security-libs java.security SecureRandom.nextBytes() hurts performance with small size requests
- security-libs java.security Print size of DH keysize when errors are encountered
- security-libs java.security Some methods of java.security.Security require more permissions, than necessary
- security-libs javax.crypto Ucrypto config file cannot be read when -Dfile.encoding=UTF-16 is set
- security-libs javax.crypto Improve jurisdiction policy file signing exception
- security-libs javax.crypto:pkcs11 KeyStore.load() throws an IOException with a wrong cause in case of wrong password
- security-libs javax.crypto:pkcs11 LoadKeystore.java test is failing
- security-libs javax.net.ssl Hot lock on BulkCipher.isAvailable
- security-libs javax.net.ssl Make handling of 3rd party providers more stable
- security-libs javax.security The fix for 8050402 was partially committed
- security-libs org.ietf.jgss:krb5 Relax response flags checking in sun.security.krb5.KrbKdcRep.check.
- security-libs org.ietf.jgss:krb5 Semicolon is not recognized as comment starting character (Kerberos)
- tools Native2ascii doesn't close one of the streams it opens
- tools javac Incorrect class file created when passing lambda in inner class constructor
- tools launcher Showing incorrect result while passing specific argument in the Java launcher tools
- xml jaxp Issue in XMLScanner: EXPECTED_SQUARE_BRACKET_TO_CLOSE_INTERNAL_SUBSET when skipping large DOCTYPE section with CRLF at wrong place