本文目錄一覽:
剛開始學java,應該怎麼入門?
你好,學習java只要掌握好方式和方法,其實學起來並不是非常難。比如你可以自學也可以選擇機構學。
java是目前主流的開發語言,程序員不論是大數據、雲計算、web前端、後端開發等都需要從java學起,如果你想計入IT高薪行列,建議學java!
java學的內容主要有:
①JAVA編程基礎(基礎語法、面向對象、和諧特性等)
②WEB應用開發(靜態網頁製作、Oracle數據庫、Java Web開發技術、Linux技術、網站性能與安全、軟件工程開發流程、Java Web和諧等)
③企業級框架開發(數據結構與算法、SSH框架、JavaEE和諧等)
④項目實訓
互聯網行業目前還是最熱門的行業之一,學習IT技能之後足夠優秀是有機會進入騰訊、阿里、網易等互聯網大廠高薪就業的,發展前景非常好,普通人也可以學習。
想要系統學習,你可以考察對比一下開設有相關專業的熱門學校,好的學校擁有根據當下企業需求自主研發課程的能力,能夠在校期間取得大專或本科學歷,中博軟件學院、南京課工場、南京北大青鳥等開設相關專業的學校都是不錯的,建議實地考察對比一下。
祝你學有所成,望採納。
java初學者,應該如何學習java呢?
初學Java編程時,大家通常會對學習方法、知識難點做一個了解,但學一項技能不僅僅只是這樣,學習過程少不了我們的親身參與,那我們對自己的學習條件了解是否充分?心理上思想上是否做好了準備?要準備學到哪種程度?···這些其實都是學習編程時需要注意到的。
學Java編程的目的?
知乎無數的優秀學習類回答、技術大佬的分享,在開頭的第一段都會提到的,是想清楚做某事的目的是什麼。千萬別覺得這樣很老套很無用,明確學習目的其實就是在做思想上的準備,不然在後期非常容易缺乏堅持下去的信念。
因為沒有描述,就假設題主同學學習Java是為了從事相關的開發工作,去發現一下真實的需求就能知道,“找工作”其實都是表象,真正的本質是“高薪”,是“掙錢”是“有發展”。那麼“薪資高”就是學編程的目的之一。
稍微多想想我們就會有接下來的問題:企業招聘的基本要求是哪些?需要達到什麼樣的技術水平薪資才高?薪資比較高的Java崗位是哪些?大公司都需要哪種技術人才?
問題比較多也沒關係,接下來就是一步步理清楚。
有沒有自己的學習目標?
學習目標圍繞學習目的而定,別太貪心什麼都想學,學不完的,太高深的概念對於初學者也是有毒的。
高薪資的崗位需要的技術能力都在Java的知識體系中了,我們從整體到局部開始,先了解Java的大致全貌–Java是用來做什麼的。
按Java的應用場景來分有三類:J2SE,J2ME和J2EE,這也就是SunONE(Open NetEnvironment)體系。
J2SE就是Java2的標準版,主要用於桌面應用軟件的編程;
J2ME主要應用於嵌入式系統開發,如手機和PDA 的編程;
J2EE是Java2的企業版,主要用於分布式的網絡程序的開發,如電子商務網站,OA系統和ERP系統。接着是局部–比如其中涉及J2EE方向的是什麼崗位,需要會什麼?且薪資是多少?
要求會是哪些?
在此場長還要補充兩句,對於程序員來說,學歷高低不是唯一標準,但絕對是加分項,能提升學歷就儘快提升,不要讓它在後期成為你職業發展的阻礙。
以上從“整體到局部”的好處是,不僅為你的學習找到重心,還是在定位你的技術重心,也將會成就你寫在簡歷中的那句“本人擅長XX開發,熟悉XXX技術,且精通XXXX,在XXX有豐富經驗。”
有沒有一個學習計劃?
有了學習目的,找到了一個高薪的技術方向和技術重點,有了這些信息,你就可以開始制定學習計划了。
一個科學而合理的學習計劃,關鍵並不是面面俱到的詳細,而是“極高的可執行性”,要避免看到自己定的計劃就頭疼,無法完成這樣的情況,就要注意別一開始就把自己逼得太狠。
記得圍繞着學習目標開展學習,專註能保持高效率,這也能減少你的學習時長,還能保證學習效果。
最後,
編程講的是多多練習沒錯,但別忘了編程背後是思維,是邏輯,是解決問題的思路,希望在學編程的你,能把編程看成一種智力的遊戲,在提升自己心智的同時,看到一個奇特而有趣的代碼世界。
祝編程愉快。
關於如何學好java!
Java學習前的一些準備
JDK – (Java SE Development Kit)
JDK是Java開發所需要的環境,就跟我們想玩某個網遊一樣,玩之前一定是需要先安裝相應的程序包的。 那這個JDK就是我們準備登陸Java大陸前需要安裝的一個程序包。
下載地址 : Java SE – Downloads
IDE – (Integrated Development Environmen)
IDE是集成開發環境,一般集成開發環境都會帶有JDK,可以使用自帶的JDK也可以使用我們下載的JDK,不同的IDE配置不同。Java常用的IDE有Eclipse、MyEclipse、IntelliJ IDEA。IDE具備代碼分析、補全、變異、調試等常用功能,可以大大的提高開發人員的編程效率。
eclipse下載地址 : MyEclipse下載地址 : MyEclipse官方中文網 IntelliJ IDEA : IntelliJ IDEA: The Java IDE for Professional Developers by JetBrains
書籍推薦
《Head First Java(中文版)(第2版)(涵蓋Java5.0)》 塞若, 貝茨【摘要 書評 試讀】圖書《Java編程思想(第4版)》 埃史爾, 陳昊鵬【摘要 書評 試讀】圖書
階段大致細節
1、入門基礎
Java簡介
了解什麼是Java;代碼語法基本格式;輸出表達式。
了解Java大致的編譯以及執行過程
Java語言基礎、循環、數組 ; 了解類和對象
掌握Java的基本數據類型和引用數據類型有哪些;
掌握強制數據類型轉換和自動類型提升規則;
常量如何聲明及賦值;
循環的語法及作用;
數組的聲明及定義;
掌握類的概念以及什麼是對象。
OOP封裝、繼承、多態
面向對象的三大特徵,本節內容非常重要也相對來說較為難以理解,一定要耐下心來好好理解。
java.util.*包下的常用類
util包下的Collection、Comparator、Iterator、List、Map、Set接口都很重要,着重看一下他們的實現類,如:ArrayList、LinkedList、HashSet、HashMap、Hashtable、TreeMap、TreeSet等。
java.lang.*包下的常用類
lang包下的基本數據類型對應的包裝類(Byte、Short、Integer、Long、Double、Float、Character、Boolean);
字符串相關的類String、StringBuffer、StringBuilder。
IO流操作,多線程及Socket
掌握IO讀寫流相關的類,了解字節流,字符流和字符流緩衝區;
掌握線程的概念,多線程的創建、啟動方式,鎖和同步的概念及運用;
掌握Socket通信的概念,如何聲明客戶端服務端,如何完成雙端數據通信。
泛型、數據庫基礎(Mysql)及JDBC
到了數據庫前,我們可以看看泛型以及反射的一些基礎案例
掌握數據庫的基本概念,Mysql的安裝、啟動與停止
Mysql數據庫客戶端的安裝與使用
JDBC的概念,在Java中使用Mysql驅動包連接Mysql
Mysql社區版下載 : Download MySQL Community Server 客戶端連接工具 Navicat for Mysql下載 : MySQL Database Administration and Development Tool
通過第一階段的學習掌握Java語法和常用類,數據庫入門技術相關知識。讓自己對於存儲,IO,這些有個大概的了解。這時候,暫時不需要花大量的精力以及篇幅去學習多線程和Socket,當然這裡不是說他們不重要,而是對於現階段的你,或許很難非常清晰的明白以及了解他們具體的作用。這裡第一節忽略掉了Swing,Swing章節的內容可以不學,因為在實際的工作中基本上沒有用武之地。
使用第一階段的技術完成一個小型的系統,找一個自己做容易理解的系統練練手,比如超市管理系統、成績管理系統等等這類需求簡單卻能講整章內容結合起來使用的項目。當然這個時候可能會有人覺得沒有圖形界面沒法完成系統操作。實際上我們可以通過Console的輸入輸出來做系統界面。
新手在第一階段的學習時,是最難熬的,因為這個時候需要背的東西特別多,且不再像看小說一樣,什麼東西都能看明白。路就變成了前面熟悉,左右陌生。這個時候人的求知慾作祟,往往會把自己帶着偏移了方向,因為我們自己也不知道這樣走對不對。漸而遠之,也就慢慢放棄了。而這樣的放棄,是最不值得的。所以,學習Java一定要按照某一個大綱,一直往下不要往其他地方偏,先走完一遍之後,再回頭慢慢撿。
2、前端基礎
HTML基本標籤、表格、表單和框架;
掌握網頁的基本構成;
掌握HTML的基本語法;
表格的作用以及合併行、合併列;
表單標籤的使用,提交方式get/post的區別;
框架布局的使用
CSS樣式表;
掌握CSS的語法及作用,在html中的聲明方式;
掌握CSS布局的函數使用;
掌握CSS外部樣式的引入。
JavaScript;
掌握JS的語法及作用,在HTML中的聲明方式;
掌握JS的運行方式;
掌握JS中的變量聲明、函數聲明、參數傳遞等;
掌握HTML中的標籤事件使用;
掌握JS中的DOM原型
上述三節都可以查看w3school : HTML 系列教程
jQuery
了解如何使用jQuery,下載最新版或者老版本的jQuery.js
掌握選擇器、文檔處理、屬性、事件等語法及使用;
能夠靈活使用選擇器查找到想要查找的元素並操作他們的屬性;
動態聲明事件;
動態創建元素。
jQuery文檔 : jQuery API 中文文檔 | jQuery API 中文在線手冊 | jquery api 下載 | jquery api chm
BootStrap;
掌握BootStrap的設計理念,以及使用方式。這是我們需要接觸的第一個前端框架,使用起來也很簡單;
掌握BootStrap的柵格系統、表單、全局樣式、分頁工具欄、模態框等。
Servlet
掌握Java中的Web項目目錄結構;
掌握Java Web項目的重要中間件Tomcat;
掌握Servlet中的Request和Response;
掌握Servlet的基本運行過程。
掌握Servlet的聲明周期
動態網頁技術
JSP在Java Web中的角色;
JSP的編碼規範,以及JSPServlet;
JSP顯示亂碼的解決辦法等。
JSP數據交互
JSP中如何編寫Java代碼,如何使用Java中的類;
JSP中的參數傳遞。
狀態管理Session和Cookie
掌握Session的作用及作用域;
掌握Cookie的作用及作用域;
掌握Session及Cookie的區別,存儲位置,聲明周期等;
掌握Session及Cookie分別在JSP和Cookie中的使用
JSTL和EL表達式
使用EL表達式輸出page、request、session、application作用域中的值
使用JSTL來做邏輯判斷或循環控制
JNDI數據庫連接池
JNDI的作用以及如何使用JNDI連接數據庫
分頁和文件上傳
掌握在JSP中如何使數據達到分頁的目的;
掌握在JSP表單中如何上傳文件,Servlet如何處理上傳請求(Commons-Fileupload、Commons-IO)。
Ajax
掌握Ajax的基本概念;
掌握jQuery中的Ajax請求;
掌握JSON
Filter、Listener;
掌握Filter和Listener
掌握Session過濾器和編碼過濾器
通過第二階段了解前端相關的技術,如果你喜歡前端各種酷炫的效果,那麼就深入學習JS、CSS。不大感興趣的話,就淺嘗輒止,並重點學習Servlet、Filter、Listener。重點學習,重點學習,重點學習。 重要的話說三遍!
學習完第二階段的內容之後,就可以進行B/S版本的系統開發了。這個時候我們可以挑選個稍微複雜點兒的項目來練練手,能找到商業項目練手的那是最好不過的,沒有的話,就寫寫學生管理系統,檔案管理系統,人事管理系統之類的練練手吧。
最後說一下本階段的前端知識,如果將jQuery和Bootstrap學的差不多了的話,再看EasyUI這之類的前端框架也基本上都是照着API用就行了。別害怕看API,看API將是你以為的整個職場生涯必不可少的一個技能。
3、 主流技術應用
Mybatis的應用
Mybatis的Mapping與實體映射;
Mybatis中的SQL語句寫法;
Mybatis的緩存。
Spring應用
Spring容器的作用;
Spring的AOP和IOC;
Spring託管Mybatis事務;
SpringMVC的應用
SpringMVC中的控制器註解、請求註解、參數註解、響應註解等;
SpringMVC中的靜態資源處理;
SpringMVC的容器。
Spring+SpringMVC+Mybatis整合
SSM的整合使用;
Spring容器和SpringMVC容器
Redis+Mysql的查詢優化設計
Redis的安裝與連接;
Redis常用命令及各命令使用場景;
Redis存儲機制;
Redis的持久化機制。
任務處理相關
HttpClient模擬請求
Quartz定時任務
常用工具
ExcelWorld導入導出
短信郵件發送
Maven
Maven的作用
Maven項目的創建
Maven的生命周期
Maven中央倉庫及私服
Log4J2日誌
FastDFS的使用
什麼是分布式文件系統;
分布式文件系統解決的問題是什麼;
FastDFS的使用
通過第三階段了解目前Java領域比較經典的三大框架,了解他們的大概功能,並加以使用。通過使用SSM開發一個簡易CRM之類的項目來加強了解,理清楚框架的大致原理。搞清楚這三個框架之間的作用域以及角色。理解Redis作為內存數據庫與MySQL這類關係型數據庫的區別,並能使用常用的Jar包完成模擬請求,定時任務等相關係統常用功能的開發。並能夠通過Maven創建SSM項目,整合Log4j或其他的日誌包。了解FastDFS的作用,並理解圖片上傳至文件服務器和上傳到tomcat之間的區別
在第三階段的內容學習完了之後,就應該對整個系統研發有個大概的印象,實際上這個時候,獨立完成一個系統之後,再回過頭來仔細思考下Servlet+JDBC+JSP與SSM實現項目的相同點及區別。這樣會讓你更加的有收穫。並能夠理解非關係型數據庫Redis的性能優勢以及使用場景。
4、模擬實際項目開發
SpringBoot 2.0的應用
了解SpringBoot的起源及優勢
了解SpringBoot項目的格式以及創建方式
yaml語法特性
application配置文件及靜態資源處理
Thymeleaf模板引擎
SpringBoot核心之WebMVCConfigurer
Spring自定義錯誤處理
SpringBoot日誌引用及切換
SpringBoot數據源和Mybatis
SpringBoot-redis應用
Struts2應用(了解即可)
通過學習Struts,了解什麼是MVC;
掌握Struts是如何完成界面控制的;
掌握Struts的參數接收及傳遞;
掌握Struts的攔截器;
掌握Struts的OGNL和標籤使用。
Hibernate應用(了解即可)
Hibernate在項目中的作用及優勢;
Hibernate中的hbm與實體類之間的關係;
什麼是HQL,什麼是關係映射(一對一,多對一,多對多);
了解Hibernate的事務、懶加載和緩存。
Redis哨兵模式的搭建
Linux操作系統
Linux中的常用命令;
Linux下的JDK、tomcat安裝;
Linux下的項目部署方式。
Nginx的使用
Nginx的作用;
反向代理和正向代理分別是什麼;
Nginx實現tomcat代理。
Mysql集群方案
Mysql集群的常用方案有哪些;
Mycat中間件的概念
Mycat的使用準則;
了解數據庫的主從複製;
了解數據庫的主備切換;
為什麼需要主從和主備。
Solr入門
什麼是全文檢索;
Solr做搜索的優勢是什麼;
Lucene、ElasticSearch、Solr之間的關係;
Solr的安裝與使用。
JVM
回顧所有所學習到的知識,聯繫所有框架中的自定義容器、上下文來理解變量及對象的存儲
理解垃圾回收是怎麼一回事
理解集中回收算法
完全理解整個堆棧模型
通過第四個階段了解更簡單易用的SpringBoot,微服務應用和存儲集群相關的概念及實現方案。讓自己具備一個設計高可用,可擴展的項目框架視野。這樣對於後面繼續專研SpringCloud / Dubbo、zookeeper這些RPC相關的框架有很大的好處。
第四階段的內容更加偏向於互聯網技術棧,通過這一節的內容能夠脫離出基本的增刪改查,了解出了增刪查改之後,需要了解的集群、系統性能優化、外部緩存服務器使用、集群負載等概念。這些思維對於後面的提高以及學習會很有好處。
我提到的這些東西都能搜到對應的資料,無非多踩點坑罷了。但是,看文檔or項目永遠進步不了。一定要上手敲,想再多也不如動手。有機會聯繫一名優秀學長,有個走在前面的人給你指路肯定比你自己走要快得多。
最後,一定要動手,一定要動手,一定要動手。把代碼敲爛,你才會有收穫,不要被視頻誘導,敲一遍之後誤認為你自己會了,如果第二天你起來時已經忘了昨天學習了什麼的話,那說明你還是沒學會。好好加油吧。
在所有的學習過程中,每一個節點都應該有相應的練習或者項目來進行練手,看再多的博文和視頻都是不行的, 不能讓自己的雙手停下來,只有不停的敲打鍵盤,寫出自己的項目,然後在實際的開發中學會如何使用debug,總結所有遇到的bug及解決思路,這樣才叫做學習技術。所以,希望有興趣的同學,能夠好好努力,不要因為一點點難度就懈怠、放棄。開發這條路途,無論你工作多久,都會遇到各種奇奇怪怪的問題,以及形形色色的bug等着你去解決。
如何從零開始學Java?
Java語言的學習開始,很多同學不知道從哪入手?如果你也想知道如何從零開始學java?怎樣學java有效?java培訓班本文為你解答。
雖然Java面象對象很多東西都是被封裝好的直接用,相對其他語言沒那麼複雜,但是學的東西也沒有那麼的soeasy,總之如果你是真想做開發,就先沉下心用心把基礎打好,不要先老想着因為軟件行業有市場,所以要進來分一杯羹的這種急躁心態。
另外,在編程這個行業,技術更新速度快,所以一定要具備相應的自學能力及自學意識,不然即使現在入職了Java相關的工作,不主動學習的話,說不定幾年後你就跟不上技術要下崗了。互聯網時代快的就是更新迭代了。話不多說,下面一起來了解一下如何從零開始學Java。
一、到相應的培訓機構付費學習
別在這說培訓機構沒用什麼的,不過一定要找正規的培訓機構,不然容易被坑。培訓機構裡面的課程都是現在工作中需要用到的,時間短,所以可能學生消化得沒那麼快,基礎可能也沒那麼快鞏固,所以需要自己更加的努力。
在培訓機構里學習要注意的是:勤加練習、主動自學、有問題提,不懂的儘管問老師,不然畢業後再有問題就沒有這麼好的機會能夠直接得到有效的溝通了。
二、自學
由於是自學,所以從開始到入門會很枯燥,不一定所有的人才能堅持下來,所以如果你沒有深厚的興趣的話個人建議還是別自學編程了。
下面再給大家補充一些Java的學習思路!
學習Java其實應該上升到如何學習程序設計這種境界,其實學習程序設計又是接受一種編程思想。每一種語言的程序設計思想大同小異,只是一些由語言特性的而帶來的細微差別,比如Java中的Interface,你幾乎在以前的學習中沒有碰到過。以下我仔細給你說幾點:
1明確面向對象的範疇
我們必須明確一個大方向,也就是說現在面向對象的編程範疇。儘管人工智能曾經有所浪潮(看看Borland為什麼有TurboProlog),但未來5-10年工業界廣泛承認並接受的將是面向對象式的編程。
工業界目前流行的面向對象編程語言就是C++和Java。所以基本上鎖定這兩個方向就可以了。而且完全可以同時掌握。
2掌握Java的精華特性
掌握Java的精華特性的同時,一定要知道為什麼。比如,Interface和multi-thread。用interface是更好的多繼承的模型,而多線程則是設計到語言一級的重要特性。要完全理解interface是為什麼,用多線程又有幾種常用的編程模型。
3開始進行設計
理解了語言的特性是為什麼了之後,就可以試着上升到設計這個層次,畢竟學習語言是要用的。目前比較好的開發模式是採用自定向下的面向對象的設計,加上MVC的模式(你可以看一下我介紹的關於MVC的內容)。首先要找出最頂層的對象(這往往是最難的),然後一層一層往下遞歸,記住每次應符合7+/-2的原則,因為我們人的短記憶就是這樣。一般有圖形用戶界面的應從界面開始設計。
4學習設計模式
有了基本設計模型後,可以學一些設計模式(DesignPattern)。這是目前證明很有效的。比如體系結構模式(Layering分層,Pipe/Filter管道或過濾器),設計模式(有很多,比如對象池ObjectPool、緩衝池Cache等),編程模式(比如Copy-on-Write)。
懂了這些模式之後,就會對系統的整體結構有很好的把握,而學術上也有傾向一個系統完全可以由各種模式組合而成。前面提到的MT實際上就有好幾種模式,掌握後就不用自己花很多時間去試了。另外一個很重要的領域就是並行和分布式計算領域,大概有20種左右。
5進行編程實踐
接下來就不能紙上談兵了,最好的方法其實是實踐。一般教科書上的例子並不能算是實踐,只能算是讓你掌握語言特性用的。而提倡做實際的Project也不是太好,因為你還沒有熟練的能力去綜合各種技術,這樣只能是你自己越來越迷糊。
我認為比較好的方法是找一些比較經典的例子,每個例子比較集中一種編程思想而設計的,比如在我的實踐當中,我曾經學習過一個很經典的例子就是用Java實現的HotDraw(源自SmallTalk),你可以用rolemodel或hotdraw在搜索引擎上找一下,我記不大清楚了。好象是個網站,上面有原代碼和一些基本設計的文檔。
另一個來源可以到是個不錯的文檔基地。從HotDraw上我學到了什麼是Framework,以及如何用rolemodel的方式來構造,這樣我就可以應用到其他的地方。順便說一句,這個例子你絕對不會覺得小,只會覺得大,並且他還是真正的商用的Framework。
6學習修改經典例子
結合前面學到的設計模式你就可以很好的理解這些經典的例子。並且自己可以用他來實現一些簡單的系統。如果可以對他進行進一步的修改,找出你覺得可以提高性能的地方,加上自己的設計,那就更上一個層次了,也就會真正地感到有所收穫。
好象以上談的跟Java沒什麼關係,其實我們早就應該從單純的學習語言到真正的學習好編程的領域。學習技術是沒有止境的,你學習第一種語言可能要半年時間,以後每種語言都不應該超過兩個月,否則你會覺得學習語言是包袱,是痛苦。
7學以致用
學習是為了用的,是為了讓你的程序產生價值,把握住這個原則會比較輕鬆點。
感謝大家閱讀“如何從零開始學Java?”希望對大家有所幫助,更多精彩內容請關注Java培訓官網
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/282819.html