怎樣學習Java?

那些年87943


慕課網,B站等網站上都有很多免費的Java開發教程,跟著視頻一步一步學,一定要多動手,多敲代碼,鍵盤敲爛,月薪過萬。


旅行的Java


一,首先學習語言基礎,掌握語言基礎是第一步。如果你不瞭解基礎知識,那麼你就不知道自己是否做錯了或者接下來該怎麼做。萬事開頭難,學習基礎很乏味,容易睡著,而且看後容易忘,但是還是要看下去,因為書本是比較系統、深入的

二,看網絡教學視頻,教學視頻可以讓你迅速掌握編程,但通常比較生動、淺顯,不成系統。

所以最好的方法是書和視頻結合,兩者形成互補關係,如此堅持三個月以上就會熬過艱難的入門期。

三,多練習,書上或者視頻中的示例,要親自寫一遍,實驗一下,不實驗,看一萬遍都沒用,只有親自寫一遍,才會找到感覺,所以,多練習,才是最快速的學習方法.



三哥智造


一、Java基礎學習

包括Java 開發環境的搭建、Java語言基礎,流程控制,字符串,數組,面向對象編程基礎、面向對象核心技術,包裝類,數字處理類,接口、繼承與多態,類的高級特性,異常處理,lambda 表達式,集合類,I/O(輸入/輸出),反射,枚舉類型與泛型,多線程,網絡通信,數據庫操作。

二、Java基礎框架學習

Spring 框架

Spring MVC

Spring MVC 是一個模型 - 視圖 - 控制器(MVC)的Web框架建立在中央前端控制器servlet(DispatcherServlet),它負責發送每個請求到合適的處理程序,使用視圖來最終返回響應結果的概念。Spring MVC 是 Spring 產品組合的一部分,它享有 Spring IoC容器緊密結合Spring松耦合等特點,因此它有Spring的所有優點。

Spring Boot

Spring Boot是由Pivotal團隊提供的全新框架,其設計目的是用來簡化新Spring應用的初始搭建以及開發過程。該框架使用了特定的方式來進行配置,從而使開發人員不再需要定義樣板化的配置。

SpringBoot所具備的特徵有:

(1)可以創建獨立的Spring應用程序,並且基於其Maven或Gradle插件,可以創建可執行的JARs和WARs;

(2)內嵌Tomcat或Jetty等Servlet容器;

(3)提供自動配置的“starter”項目對象模型(POMS)以簡化Maven配置;

(4)儘可能自動配置Spring容器;

(5)提供準備好的特性,如指標、健康檢查和外部化配置;

(6)絕對沒有代碼生成,不需要XML配置。

數據庫映射框架

Hibernate(開放源代碼的對象關係映射框架)

Hibernate是一個開放源代碼的對象關係映射框架,它對JDBC進行了非常輕量級的對象封裝,它將POJO與數據庫表建立映射關係,是一個全自動的orm框架,hibernate可以自動生成SQL語句,自動執行,使得Java程序員可以隨心所欲的使用對象編程思維來操縱數據庫。Hibernate的API一共有6個,分別為:Session、SessionFactory、Transaction、Query、Criteria和Configuration。通過這些接口,可以對持久化對象進行存取、事務控制。

MyBatis

MyBatis 是一款優秀的持久層框架,它支持定製化 SQL、存儲過程以及高級映射。MyBatis 避免了幾乎所有的 JDBC 代碼和手動設置參數以及獲取結果集。MyBatis 可以使用簡單的 XML 或註解來配置和映射原生信息,將接口和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java對象)映射成數據庫中的記錄。

MyBatis 是支持普通 SQL查詢,存儲過程和高級映射的優秀持久層框架。MyBatis 消除了幾乎所有的JDBC代碼和參數的手工設置以及結果集的檢索。MyBatis 使用簡單的 XML或註解用於配置和原始映射,將接口和 Java 的POJOs(Plain Ordinary Java Objects,普通的 Java對象)映射成數據庫中的記錄。

