電腦

當前位置 /首頁/遊戲數碼/電腦/列表

如何自學java程式設計

java是面向過程的程式語言:Java是一種可以撰寫跨平臺應用軟體的物件導向的程式設計語言。Java 技術具有卓越的通用性、高效性、平臺移植性和安全性,廣泛應用於PC、資料中心、遊戲控制檯、科學超級計算機、行動電話和網際網路,同時擁有全球最大的開發者專業社群。

操作方法

(01)學習的基本路徑首先建立好開發環境非常重要,工欲善其事,必先利其器。做任何開發,首先就是要把這個環境準備好,之後就可以去做各種嘗試,嘗試過程中就能逐漸建立信心。初學者往往在環境配置中被各種預想不到的問題弄得很沮喪。建立起來環境了,改變世界就靠你的程式碼了。學習一門程式語言沒有太多的訣竅,你可能可以去找一本比較好的經典的入門書籍,現在網路上也有非常多的資料,圖文或者視訊都可以,根據個人喜好選擇。最重要的練習,熟能生巧,在不斷的練習中去加深自己對程式語言的理解。接下來你需要了解這三個術語,叫SDK、API跟Lib,分別表示軟體開發套件,應用程式設計介面和庫。這三者之間其實有一定的聯絡,或者是交叉。總體來說,它們都是給我們提供的一些封裝了底層功能的基礎設施。做Java開發的話,這些東西通常體現為我們所經常說的“框架”。事實上要成為一個資深的Java開發者,對各種API和框架的學習,可能是花時間最多的一個地方。當然你也不可能把所有API或者SDK種的所有內容完全弄懂。在軟體開發中也有二八原則,少數的API能夠勝任開發中的大部分場景。所以你只需要掌握這些關鍵部分,當在新場景下遇到不能解決的新問題時,再去檢視幫助文件。所以幫助文件的閱讀也是技術學習的一個關鍵因素。瞭解了基礎原理之後一般就能上手開發了,幫助文件可以幫助你在實踐中學習。

如何自學java程式設計

(02)三個神器三個神器,對於軟體開發者來說非常重要。第一個Google,雖然因為各種原因的話有時候我們訪問不了,但是這基本上是可以去尋找技術資料最好的方式。第二個是Github,之前提到過庫的概念,Github就是一個可以找到大量第三方庫的地方,那是別人給我們封裝好的可以複用的程式碼。比方說造一輛汽車的話,我們經常不要自己造輪子,而Github上可以找到很多優質的輪子,這些輪子還是免費(程式碼都是開源的),我們應該儘量利用它們來拼裝自己的汽車。第三個是StackOverflow網站,在這個問答網站上你遇到的幾乎任何開發問題都能快速找到答案。

如何自學java程式設計 第2張

(03)Java Web全棧開發的推薦學習內容簡單總結一下,大概包括下面這些內容。每一部分都可以細化成很多知識點,這是一個粗略的羅列。把它當做技術地圖就好了。開發環境的建立與專案管理:Eclipse、Maven和GitJava程式設計基礎:基本語法、物件導向特性、Java8新特性、更高階庫(比如Guava)的使用等前端開發技術:HTML、CSS、Bootstrap和JavaScript基礎Spring基礎:依賴注入IoC、面向切面程式設計AOP、SpringBootMVC框架:Spring MVC、Struts等,包括URL路由、模板、表單、Session、攔截器等知識資料訪問:關係型資料庫、JDBC、Spring JDBC、事務、ORM框架(MyBatis,Hibernate、JPA)成熟應用的關鍵功能實現:郵件傳送、非同步任務、快取、日誌等應用的測試和部署下面對每部分的內容詳細介紹一下。

如何自學java程式設計 第3張

