檢視 Java 的原始碼
←
Java
跳至導覽
跳至搜尋
由於下列原因,您沒有權限進行編輯此頁面的動作:
您請求的操作只有這個群組的使用者能使用:
使用者
您可以檢視並複製此頁面的原始碼。
{{Infobox programming language |name = Java |logo = [[File:Java.gif|120px]] |paradigm = [[物件導向程式設計]], [[結構化程式設計]]<!--, [[指令式編程]]--> |year = 1990年代 |designer = [http://tw.sun.com/ 昇陽電腦] |latest release version = 20 |latest release date = {{Start date and age|2023|04|21}} |typing = <!--[[Type system#Static and dynamic typing|Static]], [[Type system#Strong and weak typing|strong]], [[Type system#Safely and unsafely typed systems|safe]], [[Nominative type system|nominative]]--> |implementations = <!--[[List of Java virtual machines|Numerous]]--> |dialects = |influenced_by =<!-- [[Objective-C]], [[C++]], [[Smalltalk]], [[Eiffel programming language|Eiffel]], [[C Sharp|C#]]<ref>In Java 5.0, several features (the [[foreach|enhanced for loop]], [[autoboxing]], [[varargs]], [[annotation]]s and [[enumerated type|enums]]) were introduced, after proving themselves useful in the similar (and competing) language [[C Sharp|C#]]. [http://www.barrycornelius.com/papers/java5/][http://www.levenez.com/lang/][http://eclipsezone.com/eclipse/forums/t54318.html]</ref>--> |influenced = <!--C#, [[D programming language|D]], [[J sharp|J#]], [[PHP]], [[Ada (programming language)|Ada 2005]]--> |operating_system = [[跨平台]] |license = [[GPL]] |website = http://www.java.com/ }} '''Java''', *{{wikipedia|Java_(programming_language)|lang=en}} *[https://www.oracle.com/java/ Java Software | Oracle] ==技術文件== *[https://docs.oracle.com/en/java/ Java Documentation - Get Started] *{{wikipedia|Java_syntax|lang=en}} *{{wikipedia|Portal:Java|lang=en}} *{{wikibooks|Shelf:Java_programming_language|lang=en}} *{{wikiversity|Portal:Java|lang=en}} *[https://www.jcp.org/en/jsr/stage?listBy=final JSR](Java Specification Request) *[http://openjdk.java.net/jeps/0 JEP](JDK Enhancement Proposals) ; java *[https://docs.oracle.com/en/java/javase/index.html Java Platform, Standard Edition Documentation](JDK 7~JDK 20) *[https://docs.oracle.com/javaee/7/index.html Java Platform, Enterprise Edition (Java EE) 7 Release 7] *[https://docs.oracle.com/javame/8.3/index.html Java Platform, Micro Edition Embedded (Java ME Embedded) 8.3] *[http://docs.oracle.com/javase/tutorial/index.html The Java Tutorials] *[http://en.wikiversity.org/wiki/Learning_JAVA Learning JAVA] - wikiversity *[http://oss-tw.blogspot.com/2008/02/java-se-6-api.html Java SE 6 API 文檔-正體中文版] *[http://www.jcp.org/en/jsr/all JSRs: Java Specification Requests] *[http://www-01.ibm.com/support/knowledgecenter/SS8PJ7_9.0.0/org.eclipse.platform.doc.user/gettingStarted/intro/overview.htm?lang=zh-tw Java 開發人員使用手冊] ; javadoc *[http://java.sun.com/j2se/1.4.2/docs/api/ Java SE 1.4.2 API] / [http://java.sun.com/j2se/1.4.2/docs/ docs] *[http://java.sun.com/j2se/1.5.0/docs/api/ Java SE 1.5.0 API] / [http://java.sun.com/j2se/1.5.0/docs docs] *[http://java.sun.com/javase/6/docs/api/ Java SE 6 API] / [http://java.sun.com/javase/6/docs/ docs] *:[http://gceclub.sun.com.cn/Java_Docs/jdk6/html/zh_CN/api/index.html 簡体中文] *[http://java.sun.com/javase/7/docs/api/ Java SE 7 API] / [http://java.sun.com/javase/7/docs/ docs] *[http://docs.oracle.com/javase/8/ Java SE 8]([http://docs.oracle.com/javase/8/docs/api/index.html API]、[http://docs.oracle.com/javase/8/docs/ docs]) ;ScriptEngine *[http://docs.oracle.com/javase/6/docs/technotes/guides/scripting/programmer_guide/index.html Java Scripting Programmer's Guide] *[http://java.sun.com/developer/technicalArticles/J2SE/Desktop/scripting/ Scripting for the Java Platform] ; 相關教學 *[http://caterpillar.onlyfun.net/Gossip/JavaGossip-V1/JavaGossip.htm Java Gossip(一)] *[http://caterpillar.onlyfun.net/Gossip/JavaGossip-V2/JavaGossip2.htm Java Gossip(二)] *[http://sun.cis.scu.edu.tw/~nms9115/articles/java/WebAppTutor/ServletPrimer/ServletPrimer.htm Java Servlet 程式設計初步] *[http://elearning.stut.edu.tw/media/java/index.htm Java教材 - 南台科技大學] *[http://www.java2s.com/Tutorial/Java/CatalogJava.htm Java Tutorial] *[https://github.com/JustinSDK/JavaSE6Tutorial Java SE 6 技術手冊] *[https://www.codejava.net/java-se Java SE Tutorials] *[https://www.javatpoint.com/java-tutorial Java Tutorial | Learn Java Programming - javatpoint] ==Java的版本== {{main|Java的各版本}} # Java SE(Java Standard Edition) #:用於用戶端,{{wikipedia|J2SE}}。 # [[Jakarta EE]],原名Java EE(Java Platform, Enterprise Edition),或J2EE(Java 2 Platform, Enterprise Edition) #:用於伺服器端(內建一套網頁伺服器),{{wikipedia|J2EE}}。 # Java ME(Java Micro Edition) #:用於手機或其他嵌入式系统,{{wikipedia|J2ME}}。 ==Java程式的種類== * 圖形化使用者介面應用程式 # [http://java.sun.com/products/jdk/awt/ AWT(Abstract Window Toolkit)],{{wikipedia|Abstract_Window_Toolkit|lang=en}}。 # [http://java.sun.com/javase/6/docs/technotes/guides/swing/ Swing],{{wikipedia|Swing_(Java)|lang=en}}。 * 伺服器端應用程式 # [[Jakarta Servlet]] # [[JSP]] ==開發工具== ;RunTime :*[https://www.java.com/zh-TW/download/manual.jsp Java Runtime Environment] ;SDK :*[https://openjdk.java.net/ OpenJDK] :*[http://www.oracle.com/technetwork/java/javase/downloads/index.html Java SE] :*[http://www.oracle.com/technetwork/java/javaee/downloads/index.html Java EE] :*[http://www.oracle.com/technetwork/java/embedded/javame/javame-sdk/overview/index.html Jama ME] ;技術文件 :*[http://www.oracle.com/technetwork/java/api-141528.html API文件] <!-- [http://java.sun.com/developer/onlineTraining/new2java/javamap/intro.html 技術概念圖] :*[http://developers.sun.com.cn/home/sdnchina/home/ Sun中国技术社区- Sun Developer Network (SDN) Home]--> ;IDE {{see|IDE#Java}} ;Tools :*[http://ant.apache.org/ Ant] - [http://ant.apache.org/manual/index.html 手冊] ::*入門 [http://www.javaworld.com.tw/jute/post/view?bid=11&id=48098&sty=3&keywords=Ant+%E5%85%A5%E9%96%80 1] [http://www.javaworld.com.tw/jute/post/view?bid=11&id=48099&sty=3&keywords=Ant+%E5%85%A5%E9%96%80 2] [http://www.javaworld.com.tw/jute/post/view?bid=11&id=48100&sty=3&keywords=Ant+%E5%85%A5%E9%96%80 3] [http://www.javaworld.com.tw/jute/post/view?bid=11&id=48101&sty=3&keywords=Ant+%E5%85%A5%E9%96%80 4] [http://www.javaworld.com.tw/jute/post/view?bid=11&id=48102&sty=3&keywords=Ant+%E5%85%A5%E9%96%80 5] [http://www.javaworld.com.tw/jute/post/view?bid=11&id=48104&sty=3&keywords=Ant+%E5%85%A5%E9%96%80 6] [http://www.javaworld.com.tw/jute/post/view?bid=11&id=48105&sty=3&keywords=Ant+%E5%85%A5%E9%96%80 7] [http://www.javaworld.com.tw/jute/post/view?bid=11&id=48106&sty=3&keywords=Ant+%E5%85%A5%E9%96%80 8] [http://www.javaworld.com.tw/jute/post/view?bid=11&id=48107&sty=3&keywords=Ant+%E5%85%A5%E9%96%80 9] :*[http://www.swig.org/ SWIG]……Simplified Wrapper and Interface Generator ;逆向工具 {{main|逆向工程#Java}} ; 編譯器 *[http://llvm.org/ LLVM],{{wikipedia|LLVM|lang=en}}(持續發展中) *[http://gcc.gnu.org/java/ GCJ],{{wikipedia|GNU_Compiler_for_Java|lang=en}}(2009年發展中斷) ==Java用相關模組套件== {| class="wikitable sortable" bgcolor="#1f1f1f" border="1" cellpadding="2" cellspacing="0" width="100%" |- !模組名稱 !分類 !用途 |- | [http://xmlgraphics.apache.org/batik/index.html Batik SVG Toolkit] || 圖形 || |- | [http://commons.apache.org/codec/ Apache Commons Codec] || 網站(伺服器端) || |- | [http://jakarta.apache.org/commons/httpclient HttpClient] || 網站(伺服器端) || 跨站台讀取網頁用 |- | [http://logging.apache.org/log4j/ Apache log4j] || Log || |- | [http://sourceforge.net/projects/lumberjack Lumberjack Logging Package] || Log || |- | [[JavaMail]] || eMail ||{{wikipedia|JavaMail|lang=en}} |- | [http://www.jfree.org/jfreechart/ JFreeChart] || 圖形 || |- | [http://jmsn.sourceforge.net/ JMSN] || MSN || Open source MSN messenger clone by Java(但開發文件都韓文的) |- | [http://xerces.apache.org/xerces-j/ Xerces Java Parser] || XML || |- | [https://jaxp.dev.java.net/ JAXP] || XML || Java API for XML Processing |- | [[JDBC]] || 資料庫 || {{wikipedia|Java_Database_Connectivity|lang=en}} |- | [[Jakarta Project]] || || |- | [http://db.apache.org/jdo/javadoc.html JDO(Java Data Objects)] || 資料庫 || {{wikipedia|Java_Data_Objects|lang=en}} |- | [http://www.jinfonet.com/downloadjreport/ JReport] || 報表 || {{wikipedia|JReport|lang=en}} |- | [http://www.mozilla.org/rhino/ Rhino: JavaScript for Java] || Script引擎||JavaScript |- | [http://www.beanshell.org/ BeanShell] || Script引擎||Lightweight Scripting for Java |- | [[Java Media Framework|JMF(Java Media Framework)]] || 多媒體 || {{wikipedia|Java_Media_Framework|lang=en}} |- | [http://www.oracle.com/technetwork/java/javase/downloads/index-135046.html JavaBeans Activation Framework] || ||{{wikipedia|JavaBeans_Activation_Framework|lang=en}} |- | [[Java 3D]]|| 圖形 || {{wikipedia|Java_3D|lang=en}} |- | [http://jogamp.org/jogl/www/ JOGL(Java Binding for the OpenGL API)]|| 圖形 ||{{wikipedia|Java_Bindings_for_OpenGL|lang=en}} |- | [http://jogamp.org/jocl/www/ JOCL(Java binding for the OpenCL API)]|| 計算 || |- | [http://jogamp.org/joal/www/ JOAL(Java binding for the OpenAL API)]|| 聲音 ||{{wikipedia|Java_OpenAL}} |- | [http://explodingart.com/jmusic/ jMusic] || 音樂 || {{wikipedia|JMusic|lang=en}} |- | [http://www.lwjgl.org/ Lightweight Java Game Library] || 遊戲 || {{wikipedia|Lightweight_Java_Game_Library|lang=en}} |} ;其它 *[http://java-source.net/ Open Source Software in Java] ==討論區== * [http://www.javaworld.com.tw/jute/ JavaWorld@TW] * [http://www.programmer-club.com/pc2020v5/forum/forumN.asp?board_pc2020=java 程式設計俱樂部] * [http://www.andowson.com/forums/list.page 安道生網站技術練功房] ==OpenSource== * [http://www.open-open.com/ Java开源大全] * [http://www.owasp.org/index.php/Category:OWASP_Java_Project OWASP_Java_Project] ==相關== * [[JSP]] * [[Tomcat]] ==FAQ== ===字串比較=== * 字串比較必須透過使用java.lang.String,不能直接使用 == 或 != ** public int compareTo(String str) ** public int compareToIgnoreCase(String str) ** 或 Collator.compare(String str1, String str2) ===StringBuilder在JRE 1.4版以前,不存在=== * 改用近似的 [http://download.oracle.com/javase/1.4.2/docs/api/java/lang/StringBuffer.html StringBuffer] ===跨語言整合=== *[http://www.jscripter.org JS Libraries](Java To Script) *[https://developer.mozilla.org/en-US/docs/Mozilla/Projects/Rhino Rhino],{{wikipedia|Rhino_(JavaScript_engine)|lang=en}} ===Java啟動參數=== *[http://blog.csdn.net/sfdev/article/details/2062042 JAVA启动参数大全之一:标准参数] *[http://blog.csdn.net/sfdev/article/details/2063464 JAVA启动参数大全之二:非标准参数] *[http://blog.csdn.net/sfdev/article/details/2063928 JAVA启动参数大全之三:非Stable参数] ===多執行緒下的資料同步=== *[http://www.jackforfun.com/2007/07/java-synchronized.html Java Synchronized 心得] ===判斷Object裡原本的資料類型=== *[http://www.busfly.net/csdn/post/java-object-instanceof.html java中判断Object对象类型] ===查詢系統狀態=== {| width="100%" class="wikitable" |- !用途!!code |- |CPU核心總數量 |int processors = Runtime.getRuntime().availableProcessors(); |- |CPU架構 |string cpu = System.getProperties("os.arch"); |- |作業系統名稱 |string Name = System.getProperties("os.name"); |- |作業系統版本 |string ver = System.getProperties("os.version"); |- |剩餘可用記憶體 |long freeMem = Runtime.getRuntime().freeMemory(); |- |執行緒總數 |<pre> ThreadGroup rootGroup = Thread.currentThread( ).getThreadGroup( ); ThreadGroup parentGroup; while ( ( parentGroup = rootGroup.getParent() ) != null ) { rootGroup = parentGroup; } int activeCount = rootGroup.activeCount(); </pre> |- |} *相關: **[http://www.mkyong.com/java/how-to-detect-os-in-java-systemgetpropertyosname/ How to detect OS in Java – System.getProperty(“os.name”)] ===如何檢查預設的Java VM版本=== <pre> java -version </pre> ===從外部Class去Call私有的成員函數=== *[http://tutorials.jenkov.com/java-reflection/private-fields-and-methods.html Java Reflection: Private Fields and Methods] ===預防Null Pointer Exception=== *在使用指標前先判斷是否為Null,如果是字串比較的話,就把順序倒過來寫,如下 *[http://www.javacodegeeks.com/2012/06/avoid-null-pointer-exception-in-java.html Avoid Null Pointer Exception in Java] ===enum如何轉換成int=== *[http://stackoverflow.com/questions/8157755/how-to-convert-enum-value-to-int How to convert enum value to int?] ===javax.xml.bind在Java 11以後被移除=== *[https://blog.csdn.net/hadues/article/details/79188793 真正解决方案:java.lang.ClassNotFoundException: javax.xml.bind.JAXBException_Java_技术宅星云-CSDN博客-CSDN博客] *[https://stackoverflow.com/questions/52502189/java-11-package-javax-xml-bind-does-not-exist jakarta ee - Java 11 package javax.xml.bind does not exist - Stack Overflow] ===The constructor Integer(int) is deprecated since version 9=== * new Integer(0) 改寫成 Integer.valueOf(0) 依此類推 ===Java 9開始導入的module技術=== *[https://www.ithome.com.tw/voice/112345 Java 9模組化概觀 | iThome] *[https://www.baeldung.com/java-9-modularity A Guide to Java 9 Modularity | Baeldung] *[https://www.infoq.com/articles/Project-Jigsaw-Coming-in-Java-9/ Project Jigsaw is Really Coming in Java 9] *[http://openjdk.java.net/projects/jigsaw/spec/sotms/ The State of the Module System] ===檔案下載=== *[https://www.baeldung.com/java-download-file Download a File From an URL in Java | Baeldung] ===MP3撥放=== *[https://stackoverflow.com/questions/6045384/playing-mp3-and-wav-in-java audio - Playing .mp3 and .wav in Java? - Stack Overflow] ===.jar檔轉.exe檔=== *[http://launch4j.sourceforge.net/ Launch4j - Cross-platform Java executable wrapper] **[https://home.gamer.com.tw/creationDetail.php?sn=4663235 【教學】如何將Java程式轉執行檔(*.exe) - qpal147147的創作 - 巴哈姆特] [[Category:程式語言]] [[Category:Java]] [[Category:Sun]]
此頁面使用了以下模板:
模板:Infobox programming language
(
檢視原始碼
)
模板:Main
(
檢視原始碼
)
模板:See
(
檢視原始碼
)
模板:Wikibooks
(
檢視原始碼
)
模板:Wikipedia
(
檢視原始碼
)
模板:Wikiversity
(
檢視原始碼
)
返回「
Java
」頁面
導覽選單
個人工具
登入
命名空間
頁面
討論
變體
視圖
閱讀
檢視原始碼
檢視歷史
更多
搜尋
導覽
首頁
社群入口
新聞動態
新聞直播
近期變更
Online IDE
分類
程式語言
資料結構
演算法
技術
軟體
SQL資料庫
網站套件
免費資源
副檔名
檔案格式
分類
其他
動畫
漫畫
小說
小說導讀
驅動程式
購物用
求職網站
推薦書單
線上學習
技術類News或部落格
Microsoft devblogs
網頁技術News
資料技術News
安全性相關News
MS-MVP
藍色小舖認證專家
經營行銷類部落格
工具
連結至此的頁面
相關變更
特殊頁面
頁面資訊