1. 學習java應該關注哪些網站
推薦10個常用的Java網站
Stackoverflow
Stackoverflow.com 可能是編程界中最流行的網站了,該網站有成千上萬個好問題和答案。學習API或者編程語言,通常依賴於代碼示例,stackoverflow就可以提供大量的代碼片段。
Stackoverflow的另一個優點在於它的社交性。你可以在一些特定的標簽下查看問題,比如「Java」、「regex」,你就會看到哪些是高頻問題。這對於學習,以及Java博主書寫熱門話題都是一種非常好的資源。
DZone
這是一個非常有趣的網站,有相當多的開發者在這個網站上分享他們博客文章。就像一場冒險一樣,在這里,你永遠不知道下一秒會看到什麼內容。
LeetCode
如果有Java方面的面試問題,例如「在Java中,內存中的數組是什麼樣的」,你可以從很多Java教程中找到答案。但是,遇到類似於「如何將SortedArray轉化成一個BalancedTree」這樣的問題,你就應該去求助LeetCode了。LeetCode包含一系列演算法問題, 它能為有關信息技術的面試提供一個社會性的平台。這個網站最好的地方就是,它可以通過大小不同的數據在線檢查你的代碼是否正確。很多人認為,面試成功的關鍵在於重復這三個重要步驟:編碼->閱讀->討論。
JavaSE技術文檔
這個網站包含了在使用JavaSE API時會用到的所有文檔,即使你是Java開發牛人,我敢肯定在這里你仍能發現一些有用的東西。比如,你可以閱讀一些像「Java類的本質」、「部署」這樣的教程。
Github
你也許知道可以免費的將你的項目託管在哪,但你不一定知道它還是一個學習當今流行的Java庫和框架的優秀資源。比如,你想學 Spring MVC Framework,你可以搜索並且找到一些開源的項目。遵循「照葫蘆畫瓢」的原則,你能夠通過實例快速的學習框架,尤其是你已經具有使用類似框架的經驗。
Coursera
這是有關視頻講座的最好網站,在這里你可以找到許多頂尖學校的著名教授的優秀計算機科學課程。這些教授中,有些甚至是一些計算機科學領域的發明者。
JavaWorld
這個網站包含了大量的Java教程,涉及各種各樣的話題。其中很多文章都寫的很好,並且有圖片、插圖進行說明。它可以被用來當作深度學習的教科書。
DevStore
這個網站是針對開發者做的一個服務商店,為開發者提供從設計開發到運營推廣一站式的解決方案。開發者在任何階段需要某種服務時,都可通過DevStore進行參數對比,查看評測、快速體驗等來了解,不再需要一一搜索。
Wikipedia 維基網路
這個網站是查詢或學習幾乎所有概念的最好的資源之一。例如,作為一個資深的Java開發人員,你可能只是想了解一些概念並不想深度研究。這里是一個可以免費查詢最新信息的好地方。例如,什麼是面向服務的編程?另外,它還能為你的寫作提供大量素材。比如,同一個詞在不同的領域可能會有完全不同的含義。有時,研究這些詞在不同領域的不同含義是非常有意思的。
Program Creek
與以上幾個網站相比,Programcreek.com在規模上要小很多。但是規模小也有優點,它在維護方面做的更好,讀起來更有趣。在這里,你可以找到其他任何網站都不曾涉及到的話題,而且幾乎每篇文章都包含漂亮的插圖或者示例代碼。它包含了來自不同領域的人發表的文章(科研、工業),並且經常為Java開發者提供優質材料。希望有一天,它也會出現在一些人的網站前十名排行名單中。
注:當然,對於Java開發牛人來說還有很多其它不錯的網站。如果你認為有其他的網站也應該列在這里,請留言,我以後也會加進去的。謝謝。
2. java入門經典的書籍
java入門教程、java編程思想、java面向對象編程等
3. The Java EE 5 Tutorial中文版電子書在哪下載
全部復制到地址欄:
http://61.dc.ftn.qq.com/ftn_handler//JavaEE5.chm?k=
提取碼:
92ee0bbd
4. java什麼意思
JAVA介紹
一、前言
『Java』從1995年的暑假開始在計算機業界就受到了高度注意,特別是在Internet和多 媒體(Multimedia)相關產品類方面。Java為何有如此這么大的魅力?人作如此的比喻: Java在全球資訊網(World Wide Web, WWW )地位就如同電子表格(Spreadsheet)與個人計 算機(PC)的關系。那Java究竟有那些特色呢?
Java是一種軟體技術
是一種由美國SUN計算機公司(Sun Microsystems, Inc.)所研究而成的語言
是一種為 Internet發展的計算機語言
是一種使網頁(Web Page)產生生動活潑畫面的語言
是一種使網頁(Web Page)由靜態(Static)轉變為動態(Dynamic)的語言
是一種語言,用以產生「小應用程序(Applet(s))」
是一種簡化的C++語言 是一種安全的語言,具有阻絕計算機病毒傳輸的功能
是一種將安全性(Security)列為第一優先考慮的語言
是一種使用者不需花費很多時間學習的語言
是一種突破用戶端機器環境和CPU結構的語言
是一種「寫一次,即可在任何機器上執行(Write OnceRun Anywhere)」的語言是有史以來,第一套允 使用者將應用程序(Applications)通過Internet從遠端的伺服器(Remote Server)傳輸到本地端的機器 上(LocalMachine)並執行
是一種應用程序提供者不需要知道使用者的計算機硬體(如:Sun, Intel, 或MAC等)與軟體(如:SW- UNIX, MAC O/S, Windows, 或NT等)環境的語言(Kestenbaum, 1995)。
下面將依序地介紹Java,首先是Java的發展歷史與Java語言介紹,其次依序是Java Applet和HotJava的簡單介紹。
二、Java FAQ
下面以問答的方式來說明Java的發展歷史與其背景(下列內容整理自 Java FAQ list and Tutorial和The Java Language: A White Paper,讀者若欲深 入了解,請自行參閱原文):
Java何時開始發展?(When)
最早大概可追溯至1991年四月份,Sun的綠色計劃(Green Project)開始著手於發展消費性電子產品(Consumer Electronics),所使用的語言是C、C++、及Oak (為Java語 言的前身),後因語言本身和市場的問題, 使得消費性電子產品的發展無法達到當初 預期的目標,再加上網路的興起, 綠色計劃也因此而改變發展的方向,這已是1994 年了。
為何稱之為Java?(Why) "Java"是美國SUN計算機公司Java發展小組歷經無數次的激烈討論之後才被選擇出。 生動(Liveliness)、動畫(Animation)、速度(Speed)、交互性(Interactivity)為當 初選擇名字時所欲表達出的特色。"Java"是在無數的建議中脫穎而出的,而"Java" 不是由幾個單字的首字所組成, 而是從許多程序設計師鍾愛的熱騰騰、香濃咖啡中 產生靈感的。
誰開發了Java?(Who) Java是美國SUN計算機公司Java發展小組開發的,早期的成員(綠色工程)是Patrick Naughton, James Gosling, & Mike Sheridan,而現在大家較為熟悉的成員是James Gosling。
在那裡開發了Java?(Where)
也就是問Java的出生地?答案是美國。
如何可以找到所需的Java信息?(How to)
在網路上,您可以連到Sun公司的Java WWW 網站,URL是http://java.sun.com/,或是 http://www.javasoft.com/。在那裡幾乎可以找到您所需要的所有Java信息,但是語 言多少是一個障礙, 至少對某些人而言;沒關系,目前國內已有很多個網站提供中文 Java信息。在清華和中科院的FTP站點上有不少有關資料。想像以後應會有更多的站點提供相關信息。
如何才能看到Java的效果?(How Do I)
首先您需要有含有Java解釋器的瀏覽器(Browser),例如:Netscpae公司的Netscape Navigator 2.0以上或是Sun公司的HotJava瀏覽器,對個人計算機使用者而言,操作 系統需是Windows 95或是Windows NT。
Java是因為撰寫C++語言程序時的困難而研製開的,起先,只是一個消費性電子產品 大計劃中的一部份,C++語言是當初被考慮採用的,但從一開始的編譯問題一直到最 後的一連串問題迫使得放棄C++語言,而有Java語言的產生。Sun是要Java成為一個簡 單(Simple)、面向對象的(Object Oriented)、 分布式的(Distributed)、解釋的(Interpreted)、健壯的(Robust)、安全的(Secure)、 結構中立的(Architecture Neutral)、可移植的(Portable)、高效能的(High Performance)、多線程的(Multithreaded)、動態的(Dynamic)的程序語言(摘譯自 TheJava Language: A White Paper, 1995)。
在Sun的Java語言白皮書中明白地說明上述Java語言的技巧。若以木工為比喻,一個面 向對象的木工,他(她)最主要的重點是即將要做的木椅子,其次才是所需要的工具; 反之;一個以非面向對象的木工,他(她)所關心的只是工具。最近的即插即用(Plug and Play)亦是面向對象設計的重點。 分布式的(Distributed):Java有一個很周全的程薪錄JAVA介紹 。
一、
『Java』從1995年的暑假開始在計算機業界就受到了高度注意,特別是在Internet和 多媒體(Multimedia)相關產品類方面。Java為何有如此這么大的魅力?人作如此的比喻: Java在全球資訊網(World Wide Web, WWW )地位就如同電子表格(Spreadsheet)與個人計 算機TTP和FTP等TCP/IP通訊協定相配合。Java應用程序(Applications) 能在網路上開啟及連結使用物件,就如同透過URLs連結使用一個本地文件系統(Local File System)。 健壯的(Robust):由Java所編寫出的程序能在多種情況下執行而具有其穩定性。Java與 C/C++最大不同點是Java有一個指針模型(Pointer Model)來排除內存被覆蓋(Overwriting Memory)和毀損數據(Corrupting Data)的可能性。
安全的(Secure):Java是被設計用於網路及分布式的環境中,安全性自必是一個很 重要的考慮。Java擁有數個階層的互鎖(Interlocking)保護措施,能有效地防止病 毒的侵入和破壞行為的發生。
結構中立的(Architecture Neutral):一般而言,網路是由很多不同機型的機器所 組合而成的,CPU和作業系統體系結構均有所不同;因此,如何使一個應用程序可以 在每一種機器上執行,是一個難題。所幸,Java的編譯器產生一種結構中立的目標 文件格式(Object File Format);這使得編解碼得以在很多種處理器中執行。
可移植的(Portable):原始資料型式的大小是被指定的,例如"float"一直是表示一 個32位元IEEE 754浮點運算數字,因絕大多數的CPU都具有此共同特徵。程序庫屬於 系統的一部份,它定義了一些可移植的程序介面,Java本身具備有很好的可移植性。
解釋的(Interpreted):Java解釋器能直接地在任何機器上執行Java位元碼(Bytecodes), 因此在進行程序連結時,時間的節省,這對於縮短程序的開發過程,有極大的幫助。
高效能的(High Performance):Java位元碼迅速地能被轉換成機器碼(Machine Code), 從位元碼轉換到機器碼的效能幾乎與C與C++沒有分別。
多線程的(Multi threaded):Java語言具有多線程的功能,這對於交互回應能力及 即時執行行為是有幫助的。
動態的(Dynamic):Java比C或C++語言更具有動態性,更能適應時刻在變的環境, Java不會因程序庫的更新,而必須重新編譯程序。
此外,Hank Shiffman (Making Sense of Java)亦針一般對Java的錯誤看法及觀 念提出他的說明,特在此摘譯如下:
"Java是一種編寫Web Pages的一種語言,就如同HTML和VRML一樣" 事實上,Java並不像是HTML此一類的描述語言(Description Language),而是一種 編程語言(Programming Language)。描述語言標明內容和位置,而編程語言描述一 種產生結果的過程。
2. "Java語言容易學習和使用,不像C、C++和其它程序語言"
Java是一種編程語言。Java容易學嗎?Java或許是比C或C++容易學,但仍是一種編程語言,而不是一種描述語言。
3. "Java碼是可移植的,但C及C++不是"
Java原代碼(Source Code)是比C語言來得可移植一點,差別在於Java的目標碼。 Java碼在一種機器上進行編譯,而能在所有的機器上執行, 只要那部機器上有 Java解釋器。
4. "Java能被拓展而在機器上執行任何事情"
理論上,Java Applet (Java小應用程序)能做任何事情,如模擬3D VRML模型、播放電影、產生音頻....等。但事實上,一個小應用程序(Applet)僅能在那一頁上被執行,而無法在那一頁之外執行。同時,Java亦受限於程序庫的功能。
5. "Java是適合於建立大型的應用程序"
如果Java適合於大型程序,則Java就不適合應用於Web瀏覽器了。第一個商業 性的Java Applets (Applix's Java-Based Spreadsheet) 並不是全然使用Java, 它只使用Java作為用戶介面,而所有的處理工作, 是用CGI碼。
6. "Java是解釋執行的,Basic是解釋執行的,因此Java=Basic"
雖然Java的確是使用解釋器,但事實上,Java則與C或C++等完全編譯語言較為相近,但與Basic或APL等完全解譯語言較不相近。
7. "Java刪除了CGI命令稿(Scripts)和程序的需求"
Java Applets將會取代部份CGI的用途。在有些情況,Java Applets能夠取代一些伺服器端代碼(Server-Side Code),但大多數的情況,基於安全性理由或是效 能的考慮,Java仍無法全然取代CGI Scripts。
8. "Netscape's JavaScript是與Java有相關"
除了名稱之外,Java和JavaScript是有一點點相關。JavaScript是一種命令稿語 言,是可以在HTML頁中使用。Java碼並未出現在HTML中,而在HTML中通過一個鏈 結來鏈結編解碼組。Java和JavaScript之間的關系就如同C語言和C Shell一般。
5. java Tutorial的簡單編程
文件名 BicycleDemo.java
public class BicycleDemo {
public static void main(String[] args) {
// Create two different Bicycle objects
Bicycle bike1 = new Bicycle();
Bicycle bike2 = new Bicycle();
// Invoke methods on those objects
bike1.changeCadence(50);
bike1.speedUp(10);
bike1.changeGear(2);
bike1.printStates();
bike2.changeCadence(50);
bike2.speedUp(10);
bike2.changeGear(2);
bike2.changeCadence(40);
bike2.speedUp(10);
bike2.changeGear(3);
bike2.printStates();
}
}
class Bicycle {
int cadence = 0;
int speed = 0;
int gear = 1;
void changeCadence(int newValue) {
cadence = newValue;
}
void changeGear(int newValue) {
gear = newValue;
}
void speedUp(int increment) {
speed = speed + increment;
}
void applyBrakes(int decrement) {
speed = speed - decrement;
}
void printStates() {
System.out.println("cadence:"+cadence+" speed:"+speed+" gear:"+gear);
}
}
6. java docs有中文版嗎包含tutorial的。
已經發到你郵箱,請查收。
7. 關於java語言
基礎一些的書籍有:《Java程序設計教程》,機械工業出版社,2004.9 施霞萍 編著 這本適合初學者看,不需要C的基礎。
以後想做軟體工程的話這些書都不錯:《JAVA2實用教程(第二版)》,耿祥義、張躍平編著,王克宏主審,清華大學出版社,2004年2月
《Java編程思想(2nd)》,英文原版書名:Thinking in Java,Bruce Eckel著,侯捷譯,機械工業出版社。
《Java語言導學》,英文原版書名:The Java Tutorial(Third Edition),Mary Campione、Kathy Walrath、Alison Huml 著,機械工業出版社有翻譯版
《Java大學教程》,英文原版書名:Java how to program,Harvey M.Deitel 著,奚紅宇譯,電子工業出版社。
《Java 2核心技術》卷 I:基礎知識,英文原版書名:Core Java 2, Volume I:Fundamentals, Cay S.Horstmann、Gary Cornell 著,李如豹、剛冬梅等譯,機械工業出版社。