(04)JSP/Servlet的相關內容雖然現在各種成熟的MVC框架已經讓Java Web開發基本很少使用JSP和Servlet的原生功能了,基本都做了一層封裝。但是這部分基礎知識建議初學者還是要認真學習。Web基礎,HTTP協議C/S模型,瀏覽器訪問網站過程URL基礎知識HTTP訊息——請求和響應處理HTTP請求的應用程式Servlet/JSP簡介ServletServlet容器,Servlet處理機制,Servlet生命週期部署ServletServletContext, ServletConfigFilter, Event ListenerJSP表示式,scriptlet, declaration在JSP中訪問Java類JSP內建物件處理使用者輸入HTTP方法——GET v.s. POST讀取表單資料構建MVC應用Servlets/JSP存在的問題MVC設計模式使用RequestDispatcher在Servlets和JSP中傳遞資料,EL表示式使用JSTL作為模板JSP Tag LibCore Tag(if, loop)Function Tag(string, fmt, utils)SessionSession&&Cookie基本概念通過Cookie記錄使用者狀態(類似購物車的例子)使用Session跟蹤使用者(登入)

如何自學java程式設計 第4張

(05)資料庫相關的內容掌握了Servlet/JSP技術,我們已經可以建立動態的Web應用了。除了動態的Web介面,一個有價值的Web應用必然需要進行資料儲存,開發上我們一般稱之為資料持久化(Data Persistence)。從業務功能的角度出發,簡單的應用可以認為就是資料的增刪改查。比如一個產品級的部落格應用,最核心的功能就是對部落格內容的建立、修改、刪除和查詢,而這些功能都離不開Web伺服器背後的資料庫系統。資料庫基本概念實體、關係(表)、記錄(行)、列(屬性)主鍵、外來鍵等資料庫表設計的基本原則SQL基礎MySQL基本使用SQL中的DDL——create,drop,alter,建立主鍵外來鍵等約束SQL中的DML——insert, select, delete, update,joinJDBC資料庫連線,連線池使用JDBC API訪問資料庫分頁查詢事務的基本概念JDBC程式碼的封裝與資料訪問的三層架構

如何自學java程式設計 第5張

(06)Spring相關的內容Spring最重要的兩個核心功能是依賴注入(DI,Dependency Injection)和麵向切面程式設計(AOP,Aspect Oriented Programming)。其中DI用於管理Java物件之間的依賴關係,AOP用於解耦業務程式碼和公共服務程式碼(如日誌,安全,事務等)。DI和AOP能夠讓程式碼更加簡單,具有良好的鬆耦合特性和可測試性,極大地簡化開發。理解這兩者是使用Spring框架的基礎。Spring的核心思想依賴注入面向切面程式設計(AOP)基於POJO的程式設計模型預置的模板程式碼(如Spring JDBC)依賴注入的基本原理依賴注入的優點依賴注入如何實現依賴注入的使用基於XML的裝配方式基於Java Configuration的裝配方式自動裝配多種裝配方式的混用處理裝配的歧義如何注入屬性值Spring Bean的作用域SingletonPrototypeRequestSessionGlobalAOP切面、目標物件、切點、通知、織入等基本概念如何定義切點:定義切點的aspectJ語法定義通知前置通知(Before)後置通知(AfterReturning)異常通知(AfterThrowing)最終通知(After)環繞通知(Around)如何給切面傳參

如何自學java程式設計 第6張

(07)Spring MVC相關內容Spring作為Java系的全棧(full-stack)開發框架,當然也對Web開發有著非常好的支援。Spring的Web MVC框架能夠使開發者非常容易的開發Web應用,同時能夠無縫享受到Spring本身的諸多好處——IoC容器、AOP程式設計等等。Spring MVC基本原理、配置DispatcherServletWebApplicationContext處理HTTP請求過程實現Controller@Controller, @RequestMapping註解URL模板模式,@PathVariable獲取HTTP請求引數,@RequestParam@RequestMapping方法支援的引數@RequestMapping方法支援的返回值檢視解析處理靜態資源配置JSP配置其它模板引擎重定向、Flash Attribute表單處理表單資料繫結Spring表單標籤表單驗證檔案上傳Flash Attribute攔截器InterceptorsSpring MVC請求處理流程HandlerInterceptor介面配置Interceptor異常處理配置錯誤頁面使用HTTP狀態碼@ExceptionHandlerControllerAdvice全域性異常處理REST API@ResponseBody和@RequestBody處理PUT和DELETE請求

如何自學java程式設計 第7張

