網站首頁 健康小知識 母嬰教育 起名 運動知識 職場理財 情感生活 綠色生活 遊戲數碼 美容 特色美食 愛好
當前位置:酷知知識幫 > 遊戲數碼 > 電腦

如何自學java編程

欄目: 電腦 / 發佈於: / 人氣:3.04W

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張
Tags:JAVA 編程 自學