java编程学习方法_在线学习Java编程的最佳方法
java編程學習方法
1.簡介
Java是使用最廣泛的編程語言之一。 根據Github的最新報告 ,Java被列為僅次于JavaScript的第二大最常用的編程語言。 掌握Java的人有很多話題。 好消息是,您可以在線找到很多內容。 在這篇文章中,我們將對所有這些主題進行分類,并提供對文章和代碼示例的引用,這些文章和代碼示例將指導您完成學習Java的過程。
目錄
1.簡介 2.先決條件 3.基礎知識-核心Java 4.數據類型 5.館藏 6.算法 7.并發 8.設計模式 9. Spring框架 10. JDBC – JPA –Hibernate 11.建筑學 12. Java 8+ 13.桌面Java 14.測試 15.記錄 16.面試題 17.結論2.先決條件
2.1安裝Java
開始編寫第一個程序之前的第一步是安裝Java,尤其是JDK (Java開發工具包),它由編寫程序所需的庫和Java編譯器(稱為JRE)組成 。 可以找到有關如何通過JDK命令安裝Java和運行第一個程序的分步指南:
- 如何創建和運行第一個Java程序
2.2安裝IDE
IDE是必不可少的工具,因為它可以幫助您開發和編譯Java程序。 IDE捆綁了一組插件,可以使您的生活更輕松。 最廣泛使用的IDE是:
- 蝕
- IntelliJ
- NetBeans
如果要了解有關如何下載,安裝和使用這些IDE的更多信息,請閱讀以下教程:
- Eclipse初學者教程
- IntelliJ IDEA初學者教程
- NetBeans IDE教程
在接下來的部分中,我們將繼續介紹Java基礎知識。
3.基礎知識-核心Java
安裝Java和您最喜歡的IDE之后,您就可以學習Java的基礎知識,也稱為Core Java 。 在此之前,您應該首先了解程序如何通過main方法啟動:
- Java公共靜態void main(String [] args)示例
3.1 Java包
Java項目由類組成,這些類分組在包中。 它類似于文件夾(包)和文件(類)的概念。 一個組織良好的項目將幫助開發人員輕松維護,理解和閱讀代碼。
- 項目包裝組織
- 關于Java包
3.2 Java變量
現在讓我們看看Java支持哪些變量以及如何聲明它們。 變量是Java程序中基本的存儲單元。 變量由標識符,類型和可選的初始化程序的組合定義。 此外,所有變量都有一個范圍,該范圍定義了它們的可見性和生存期。
- Java變量
參見下面的聲明和初始化Java變量的示例:
int a, b, c; // declares three ints, a, b, and c.int d = 3, e, f = 5; // declares three more ints, initializing // d and f.byte z = 22; // initializes z.double pi = 3.14159; // declares an approximation of pi.char x = ‘x’; // the variable x has the value ‘x’.boolean d = false; // boolean value initialized with value false;3.4 Java原始數據類型
原始數據類型是最基本的數據類型。 Java定義了八種原始數據類型:字節,短型,整數,長型,字符,浮點型,雙精度和布爾型。 在前面的示例中,我們看到了如何聲明它們并對其進行初始化。 讓我們更詳細地了解以下內容:
- Java數據類型和標識符
3.5 Java運算符
運算符用于對變量和值執行運算。 簡而言之,最基本的運算符及其在Java中的用法是:
- 使用Additive運算符添加變量。
- 使用Subtraction運算符減去變量。
- 使用Multiplication運算符可以將變量相乘。
- 使用Division運算符對變量進行除法。
- 使用Modulo運算符可獲取變量除法的余數。
要了解有關這些運算符的更多信息,請參閱以下文章:
- 算術運算符
- 模運算符
3.6 Java if-else
if-else語句是所有控制流語句中最基本的。 它告訴您的程序僅在特定測試的結果為true時才執行代碼的特定部分。 它具有非常簡單的語法,可以找到更多信息:
- 簡單的if / else語句
- 如果–否則為編碼風格最佳實踐
以下是if-else語句的一個非常基本的示例:
boolean b = false;if (b) {System.out.println("Variable value is true"); } else {System.out.println("Variable value is NOT true"); }3.7 Java循環
如果您需要多次執行一個代碼塊,那么您肯定必須使用一種名為loop的機制。 Java提供了三種循環機制,分別是for , while循環和switch語句。
- Java for循環示例
- Java for-each循環示例
- Java切換案例示例
下面我們來看一個使用最廣泛的for循環示例:
public static void main(String args[]) {String[] cities = { "Athens", "Thessaloniki", "Chania", "Patra", "Larissa" };for (String cityname : cities) {System.out.println(cityname);}}3.8 Java數組
數組在大多數Java程序中都使用。 您需要了解如何初始化和迭代數組,而無需訪問數組以獲取超出數組范圍的索引。
- Java字符串數組示例
在下面找到數組初始化和迭代的示例:
public static void main(String args[]) {// declare a string array with initial sizeString[] schoolbag = new String[4];// add elements to the array schoolbag[0] = "Books";schoolbag[1] = "Pens";schoolbag[2] = "Pencils";schoolbag[3] = "Notebooks";// this will cause ArrayIndexOutOfBoundsException// schoolbag[4] = "Notebooks"; }3.9 Java異常
沒有任何程序可以編寫出完美無瑕的文件。 為此,Java支持通過異常處理錯誤。 開發人員或Java本身都會引發異常。
- 處理Java中的異常
- Java異常處理教程(包含示例和最佳實踐)
4.數據類型
Java 數據類型是編程中非常重要的數據結構的實現。 下面我們列出了最重要的方法及其示例。
4.1字符串
String類可能是Java程序中最常用的類型之一。 字符串實際上是一個字符序列。 實際上,字符串對象由char數組支持。 一個String,可以通過兩種方式初始化:
String str= "Hello World"; String str = new String("Hello World");有關String類的更多信息,請參見:
- Java字符串類示例
Java提供了許多使開箱即用即簡單又有效的方法。 最重要的是:
- Java字符串格式示例
- Java字符串比較示例
- Java字符串拆分示例
- Java字符串替換示例
- Java String replaceAll示例
- Java字符串長度示例
- Java字符串包含示例
- Java字符串匹配示例
- Java字符串數組示例
4.2套
集合是保存唯一值的數據結構。 在Java中, Set接口具有多種實現,這些實現可提供快速查找,因此在程序中得到了廣泛使用。 Set接口使用最廣泛的實現是HashSet類。
- Java設置示例
- Java中的HashSet
4.3地圖
映射是保存鍵值對的數據結構。 與Set相似, Map界面也有多種實現,它們提供了快速查找。 Map接口使用最廣泛的實現是HashMap類。
- Java Map示例
- Java Hashmap示例
4.4排隊
隊列是一種數據結構,其中元素按順序保留。 Queue接口具有多種實現,而LinkedList類是最常用的一種。
- Java隊列示例
- Java中的LinkedList
4.5樹
樹是一種數據結構,其中包含一個從根開始的元素集合,其中每個元素都包含一個值和對子元素的引用。 Java提供的樹實現是TreeMap和TreeSet類。
- Java.util.TreeMap示例
- Java.util.TreeSet示例
4.6枚舉
枚舉是一種特殊的數據類型,它使變量能夠屬于一組預定義的常量。 枚舉內部定義的值是常量,應以大寫字母鍵入。
- Java枚舉示例
5.館藏
Java Collections框架是一組類和接口,這些類和接口實現了我們在上一節中看到的一些最常用的集合數據結構,例如Set,Map,Queue,Tree。 java.util.Collections類具有一些非常重要的方法:
- java.util.Collections示例
- Java集合排序示例
- 隨機播放列表元素示例
- 清單范例的倒序
- 替換列表示例的所有元素
- 將Collection復制到另一個Collection示例
以下比較將幫助您根據用例決定最佳的數據結構。
- Java HashMap與TreeMap示例
- Java ArrayList與LinkedList示例
6.算法
了解如何在Java中實現諸如排序,遞歸等常用算法非常重要。 無論您使用哪種編程語言,理解和學習算法都將使您成為更好的開發人員。 下面我們提供一些最常見的算法:
- Java中的Quicksort算法
- Java中的Mergesort算法
- Java遞歸示例
- Java中的析因程序
- Java回文計劃
- Java素數示例
- 二進制搜索Java數組示例
7.并發
Java對同時執行多個線程的多線程程序具有出色的支持。 并發是Java中最難理解和掌握的主題之一,因此它需要大量的閱讀和練習。 要開始并發,請閱讀:
- 線程和并發介紹
- Java Concurrency Essentials教程
- 您可以下載Java Concurrency Essentials
然后,您應該學習并發的基礎知識,例如死鎖,監視器,synced和volatile關鍵字:
- 并發基礎知識:死鎖和對象監視器
- Java同步關鍵字示例
- Java中的Volatile如何工作?
- Java Concurrency Essentials教程
Java提供并發類,這些類將幫助您開發多線程程序:
- Java AtomicInteger示例
- java.util.concurrent包
- CountDownLatch示例
- 叉/連接框架
最后,對于并發應用程序,應考慮性能和測試:
- 性能,可伸縮性和活力
- 測試并發應用
8.設計模式
作為Java開發人員要學習的另一個非常重要的主題是設計模式 。 在編程中,設計模式為軟件設計中的常見問題提供了解決方案。 可以轉換為代碼的設計模式非常多。 一些最常用的是:
- 辛格爾頓
- 抽象工廠
- 廠
- 建造者
- 觀察者
- 正面
除了上述內容之外,如果您想成為Java程序的設計和體系結構的大師,還需要學習其他設計模式。 這些是以下內容:
- 游客
- 迭代器
- 裝飾器
- 口譯員
- 命令
- 戰略
- 州
- 模板
- 紀念
- 原型
- 飛行重量
- 責任鏈
- 代理
- 調解員
- 橋
- 綜合
- 適配器
9. Spring框架
Java有一個龐大的開放源代碼社區,該社區建立了許多簡化Java應用程序開發的框架。 最著名的是Spring框架。 Spring是一個開放源代碼框架,由幾個模塊組成,這些模塊可以解決企業應用程序開發的復雜性。 要開始使用Spring:
- Spring初學者教程實例
- 您可以下載Spring Framework Cookbook
下面我們看一下Spring提供的最重要的模塊。
9.1SpringAOP
Spring AOP用于提供聲明性企業服務,尤其是代替EJB聲明性服務。 它也用于允許用戶實現自定義方面,并通過AOP補充其對OOP的使用。
- Spring AOP示例
9.2Spring安全
Spring Security使開發人員可以通過托管方式輕松集成安全功能。 它還與最新的OAuth2授權框架集成在一起,該框架使第三方應用程序可以通過協調資源所有者和HTTP服務之間的批準交互來代表資源所有者來獲得對HTTP服務的有限訪問權,或者第三方應用程序代表自己獲取訪問權限。
- Spring Security 4教程
- Spring Security OAuth2示例
- 通過數據庫身份驗證教程的Spring Security
9.3Spring交易
Spring使用注釋簡化了事務管理。 IT在不同的事務管理API之上提供了一個抽象層,它可以幫助我們專注于業務問題,而無需了解太多有關底層事務管理API的知識。
- 帶有JDBC示例的Spring事務管理示例
- 在Spring中了解事務注釋
- Spring @Transactional實際如何工作?
9.4Spring數據
Spring Data使使用數據訪問技術,關系和非關系數據庫,map-reduce框架以及基于云的數據服務變得容易。 使用Spring Data的好處在于,它刪除了許多樣板代碼,并提供了更清潔,更易讀的DAO層實現。 此外,它還有助于使代碼松散耦合,因此,在不同JPA供應商之間進行切換是配置問題。
- Spring數據初學者教程
- Spring Data JPA教程
- 您可以下載Spring Data Programming Cookbook
9.5 Spring MVC
Spring MVC提供了Model-View-Controller架構,簡化了松耦合Web應用程序的開發。 對于Web應用程序,后果還包括許多挑戰。 具體來說,其中一些是狀態管理,工作流和驗證。 HTTP協議的無狀態性質只會使事情變得更加復雜。 Spring Web框架旨在幫助我們應對這些挑戰。
- Spring MVC教程
- Spring MVC Hello World示例
- Spring MVC體系結構概述示例
9.6 Spring集成
Spring Integration是一種輕量級消息傳遞解決方案,它將為您的應用程序添加集成功能。 這是一個輕量級的消息傳遞解決方案,它將為您的Spring應用程序添加集成功能。 作為消息傳遞策略,它提供了一種快速共享信息的方式,并且所涉及的組件或應用程序之間具有高度的去耦性。
- Spring集成基礎知識
- Spring Integration完整示例
9.7彈簧靴
通過Spring Boot ,可以輕松地創建獨立的,基于生產級的基于Spring的應用程序,而無需進行過多的配置。 Spring Boot負責應用程序基礎結構,而您可以專注于對實際業務進行編碼。 它對依賴項做出合理的假設,并相應地添加它們。 它還使您可以根據需要自定義依賴項。 Spring Boot已變得非常流行,并且已在許多應用程序中使用。
- 面向初學者的Spring Boot教程
- Spring Boot和JPA示例
- Spring Boot配置教程
10. JDBC – JPA –Hibernate
以下是與關系數據庫(例如MySQL,Oracle等)進行交互的庫列表。
10.1 JDBC
JDBC的目的是以通用方式與任何數據庫(例如MySQL,Oracle等)進行交互。 這是為了隱藏特定于數據庫供應商的詳細信息,并為客戶端應用程序提供通用接口。 正如我們在上一節中看到的那樣,Spring框架也支持JDBC。
- 初學者的Jdbc示例
- Spring JdbcTemplate示例
- 帶有JDBC示例的Spring事務管理示例
- 您可以下載JDBC教程
10.2 JPA
Java Persistence API (JPA)是用于將Java對象映射到關系數據庫表的獨立于供應商的規范。 該規范的實現允許應用程序開發人員從正在使用的特定數據庫產品中抽象出來,并允許他們實現CRUD(創建,讀取,更新和刪除)操作,以便同一代碼可以在不同的數據庫產品上運行。 JPA已成為事實上的標準,用于編寫與數據庫交互的應用程序代碼。
- 您可以下載JPA Minibook
- JPA教程–最終指南
10.3Hibernate
冬眠 是完全在Java中使用的高性能對象關系映射(ORM)框架。 Hibernate還提供查詢服務以及持久性。 這為開發人員提供了一種將Java類中的對象結構映射到關系數據庫表的方法。 ORM框架易于將來自對象實例的數據存儲到持久性數據存儲中,并將該數據加載回相同的對象結構中。 ORM實際上是一種用于在關系數據庫和面向對象的編程語言之間轉換數據的編程技術。
- 面向初學者的Hibernate教程(包含示例)
- Hibernate最佳做法教程
- 您可以下載Hibernate教程
11.建筑學
在軟件中選擇最佳架構至關重要。 有時,可以將多個體系結構和模式組合到一個系統中,并且將完美的設計融入您的解決方案中通常感覺就像是一門藝術。 最常見的架構是整體式多層 ,SOA和微服務 。
- 選擇軟件架構
11.1整體多層
多層體系結構是一種體系結構模型,建議將軟件組件組織到不同的層中。 這些層中的每一層都實現為物理上分離的軟件組件容器。
- 多層架構
11.2 SOA
SOA描述了一組用于創建基于標準的,基于業務的松散耦合服務的模式,由于描述,實現和綁定之間的關注點分離,因此提供了新的靈活性。
- SOA示例應用程序
11.3微服務
微服務使您可以處理大型應用程序,并分解或分解為職責范圍狹窄的易于管理的小型組件。 這里包含的關鍵點是分解和解綁功能。
- 微服務架構-快速指南
- Java開發人員微服務:簡介
- Java開發人員的微服務:微服務通信
- 適用于Java開發人員的微服務:Java / JVM格局
- Java開發人員的微服務:Monoglot還是Polyglot?
- 適用于Java開發人員的微服務:實現微服務(同步,異步,React式,非阻塞)
- Java開發人員的微服務:微服務和分布式計算的謬誤
- 適用于Java開發人員的微服務:管理安全性和機密
- 適用于Java開發人員的微服務:測試
- 適用于Java開發人員的微服務:性能和負載測試
- 適用于Java開發人員的微服務:安全測試和掃描
- 微服務面試問答
要選擇最佳架構,請查看以下比較:
- 微服務與SOA
12. Java 8+
從Java 8開始的最新Java版本具有Java開發人員應注意的新重要功能。 仍然最常用的版本是Java 6-8。
12.1 Java 8
Java 8是革命性的發行版,因為它包括對Java編程模型的巨大升級以及JVM的協調發展。 Java 8通過lambda表達式和Stream API以及許多其他功能支持功能編程。
- Java 8函數式編程教程
- Java 8教程
- 您可以下載Java 8功能
12.2 Java 9
Java 9不如Java 8流行,但是它具有一些令人興奮的新功能,例如模塊和Java Shell工具(JShell),這是一個用于學習Java編程語言和對Java代碼進行原型設計的交互式工具。
- Java 9 Jshell教程
- Java 9教程
12.3 Java 10-11
Java 10和11仍然不是很流行,但是它們提供了新功能,這些新功能將改變我們編碼和模塊化程序的方式。
- Java 10將改變您的編碼方式
- Java 11新功能教程
13.桌面Java
盡管Java在開發桌面應用程序方面不是很出名,但是它具有許多可用于創建快速,安全和可移植的富客戶端應用程序和小程序的技術。 最好的技術是Swing,AWT和JavaFX。
13.1搖擺
Swing API提供了一套全面的GUI組件和服務,可用于開發具有商業質量的臺式機和Internet / Intranet應用程序。
- Java Swing初學者教程
- JAVA Swing應用示例
- 如何使用Swing在Java中創建Gui
13.2 AWT
AWT(抽象窗口工具包)具有Java SE桌面庫的核心基礎。 它包括一個健壯的事件處理模型; 圖形和成像工具,包括形狀,顏色和字體類別; 布局管理器,用于靈活的窗口布局; 允許通過本機平臺剪貼板剪切和粘貼的數據傳輸類(包括拖放)。
- 創建框架示例
- 創建基本形狀示例
- 創建一個容器示例
13.4 JavaFX
JavaFX是一個用于創建和交付桌面應用程序以及可以在多種設備上運行的富Internet應用程序的軟件平臺。 JavaFX打算取代Swing成為Java SE的標準GUI庫,但是在可預見的將來都將包括兩者。 JavaFX支持Microsoft Windows,Linux和macOS上的臺式計算機和Web瀏覽器。
- JavaFX初學者教程
- JavaFX效果示例
- JavaFX布局示例
14.測試
由于程序代碼庫的大小增加,軟件測試變得越來越流行。 編寫盡可能多的測試并覆蓋程序的所有功能至關重要。 測試可以分為兩大類:單元測試和自動化測試。
14.1 JUnit
Java有其自己的單元測試庫JUnit庫。 單元可以是函數,類,包或子系統。 因此,術語“單元測試”是指測試代碼中如此小的單元,以確保它們按預期工作的實踐。 有關JUnit的更多信息,請閱讀以下內容:
- 用于單元測試的JUnit教程– ULTIMATE指南
- 您可以下載JUnit教程
14.2自動化
使用自動化測試,開發人員(或測試人員)編寫腳本以用于端到端地自動化軟件測試。 Selenium和Cucumber是最著名的Java自動化測試框架。 去看一下:
- Selenium自動化測試教程
- 您可以下載Selenium編程手冊
- JUnitCucumber示例
15.記錄
記錄是指活動的記錄。 日志記錄是開發團隊的常見問題。 幾個框架簡化并標準化了Java平臺的日志記錄過程。 Java最常用的日志記錄框架是Log4j和Logback 。 由于Log4j項目的支持終止,因此Logback旨在作為Log4j項目的后繼產品。 Apache Log4j2是對Log4j的升級,它對Log4j進行了重大改進,并提供了Logback中可用的許多改進,同時解決了Logback體系結構中的一些固有問題。
15.1登錄
Logback是Java社區中使用最廣泛的日志記錄框架之一。 它提供了比Log4j更快的實現,提供了更多的配置選項,并且在歸檔舊日志文件方面具有更大的靈活性。
- 初學者的Logback教程
- Logback RollingFileAppender示例
- 登錄配置示例
15.2 Log4j
Log4j2是流行且有影響力的Log4j庫的更新版本,該庫是一個簡單,靈活且快速的基于Java的日志記錄框架。 它是線程安全的,并支持國際化。
- Log4j 2入門
- Log4j 2 RollingFileAppender示例
- Log4j 2最佳做法示例
16.面試題
為了在面試中證明您作為Java開發人員的技能,將向您詢問許多與Core Java,多線程,OOP,Collections,Spring Framework,SQL相關的問題。 采訪中提出的最重要問題的摘要:
- 您可以下載Java面試問題
- 150個Java面試問答-最終列表
- 100多線程和并發面試問答–最終清單
- 40個Java Collections面試問答
- 100Spring面試問答–最終清單
- SQL面試問題與解答–最終清單
17.在線學習Java編程–摘要
在這篇文章中,我們看了學習Java的在線資源。 我們從安裝Java和IDE開始,然后轉到Core Java,Data Types和Java Collections。 我們看到了學習算法,并發性和設計模式的重要性。 然后,我們介紹了Spring框架,JDBC,JPA和Hibernate。 我們研究了架構模式,最新的Java版本,桌面Java,測試,日志記錄以及最后一些非常重要的Java面試問題。
最后更新時間為2019年8月23日
翻譯自: https://www.javacodegeeks.com/learn-java-programming-online.html
java編程學習方法
總結
以上是生活随笔為你收集整理的java编程学习方法_在线学习Java编程的最佳方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux产生随机数的函数(linux产
- 下一篇: java美元兑换,(Java实现) 美元