每個MyBatis應用程序主要都是使用SqlSessionFactory實例的,一個SqlSessionFactory實例可以通過SqlSessionFactoryBuilder獲得。SqlSessionFactoryBuilder可以從一個xml配置文件或者一個預定義的配置類的實例獲得。

用xml文件構建SqlSessionFactory實例是非常簡單的事情。推薦在這個配置中使用類路徑資源(classpath resource),但你可以使用任何Reader實例,包括用文件路徑或file://開頭的url創建的實例。MyBatis有一個實用類----Resources,它有很多方法,可以方便地從類路徑及其它位置加載資源。

三、Web前端基礎知識學習

大前端:

HTML、CSS、JavaScript、工具、後端、性能、測試、開發守則、用戶體驗。

HTML:

HTML語義化、HTML5、DOCTYPE、SEO、Wap、SVG/VML

CSS:

CSS2(佈局方式、CSS權威指南、通用樣式)

CSS3(new selector、new CSS style)

IE通用Bug(雙倍邊距、…)

IE hack方式(條件註釋、CSS hack)

圖片(IE png8透明、css font icon、css spirite、圖片格式與壓縮率的關係、預設值width/height提升性能)

JavaScript:

安全相關(跨站腳本攻擊)、基礎知識(DOM、兼容性bug、BOM、跨域相關)、Good parts、NodeJS、設計模式、熟悉一門框架(jQuery/YUI/MoonTool)

新技術(WebWorker、WebSocket、localStorage、Canvas、Audio/Video、SVG、ECMAScript 5、History api、File api、Geolocation API、Drag&Drop、Messaging、Offline cache、其他)

DOM:DOM Traversal、事件、其他、Rang api

BOM:XMLHttpRequest、CSS Object Model、其他

工具:

開發工具(編輯器、firebug/Web developer、chrome默認工具、fiddler/其他代理工具、jslint/jsdev)

構建工具(G-build、Google、YUI compressor、uglifyjs)

測試工具

學習工具(信息記錄[workflowy.com、EverNote、zootool]、信息獲取[RSS(google reader)、Twitter、新浪微博])

版本管理工具(SVN、git、hg)

四、Java高級技術

微服務治理框架

Spring Cloud

Spring Cloud是一系列框架的有序集合。它利用Spring Boot的開發便利性巧妙地簡化了分佈式系統基礎設施的開發,如服務發現註冊、配置中心、消息總線、負載均衡、斷路器、數據監控等,都可以用Spring Boot的開發風格做到一鍵啟動和部署。

Dubbo

Dubbo是阿里巴巴公司開源的一個高性能優秀的服務框架,使得應用可通過高性能的 RPC 實現服務的輸出和輸入功能,可以和Spring框架無縫集成。

Dubbo是一款高性能、輕量級的開源Java RPC框架,它提供了三大核心能力:面向接口的遠程方法調用,智能容錯和負載均衡,以及服務自動註冊和發現。

Remoting: 網絡通信框架,實現了 sync-over-async 和request-response 消息機制。

RPC: 一個遠程過程調用的抽象,支持負載均衡、容災和集群功能

Registry: 服務目錄框架用於服務的註冊和服務事件發佈和訂閱

數據庫

MySQL

MySQL 是最流行的關係型數據庫管理系統之一,在WEB應用方面,MySQL是最好的 RDBMS應用軟件之一。PostgreSQL

PostgreSQL是一個功能非常強大的、源代碼開放的客戶/服務器關係型數據庫管理系統(RDBMS)。

緩存

Redis

redis是一個key-value存儲系統。和Memcached類似,它支持存儲的value類型相對更多,包括string(字符串)、list(鏈表)、set(集合)、zset(sorted set --有序集合)和hash(哈希類型)。這些數據類型都支持push/pop、add/remove及取交集並集和差集及更豐富的操作,而且這些操作都是原子性的。在此基礎上,redis支持各種不同方式的排序。與memcached一樣,為了保證效率,數據都是緩存在內存中。區別的是redis會週期性的把更新的數據寫入磁盤或者把修改操作寫入追加的記錄文件,並且在此基礎上實現了master-slave(主從)同步。