(08)MyBatis相關內容MyBatis 是支援定製化 SQL、儲存過程以及高階對映的優秀的持久層框架。MyBatis 避免了幾乎所有的 JDBC 程式碼和手動設定引數以及獲取結果集。MyBatis 可以對配置和原生Map使用簡單的 XML 或標註,將介面和 Java 的 POJOs(Plain Old Java Objects,普通的 Java物件)對映成資料庫中的記錄MyBatis基礎ORM的概念如何定義Mapper介面如何定義XML Mapper對映如何使用MapperMyBatis的基本使用SqlSessionFactorSqlSessionFactoryBuilderSqlSessionMyBatis-Spring基於Spring如何配置和使用MapperSqlSessionFactoryBean的配置MyBatis Spring Boot Starter的使用增刪改查熟悉Mapper配置檔案select元素select的resultType屬性insert元素update元素delete元素複雜查詢resultMap元素association元素巢狀結果與巢狀查詢collection元素discriminator元素動態SQL分頁查詢(分頁外掛)

如何自學java程式設計 第8張

(09)JPAORM框架的出現使得我們能夠以物件導向的方式來操作關係資料庫,但是長久以來實現應用系統中的資料訪問層依然是一件非常繁瑣的事情,簡單的查詢也往往涉及大量重複程式碼。Spring Data JPA在則基於JPA進一步簡化了資料訪問層的實現,它提供了一種類似於宣告式程式設計的方式,開發者只需要編寫資料訪問介面(稱為Repository),Spring Data JPA就能基於介面中的方法命名自動地生成實現。JPA(Java Persistence API,Java持久化API),定義了物件關係對映(Object Relation Mapping,ORM)以及實體物件持久化的標準介面。 JPA是一套介面規範,JPA的實現主要包括 JBoss 的 Hibernate EntityManager、Oracle 捐獻給 Eclipse 社群的 EclipseLink和Apache 的 OpenJPA 等。Spring Data JPA的核心概念Repository使用Repository的步驟自定義的Repository介面Repository介面層次及其方法定義實體類自動生成資料庫Schema@Entity和@Table@Id和@GeneratedValue@Basic@Column@Transient@Temporal@Lob定義一對一關係@OneToOn@JoinColumnunique屬性雙向@OneToOne關聯雙向關聯與cascade自動對映的命名規則一對多與多對多關係@ManyToOne@OneToMany@ManyToManyJoinTable用@ManyToOne實現多對多其它如何通過方法名建立查詢分頁與排序@Query標註事務

如何自學java程式設計 第9張

(10)設計模式java的設計模式大體上分為三大類:建立型模式(5種):工廠方法模式,抽象工廠模式,單例模式,建造者模式,原型模式。結構型模式(7種):介面卡模式,裝飾器模式,代理模式,外觀模式,橋接模式,組合模式,享元模式。行為型模式(11種):策略模式、模板方法模式、觀察者模式、迭代子模式、責任鏈模式、命令模式、備忘錄模式、狀態模式、訪問者模式、中介者模式、直譯器模式。設計模式遵循的原則有6個:1、開閉原則(Open Close Principle)對擴充套件開放,對修改關閉。2、里氏代換原則(Liskov Substitution Principle)只有當衍生類可以替換掉基類,軟體單位的功能不受到影響時,基類才能真正被複用,而衍生類也能夠在基類的基礎上增加新的行為。3、依賴倒轉原則(Dependence Inversion Principle)這個是開閉原則的基礎,對介面程式設計,依賴於抽象而不依賴於具體。4、介面隔離原則(Interface Segregation Principle)使用多個隔離的藉口來降低耦合度。5、迪米特法則(最少知道原則)(Demeter Principle)一個實體應當儘量少的與其他實體之間發生相互作用,使得系統功能模組相對獨立。6、合成複用原則(Composite Reuse Principle)原則是儘量使用合成/聚合的方式,而不是使用繼承。繼承實際上破壞了類的封裝性,超類的方法可能會被子類修改。

如何自學java程式設計 第10張

(11)更進一步分散式、深入Java虛擬機器、針對不同場景的Java技術框架,到這個階段已經不僅僅是Java的學習了,而是大型應用場景的技術積累、架構設計的精進了。

如何自學java程式設計 第11張
TAG標籤:JAVA 程式設計 自學 #