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