-
1 # 灬亦凡
-
2 # 程式猿168
隨著現在網際網路行業的快速興起,人們越來越多的生活已經離不開網際網路,很多事都可以直接在網上辦理,非常的方便,而伴隨著網際網路也快速出現了各種開發語言,其中用的比較多的比如Java,那麼Java怎麼自學呢,怎麼才能學好Java呢,下面本文就介紹一下。
1.那麼學習Java,首先肯定要從Java基礎學起,按照Java中的分類也就是JavaSE,因為不管用Java做什麼,都離不開基礎,那麼學習javaSE,建議最好還是買一本JavaSE相關的書籍,因為書籍可以學習的系統一點,這裡推薦兩本書,比如《Java程式設計思想》,《Java核心技術基礎篇》。
2.當然了,在看書的同時也要跟著聯絡其中講解的程式碼,這時候就要學著使用Java編輯器了,比如eclipse,IDEA等,都是用起來比較簡單的編輯器,使用編輯器需要安裝環境變數,不過這些書上都會有講解的。
3.在學習JavaSE的同時,如果有時間最好同步學習一下資料結構和演算法,因為Java的底層實現很多都是基於資料結構和演算法的,這對於你以後的進階有很大的幫助。
4.JavaSE的知識學好之後,就要掌握資料庫的知識了,因為後面不管做什麼方向,什麼業務,都離不開資料,從而也就離不開各種資料庫,個人建議先學習使用mysql或者oracle,然後就是Java連線資料庫,開始需要學習jdbc等。
5.然後就可以學習JavaEE方面的知識了,比如servlet,jsp等,最好學習幾種比較流行的框架,比如ssh,ssm,那麼在學習這些框架的時候,你就會跟著學習到了spring,springmvc,hibernate,mybatis等。
6.JavaEE的知識學好之後,就應該學習一些前端知識了,比如JavaScript,HTML,css,Jquery等,這些都是在Javaweb中常用到的頁面開發語言。
7.最後就是實戰的過程了,自己可以學著實現一個簡單的web專案,比如常見的進銷存系統等,那麼在做專案的時候,會把你學習到的知識,系統的使用一下,你也就會發現此時自己還有哪些不足,還有哪些需要補充的。
-
3 # 維心看點
首先告訴你的是,作為一個初學者想轉行學習Java並不是很容易,Java本身是具有一定難度的,雖然說興趣這東西可以讓我們學習不累,但是有多少人學習是因為興趣,或者有多少人知道自己的興趣在哪?所以我很明確的告訴你學習這事本來就是一件非常煎熬的事情,沒有多少人願意學習,但是或許你現在是身為一個應屆生或者你是一個本職工作沒有發展的,想轉行的,所以對於學習任何東西開始,必須逼著自己學,不然可能你學什麼都學不進去,我看了其他答主的回答,我個人並不是認為說那些專業術語是對零基礎有好處,因為他們根本看不懂,一下是我的白話文,可以讓零基礎的同學有一個明確的學習方向,和剛開始應該去做的事情。
1.學Java的大多肯定是為了找工作,所以你作為一個零基礎的新手,必然知道你找工作需要達到什麼標準,所以你的首要方向就是在各種招聘網站上看一下招聘信心,這就是你學習的目標。
2.Java需要循序漸進而且系統的學習方案,不要想著天上掉餡餅的速成方式,給自己制定一個半年的學習計劃,能不能學成就看你這半年的執行力如何。制定好每天學習的新知識,然後用什麼案例和練習鞏固你每天學習的新東西,不然學了之後你肯定忘。
3.學習Java並不是像我們上學學習數學語文那種方式,所以學習Java的時候必定是有一套學習方法的,你作為一個初學者沒有了解過,必然會走很多彎路,而你要做的就是儘量跨過“前輩”們曾經走過的彎路,不要去做重複無意義的事情,如果你對於Java學習沒有一個好的學習方法,可以加的Java學習君羊:前面六一五中間七四一最後六三六,希望幫助大家少走彎路。
4.根據我的學習經歷來看,學習程式設計是需要引路人,很多問題作為初學者是無法解決的,很浪費時間,例如有很多初學者配置JDK就能用上一天的時間,所以我們完全沒有必要在這方面問題浪費時間,別人告訴我們一下,下次就記住了,所以學習程式設計一定有一個指導你的人。
5.系統的學習教程,自學Java肯定是主影片,副書籍,因為書大多數人是看不下去的,所以影片要新穎,要系統,不要雜亂不精,如果沒有可以管我要。唯一初學者推薦書籍《Java核心技術》
-
4 # 賽虎學院
對於沒有Java程式設計經驗的程式設計師要入門,隨便讀什麼入門書籍都一樣,這個階段需要你快速的掌握Java基礎語法和基本用法,宗旨就是“囫圇吞棗不求甚解”,先對Java熟悉起來再說。用很短的時間快速過一遍Java語法,連懵帶猜多寫寫程式碼,要“知其然”。
Java入門好書推薦:《Head First Java》
《Head First Java》是本完整的面向物件(object-oriented,OO)程式設計和Java的學習指導。此書是根據學習理論所設計的,讓你可以從學習程式語言的基礎開始一直到包括執行緒、網路與分散式程式等專案。最重要的,你會學會如何像個面向物件開發者一樣去思考。但如果你真地想要好好地學習Java,你會需要《Head First Java》。這本書可是Amazon編輯推薦的十大好書之一!強烈推薦學習此書,非常適合初學者入門。
java進階好書推薦:《Thinking in java》
《Thinking in java》(中文名:《Java程式設計思想》) 第4版 本書贏得了全球程式設計師的廣泛讚譽,即使是最晦澀的概念,在Bruce Eckel的文字親和力和小而直接的程式設計示例面前也會化解於無形。從Java的基礎語法到最高階特性(深入的面向物件概念、多執行緒、自動專案構建、單元測試和除錯等),本書都能逐步指導你輕鬆掌握。
-
5 # 程式設計師的書單
把下面這些內容掌握以後,你就是一位靠譜的Java後端工程師了。文末有我整理的Java資源大禮包,加起來可能超過3T的資料合集!
前言
學習路線圖往往是學習一樣技術的入門指南。網上搜到的Java學習路線圖也是一抓一大把。
今天我只選一張圖,僅此一圖,足以包羅Java後端技術的知識點。所謂不求最好,但求最全,學習Java後端的同學完全可以參考這張圖進行學習路線安排。
當然,有一些知識點是可選的,並不是說上面有的你都要會啦。我在複習秋招的過程中就是基於此圖進行復習的,感覺效果還是不錯的。
閒言少敘,我們還是看看這張圖上都包含哪些有價值的資訊吧。再次說明,本文只對路線圖做一個簡單地解讀,僅供參考。大家可以根據自身情況來指定合理的學習計劃,相信也會大有裨益。
1 計算機基礎
這部分內容是計算機相關專業同學的課程,但是非科班的小夥伴(譬如在下)就需要花時間惡補了。特別是計算機網路,作業系統,資料結構這三門課程。
至於編譯原理,個人大概懂一點就行了,我也只看過簡單的概念和狀態機相關的內容,並不是特別重要。
2 Java程式設計
這裡的Java程式設計部分包含了很多內容。我們可以分別看看,大概歸納一下就是這幾個部分。
Java基礎
這裡的Java基礎包括基本語法,集合類框架,以及一些高階特性,比如反射,註解等等。
Java基礎的知識點非常多,所以要真正搞懂也沒有那麼簡單,另外,隨著時間推移,一些新特性也需要得到我們的重視,比如時下流行的JDK8。
設計模式
我一直覺得設計模式可以和Java基礎一塊學,所以我也把它放在這裡。當然,一些真正使用到設計模式的地方,譬如JDK的集合類,IO流等等,也需要你足夠重視。
Java Web技術
Java Web技術包括J2EE,以及web框架,乃至一系列常用的元件。
1 J2EE主要包括的就是servlet,jsp這些比較復古的web開發元件了。雖然現在直接用它們的情況比較少,但是我們還是需要花一些時間去掌握它們的。
2 web框架常用的就是Spring了,相應的,hibernate和mybatis也需要了解一下。
3 同時,JavaWeb開發時的常用類庫,比如jnuit單元測試,log4j日誌工具,以及構建工具maven,都屬於我們要掌握的範疇。
4 最後,要注意的是,Web相關的一些基本知識,比如HTTP協議,網路安全基礎,也是我們要考慮的部分。
Java併發技術
Java的併發技術泛指Java的多執行緒技術,以及JUC包裡的併發類,比如執行緒池,併發工具類,阻塞佇列等等。
Java併發技術完全可以獨立出來學習,是Java進階知識的一大重點。
Java網路程式設計和伺服器
這一塊內容是Java中比較複雜但也很重要的一塊內容。比如BIO,NIO,AIO的一些使用和原理,以及tomcat這類web伺服器,甚至是netty這種網路程式設計框架,都是可以去了解和學習的內容。
Jvm基礎與調優
JVM是提供Java程式執行的一個程序,學習JVM知識,也是我們的必經之路。除了看懂《深入理解jvm虛擬機器》以外,我們還要學習的內容就是JVM調優,使用合適的工具診斷問題,最後解決問題。
這部分內容在面試中呈現的不僅僅是GC,記憶體分割槽,以及類載入器,也包括了我所說的JVM調優問題。
3 Linux
作為後臺同學,常年被面試官問linux相關的問題,所以覺得學好linux還是蠻重要的,除了基本命令以外,最好還能瞭解一些shell指令碼,甚至是核心相關的知識,這方面是我的一個弱項。
4 資料相關
在這個路線圖裡,資料部分囊括了非常多的資料來源,我們可以來看看都有哪些是我們需要掌握的。
關係資料庫Mysql
這個不必多說,人手都要會,不管是基礎的crud,索引,抑或是進階的儲存引擎,分散式方案等,我們都需要對應掌握。
快取
如Redis,memcache一類的快取,作為後端開發者的我們也需要對應掌握,當然,它們的高階特性,以及分散式方案,也是必備的知識點。
搜尋引擎
基於Lucene的solr,elasticsearch這類搜尋引擎,本質上也是資料來源,但是並不是後端必備的內容,不過學一學也沒有壞處啦。
大資料
海量資料處理的場景越來越多,大資料技術如hadoop,storm等也越來越火,但是大資料應用一般會由專業的大資料工程師來做,所以我們學一些基本內容也就足夠了。
5 演算法和資料結構
演算法一直是校招同學面前的一座大山,作為後端同學來講,除了基本的資料結構演算法以外,也要會一些高階的演算法,譬如dp,搜尋,貪心等等。
另外,透過LeetCode等題庫來刷題的方式來鞏固演算法也是公認的好辦法了。
6 分散式
最後一個部分,也是內容最多,覆蓋面最廣泛的部分了。分散式相關的技術實在太多了,我們這裡也會做一下簡單的歸納。
web架構
先了解web架構的發展會對分散式的學習有更好的理解,畢竟架構的發展也對應著分散式技術的發展。
分散式理論
這部分內容包括分散式的發展演化,base理論和cap理論等等,學習分散式技術之前,最好能對這部分概念有一定了解。
一致性問題
強一致性的解決方案:事務和鎖,弱一致性的方案:訊息佇列。
分散式session
一個常見的問題,也有多種解決方案
分散式快取
和上面說的快取一樣,只不過這裡側重快取的分散式方案
分散式資料庫
這裡指的資料庫的分散式方案,也包括hbase這種分散式資料庫。
負載均衡
訊息佇列
訊息佇列是一個比較複雜的分散式元件,我們可以瞭解常用訊息佇列比如amq,kafka等的實現。
服務化
服務化的核心包括rpc,服務註冊中心等等。分散式服務相關技術也是後端同學必須掌握的內容。
虛擬化
虛擬化同樣不是後端同學必須掌握的內容,只不過現在越來越多的服務部署方式使用的是docker和雲服務的方式。所以瞭解一下也沒有什麼不好的。
1、Java電子書大合集
2、Java基礎學習資料
3、2018Java影片課程
4、Java學習資源大禮包
5、Java架構師影片課
6、Mysql影片課程
7、Java演算法課、筆試面試課
如果你想感謝我
覺得資源還不錯的話,分享一下讓更多的人來獲取福利吧
-
6 # 雲南新華電腦學校2
第一:我們常常都說要先預習,所以這是肯定的,如果你接收能力非常強的話就可以不預習。如果只是一般最好提前預習一下,有什麼不懂的做記號,在老師講的時候就會更清楚一些。這是很關鍵的。可以幫你提高很多的。
第二:在自己學習或者跟著老師學習完以後。一定要理解知道是怎麼回事,在自己完成一些習題,跟著老師或者自己看的例子。不懂一定要問,一定要問和與自己的夥伴交流溝通,一起討論這是你學習成功的一大法寶。只有透過自己的思考寫出來的程式碼才是自己的,你死記硬背下來的程式碼肯定不是你的。學程式一定要討論。不管是未來你要從事產品經理還是做專案,討論是程式設計師必須具備的東西。
回覆列表
你需要會這些:
1. String,Integer,Long,Array,List,Map會用就夠了。
2. Interface和Impl能分得清就夠了,永遠不要去用繼承。
3.Model,也是Bean,記著Model裡只有Get和Set方法。貧血模型。
4.try-catch,Throwable, Error
5.函式,引數,返回值
你一定不要現在去看這些:
1.NIO,Thread,Extend,Abstract,GUI,GC
2.各種JDK的原始碼,各種演算法的實現
第二。面向物件概念的理解和學習 3天
你需要會這些:
1.屬性和方法
2.private/public
3.static final
4.ArrayList,Set,Map,Array的取值,長度,遍歷。StringBuffer
5.null物件,Null指標
6.建構函式
7.this
8.泛型
你一定不要這個時候去看這些:
1.protect
2.過載
3.多型
4.內部類
5.socket
6.file
7.stream
第三。常用的Util 3天
你需要會這些:
1.StringUtils
2.CollectionUtils
3.log4j
4.httpClient
5.calendar
你一定不要去看這些:
第四。資料庫 9天
你需要會這些:
1.JDBC
2.Mybatis
3.Hibernate
4.增刪改查一個表,排序,分頁,簡單的聯表查詢
5.索引,思考一下什麼樣的表建索引,什麼是索引 別擔心,以上三種都是一理通而百理融
第五。 單元測試 3天
你需要會這些
1.Junit @Test,@Ignore
2.log4j info,warning,error
3.Eclispe debug,Step,Step in ,Step Out,run
你一定不要學這些
第六。 Spring 3天
你需要會這些
1.Spring Bean,Property,Map,List初始化值
2.Autowired
3.Annonation&配置檔案
4.Spring Version
5.Spring MVC,@Method @Controller
你一定不要學這些
第七。Maven 5天
你需要會這些
1.clean,install,deploy,assembly
2.snapshot/release
3.module
4.subeclipse
5.jetty:run 。