-
1 # 使用者2261853795704
-
2 # IT人劉俊明
作為一名計算機專業的教育工作者,同時也出版過Java程式設計書籍,所以我來回答一下這個問題。
首先,從程式語言自身的難易程度上來說,Java語言還是具有一定學習難度的,原因有三方面,其一是Java語言的抽象程度比較高;其二是Java語言的語法規則相對嚴謹;其三是Java語言比較依賴於框架和模式。
對於初學者來說,學習Java語言首先要從理解Java語言的各種抽象開始,其中類和物件是首先應該掌握的概念,掌握了類和物件之後,再理解封裝、繼承和多型這些概念的時候會更容易一些。理解抽象本身具有一定的難度,對於沒有程式語言基礎的人來說更是如此,而要想更好地瞭解這些抽象,應該透過各種實驗來建立畫面感。按照歷史經驗來看,Java語言的初期學習難度是比較大的,後期的學習難度相對會比較低。所以學習Java程式設計,一定要堅持。
Java語言本身是純粹的面向物件程式語言,而且語法規則比較嚴謹,這樣做的好處是保證了java語言的執行效率和程式可讀性(規範性),但是壞處是初學者需要記住很多規則,只有多用才能逐漸熟悉這些規則。為了提高初學者編寫程式碼的規範性,java初學者還需要學習一系列程式設計模式,所以在掌握了基本的Java語法之後,緊接著就需要學習一系列Java模式。
學習Java語言還需要學習一系列開發框架,不同的開發框架有不同的應用場景,會解決不同的問題,目前應該重點學習一下Spring框架,經過多年的發展,目前Spring系列框架已經比較成熟了,可以說為開發者提供了“一站式解決方案”。
最後,學習java一定要注重實踐,所以在學習完基本的java框架之後,最好在實習崗位上鍛鍊一下。
-
3 # 軟體新視界
一、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的設計目標是提供標準的,面向訊息的,能夠跨越多語言和多系統的應用整合訊息通訊中介軟體。
-
4 # 使用者111145054153
第一步:首先要做好學習前的準備工作: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常用元素。
-
5 # 來自月亮的大媛子123
對於學習Java,我也經歷了很多個階段,一開始,我只能透過找影片,找入門書籍來學習,但是資料太亂太雜,資料收集了一大堆,自己反而更不知道從哪開始了。後來朋友介紹我瞭解學習百戰程式設計師的Java,接著又做專案,參與實操,到最後終於符合了能拿到Java大廠offer的水平。
百戰程式設計師的Java課程是實戰化課程,不僅有嚴格的督導老師跟進,還有輔導老師解決問題,每個階段還有實操和專案,可以更快的學好Java,授課老師都有8年以上的授課經驗。可以說是系統學習Java最好的選擇。學完還有推薦就業,就業率在業內是排第一。
題主如果學習Java就可以考慮下百戰程式設計師,是個不錯的選擇。
-
6 # 匯智動力
在Java語言的學習路上,一定要把基礎知識打牢,比如Java的底層實現。
關於Java基礎知識的學習,這裡匯智妹給到6點建議:1.熟練java基礎,多練習
java基礎的面向物件、集合、多執行緒、反射、java8特性等,這些開發常用基礎必須牢固,並且可以在運用的基礎上多看看原始碼的實現思路,比如:HashMap每次擴容是怎麼重新計算hash的等等。
2.多讀“java開發手冊”
阿里巴巴 Java 開發手冊不多說了,定義了程式設計規範,異常處理、安全規約等提高開發者綜合素質的一個手冊。
3.精通設計模式
如果你能一口氣把23種經典的設計模式都熟練使用,對之後學習的很多框架之類的知識或者自己設計的東西都有很大助力。
4.資料結構和演算法
著名的Pascal之父——Nicklaus Wirth(沃斯)讓他獲得圖靈獎的就是他提出的著名公式:“程式=資料結構+演算法”。
這個公式對計算機科學的影響類似於愛因斯坦的質能方程在物理界的影響。因此可以看出來資料結構和演算法在我們開發程式中有多麼的重要了。
(推薦圖書)
5.深入理解JVM
更深層次理解jvm執行過程、記憶體分配回收、類載入過程、引數調優等。
6.熟練併發程式設計
多執行緒併發程式設計一直是工作和麵試的必需品,畢竟一提到高併發、分散式都不得不說到併發程式設計。
(推薦圖書)
-
7 # 此岸彼岸君何在
Java 是最流行的程式程式語言,是現在程式設計師使用最廣泛的語言(沒有之一)。關於 Java 的起源和特點在我的《Java具體是做什麼的?》一文中有介紹。感興趣可以翻翻。下面談談如何開始學習。
樹立面向物件的概念Java 語言與以往程式語言的最大區別就是建立在“面向物件”(object-oriented)的概念上。以往的程式語言都是指令性語言。“面向物件”方法可以說是程式設計思想的革命。運用“面向物件”這個方法寫程式,Java 不是第一個,但是恐怕是運用最徹底最深刻的。所謂“物件”就是對應著現實中的事物。比如“產品”這個物件可以用一個“類”(class)來對映,其中包括了產品的屬性以及對這些屬性(properties)的一些計算操作,即“方法”(method)。有了類,我們就可以生產出無數的物件(object)來。
將程式設計建立在“物件”的概念上有很多好處,比如“類”可以實現程式碼封裝,可以被繼承和引用,可以被複用等等。這種程式設計的方法叫做面向物件程式設計。在學習 Java 時要努力建立起“類”和“物件”的觀念來。
選用適合你的 Java 教材教材可以是線上的或者書籍。因為 Java 的普及和應用廣泛,現在很容易在網上找到學習 Java 的課程,很多都是免費的,質量也不錯。要注意的是對初學者要選用比較系統的嚴謹的教材,比如對資料型別要有詳細的介紹。Java 對資料型別(type)是非常嚴格的,這個有別於其他的程式語言,比如 Python。英語比較好的同學建議直接上 Java 的官網看tutorials。即使用漢語的教程,還是建議多參考官網上的教程,因為那上面更新很快。我的經驗是,學習一種新語言,最好找 3 個教程,以一個為主,同時參考其他兩個。這樣可以避免有些概念或方法在一個教程裡講不清,甚至講錯了,換一種講法你會理解的更快更深。
一定要多動手做練習下載 Java 的 JDK 軟體包(建議用比較穩定的 Java 13,也可以用最新的 Java 15),按照網上的要求安裝,然後跟隨教程一步一步做練習。一定要自己親手敲程式碼,老老實實地自己填坑,這樣學出來才是自己的。紙上談兵是沒用的。不動手,想混過未來的面試是不可能的。
學習 Java 還有一個好處是,即使你實際工作中用不到,有了這個基礎,你再學習或理解其他程式語言就感覺很容易了,有一種一覽眾山小的感覺!
-
8 # 重慶原始碼時代
努力很重要,方法同樣重要!
Java學習的十條建議:一、從零基礎學習Java,只要方法正確,依然可以學好Java程式設計
學習Java就像交朋友一樣,要從陌生到熟悉再到鐵桿搭檔一生相伴的過程,隨著深入的瞭解,你不但會發現學Java並不是和想象的那樣無聊和困難,而且還有一些美妙之感;當然在擁有強大的技術和出色的設計思想後才能感覺到的。
二、多動手,多實踐,多敲程式碼實踐是檢驗理論的唯一標準,只有程式碼敲的多了才能讓你體會到程式碼中的美麗,才能不斷髮現程式語言的優缺點和解決問題的方案。對初學者來說提升程式碼質量的唯一途徑就是多敲程式碼,哪怕是一個非常簡單的問題,也要將它用程式碼實現並執行,這才是學習程式設計的正確之路。靠眼睛看是學不會程式設計的,只有用手練才能讓你更好的學習程式設計。
三、學會記筆記,把自己的想法和靈感記下好記性不如爛筆頭,當我們在學習中你可能靈光一閃,有了一個特別好的想法和靈感,或者突然想同了一個一直困擾自己的問題,用筆記錄下來,如果想用到的話,可以隨時翻閱,就是你的成長日記。同時,也要一個熱愛分享的人,把你的經驗和想法拿出來分享到你的論壇和部落格,幫助那些需要幫助的人,資源共享是推動技術進步的主要力量。
四、學會和同樣學習程式設計的人多交流學習java不是一個人在戰鬥,有很多人他們和你一樣,在同一個起跑線上奮鬥著。能使用框架實現一個簡單的程式不是真正的挑戰,當你真正成為一個軟體開發工程師的時候,你就會發現很多奇奇怪怪的問題,自己一個人可能解決不了,你需要依靠一些人給你提供解決的思路,哪怕是隻言片語都有可能幫你走出困境。作為一名初學者,不要放過一個可能讓你提升的機會,尋找一些好的交流平臺,不懂就問,問題解決一個少一個,自己也會在不斷的進步。同時你也要學會分享,把自己的經驗和想法分享給和到有需要的人,不僅可以幫助他們的,而且也鞏固了自己的知識;懂得分享也是一種美德。
五、虛心學習,接受有效的指導在學習程式設計的道路上別人的指導有著至關重要的作用,有效的指導可以讓你免走彎路,自我提升的更快。優秀的開發工程師為什麼待遇高而且在專案中有著舉足輕重的作用,主要是因為他們不僅能夠把握專案開發的正確方向,而且還能帶領團隊其它成員提升自己的開發水平,這是任何一個企業都企求的也是初出茅廬的Java人員所渴望的。這些經驗的積累不可能都來自教科書,同時人脈的積累也是至關重要的,人脈的積累不僅可以轉化為經驗的積累還可能轉化為財富的積累。
六、掌握核心的API初學java,不要眼高手低,看著感覺很容易但是做著難,能理解很容易,做就不一定會做;在學習的過程中理論知識掌握不僅要熟練而且要理解,如果不瞭解語言構成核心API那一切都是0!對於Java語言而言,你要對它的API有非常強的實戰經驗,例如java.lang.*,IO,Exception(異常),Collections(集合),Generics(泛型),Threads(執行緒),JDBC(資料庫連線)等等。如果你想要成為一個出色的程式開發者,不管你用什麼型別的框架,你都必須要熟悉Servlet和JSP。
七、經常尋找技術部落格,學習閱讀在網路上有很多技術牛人都透過部落格來分享自己的技術經驗和程式設計心得,你只需要勤奮一些去發現並找到自己需要的部落格,每天去閱讀他們的技術文章,可以瞭解到不同人對同一技術的經驗和看法,可能他們會為某一項功能而爭執不休,你不需要去理會,可以在“觀戰”的時候要去分析各種觀點,逐漸形成自己的思想,久而久之你會明顯感覺到自己在程式設計上的提升。
八、經常學習和閱讀開源框架原始碼合格的開發者必先能靈活的使用各種框架,而要想成為一個出色的開發者,就應該要不斷的去學習流行框架的原始碼,不斷的閱讀,這樣才能夠深入瞭解框架內部機制,而且還要大量的練習,這樣才能逐步豐富自己的程式碼設計思想,成為做一個程式碼的創造者而不是程式碼的複製者。
九、有用的程式碼和工具會給我們帶來意想不到的驚喜當今,軟體的日益流行和Java的豐富的資源,註定一些程式碼要重複使用,隨著你的工作經驗的積累,這樣的重複性工作可能越來越多,所以你要學會整理並收集一些常用程式碼,在比如:log4j的配置檔案(log4j.properties),JDBC配置,框架的配置等,還有工具類的例如StringUtils(字串工具),DBUtils(資料庫工具)等等,這會對給你以後的工作帶來極大的便利,有時候走一個捷徑可以讓你省去不少麻煩。
十、瞭解未來技術的發展方向兩耳不聞窗外事,一心只讀聖賢書,在如今的網際網路時代是不合適的,作為一個軟體開發者,如果技術跟不上可以去鑽研,但是如果思想要跟不上,你辛辛苦苦剛做出來的產品很有可能已經落後了,很有可能只是一個微不足道的小功能,如果思想跟不上,那麼就不能掌握主動,還有可能會被產品經理抱怨技術落後什麼功能都實現不了,因此我們在低頭看程式碼的同時也要開啟雙耳,瞭解未來技術的發展方向,這樣才能保持領先,才能立於不敗。
總之,Java是一門容易上手的程式語言,但是要想學好,努力是必不可少的。學習java也要對自己有充分的信心,不斷的調整學習方法和態度,如果你初入學習Java遇到問題沒有人解答也可以來找源妹兒解答。
-
9 # 幻滅的未來
學習計劃
首先,我把Java系統學習分成兩個階段。
第一階段:建立完整的的技術棧,成為一個有富於生產力的高階軟體工程師。
在這個階段要掌握一系列的基礎知識和工具。這些東西前後關聯,所以學習過程成線性順序,要從上往下進行。
下面是第一階段的學習路線:
第二階段:這個階段的目標是成為Java技術專家、架構師,因此必須在上一階段的技術上,往高處(例如設計模式、大資料)走,往深處(Spring原始碼、Java虛擬機器)走。
這個階段的知識,並不存在前後的關聯。在完成第一階段的學習之後,完全看工作的需要,以及個人的興趣,安排學習的優先順序。
下面是第二階段的學習目標:
接下來,我就點一下這個學習計劃中的“關鍵點”。
Servlet
要成為一個優秀的Java web專家。無論是你用Spring MVC實現的普通REST介面,還是微服務。往深地走,都要深刻理解Servlet以及容器(例如Tomcat).
因此,在深度學習微服務,以及Spring MVC之前,一定要把Servlet學精,因為他是整個Java web的基石。所以,在成為軟體專家的路上,Servlet是最基本的墊腳石,務必重視。
SQL
在我作為程式設計師入行的時候,沒少在SQL語言下功夫,尤其是在SQL語言最佳化方面,包括在儲存過程中各種折騰。
但現在,SQL最佳化在開發過程中的優先順序顯著降低,有幾個原因:
各種OR map框架(例如Hibernate、Mybatis)的出現,使SQL的工作量大大降低。各種OR map框架本身也會對編寫的、自動生成的SQL進行最佳化。當前的伺服器架構,如果要提高效能,首先應該考慮架構的橫向擴充套件性,而不是在SQL上進行極端最佳化。但現在也不是說可以完全“任性”地編寫SQL。只是說對於程式設計師,只要掌握最常見的SQL最佳化原則,做到工整就夠了。
快取、佇列
快取,佇列。業界都有了較成熟的方案,例如Redis,ActiveMQ等。在學習的過程中,第一步是掌握核心概念,以及他們要解決的問題。然後就要親自安裝,使用這些軟體,建立感性的認識。
其次就是在掌握核心概念的基礎上,掌握這些開源軟體的Java API,然後試著在此基礎上,編寫典型的Demo,從而在Java語言層面上徹底掌握。
至於有些朋友提到的把概念再“實現一遍”。不知道朋友指的是使用API,還是把快取和佇列軟體,用Java語言實現一下。如果是後者,不是說不可以,關鍵是太費時間。同時,就業界實踐來說,不是特別必要。如果你真有興趣,把優先順序放低一點,作為一個更長期的目標。
Linux
這個學習計劃是一個長期的,深入的學習計劃。最終是要成長為技術專家、或架構師。那麼有必要適時的掌握下Linux。因為在實踐中,伺服器往往委託於Linux伺服器。而且將來,還有不少開源軟體只能在linux上執行。
因此,在開始學習快取和佇列前,需要先掌握了Linux的基本用法。然後再學習的過程中,就把這些開源軟體在Linux上執行。
這樣,在你學習Java的過程中,順便也把Linux學習了,這遠比你將來單獨學習Linux要有趣,印象要深刻。
微服務
微服務並不是一門具體的技術,而是一個設計理念,很多語言和框架都可以實現,例如Java中的Spring MVC等。
因此,如果已經掌握了Spring MVC、Spring boot。那麼對微服務的掌握是水到渠成的事情。你要做的就是注意力放在微服務的應用場景上。
設計模式
設計模式是較為靠上的東西。如果Java基礎不是太好的話,很容易陷入空泛,眼高手低。
如果你的Java基礎太薄弱,例如沒有掌握“抽象類”。那麼我建議你先把設計模式學習停一下,先把Java的基礎知識補充下,至少要學完《Java核心技術》第六章,也就是掌握完整的現象物件的概念。然後再回來學習設計模式。
在學習設計模式的時候,一定要動手。最起碼要把書中列舉的設計模式,用Java語言實現一下。如果你閱讀時是經典的GOF《設計模式》,其中的程式碼(用C++描述),就不容易用Java實現。建議你可以參照《Head First設計模式》,其中的demo都是短小精悍,很適合用Java來實現。
這樣,一則有利於理解設計模式。二則在學習設計模式的過程中,也進一步增強對Java基礎知識的掌握。這種學習過程是一個相互促進的過程。
學習筆記很重要
特別重要的一點,學習的過程中,儘量的寫學習筆記,其中包括難點和重點。
因為,系統深入的學習Java必然是一個長期的,綜合的過程。到後期,一定會出現學著後面,忘了前面。如果你沒有學習筆記,又沒有實踐中積累的程式碼,那麼就會出現邊學邊忘的情況。
而有了學習筆記,可以給自己的學習留下了“蹤跡”,以後複習的時候用來參考,很快就能把早前學習的記憶“喚醒”。
而且,這些學習筆記在後來的工作中,還能成為自己的參考手冊,隨用隨查。
還有,那就是學習筆記還是一個特別好的面試寶典。因為既然你記下了筆記,這些東西往往經過你深度思考,深度消化的東西,也是你區別於其他工程師的卓越之處。
此回答轉自樂位元組
-
10 # 清閒的帆船先生
我來回答這個問題!
java開發市場應用在不斷擴大,企業對有經驗的java開發工程師的需求也逐年增加。有越來越多的人選擇轉行java開發,但是對於零基礎轉行的小夥伴來說,恐怕是需要學習一段時間才有可能順利入行的。
學習java的方式無非就兩種:自學和參加java培訓。對於零基礎的小夥伴來說,自學並非是好的學習方式,但是自學往往是小夥伴在學習java開發道路上首先考慮的學習方式,但是自學並適合每個人。我想說的是:無論是哪種學習方式,必須養成一個好的學習習慣和正確適合自己的學習方法。
1.端正學習態度
我認為端正學習態度是學好一門技術的先決條件。態度決定成功與否,三天打魚兩天曬網的學習態度是無法學好知識的,更不用說去學一門賴以生存的技術了。
2.課上認真聽講
在學習java開發過程中,接受技術知識最快的也就是在課堂上。在課堂上要認真聽講,仔細記筆記,是養成一個良好的學習習慣的開始。在必要的情況下,小夥伴需要做到課前預習,清楚的瞭解到自己這節課需要學什麼,著重聽講哪一部分,這樣可以有利於提高學習效率。
3.課下複習
小夥伴想要學好java開發,除了上課認真聽講之外,課下還要經常的去複習學過的知識,因為人的記憶是分階段的,學的知識間隔時間越長,越容易遺忘,因此小夥伴要經常的去複習,在複習技術知識的同時,多敲程式碼,這樣讓你更容易的去理解和記憶相關技術知識,夯實基礎。
4.多看學習教程
在課下我們還要養成看書或看學習教程的習慣,這樣不但可以查詢自己的不足,還可以對自己技術知識加深記憶,逐漸養成自己的程式設計思維。
5.多交流
平時要和老師、同學多交流,進行思維互換,千萬不要閉門造車。這樣久而久之,將自己的程式設計思維和別人的思維相融合,從而提升自己程式設計思維,得到技術的昇華。
-
11 # IT少女
小白自學的難點在於:1,找不到合適的資料。2,不知道學習重點。
可以先去b站看看影片,都有免費的影片和程式碼。
然後跟著學習學習。
不要想著徹底掌握一塊知識點再去學下一塊知識點,這樣永遠不可能把這一套影片學好。你應該用最快的時間完整過一遍,對整體學習路線有個把握。第一次學習爭取每個知識點懂個50-60%,從後面的內容判斷前面哪些知識點是重要的,常用的。然後回過頭來有重點突出的攻克,抓大放小。
我覺得真正學習java的時間是在工作後。剛畢業的時候一位老師(原諒我現在都沒去看他一次,也許是感覺混的不好沒臉見他吧)推薦我到他朋友的公司去實習。
先學的是mysql,接下來就是幾個後臺框架,spring是核心,struts2和ibatis(現在用的最多的是springmvc和mybatis)。
-
12 # 程式猿阿嘴
一、為什麼我要寫下這篇文章
• 學習 Java 要完成的主要任務是什麼?• 初學者應該按照什麼樣的順序去學 Java ?• 哪些技術與技能極為重要,必須下苦功夫掌握?• 有哪些技術「現在必須要學」和可以「以後再學」?• 有哪些技術已經過時可以不必再學?• 特定的技術(比如 JDBC , Socket 開發、多執行緒……)應該怎樣學?• 怎樣學習與掌握比較複雜的 Java 開發框架(比如 Spring Framework 和 Netty )?• Java 技術領域近些年有哪些新技術是需要關注並掌握的?• 怎樣自己找到合適的專案練手?如何透過刻意訓練提升自己的開發能力?• ……1.1直接緣由:
在今天(2018年11月4日)有個同學給我發微信同學:能不能給他一個網頁他改一下,他想參考一下,然後用於做畢業設計。知識兔小編:可以啊,你的題目是什麼啊?想用Java來寫嗎?同學:對啊,我現在在學Java呢(ps:之前跟該同學聊天的時候"我看著這些程式碼就頭暈,我對電腦真不感興趣"....真香!)隨後這個同學發了一個小影片過來,說自己在學Java。我看了一下:大概是在練習&^|這些運算子。最後,我告訴這同學:"你去知識兔找影片看吧,你現在學這些對你的畢業設計沒有什麼幫助的啊"。然後讓他去知識兔找影片看了
ps:我並不是說學&^|這些運算子是沒用的,但如果單純是想自己用Java來寫畢業設計的話,這些知識點應該是用不上的。
1.2間接緣由:
自身經歷:
我學習Java也是自學的,在大學期間也是一直一個人在學(身邊的同學可能家裡有礦)。即便我在學習的時候也去搜了不少的意見,但是現在回過頭來看,我還是走了不少的"彎路"了。知識兔
“不玩 JSP 十幾年了“。“jsp不是老掉牙的技術嗎”。“看這個有一種穿越的感覺……碼了6w多字,看著就心疼……”。“這十年前的技術都被挖出來了?”“剛畢業時寫過好幾個自定義標籤,那時候感覺好有成就感,但是現在,用於view的jsp,似乎有點過時了,view一般用【模板】或者【完全靜態 + ajax + json】了”嗯...那篇文章我當時在2018.02.07釋出。我學JSP的時候是在2017年初吧,其實在2017年JSP也已經是落後的技術了,但我還是花了不少的時間去學習JSP的各種用法(自定義標籤,JSTL,EL表示式等等)。
網友們其實說得都沒有毛病,對我來說:在2017年花了不少時間去學如何使用JSP(過期的技術),這就是我認為的"彎路"。
ps:在2018年花點時間瞭解JSP是沒毛病的,但深入學習的話是沒必要的。"彎路"說明:如果你有充裕的時間,怎麼學都不是事,畢竟你是真真正正地在學程式設計。只要在學程式設計,就不是彎路,最怕你不學。
以這篇文章回復我部分的讀者:
寫部落格以來,還是有部分讀者是零基礎學Java的,有轉行的、也有年輕的師弟師妹的。一般他們也問我應該怎麼學Java比較好,學習Java的路線應該是怎麼樣的。
emmmm,我一般都是比較簡單地回覆一下:讓他們多做筆記啊,接下來應該花時間學什麼,不學什麼...就完了..
所以,寫完這篇文章,遇到再問我如何學習Java的時候,我直接發個連結就完事了(懶人必備)..
1.3目的
如果你:
想要用Java在短短的幾個月時間內寫出自己的畢業設計。想要用Java體驗一下如何從零搭建一個屬於自己的網站。那麼可以看一下我下面所寫的不成熟的建議。
二、如何快速學Java
這裡我以Java EE(Jakarta EE)/Java Web的經驗來說哦。(都把你們看做是零基礎入門的了)
學習Java EE(Jakarta EE)總體來說會有以下三大模組:
Java資料庫Web前端知識兔在我看來,無論學習什麼技術都好,在學習該項技術的細節之前都得知道:這項技術是什麼,為什麼我要學習這項技術,學習了這項技術有什麼好處。
看似好像我在說多餘的話,但如果你在學習某項技術的時候無法回答上面的三個問題。再過幾天,你很大程度上會忘記這項你所“學過”的技術。比如說,如何你連“為什麼要用多執行緒”你都無法用通俗的話來解釋清楚。即便你當時學習的時候知道多執行緒可以用xxx方式來建立,多執行緒的xxx的api。那再過兩個月,人家問你”Java多執行緒有什麼用啊?”。你想想你還能答什麼,我認為你是記不住“多執行緒可以用xxx方式來建立、多執行緒的xxx的api”這些知識點了。再比如說,如果學習Spring時不知道IOC和new物件有什麼區別,那我為啥不直接new物件而要那麼麻煩去學Spring呢?簡單來說:如果你不知道學習某項技術是幹嘛用的,那先不要學。
如果你是零基礎學習Java並理解力不是爆棚的話,我建議以影片學習為主。
可能你會看到這樣類似的言論:
“看影片學習太慢了”“直接看原始碼啊,原始碼就是最好的解釋”“有問題直接Google啊,用什麼百度”“最好的資料是官網文件”.....但是,那都是對有經驗的人或者高智商的人群來講的。
如果是零基礎普通人,看影片學習/看不懂原始碼/用百度/看中文部落格來學習不丟人。
ps:如果看的影片講師的語速不是特別快,建議以1.5或者1.75倍速觀看。
2.1關於影片資源
我在學習Java的時候也收集了很多的影片資源,並不是每個都有看過。只是在混群的時候發現有人發了,就複製下來整理一下罷了。
其他的影片資源:
B站:如果你想看哪個影片,可以先搜一下B站有沒有。知識兔:大量各類程式設計新教程,都說是720或1080P超高畫質畫質影片慕課網:裡頭也有挺多的影片資源。拉關係:不少人手裡都有幾t的資源,如果跟群友的關係不錯,一般都會免費給你發的......2.1學習Java基礎
零基礎學習Java的路線我簡單總結為以下:
首先去官網下個JDK,按現在常用的版本JDK1.8就夠學習了下載地址:JDK1.8下載:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html隨後去下載現在Java常用的編輯器IDEA(也可以用eclipse,但現在IDEA的確是好用)..下載地址:IDEA下載:https://www.jetbrains.com/idea/以1.5/1.75倍速觀看Java基礎影片(以知識兔Java基礎教程為例)在學習Java基礎時,我簡單來說一下什麼東西可以不碰:
&^|位運算子,++i和i++類似這種繞死人的語法內部類AWT,SWING程式設計註解需要深入理解的知識點:
流程控制面向物件的概念Java語法this指標、重寫和過載、final、static等等這些基礎的東西集合(包括泛型)常用的集合類IO流IO流程式碼的編寫(理解這些知識點,能夠在有提示的情況下碼出程式碼,但不要為了一些細節鑽牛角尖)簡單過一遍的知識:
異常多執行緒網路程式設計反射機制(你得知道這個知識點是幹嘛用的,為什麼要學這個知識點,能看懂具體的程式碼!)對於上面所說深入理解的知識點,我個人是非常建議在學習期間寫筆記(部落格)的。
如果喜歡畫思維導圖的,我這裡推薦processOn就可以了。無需下載Xmind這麼麻煩了:
ProcessOn來畫思維導圖:https://www.processon.com/i/5815483ce4b0baccb2d1f8c6有的時候並不需要使用IDEA開啟一個.java或者.xml這樣的檔案,可以使用notepad++記事本:
NotePad++記事本:https://notepad-plus-plus.org/學會科學上網和使用Chrome瀏覽器,比如說下載攔截廣告外掛,英語翻譯外掛
Chrome瀏覽器:https://www.google.com/chrome/攔截廣告外掛:https://chrome.google.com/webstore/search/uBlock%20Origin?hl=zh-CN&_category=extensions英語翻譯外掛:https://chrome.google.com/webstore/search/%E6%B2%99%E6%8B%89%20%E6%9F%A5%20%E8%AF%8D?hl=zh-CN雖然是快速學習Java,但學完上面的估計得一個月了(:..
一個月發現都是面向控制檯程式設計(console),輸入輸出一些資料來玩。
期間可能就學習IO的時候可以複製檔案,修改檔名有點意思。但好日子就要來臨了!
2.2學習Java Web基礎
首先我們可以學習一下Web前端的知識(此部分都簡單過一下就好了)
HTML/CSS/JavaScript/jQueryCSS框架(都有中文手冊,很快就上手了,選一個自己喜歡的就好了):BootStrap:http://www.bootcss.com/Materialize:http://www.materializecss.cn/到目前為止,學完上面這些可以搭建“能看”的靜態網頁了。曾經看過一段話來總結上面的技術:
“HTML是名詞,CSS是形容詞,JavaScript是動詞”隨後學習JavaWeb的路線如下:
Tomcat(簡單過一下)XML/註解(簡單過一下)Servlet(重點理解)HTTP協議(重點理解)Filter過濾器(重點理解)Listener監聽器(簡單過一下)JSP(簡單過一下)AJAX、JSON(簡單過一下)基於上面的學習,起碼已經可以使用request物件來接收前端傳送過來的資料,使用response物件將Java後端的資料返回給前端,使用Filter攔截器來處理中文亂碼問題(Tomcat預設的編碼是ISO-88591)。總的來說已經可以實現前後端互動了!
2.3學習資料庫
資料庫這裡指的是關係型資料庫,一般我們以MySQL來入門就足夠了。
在學習期間,其實很多時間都耗費在配置環境上面,比如我之前安裝JDK,安裝MySQL,安裝Oracle就耗費了不少時間。後來我也將其寫成部落格,需要重新安裝的時候翻一下部落格就好了。
建立表(create table)增刪改查(insert,delete,update,select)對於儲存過程、觸發器這些瞭解一下即可對於索引、鎖後面再學(此部分很重要,但以快速入門來說,可以先不看)2.4學習Java連線資料庫(JDBC)
到這裡,我們Java Web、資料庫、Web前端的基礎都已經基本學完了,但此時Java和資料庫是相互獨立的。我們想要以程式的方式來對資料庫的資料進行操作,那就要學習一下Java連線資料庫(JDBC)。
JDBC這項技術並不難呀,就是模板程式碼,來來去去就幾個步驟:
匯入MySQL或者Oracle驅動包裝載資料庫驅動程式獲取到與資料庫連接獲取可以執行SQL語句的物件執行SQL語句關閉連線由於這些程式碼可能會重複出現,那我們可以學習一下DbUtils這個元件:可以幫我們減少編寫JDBC的模板程式碼。
2.6專案管理和框架的學習
經過上面的學習,已經是可以在本地寫一個Web專案了。
頁面框架使用BootStrap/Materialize框架來搭好請求處理交由Servlet,返回的資料可以透過AJAX或者使用JSP,DAO層可以使用DbUtils。資料儲存在MySQL中為了讓寫程式碼變得更爽,我建議用半天學一下Maven(專案管理工具),用幾天學一下SpringBoot。
從Servlet直接跳到SpringBoot可能有點難理解,但多搞幾天我相信還是可以的..2.7Linux學習
最後,我們在本地上寫完的專案想要讓其他人都看得見,一般都會部署在Linux環境下的。(此部分的學習可以等到將專案寫完,想要部署專案才學習)
我是不推薦使用虛擬機器再搞Linux的,直接買一臺方便很多
如果是學生的話,一個月的學生版也就10塊一個月。如果是轉行的大哥話,現在阿里雲雙十一有優惠,買起來就很便宜了。三、總結
總結一下我認為學習Java的路線:
Java基礎-->流程控制-->面向物件(包括Java語法)-->Java集合-->Java IO流-->異常-->多執行緒-->網路程式設計-->反射JavaWeb基礎-->HTML/CSS/JavaScript/jQuery-->Tomcat-->XML/註解->Servlet-->HTTP-->Filter過濾器和監聽器-->JSP-->AJAX/JSON-->資料庫(MySQL)-->JDBC和DbUtils專案管理和框架-->Maven-->SpringBootLinux基本命令最後我們的專案是這樣的:
以Maven來管理我們的專案前端透過BootStrap來搭建頁面框架SpringBoot來搭建Java後端環境,SpringMVC處理前端請求(SpringBoot整合了)DAO層使用DbUtils元件來完成,MySQL作為資料庫當然了,我的Java路線不一定就是對的,我這裡只是給出一種路線。
再次說明:這套路線是以“快速”學習Java的,如果你想要找到一份好工作,上面的知識點是不夠的!
-
13 # Java阿祖
開始學習Java
讓我們分解學習Java的六個步驟:
1.明確學習目標
Java可能更容易學習其他語言,但這並不意味著它不會具有挑戰性。為了掌握Java,必須要每天學習和不斷練習。如果整個學習過程中沒有明確的目標,這將更加困難。
擁有明確的目標將推動克服挑戰,並使你專注於學習。在過程中儘早設定這些目標將使你的注意力在減弱時重新集中。
2.制定學習計劃
自律是好朋友。為了學習制定計劃將使你成為新的Java學習者。有了計劃,將知道何時以及要學習什麼。
從基礎開始設定每週課程。許多人問到掌握Java需要花費多長時間,當然,沒有確定的答案。但是,一個有明確目標,有條理的學習者肯定會比沒有計劃學習的人更快,更有效率地學習。如果你認真學習Java,我建議拋開諸如:每工作日2小時、週末每天4小時這樣的學習。以Java基礎知識模組為單元的學習計劃是效果最好的
這是學習主題的一般進度:
Java語法 (編寫程式的規則)面向物件的程式設計概念核心Java (如何開發Java應用程式)Java集合 (用於儲存物件組的體系結構)庫和框架 (大量的預寫程式碼)API (用於構建應用程式的協議和工具)Git (廣泛使用的控制系統)制定貫穿這些主題的學習計劃。你的學習時間將取決於您對其他程式語言的瞭解以及您的個人學習風格。
3.下載Java開發工具包(JDK)
Java Development Kit是一個開發環境,您可以在其中編寫和編譯Java應用程式。它包括編寫和開發Java所需的所有基本工具。該軟體包包括Java執行時環境(JRE)和Java虛擬機器(JVM)。JRE提供庫和元件來實際執行您的程式碼和應用程式。JVM是執行Java位元組碼並在任何平臺上實現程式碼的工具。您可以從Oracle官網下載JDK 。
4.從基礎開始
即使您熟悉其他程式語言,對Java的基礎的學習也至關重要。一旦瞭解瞭如何編譯程式碼並修復錯誤,便可以進入下一階段的學習。因此,讓我們先從些關鍵術語和概念來開始。
什麼是Java語法?
像任何一種語言一樣,程式語言也具有一組術語和規則來表達含義和順序。Java具有自己的語法,您將需要學習編寫程式碼。Java區分大小寫,因此大寫字母很重要。例如:endLoop並且Endloop具有不同的用途和含義。宣告資料型別,宣告變數以及使用運算子的所有內容都將使用語法。
什麼是識別符號?
標識是我們用來建立所有Java元素的名稱。您可以在以後的程式中使用識別符號來引用專案。以下是所有識別符號的語法規則:
識別符號區分大小寫識別符號以字母(A到Z或a到z),下劃線(_)或貨幣字元($)開頭識別符號不能是關鍵字例如:age, _number,_1_value
什麼是運算子?
運算子是執行特定操作或功能的符號。可以將它們視為句子的標點符號或代數公式的符號。Java中有幾種型別的運算子。
算術運算子:這些在數學表示式中使用。它們的功能與代數相同。示例包括:+,-,*,/。關係運算符:有六個關係運算符,用於比較兩個數字並返回布林值。六個運算子為:<,>,<=,> =,!=,==。邏輯運算子:這些運算子基於其他表示式的布林結果返回布林結果。示例包括:&&,||,!。位運算子:這些執行數的個別位的操作,並且可以被應用到整數型別 long, int, short, char,和 byte。賦值運算子:這些將其右側的值分配給其左側的變數。例如, age = 5 將值定義 5 為變數 age。雜類運算子:這些不屬於任何這些類別,例如條件運算子和instanceof運算子。什麼是關鍵字?
關鍵字是保留用於預定義含義或功能的單詞。有一個已建立的關鍵字列表,您需要學習。例如,關鍵字 new 建立一個新物件。看看下面的Java關鍵字。
什麼是資料型別?
在程式語言中,資料型別指定變數的值,以及可以將什麼型別的操作應用於變數。Java程式語言中有兩種資料分類:
原始資料:這些資料型別內置於Java語言中,並保留有關鍵字。有 8種原始資料型別:布林值,位元組,字元,短型,整數,長型,浮點型,雙精度型。int myNum = 5; // Integerfloat myFloatNum = 5.99f; // Floatchar myLetter = "D"; // Characterboolean myBool = true; // BooleanString myText = "Hello"; // String
物件資料:這些資料型別內置於Java語言中,但是程式設計師可以建立自己的類。這些包括類,介面和陣列。什麼是物件?
物件是具有狀態(屬性)和行為(方法)的資料的組合。使用識別符號為物件命名。Java非常面向物件,因此程式圍繞物件而不是函式或邏輯進行組織。一旦組織了物件,就可以對其進行操作。
狀態:物件的資料行為:物件的行為或動作身份:物件的唯一名稱例如,如果我們的物件是貓,則可以這樣定義:
狀態:年齡,顏色,大小行為:睡覺,喵喵吃飯身份:貓的名字我們可以使用new關鍵字建立該物件 。
Fun object = new Fun(cat);
什麼是類?
類是我們用來建立物件並描述其行為的藍圖。它們由欄位和方法的集合組成。按照我們的貓示例,我們可以將貓分類為將多隻貓歸為一組。
一個類包括三個部分:
可見性修改器(例如公共)關鍵詞 class類名稱什麼是方法?
方法在您的程式碼中執行操作並顯示物件的行為。它們由語句的集合組成,必須被呼叫以返回值或不返回任何內容。
方法在類中宣告。您使用方法名稱宣告方法,後跟()。
該main()方法對於每個Java程式都是必需的。將此方法視為應用程式的入口點。它是這樣寫的:public static void main(String args[])。看一下下面的程式碼,看看它的作用。
public class Fun {public static void main(String[] args) throws IOException {System.out.println("Hello World");}}
什麼是變數?
變數就像一個儲存資料的容器。Java是靜態型別的,因此我們必須先宣告一個變數,然後才能使用它。Java中有三種類型的變數。
區域性變數是在方法主體中定義的,其範圍僅限於該變數。例項變數在類中定義,並且在任何方法或塊之外。例項變數是在物件中建立的。靜態變數(也稱為類變數)的定義方式與例項變數相同,但其關鍵字是靜態的。這些是在程式開始時建立的。5.平衡理論和實踐
一旦掌握了基礎知識,學習Java的最佳方法就是開始實踐。僅學習理論不會走得太遠。如果實際進行動手專案練習,將更快地掌握該語言,練習對學習很有幫助,並有助於樹立信心。編寫自己的程式碼。設計自己的專案。從錯誤中學習。掌握Java的最聰明方法是實際使用它。
理論與實踐是相互聯絡的,因此需要一個良好的平衡。不能僅僅完全放棄理論,否則將無法為實際的編碼技能奠定良好的基礎。因此,建議您將20%的時間花在理論上,而將80%的時間花在實際動手實踐上。
6.與他人一起學習
不要以為學習必須是孤立的才是正確的。網路上有一個真正協作和活躍的社群。除了論壇和文章外,還 為各個級別的開發人員舉辦了數百次聚會活動。
很多高階開發人員希望分享他們的知識和經驗。當別人的知識經驗隨時可用且免費時,同樣可以避免別人的錯誤!當熟悉該語言時,甚至可以嘗試結伴程式設計。這使你有機會向他人學習,並在他們提出問題時學習解決問題。
原文連結:https://mp.weixin.qq.com/s?src=11×tamp=1638533627&ver=3474&signature=8GGHX1jwwVOiqG4OLB*VWV18V9OQFAeyb3*XUsvfNgkzT3B3xMYBgmiXFprJyD64ZDFROsLHMKY6kJdm-o0ZpU*C9jCIjPlqi3HYOb0m8EpJmV7GL6CIzlLBHsfzynCj&new=1
回覆列表
這個是檔案編碼的問題,你看看有沒有能正常開啟這些檔案的編輯器,試試UE,如果能開啟,用UE轉換一下,一般都是utf-8 還有一種就是,你用其他的工具正常開啟之後把內容複製,然後再用dev C++開啟,貼上上去,這樣也可以 不過最根本的解決辦法是看看DEV C++可以不可以設定以某種編碼格式開啟檔案的, Eclipse好像就可以,你仔細看看DEV C++的選單