消息中間件

Kafka

Kafka是一種高吞吐量的分佈式發佈訂閱消息系統,它可以處理消費者在網站中的所有動作流數據。

AcitveMQ

ActiveMQ是一種開源的基於JMS(Java Message Servie)規範的一種消息中間件的實現,ActiveMQ的設計目標是提供標準的,面向消息的,能夠跨越多語言和多系統的應用集成消息通信中間件。


軟件新視界


不論學習什麼知識,開始的時候都是會比較困難的,還是需要大家堅持的,堅持下來就會成功,並且最重要的一點就是要有學習熱情,不要在一開始很有衝勁的學習,學幾天之後就不想再繼續了,畢竟java編程語言也不是那麼簡單的還是需要很長的時間進行學習的,那麼怎麼學習java呢?

 這裡所指的Java學習是指對沒有基礎或者是稍微有點兒編程基礎的小夥伴來說,網上也有那種說自己學習java一個禮拜就全部搞清楚了,有沒有這種可能呢?有但是不會有很多這種人,java的入門難度相對於其它幾種常用語言還是會稍微難一點兒的,而能一個禮拜左右就將java學的比較明白的人,基本都是別的語言已經十分精通了,畢竟各個語言之間還是有相通之處的。

  那麼我們對java不是太瞭解的小夥伴要怎麼學習java知識呢?由於是新進入到一個新的領域,建議大家還是需要找一個能帶自己學習java和能夠幫助自己解決在學習java問題的師傅,如果沒有相關的資源的話,最好是報一個學習java的班,可以讓自己在學習java的路上少走一些彎路。另一個比較重要的點,就是知道自己要學習的內容都有什麼,學完這些內容,能不能憑藉這些知識去找到工作,所以一定要有詳細的規劃,短期和長期的計劃都要定下來。首先需要明確自己的學習能力和自己的學習熱情是如何的,根據自己的實際情況去定下自己的學習計劃,每天的學習java時間和鞏固之前所學java內容的時間,自己定下的短週期需要掌握的知識點,大的目標是什麼。只有定下自己的詳細目標,並且按照自己的目標來進行學習java知識,才能夠相對快速的學習java知識。


山東中公優就業


