程式設計(Java)入門:Java學習的30個目標
1.你需要精通面向物件分析與設計(OOA/OOD)、涉及模式(GOF,J2EEDP)以及綜合模式。你應該十分了解UML,尤其是class,object,interaction以及statediagrams。
2.你需要學習JAVA語言的基礎知識以及它的核心類庫(collections,serialization,streams, networking, multithreading,reflection,event,handling,NIO,localization,以及其他)。
3.你應該瞭解JVM,classloaders,classreflect,以及垃圾回收的基本工作機制等。你應該有能力反編譯一個類檔案並且明白一些基本的彙編指令。
4.如果你將要寫客戶端程式,你需要學習WEB的小應用程式(applet),必需掌握GUI設計的思想和方法,以及桌面程式的SWING, AWT, SWT。你還應該對UI部件的JAVABEAN元件模式有所瞭解。JAVABEANS也被應用在JSP中以把業務邏輯從表現層中分離出來。
5.你需要學習java資料庫技術,如JDBCAPI並且會使用至少一種persistence/ORM構架,例如Hibernate,JDO, CocoBase,TopLink,InsideLiberator(國產JDO紅工廠軟體)或者iBatis。
6.你還應該瞭解物件關係的阻抗失配的含義,以及它是如何影響業務物件的與關係型資料庫的互動,和它的執行結果,還需要掌握不同的資料庫產品運用,比如:oracle,mysql,mssqlserver。
7.你需要學習JAVA的沙盒安全模式(classloaders,bytecodeverification,managers,policyandpermissions,
codesigning, digitalsignatures,cryptography,certification,Kerberos,以及其他)還有不同的安全/認證 API,例如JAAS(JavaAuthenticationandAuthorizationService),JCE (JavaCryptographyExtension),JSSE(JavaSecureSocketExtension),以及JGSS (JavaGeneralSecurityService)。
8.你需要學習Servlets,JSP,以及JSTL(StandardTagLibraries)和可以選擇的第三方TagLibraries。
9.你需要熟悉主流的網頁框架,例如JSF,Struts,Tapestry,Cocoon,WebWork,以及他們下面的涉及模式,如MVC/MODEL2。
10.你需要學習如何使用及管理WEB伺服器,例如tomcat,resin,Jrun,並且知道如何在其基礎上擴充套件和維護WEB程式。
11.你需要學習分散式物件以及遠端API,例如RMI和RMI/IIOP。
12.你需要掌握各種流行中介軟體技術標準和與java結合實現,比如Tuxedo、CROBA,當然也包括javaEE本身。
13.你需要學習最少一種的XMLAPI,例如JAXP(JavaAPIforXMLProcessing),JDOM(JavaforXMLDocumentObjectModel),DOM4J,或JAXR(JavaAPIforXMLRegistries)。
14.你應該學習如何利用JAVAAPI和工具來構建WebService。例如JAX-RPC(JavaAPIforXML/RPC), SAAJ (SOAPwithAttachmentsAPIforJava),JAXB(JavaArchitectureforXMLBinding),JAXM (JavaAPIforXMLMessaging), JAXR(JavaAPIforXMLRegistries),或者JWSDP(JavaWebServicesDeveloperPack)。
15.你需要學習一門輕量級應用程式框架,例如Spring,PicoContainer,Avalon,以及它們的IoC/DI風格(setter,constructor,interfaceinjection)。
16.你需要熟悉不同的J2EE技術,例如JNDI(JavaNamingandDirectoryInterface),JMS (JavaMessageService),JTA/JTS(JavaTransactionAPI/JavaTransactionService), JMX (JavaManagementeXtensions),以及JavaMail。
17.你需要學習企業級JavaBeans(EJB)以及它們的不同元件模式: Stateless/StatefulSessionBeans,EntityBeans(包含Bean- ManagedPersistence[BMP]或者Container-ManagedPersistence[CMP]和它的EJB-QL),或者 Message-DrivenBeans(MDB)。
18.你需要學習如何管理與配置一個J2EE應用程式伺服器,如WebLogic,JBoss等,並且利用它的附加服務,例如簇類,連線池以及分散式處理支援。你還需要了解如何在它上面封裝和配置應用程式並且能夠監控、調整它的效能。
19.你需要熟悉面向方面的程式設計以及面向屬性的程式設計(這兩個都被很容易混淆的縮寫為AOP),以及他們的主流JAVA規格和執行。例如AspectJ和AspectWerkz。
20.你需要熟悉對不同有用的API和framework等來為你服務。例如Log4J(logging/tracing),Quartz (scheduling),JGroups(networkgroupcommunication),JCache (distributedcaching), Lucene(full-textsearch),JakartaCommons等等。
21.如果你將要對接或者正和舊的系統或者本地平臺,你需要學習JNI (JavaNativeInterface) and JCA (JavaConnectorArchitecture)。
22.你需要熟悉JINI技術以及與它相關的分散式系統,比如掌握CROBA。
23.你需要JavaCommunityProcess(JCP)以及他的不同JavaSpecificationRequests(JSRs),例如Portlets(168),JOLAP(69),DataMiningAPI(73),等等。
24.你應該熟練掌握一種JAVAIDE例如sunOne,netBeans,IntelliJIDEA或者Eclipse。(有些人更喜歡VI或EMACS來編寫檔案。隨便你用什麼了:)
25.JAVA(精確的說是有些配置)是冗長的,它需要很多的人工程式碼(例如EJB),所以你需要熟悉程式碼生成工具,例如XDoclet。
26.你需要熟悉一種單元測試體系(JNunit),並且學習不同的生成、部署工具(Ant,Maven)。
27.你需要熟悉一些在JAVA開發中經常用到的軟體工程過程。例如RUP(RationalUnifiedProcess)andAgilemethodologies。
28.你需要能夠深入瞭解加熟練操作和配置不同的作業系統,比如GNU/linux,sunsolaris,macOS等,做為跨平臺軟體的開發者。
29.你還需要緊跟java發展的步伐,比如現在可以深入的學習javaME,以及各種java新規範,技術的運用,如新起的web富客戶端技術。
30.你必需要對opensource有所瞭解,因為至少java的很多技術直接是靠開源來驅動發展的,如java3D技術。
原文:https://blog.csdn.net/rmn190/article/details/1965559
相關推薦
程式設計(Java)入門:Java學習的30個目標
1.你需要精通面向物件分析與設計(OOA/OOD)、涉及模式(GOF,J2EEDP)以及綜合模式。你應該十分了解UML,尤其是class,object,interaction以及statediagrams。 2.你需要學習JAVA語言的基礎知識以及它的核心
《Java語言程式設計(Java7)——入門與提高篇》內容簡介
本書共分6章。第1章是Java語言快速入門,讓讀者對程式語言和Java語言有初步的認識,能夠使用整合開發環境編寫出自己的第一個程式。第2章是對基本編碼能力的培養,包括基本資料型別、各種運算子、流程控制、方法和陣列。第3章是面向物件程式設計基礎,介紹瞭如何編寫類以及如何建立物件,並介紹了物件陣列
【深入Java虛擬機(1)】:Java內存區域與內存溢出
count 遇到 leak 分析 對象類型 深度 分配內存 解釋執行 尋址 內存區域 Java虛擬機在執行Java程序的過程中會把他所管理的內存劃分為若幹個不同的數據區域。Java虛擬機規範將JVM所管理的內存分為以下幾個運行時數據區:程序計數器、Java虛擬機棧、本地方法
「深入Java虛擬機(6)」:Java語法糖
拆裝箱 重載 jdk1 支持 名稱 不存在 語法糖 pub 簽名 語法糖(Syntactic Sugar),也稱糖衣語法,是由英國計算機學家Peter.J.Landin發明的一個術語,指在計算機語言中添加的某種語法,這種語法對語言的功能並沒有影響,但是更方便程序員使用。Ja
「深入Java虛擬機器(6)」:Java語法糖
語法糖(Syntactic Sugar),也稱糖衣語法,是由英國計算機學家Peter.J.Landin發明的一個術語,指在計算機語言中新增的某種語法,這種語法對語言的功能並沒有影響,但是更方便程式設計師使用。Java中最常用的語法糖主要有泛型、變長引數、條件編譯、自動拆裝箱、內部類等。虛擬機器並不支援這些語法
(2)Solr:Java後臺獲取Solr查詢資訊
這裡介紹兩種方法:1.Solrj,2.httpClient httpGet 1.Solrj 首先需要下載Solrj相關的jar包,其實在Solr的下載包中就已經包含了Solrj jar包和依賴的jar包,具體位置: 依賴:Solr解壓檔案\dist\sol
【深入Java虛擬機器(1)】:Java記憶體區域與記憶體溢位
記憶體區域 Java虛擬機器在執行Java程式的過程中會把他所管理的記憶體劃分為若干個不同的資料區域。Java虛擬機器規範將JVM所管理的記憶體分為以下幾個執行時資料區:程式計數器、Java虛擬機器棧、本地方法棧、Java堆、方法區。下面詳細闡述各資料區所儲存的
面試話癆(二)C:JAVA String,別以為你穿個馬甲我就不認識你了
面試話癆系列是從技術廣度的角度去回答面試官提的問題,適合萌新觀看! 面試官,別再問我火箭怎麼造了,我知道螺絲的四種擰法,你想聽嗎? String相關的題目,是面試中經常考察的點,當面試中遇到了String相關的問題,我們可以這麼聊: 一:String底層結構 從底層結構上來說,
(14)入門:演算法初級
選擇排序虛擬碼 a <- { '0':4, '1':6, '2':3, '3':2, '4':1, 'length': 5
(11)入門:CSS佈局與定位
谷歌搜尋wall haven 關鍵字找背景圖片 塊級元素高度 由其內部文件流元素的高度總和決定 文件流:文件內元素的流動方向(內聯元素從左往右移動,塊級元素從上往下流動) 內聯元素高度:字型以及跟設計師設計的那些引數相關 word-break屬性break-all break-word 方應杭 cs
(10)入門:CSS
從IE 8開始相容,低於IE 8都不看 css spec 谷歌搜尋 center css tricks 院一峰 css codrops style 屬性 內聯樣式 style 標籤 外部樣式 @import url{./b.ss} 所有的子元素浮動,它們的父元素加clearfix <spa
(9)入門:HTML 續
iframe 標籤 iframe常用作巢狀一個頁面 <iframe src="https://www.baidu.com" name="xxx"></iframe>這行程式碼把百度頁面巢狀在ifram
Pytorch(三)入門:線性迴歸
給定一個數據點集合XXX和對應的目標值yyy,線性模型的目標就是找到一條使用向量www和位移bbb描述的線,來儘可能地近似每個樣本X[i]X[i]X[i]和y[i]y[i]y[i]。用數學符號來表示就是: y^=Xw+b\hat{y} = Xw + by^=X
Java併發程式設計(1):可重入內建鎖
每個Java物件都可以用做一個實現同步的鎖,這些鎖被稱為內建鎖或監視器鎖。執行緒在進入同步程式碼塊之前會自動獲取鎖,並且在退出同步程式碼塊時會自動釋放鎖。獲得內建鎖的唯一途徑就是進入由這個鎖保護的同步程式碼塊或方法。 當某個執行緒請求一個由其他執行緒持有的鎖時,發出請求的執行緒就會阻塞。然而,由於內建鎖是可
Java併發程式設計(2):執行緒中斷(含程式碼)
使用interrupt()中斷執行緒當一個執行緒執行時,另一個執行緒可以呼叫對應的Thread物件的interrupt()方法來中斷它,該方法只是在目標執行緒中設定一個標誌,表示它已經被中斷,並立即返回。這裡需要注意的是,如果只是單純的呼叫interrupt()方法,執行緒並沒有實際被中斷,會繼續往下執行。
Java併發程式設計(3):執行緒掛起、恢復與終止的正確方法(含程式碼)
JAVA大資料中高階架構 2018-11-06 14:24:56掛起和恢復執行緒Thread 的API中包含兩個被淘汰的方法,它們用於臨時掛起和重啟某個執行緒,這些方法已經被淘汰,因為它們是不安全的,不穩定的。如果在不合適的時候掛起執行緒(比如,鎖定共享資源時),此時便可能會發生死鎖條件——其他執行緒在等待該
Java併發程式設計(4):守護執行緒與執行緒阻塞的四種情況
守護執行緒Java中有兩類執行緒:User Thread(使用者執行緒)、Daemon Thread(守護執行緒) 使用者執行緒即執行在前臺的執行緒,而守護執行緒是執行在後臺的執行緒。 守護執行緒作用是為其他前臺執行緒的執行提供便利服務,而且僅在普通、非守護執行緒仍然執行時才需要,比如垃圾回收執行緒就是一個
2018面向物件程式設計(Java)第11周學習指導及要求
2018面向物件程式設計(Java)第11周學習指導及要求 (2018.11.8-2018.11.11) 學習目標 (1) 掌握Vetor、Stack、Hashtable三個類的用途及常用API; (2) 瞭解java集合框架體系組成; (3) 掌握ArrayList、LinkLis
Java併發程式設計(7):使用synchronized獲取互斥鎖的幾點說明
在併發程式設計中,多執行緒同時併發訪問的資源叫做臨界資源,當多個執行緒同時訪問物件並要求操作相同資源時,分割了原子操作就有可能出現數據的不一致或資料不完整的情況,為避免這種情況的發生,我們會採取同步機制,以確保在某一時刻,方法內只允許有一個執行緒。 採用synchronized修飾符實現的同步機制叫做互斥鎖
Java併發程式設計(8):多執行緒環境中安全使用集合API(含程式碼)
Java併發程式設計(8):多執行緒環境中安全使用集合API(含程式碼)JAVA大資料中高階架構 2018-11-09 14:44:47在集合API中,最初設計的Vector和Hashtable是多執行緒安全的。例如:對於Vector來說,用來新增和刪除元素的方法是同步的。如果只有一個執行緒與Vector的例