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