Java從入門到精通可以到IT學習聯(lián)盟下載。
但是這套教程只是基礎。要學會真正到java就要一套完整到java視頻教程。
完整的java教程可以看看IT學習聯(lián)盟的<>。零基礎Java就業(yè)班包括Java基礎 進階 高級 項目。
是一套完整的Java視頻教程。這套教程從零基礎開始教起,零基礎到就業(yè)水平。
就算沒基礎也可以學習的?!?關于如何學習java,我剛才看到一篇很不錯的文章,是一個農(nóng)民工介紹自己如何自學java,并找到java的工作,里面介紹了他的學習方法和學習過程,希望對你有幫助。
我是一名地地道道的農(nóng)民工,生活在經(jīng)濟落后的農(nóng)村,有一個哥哥和一個弟弟,父母都是地道的農(nóng)民,日出而作,日落而息,我從小到大學習一直很好,從小學到高一都,成績在全級一直名列前茅,這樣我也順利了考上省的重點高中,然而,每個學期開學是家里最為難的時候,每次交學費都讓父母發(fā)愁許久,家里為了給我籌錢讀書,都借了不少錢,才讓我讀上高中。我知道我讀到高中家里已經(jīng)欠了好多債,為了減輕家里的負擔,我選擇了退學。
2009年我高一退學,為了給家里還債,干過建筑工地的小工,搞過塑料制品加工,送水工等等。很工資都很低,一個月也就1000多,加上加班費一個月能拿2000多一點,我每個月都向家里寄回800-1000元,到了2011年末,一次偶然的機會我接觸了Java,聽說Java的前景挺不錯,工資相對于我一個農(nóng)民工來說簡直是天文數(shù)字,于是我在新華書店買了幾本Java的書,盡管白天辛苦工作,晚上回來還是堅持看書,但有于基礎太差很多都很不明白,但還是堅持看,一有看1-2個小時Java的書,看著看著許多基礎都慢慢的學會了,但那些比較難的還是看不懂,后來還買了有些關于框架的書,還是看不懂,這樣斷斷續(xù)續(xù)的持續(xù)了半年多,覺得自己Java的基礎都差不多懂了,但框架還是看不懂,還有最缺的項目經(jīng)驗,看了很多招聘Java程序員的簡介都要項目經(jīng)驗,相對我一個農(nóng)民工來連框架都弄不明白,想找一份Java工作對我來說簡直是奢侈。
我只想學Java,并不敢想以后能從事Java的工作。 一次,在百度上看到一篇讓我很鼓舞的文章,是一個Java高手介紹在沒有基礎的朋友怎么自學入門Java,文章寫的很好,包含了如何學習,該怎么學習,他提到一個方法就是看視頻,因為看書實在太枯燥和費解的,不少是我們也看不懂,這點我真的很認同,我自己看書都看了很久才學會基礎。
曾經(jīng)有想過參加培訓,但是上萬元的培訓費讓我望而卻步,我工資這么低,每個月還有向家里匯錢,加上城市消費比較高,雖然每個月只有幾百剩下,但是相對于上萬萬學費和四個月的吃住費用逼我連想不敢想。 于是我決定看視頻,我就去搜索Java的視頻,雖然我零星的找到一些Java的視頻,但是都不系統(tǒng)。
最重要連項目都沒有。后來我找到一份很好的視頻,是IT學習聯(lián)盟這個網(wǎng)站一套視頻叫<>,網(wǎng)址:/portal.php?mod=view&aid=5。
的教程還不錯,很完整。還贈送11個頂級企業(yè)項目。
價格很合理,于是我買下來。 于是開始了我的自學Java的路,收到光盤后,我就開始學習,剛開始學習還不錯,是從零基礎教起,老師幽默風趣而又輕松的課堂教課,使我發(fā)現(xiàn)原來學習JAVA并不是一件很難的事情。
因為我本來基礎還不錯,前面的基礎看一篇我就過去了,到了框架,我覺不又不是很難,可能老師太牛了,他能把復雜的問題講的比較通俗易懂,有些難點的地方我還是連續(xù)看了五六次,把他弄懂。每天下午6點下班后,吃了飯,馬上跑回家。
看視頻,買了幾本筆記本。當時,為了編程還花幾百元了臺二手的臺式電腦,配置一般,但編程是足夠的。
一邊看視頻,一邊記筆記,把重點都記下來,還一邊跟著老師敲代碼,為了能盡早學會Java。每天都堅持學5-6個小時。
經(jīng)常學到晚上一點多才睡覺。星期六,日不用上班,每天7點多起床,學到晚上11,12點。
那段時間特別辛苦,特別累。在學習Java的三個多月里,除了吃飯睡覺工作,剩余的時間都在學習,因為我知道自己的計算機基礎不是很好,也沒有學過什么計算機,只是學了些Java基礎,相對于那些科班的人來說我要比他們付出更多的努力。
我只能咬緊牙關,堅持下去,我不能放棄,我要完成我的夢想,我要讓我的家人過上好日子。終于三個多月后我把Java教程里的內(nèi)容和項目都學完了,在學項目的過程中我發(fā)現(xiàn)項目特別重要,他能把你學過的知識全部聯(lián)系起來,能更好的理解你所學的知識。
還有學習過程中,動手很重要,要經(jīng)常跟著老師動手敲,動手吧,跟著做,一行一行的跟著敲,再試著加一些自己的功能,按照自己的思路敲一些代碼,收獲遠比干聽大的多。 如果遇到暫時對于一些思路不能理解的,動手寫,先寫代碼,慢慢你就會懂了。
這套視頻還贈送了11個頂級企業(yè)項目,對于我沒有任何經(jīng)驗的人來說,這個太重要了,還有在學習項目是提升能力最快的方法。項目能把所有的知識點全都連到一起了,不再是分散的,而是形成一個整體了。
那種感覺是僅僅深入鉆研知識點而不寫真實項目的人所不能體會的。一個項。
試試這個怎么樣 import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JDialog; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; public class Test extends JFrame implements ActionListener {private JMenuBar menuBar; private JMenu menuFile; private JMenu menuHelp; private JLabel label; private JButton button; private JMenuItem menuClose; private JMenuItem menuAbout; private static final long serialVersionUID = 1L; public Test() { init(); setLayout(null); add(menuBar); add(label); add(button); setVisible(true); setLocation(900,100); setSize(250,500); setResizable(false); } private void init() { menuBar=new JMenuBar(); menuBar.setBounds(0,0,250,30); menuFile=new JMenu("文件"); menuHelp=new JMenu("幫助"); menuBar.add(menuFile); menuBar.add(menuHelp); label=new JLabel("單擊幫助菜單或按鈕,查看信息。
"); label.setBounds(10,350,250,30); button=new JButton("關于"); button.setBounds(50,250,70,30); menuClose=new JMenuItem("關閉"); menuFile.add(menuClose); menuAbout=new JMenuItem("關于"); menuHelp.add(menuAbout); button.addActionListener(this); menuAbout.addActionListener(this); menuClose.addActionListener(this); } public static void main(String[] args) { new Test(); } public void actionPerformed(ActionEvent e) { if(e.getSource()==button||e.getSource()==menuAbout) {new Test2();} if(e.getSource()==menuClose) {this.dispose(); } } } class Test2 extends JDialog { private JLabel label; private static final long serialVersionUID = 1L; public Test2() {init(); add(label); setSize(300,200); setLocation(500,200); setVisible(true); } private void init() { label=new JLabel(); label.setText("我愛java!"); } }。
java初學者到精通,要掌握的知識點可以參考如下內(nèi)容:一、學習DreamWaveMX中文版的網(wǎng)頁設計技術。
HTML網(wǎng)頁設計,這是最基本的。學習XML的一些基本知識。
初步掌握一些Jscript..的應用。二、學習Java語言。
學習Java語言的第一步是安裝好JDK,JDK的環(huán)境變量的配置,至于如何配置JDK的環(huán)境變量,網(wǎng)上關于這樣的文章很多,你可以搜索一下,這里就不多說。配置好環(huán)境變量以后,寫一個Hello World的小程序測試一下JDK是否已安裝成功。
環(huán)境變量配置成功以后就可以著手學習Java的語法了,先找一本系統(tǒng)的java程序設計的書,開始最好不要用eclipse等之類的高度集成的IDE環(huán)境,用文本編輯器配合JDK就行了,這樣助你理解下列幾個基礎概念:path,class_path,package ,并熟悉基本命令:JDK的最重要命令行工具: java: 啟動JVM執(zhí)行class javac: Java編譯器 jar: Java打包工具 javadoc: Java文檔生成器 這些命令行必須要非常熟悉。對于這些命令的學習,JDK Documentation上有詳細的文檔。
下載和你的JDK版本一致的API幫助。三、是學習Java的面向?qū)ο蟮木幊陶Z言的特性的地方,比如繼承,構造器,抽象類,接口,方法的多態(tài),重載,覆蓋,Java的異常處理機制。
可以參照《Thinking in java》這本書,對面向?qū)ο蟮闹v解很透徹。四、就是開始熟悉Java的類庫,Java的基礎類庫非常多,但是真正對于我們來說最核心的只有4個,分別是 java.lang.*; java.io.*; java.util.*; java.sql.*; 要知道包有哪些方面的類構成的,這些類的用途是什么,最核心的幾個類分別是完成什么功能的。
五、JDK Documentation。通過上面的學習,如果學的比較扎實的話,就打好了Java的基礎了,接著要學習Documentation里面除了上面4個包之外的其他一些比較有用處的類。
相信進展到這一步,Java的自學能力已經(jīng)被培養(yǎng)出來了,可以到了直接學習Documentation的水平了。除了要做GUI編程之外,JDK里面其他會有用處的包是這些: java.text.*; java.NET.*; javax.naming.*; 這些包里面真正用的比較多的類其實很少,只有幾個,所以不需要花很多時間。
六、Java Web 編程學習java web 編程之前要先下載安裝應用服務器(App Server),比較常用的應用服務器(App Server)有Tomcat 、BEA Weblogic、IBM Webshpere、Jboss 。以Tomcat為例,下載安裝Tomcat以后設置兩個環(huán)境變量: JAVA_HOME=C:/j2sdk1.4.2 CATALINA_HOME=D:/tomcat4 (你的Tomcat安裝目錄)Java的Web應用至少需要安裝JDK和一個web容器(例如Tomcat),以及一個多用戶數(shù)據(jù)庫,Web應用至少分為三層: Browser層:瀏覽器顯示用戶頁面 Web層:運行Servlet/JSP DB層:后端數(shù)據(jù)庫,向Java程序提供數(shù)據(jù)訪問服務七、學習J2EE的基本程序設計。
(1)首先學習JSP動態(tài)網(wǎng)頁設計。掌握JSP、JAVABEANS、JDBC、JSTL等技術,最好以TOMCAT作為實驗環(huán)境。
因為它影響力大,雖然性能不怎么的,很多JSP技術討論都是以它為背景。(2)學習EJB的程序設計思想。
在學習EJB之前要學習對象序列化和RMI,RMI是EJB的基礎。接著學習JMS和EJB,對于EJB來說,最關鍵是要理解EJB是如何通過RMI來實現(xiàn)對遠端對象的調(diào)用的,以及在什么情況下要用到EJB。
八、學習“設計模式”。可以參照《java設計模式》,這本書學習。
九、學習一些經(jīng)典框架的應用:(1)struts1.1、webwork2(2)hibernate(3)Ibatis/DAO框架(4)spring十、分析一些經(jīng)典的應用系統(tǒng):Jive、XPetstore、JPetstore等。
1. PATH環(huán)境變量。
作用是指定命令搜索路徑,在命令行下面執(zhí)行命令如javac編譯java程序時,它會到PATH變量所指定的路徑中查找看是否能找到相應的命令程序。我們需要把jdk安裝目錄下的bin目錄增加到現(xiàn)有的PATH變量中,bin目錄中包含經(jīng)常要用到的可執(zhí)行文件如javac/java/javadoc等待,設置好PATH變量后,就可以在任何目錄下執(zhí)行javac/java等工具了。
CLASSPATH環(huán)境變量。作用是指定類搜索路徑,要使用已經(jīng)編寫好的類,前提當然是能夠找到它們了,JVM就是通過CLASSPATH來尋找類的。
我們需要把jdk安裝目錄下的lib子目錄中的dt.jar和tools.jar設置到CLASSPATH中,當然,當前目錄“.”也必須加入到該變量中。2、public class Test { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int sum=0;//設定一個變量,求和的值 for(int i=1;i<=100;i++){ sum=sum+i; } System.out.println("1+2+3+。
.+100的和:"+sum); }}3、import java.util.Arrays;public class Test { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int str[]={1,3,9,5,4,8,2}; Arrays.sort(str); System.out.println("數(shù)組中最大數(shù):"+str[str.length-1]); }}4、public class Test { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub String str="abc.java.txt";//定義一個變量設置文件名稱 System.out.println(str.substring(str.lastIndexOf(".")+1)); }}5、public class Student {private String name;//姓名private int age;//年齡private double score;//成績public Student(String name,int age,double score){ this.name=name; this.age=age; this.score=score;}public String getName() { return name;}public void setName(String name) { this.name = name;}public int getAge() { return age;}public void setAge(int age) { this.age = age;}public double getScore() { return score;}public void setScore(double score) { this.score = score;}}6、我就不貼代碼了。你自己創(chuàng)建借個對象。
然后把五個對象的成績放在一個數(shù)組中,直接調(diào)用Arrays.sort(數(shù)組名) 這個方法排序輸出就ok了。7、方法:可以使用文件流來讀寫。
樓主可根據(jù)文件的類型選擇是字節(jié)流還是字符流來實現(xiàn)。如果樓主還需要,可以把代碼寫出來8、TCP(Transmission Control Protocol,傳輸控制協(xié)議)是基于連接的協(xié)議,也就是說,在正式收發(fā)數(shù)據(jù)前,必須和對方建立可靠的連接。
一個TCP連接必須要經(jīng)過三次“對話”才能建立起來,其中的過程非常復雜,我們這里只做簡單、形象的介紹,你只要做到能夠理解這個過程即可。我們來看看這三次對話的簡單過程:主機A向主機B發(fā)出連接請求數(shù)據(jù)包:“我想給你發(fā)數(shù)據(jù),可以嗎?”,這是第一次對話;主機B向主機A發(fā)送同意連接和要求同步(同步就是兩臺主機一個在發(fā)送,一個在接收,協(xié)調(diào)工作)的數(shù)據(jù)包:“可以,你什么時候發(fā)?”,這是第二次對話;主機A再發(fā)出一個數(shù)據(jù)包確認主機B的要求同步:“我現(xiàn)在就發(fā),你接著吧!”,這是第三次對話。
三次“對話”的目的是使數(shù)據(jù)包的發(fā)送和接收同步,經(jīng)過三次“對話”之后,主機A才向主機B正式發(fā)送數(shù)據(jù)。TCP協(xié)議能為應用程序提供可靠的通信連接,使一臺計算機發(fā)出的字節(jié)流無差錯地發(fā)往網(wǎng)絡上的其他計算機,對可靠性要求高的數(shù)據(jù)通信系統(tǒng)往往使用TCP協(xié)議傳輸數(shù)據(jù)。
面向非連接的UDP協(xié)議“面向非連接”就是在正式通信前不必與對方先建立連接,不管對方狀態(tài)就直接發(fā)送。這與現(xiàn)在風行的手機短信非常相似:你在發(fā)短信的時候,只需要輸入對方手機號就OK了。
UDP(User Data Protocol,用戶數(shù)據(jù)報協(xié)議)是與TCP相對應的協(xié)議。它是面向非連接的協(xié)議,它不與對方建立連接,而是直接就把數(shù)據(jù)包發(fā)送過去!UDP適用于一次只傳送少量數(shù)據(jù)、對可靠性要求不高的應用環(huán)境。
比如,我們經(jīng)常使用“ping”命令來測試兩臺主機之間TCP/IP通信是否正常,其實“ping”命令的原理就是向?qū)Ψ街鳈C發(fā)送UDP數(shù)據(jù)包,然后對方主機確認收到數(shù)據(jù)包,如果數(shù)據(jù)包是否到達的消息及時反饋回來,那么網(wǎng)絡就是通的。例如,在默認狀態(tài)下,一次“ping”操作發(fā)送4個數(shù)據(jù)包(如圖2所示)。
大家可以看到,發(fā)送的數(shù)據(jù)包數(shù)量是4包,收到的也是4包(因為對方主機收到后會發(fā)回一個確認收到的數(shù)據(jù)包)。這充分說明了UDP協(xié)議是面向非連接的協(xié)議,沒有建立連接的過程。
正因為UDP協(xié)議沒有連接的過程,所以它的通信效果高;但也正因為如此,它的可靠性不如TCP協(xié)議高。QQ就使用UDP發(fā)消息,因此有時會出現(xiàn)收不到消息的情況。
TCP協(xié)議和UDP協(xié)議各有所長、各有所短,適用于不同要求的通信環(huán)境。9、
用戶名: | |
密碼: |