第一步:首先要做好學習前的準備工作:java語言一般用於大型的服務器程序開發,所有有必要了解如下內容:Unix開發環境Unix系統原理、Unix開發環境、Unix常用命令。熟練掌握Unix常用命令;熟練構建下的Java開發環境。

  第二步:然後進入Java語言基礎的學習階段,學習任何一門語言都要打好基礎,曾經學過高級程序語言(C,C++等)來說,java語言基礎有自己的特點,但是基本規律都是相通的,如:算法基礎、常用數據結構、企業編程規範。掌握常見的數據結構和實用算法;培養良好的企業級編程習慣。

  第三步:掌握java語言基礎後接下來就是面嚮對象語言的共性:Java面向對象面向對象特性:封裝、繼承、多態等。掌握面向對象的基本原則以及在編程實踐中的意義;掌握Java面向對象編程基本實現原理。

  第四步:JDK核心API語言核心包、異常處理、常用工具包、集合框架。熟練掌握JDK核心API編程技術;理解API設計原則;具備熟練的閱讀API文檔的能力;JavaSE核心異常處理、多線程基礎、IO系統、網絡編程、Swing組件、JVM性能調優(JVM內存結構剖析、GC分析及調優、JVM內存參數優化)、Java泛型、JDK新特性。熟練掌握JavaSE核心內容,特別是IO和多線程;初步具備面向對象設計和編程的能力;掌握基本的JVM優化策略。XML XML語法、XML解析(SAX、DOM)、Dom4j組件、Digester組件。熟練掌握XML語法規則;理解DOM模型;熟悉Java對XML的各種解析方式。

  第五步:SQL語言SQL語句基礎和提高、SQL語句調優。熟練的掌握SQL語句;掌握一定的數據庫查詢技巧及SQL語句優化技巧。Oracle數據庫開發Oracle體系結構及系統管理、Oracle數據庫高級編程、數據庫設計基礎。掌握Oracle體系結構及核心編程技術

  第六步:連接數據庫:JDBC JDBC核心API(Connection、Statement、ResultSet)、JDBC優化技術(緩存技術、批處理技術、連接池技術)。理解JDBC作為規範的設計原則;熟練掌握JDBC API;具備使用JDBC對數據庫進行高效訪問的能力。

  第七步:軟件工程基礎軟件過程和軟件活動;需求設計、概要設計、詳細設計基本原則和文檔規範;配置管理的基本概念和必要性;CVS基本操作;Ant簡介理解軟件過程的普遍概念和基本的軟件活動;理解迭代的意義;掌握Ant、CVS等常用配置管理及部署工具。

  第八步:OOAD及設計模式面向對象基本設計原則、工廠模式、策略模式、適配器模式、代理模式等、門面模式。理解面向對象設計的一般原則;理解重用的意義;掌握常見的設計模式。

  第九步:HTML/CSS HTML基本文檔結構、掌握CSS基礎語法、關於HTML文檔塊、鏈接、列表、表格、表單等。掌握HTML基本原理;掌握CSS各種選擇器及常見樣式設置;熟練使用HTML常用元素。


用戶111145054153


作為一名計算機專業的教育工作者,同時也出版過Java編程書籍,所以我來回答一下這個問題。

首先,從編程語言自身的難易程度上來說,Java語言還是具有一定學習難度的,原因有三方面,其一是Java語言的抽象程度比較高;其二是Java語言的語法規則相對嚴謹;其三是Java語言比較依賴於框架和模式。

對於初學者來說,學習Java語言首先要從理解Java語言的各種抽象開始,其中類和對象是首先應該掌握的概念,掌握了類和對象之後,再理解封裝、繼承和多態這些概念的時候會更容易一些。理解抽象本身具有一定的難度,對於沒有編程語言基礎的人來說更是如此,而要想更好地瞭解這些抽象,應該通過各種實驗來建立畫面感。按照歷史經驗來看,Java語言的初期學習難度是比較大的,後期的學習難度相對會比較低。所以學習Java編程,一定要堅持。

Java語言本身是純粹的面向對象編程語言,而且語法規則比較嚴謹,這樣做的好處是保證了java語言的運行效率和程序可讀性(規範性),但是壞處是初學者需要記住很多規則,只有多用才能逐漸熟悉這些規則。為了提高初學者編寫代碼的規範性,java初學者還需要學習一系列編程模式,所以在掌握了基本的Java語法之後,緊接著就需要學習一系列Java模式。

學習Java語言還需要學習一系列開發框架,不同的開發框架有不同的應用場景,會解決不同的問題,目前應該重點學習一下Spring框架,經過多年的發展,目前Spring系列框架已經比較成熟了,可以說為開發者提供了“一站式解決方案”。

最後,學習java一定要注重實踐,所以在學習完基本的java框架之後,最好在實習崗位上鍛鍊一下。

我從事互聯網行業多年,目前也在帶計算機專業的研究生,主要的研究方向集中在大數據和人工智能領域,我會陸續寫一些關於互聯網技術方面的文章,感興趣的朋友可以關注我,相信一定會有所收穫。

如果有互聯網、大數據、人工智能等方面的問題,或者是考研方面的問題,都可以在評論區留言,或者私信我!


IT人劉俊明


  • 自學的話,有編程基礎者,找本Java基礎書,看看目錄,通讀一遍,然後在eclipse上練習每個知識點,寫些小的測試程序,有助於深入理解基礎知識,這樣基礎熟練後,移動端可以學習Android開發,搭建Androidstudio開發環境,像學習Java過程一樣去煉獄吧,會涉及到MVP設計模式,sqlite greendao等數據庫相關框架。如果想進行服務器開發,還要學習springboot框架,數據庫持久層框架mybatis等,併發框架actor,netty等。
  • 沒有基礎者,先學習c語言吧。
  • 另外還可以去參加培訓機構,這樣可以讓你入門Java。

BinaryMaster多哥


樓主你好,下面由我來給你詳細回覆怎麼學習java。希望對你有幫助!

很多沒有接觸過java的朋友可能想要學習java,但苦於不知道從何處入手,怎麼學習,因為java語言涉及的東西太多了,不是簡簡單單就能學會的,那麼,應該怎麼學習java呢?

首先要明確學習java的目的,因為語言有很多種,為什麼要學習java,如果連自己學習的目的都不知道,只是看學習的人比較多,那麼就失去了學習的意義。

開始可以買一本java的基礎書籍,從頭看起,好好的學習鑽研,邊看邊敲代碼,有些人只想用眼睛看,不動手,學習編程語言,不動手就學會那是不現實的。

要清楚java的三大體系,javaSE,javaEE和javaME,javaSE是java相對基礎的部分,也是學習java的必經階段,所以要從javaSE學起,然後在想另外兩個體系擴展。

接下來就要學習面向對象最基本的封裝、繼承、多態。類,接口,泛型,輸入輸出流,線程,TCP/UDP協議,註解,反射機制等一些非常常用的部分。

常用的部分學好之後,就可以接觸數據庫的一些東西了,比如表,視圖,索引,存儲過程,觸發器等,然後就是java與數據庫連接jdbc,因為以後的工作中,最常用的就是java操作數據庫。

然後就可以看一些java的框架了,因為現在很多企業開發中都是使用框架的,比如StringMVC,SSH等,使用框架可以減少工作量,增加工作效率。

總之,不管學習什麼語言,都不是一朝一夕之間可以學會的,需要付出努力和汗水的,學習的過程很無聊,但是你堅持過來了,你會發現編程也是有很多樂趣的。

回答者:陌居者


蒙面哥講科技有問必答


學習Java,要從計算機語言的基本語法開始學習。最為合適的是C語言程序設計。雖然C語言和Java不是完全相同的開發語言,但是Java是由C語言開發而來,很多編程基本知識是想通的。接下來需要學習Javase也就是Java基礎語法。這個階段相對枯燥,但是非常重要。這時你僅僅可以編寫一些簡單的後臺邏輯。學完Java基礎,需要學習一定量的web前端知識,這時你的頁面才能展示效果。接下來數據庫的學習。網絡知識的學習。框架的學習。Java是學不完的。希望你下定決心,加油!


科技老扎


第一吧,我覺得學習Java,心態很重要

對於陌生的知識領域,大家最開始學的時候都會有一些困難,尤其是自學的,遇到不懂的地方,很難擺脫這個坎,特別需要有高人指點,但是又不能隨時隨地的去問題,所以學習Java開發,心態一定要擺正,要相信自己,剛開始我們要學習Java開發所需的語言、語法,因為他是計算機語言,我們需要一定的時間適應、摸索,等我們掌握基礎之後就會感受到它的樂趣,自然也就不會覺得難了。

第二吧,學習Java開發,學習安排很重要,有計劃學習,學習Java開發,最忌諱盲目的沒有計劃的學習,擺脫了系統學習計劃,結果必然“一塌糊塗”。所以建議學習Java開發最好還是參加培訓班效果更好些,還可以節約好多時間,時間對於一個程序員來說就是金錢。從Java開始一步步深入到大數據開發的各個知識點。與學習其他知識一樣,有計劃性能夠快速的直達目的地。





分享到:


相關文章: