java程序設計進階
㈠ 學習java需要學哪些 看什麼書
學習java需要學習的技術知識還是比較多的,包括:java基礎語法、面向對象、javase、資料庫技術、web前端、java開發框架、企業項目實戰等。想要學好這些技術,就需要我們不斷的努力才能夠完全掌握。至於看不看書這個可以根據大家自己的需求去了解該看一些什麼樣類型的書籍。
現在市面上的java學習資料很多,如果是想要快速完成學習找工作的可以去網路上找一些相關的視頻資料進行學習,或者是去報名java培訓班進行學習,看視頻學習或者是老師帶領學習的話更容易理解,這樣學習的效率相對看書來說是比較快一些。
java入門學習的話、大家可以看看下邊的這些書。
《Java核心技術(第10版)》
提起Java入門必讀,四大名著是少不了的。《Java 核心技術》就是其中之一,分卷一、卷二兩冊,卷一講基礎,卷二為進階。全書對於Java語言的核心概念、語法、重要特性和開發方法講解得非常細致,可以說是一部有關Java的網路全書。
㈡ 如何優化JAVA程序設計和編碼,提高JAVA性能
通過使用一些輔助性工具來找到程序中的瓶頸,然後就可以對瓶頸部分的代碼進行優化。一般有兩種方案:即優化代碼或更改設計方法。我們一般會選擇後者,因為不去調用以下代碼要比調用一些優化的代碼更能提高程序的性能。而一個設計良好的程序能夠精簡代碼,從而提高性能。 下面將提供一些在JAVA程序的設計和編碼中,為了能夠提高JAVA程序的性能,而經常採用的一些方法和技巧。 1.對象的生成和大小的調整。 JAVA程序設計中一個普遍的問題就是沒有好好的利用JAVA語言本身提供的函數,從而常常會生成大量的對象(或實例)。由於系統不僅要花時間生成對象,以後可能還需花時間對這些對象進行垃圾回收和處理。因此,生成過多的對象將會給程序的性能帶來很大的影響。 例1:關於String,StringBuffer,+和append JAVA語言提供了對於String類型變數的操作。但如果使用不當,會給程序的性能帶來影響。如下面的語句: Stringname=newString("HuangWeiFeng");System.out.println(name+"ismyname"); 看似已經很精簡了,其實並非如此。為了生成二進制的代碼,要進行如下的步驟和操作: (1)生成新的字元串newString(STR_1);(2)復制該字元串; (3)載入字元串常量"HuangWeiFeng"(STR_2);(4)調用字元串的構架器(Constructor);(5)保存該字元串到數組中(從位置0開始); (6)從java.io.PrintStream類中得到靜態的out變數; (7)生成新的字元串緩沖變數newStringBuffer(STR_BUF_1);(8)復制該字元串緩沖變數; (9)調用字元串緩沖的構架器(Constructor);(10)保存該字元串緩沖到數組中(從位置1開始); (11)以STR_1為參數,調用字元串緩沖(StringBuffer)類中的append方法;(12)載入字元串常量"ismyname"(STR_3); (13)以STR_3為參數,調用字元串緩沖(StringBuffer)類中的append方法;(14)對於STR_BUF_1執行toString命令; (15)調用out變數中的println方法,輸出結果。 由此可以看出,這兩行簡單的代碼,就生成了STR_1,STR_2,STR_3,STR_4和STR_BUF_1五個對象變數。這些生成的類的實例一般都存放在堆中。堆要對所有類的超類,類的實例進行初始化,同時還要調用類極其每個超類的構架器。而這些操作都是非常消耗系統資源的。因此,對對象的生成進行限制,是完全有必要的。 經修改,上面的代碼可以用如下的代碼來替換。 StringBuffername=newStringBuffer("HuangWeiFeng"); System.out.println(name.append("ismyname.").toString()); 系統將進行如下的操作: (1)生成新的字元串緩沖變數newStringBuffer(STR_BUF_1);(2)復制該字元串緩沖變數; (3)載入字元串常量"HuangWeiFeng"(STR_1);(4)調用字元串緩沖的構架器(Constructor);(5)保存該字元串緩沖到數組中(從位置1開始); (6)從java.io.PrintStream類中得到靜態的out變數;(7)載入STR_BUF_1; (8)載入字元串常量"ismyname"(STR_2); (9)以STR_2為參數,調用字元串緩沖(StringBuffer)實例中的append方法;(10)對於STR_BUF_1執行toString命令(STR_3);(11)調用out變數中的println方法,輸出結果。 由此可以看出,經過改進後的代碼只生成了四個對象變數:STR_1,STR_2,STR_3和STR_BUF_1.你可能覺得少生成一個對象不會對程序的性能有很大的提高。但下面的代碼段2的執行速度將是代碼段1的2倍。因為代碼段1生成了八個對象,而代碼段2隻生成了四個對象。 代碼段1: Stringname=newStringBuffer("HuangWeiFeng");name+="ismy";name+="name"; 代碼段2: StringBuffername=newStringBuffer("HuangWeiFeng");name.append("ismy"); name.append("name.").toString(); 因此,充分的利用JAVA提供的庫函數來優化程序,對提高JAVA程序的性能時非常重要的.其注意點主要有如下幾方面; (1)盡可能的使用靜態變數(StaticClassVariables)
如果類中的變數不會隨他的實例而變化,就可以定義為靜態變數,從而使他所有的實例都共享這個變數。 例: publicclassfoo{ SomeObjectso=newSomeObject();} 就可以定義為:publicclassfoo{ staticSomeObjectso=newSomeObject();} (2)不要對已生成的對象作過多的改變。 對於一些類(如:String類)來講,寧願在重新生成一個新的對象實例,而不應該修改已經生成的對象實例。例: Stringname="Huang";name="Wei";name="Feng"; 上述代碼生成了三個String類型的對象實例。而前兩個馬上就需要系統進行垃圾回收處理。如果要對字元串進行連接的操作,性能將得更差,因為系統將不得為此生成更多得臨時變數,如上例1所示。 (3)生成對象時,要分配給它合理的空間和大小JAVA中的很多類都有它的默認的空間分配大小。對於StringBuffer類來講,默認的分配空間大小是16個字元。如果在程序中使用StringBuffer的空間大小不是16個字元,那麼就必須進行正確的初始化。 (4)避免生成不太使用或生命周期短的對象或變數。對於這種情況,因該定義一個對象緩沖池。以為管理一個對象緩沖池的開銷要比頻繁的生成和回收對象的開銷小的多。 (5)只在對象作用范圍內進行初始化。JAVA允許在代碼的任何地方定義和初始化對象。這樣,就可以只在對象作用的范圍內進行初始化。從而節約系統的開銷
㈢ java語言程序設計第九版這本書中分為基礎篇和進階篇的區別是什麼如果想學android的話,
java基礎篇包括基本的語法,數組,集合,網路編程等
java進階篇包括多線程處理等
學android的話,必須得學java基礎篇和進階篇,畢竟android除了vm的改變外,更多的是增加ui和操作ui的api,而且在開發android應用的時候,經常會用到網路編程和多線程。
一本書,對於學校可能一學期還不夠,但如果你真想往開發Java程序這個方向走,一定不能跟著學校的腳步走,初學者自學的話,一本書最多一個星期。而且成效比學校一個學期的教學更好
㈣ 北大青鳥設計培訓:程序員如何從新手快速進階到老司機
說起Java編程首先從Java相對其他的編程語言有哪些優勢說起第一:安全性高,健壯性好安全問題一直備受關注,常見的電信企業,以及銀行等行業都會優先考慮使用Java來做系統開發。
第二:開源,任何人都可以免費的使用的。
源代碼開放第三:使用面向對象的編程思想,語法比較的簡單第四:支持動態更新,對於一些核心的業務,只需要在核心庫中天健一個指向的關系,需要升級的時候,核心庫升級了就可以實現動態更新了。
第五:支持跨平台,這一點很重要的,我們開發一個程序不僅能在winds系統上運行還能在linux系統上,甚至是mac系統上都是能運行的。
既然Java編程有了這么多的優勢後,那麼作為一名新入行的Java程序員新手該如何起步?作為一名程序員,寫代碼是很正常的一件事,其實我們在寫代碼的時候需要要做的就是要明確需求,知道自己的要做的系統是一個什麼樣的,其次是分析思路,為了實現這些功能,我們該怎麼做,思路清晰後就要確定步驟了,最後一個才是寫代碼了。
對於新手,小編在此建議新手在學習新的技術的時候要注意帶著問題來學習,比喻我們今天要學習的這個Java編程語言,其實我們可以這樣的來學習,Java編程是什麼,Java編程有哪些特點,我們該怎麼使用Java,哪些地方會用到Java編程,帶著這些問題來學習你一定會有不一樣的收獲的。
Java基本語法知識,關鍵字,標示符,常量變數,數據類型,多線程,網路編程等等,最為新手,學習Java基礎很重要的,Java基礎學習完成後,進入Javaweb的開發和學習,繼續就是Java的框架學習,有了框架後就可以做項目實戰了。
學習方法有很多,找一個適合自己的就好了,多練,多實踐才是關鍵。
基礎知識完成後,可以進入新的階段學習了Java編程發展方向大部分就是往架構師這方面發展的,所以有這樣想法的朋友一定要在現在准備起來。
北大青鳥http://www.kmbdqn.cn/發現現在網路上有很多的來源的項目,源碼都是可以下到的,有了這么好的學習環境我們應該充分的利用起來,不斷的給自己新的學習方向。
㈤ java語言程序設計第九版這本書中分為基礎篇和進階篇的區別是什麼
你說的是梁勇的那個《java語言程序設計》,中文版好像才到第八版,英文確實有第九版。進階篇肯定得學的。進階篇好像有常用的集合、以及線程、網路等高級的東西,那得學。兩本書,如果做android的可以將圖形界面那塊略掉--其實做web也會那塊略過,其他都得學(不過從第八版的內容編排上看,作者是將圖形界面的融到了各章中,學習時可以適當略過)。進度要看個人了。如果有c或c++基礎,有部分章節可以快速瀏覽式地過一遍,因為類C語言大同小異,當然這套書精華是豐富的習題。
㈥ 哪位大佬有 《 圖靈程序設計叢書:Java進階高手(套裝共8冊)》電子版書籍百度網盤資源下載
《 圖靈程序設計叢書:Java進階高手(套裝共8冊)》電子書網盤下載免費在線閱讀
鏈接: https://pan..com/s/1N7KOc6OnRa2eujiubV_d2Q
本套裝共包含《Java 8函數式編程》、《Java技術手冊(第6版)》、《Java性能權威指南》、《Java編程思維》、《Java攻略:Java常見問題的簡單解法》、《精通Java並發編程(第2版)》、《Java實戰(第2版)》、《Java虛擬機基礎教程》8本書
㈦ 學習java語言基礎哪種書好
java的內容比C簡單多了,去除了很多C/C++中容易出錯的地方,如指針等,減輕學習負擔,所以有C的基礎能很快就能學會(不過C中沒有類的概念,C++中有,有C++的基礎更容易上手點)。x0dx0ajava的核心在於類,所有的東西都封裝在類中,包括main函數,因此建議把類學好。x0dx0a介紹幾本java的書:x0dx0ajava語言程序設計(基礎篇、進階篇)。java的書沒什麼太經典的,如果要基礎的書,我認為這2本還是比較合適的,也足夠了。x0dx0ajava編程思想。這本書比較經典,但是最好能有最基本的基礎後再來看這本書。java的重點在於類,把類學好,重載、繼承等等,學扎實了,後面才有提高。這本書基本上將java的原理講的很透徹。x0dx0ajava官方API文檔。沒有比這更好的資料了,官方文檔,詳細介紹了java官方提供的所有類、介面、方法。不論學什麼語言,要想深入及提高,就必須去看官方文檔。不過官方文檔更多的在於應用,沒什麼原理。建議用到什麼,查什麼。x0dx0ajava比其他語言更簡單,因此更容易製作很多高效的軟體工程工具,如單元測試、重構等,有了扎實的基礎,去學習一下這些東西可以提高編程的水平、效率和質量。x0dx0a設計模式,非常經典,但非常抽象。不過要想在面向對象語言上編程有所提高,這是必備的。而且學了這個你會發現與C這種面向過程的語言的明顯不同。x0dx0a《設計模式》(人稱GOF) 、《head first設計模式》x0dx0a重構,有人說重構是現代軟體的麵包和水,幾乎天天用到,看似感覺不到重要性,但又十分重要。重構主要是調整程序的結構,使得軟體更容易面對變化。《重構:改善既有代碼的設計》x0dx0a單元測試工具Junit、UML工具等,很有必要去學。x0dx0ax0dx0a編程其實沒有難度,特別是java這種簡單的語言,非常容易上手。去學習設計模式等這些東西我認為更有用些,當然前提是有扎實的基礎。
㈧ java程序設計課程簡介
一 JAVA程序設計課程講什麼內容
《Java程序設計》課程是使用Java語言進行應用程序設計的課程。課程的主要目標有三:一、掌握Java語言的語法,能夠較為深入理解Java語言機制,掌握Java語言面向對象的特點。 二、掌握JavaSE中基本的API,掌握在 *** 、線程、輸入輸出、文本處理、圖形用戶界面、網路等方面的應用。三、能夠編寫有一定規模的應用程序,養成良好的編程習慣。 本課程要對Java語言的一些機制會詳細講解,所以具有系統性。本課程還注重實踐性,要講Java語言在文本、文件、窗體界面、圖形、資料庫、多線程、並行編程方面的應用。還會講到編好代碼的經驗與技巧,包括面向對象的思想、軟體開發工具的使用等。 在教學中,採用教師講授、學生自測、學生討論、編程實踐相結合的方法。
二 千鋒JAVA課程介紹
Java語言的發展及相關技術的介紹,Java技術和平台在網路計算及電子商務中的應用介紹;Java語言的基礎知識:Java語言的主要特點,設計思想,Java虛擬機,垃圾回收機制,安全性的保證機制;Java語言的基本語法規范,包括標識符、關鍵字、數據類型、表達式和流控制,程序基本結構;?面向對象技術的基本特點,Java語言的面向對象特性,類和對象的概念,封裝性、繼承性、多態性,Java語言的特殊屬性;Java程序的例外處理機制和方法;
Java語言的輸入/輸出處理機制和方法,常用的輸入/輸出方法,輸入/輸出處理的應用;
Java語言的圖形用戶界面設計:AWT界面設計的基本方法,常用的組件類庫,圖形用戶界面的事件處理模型和方法,JFC介紹,Swing圖形界面設計;Java Applet程序設計,Applet程序的特點,運行機制,與瀏覽器的集成,安全機制的使用;
多線程程序設計,進程和線程的聯系和區別,多線程程序設計的一般方法,線程的生命周期,線程狀態的控制,多線程的互斥和同步;Java語言的網路編程技術和應用,Socket程序設計,Client/Server程序設計;Java的Servlet和JSP(Java?Server?Page)技術;
JavaBeans和RMI。
三 java程序設計的介紹
《java程序設計》是2006年清華大學出版社 北京交通大學出版社出版的圖書,作者是吳萍、蒲鵬、朱麗娟。主要講述了本書通過對Java編程語言的全面介紹,引導讀者快速地掌握Java編程語言的核心內容並學會靈活運用所學的語言知識及面向對象的編程思想。全書共分9章,內容包括Java語言概述、面向對象編程初步、Java的基本語法、類庫與數組、面向對象編程深入、Applet程序、圖形用戶界面編程、異常處理和輸入輸出及多線程編程。
四 java程序設計的內容簡介
本書採用任務驅動教學模式,通過任務的實施,使讀者在讀程序、版學知識、寫程序的過程中,權逐漸掌握面向對象的Java程序設計思想和技能。本書共分12個單元,主要包括Java程序設計過程、基本語法規則、面向對象技術、數組與字元串、異常處理、GUI編程、輸入/輸出處理、多線程編程以及基礎網路編程等內容。
本書適合作為高等職業院校計算機相關專業「Java程序設計」或者「面向對象程序設計」課程的教材,也可作為相關技術人員學習Java的參考用書。
五 java程序設計的內容簡介
本書是依據本科和高職高專院校的培養目標及基本要求,結合作者多專年來的教學經驗和工程實踐屬基礎,為實施教學改革,使計算機教學進一步面向軟體編程實踐而編寫的一本教材。包括的主要內容有:面向對象程序設計語言,Java程序設計入門,程序控制流程,JAVA的方法、類與對象、繼承與派生,JAVA的異常處理,JAVA包的組成和使用,設計APPLET程序、JAVA的多線程、I/O流、網路程序設計等。每章後都配有上機實戰和理論鞏固題,實現教與學的統一。
本書語言通俗易懂,內容豐富翔實,突出了以實用為中心的特點。使用本書進行學習,可幫助讀者用最少的時間掌握最多的知識及工作經驗與技巧,是本科和高職高專院校理想的教學教材,同時也可作為軟體和信息技術工程人員的參考用書。
六 《JAVA程序設計》課程設計
1 package study.part02;
2 import java.util.Calendar;
3 import java.awt.*;
4 import javax.swing.*;
5 import java.awt.event.*;
6 import java.lang.Thread;
7 public class Clock extends JFrame implements ComponentListener,
8 ItemListener,Runnable{
9 Thread timer;
10 private JComboBox bobox_color;
11 public void start(){
12 if(timer==null)
13 timer=new Thread(this,"ShowTime");
14 timer.start();
15 }
16 public void run(){
17 while(true){
18 try{
19 timer.sleep(1000);
20 }catch(InterruptedException e){}
21 repaint();
22 }
23 }
24 public void stop(){
25 timer.stop();
26 }
27 public Clock(){
28 super("Clock");
29 this.setSize(600,600);
30 this.setDefaultCloseOperation(EXIT_ON_CLOSE);
31 this.setLayout(new FlowLayout());
32
33 this.setVisible(true);
34 }
35 public void paint(Graphics g){
36 Calendar cal=Calendar.getInstance();
37 int year=cal.get(Calendar.YEAR);
38 int month=cal.get(Calendar.MONTH);
39 int day=cal.get(Calendar.DATE);
40 int hour=cal.get(Calendar.HOUR);
41 int minute=cal.get(Calendar.MINUTE);
42 int second=cal.get(Calendar.SECOND);
43 int a,b;
44 a=this.getWidth()/2;
45 for(int i=1;i<=360;i++){
46 double angle=i*Math.PI/180;
47 double radius=a-50;
48 int x=(int)Math.round(radius*Math.sin(angle));
49 int y=(int)Math.round(radius*Math.cos(angle));
50 if(i%30==0){
51 int j=i/30;
52 String str=String.valueOf(j);
53 g.setColor(Color.black);
54 // g.fillOval(a+x,a+y,1,1);
55 g.drawString(str,a+x,a-y);
56 }
57 double radh=a-200;
58 angle=hour*Math.PI/30;
59 int xh=(int)Math.round(radh*Math.sin(angle));
60 int yh=(int)Math.round(radh*Math.cos(angle));
61 g.setColor(Color.red);
62 g.drawLine(a,a,a+xh,a-yh);
63 double radm=a-150;
64 angle=minute*Math.PI/30;
65 int xm=(int)Math.round(radm*Math.sin(angle));
66 int ym=(int)Math.round(radm*Math.cos(angle));
67 g.setColor(Color.blue);
68 g.drawLine(a,a,a+xm,a-ym);
69 double rads=a-100;
70 angle=second*Math.PI/30;
71 int xs=(int)Math.round(rads*Math.sin(angle));
72 int ys=(int)Math.round(rads*Math.cos(angle));
73 g.setColor(Color.yellow);
74 g.drawLine(a,a,a+xs,a-ys);
75 //g.drawString(cal.get(Calendar.HOUR)+":"+cal.get(Calendar.
76 // MINUTE)+":"+cal.get(Calendar.SECOND));
77 }
78 }
79 public void itemStateChanged(ItemEvent e){
80 repaint();
81 }
82 public void ponentResized(ComponentEvent e){
83 repaint();
84 }
85 public void ponentMoved(ComponentEvent e){}
86 public void ponentHidden(ComponentEvent e){}
87 public void ponentShown(ComponentEvent e){}
88
89 public static void main(String[] args){
90 Clock show=new Clock();
91 show.start();
92 }
93 }
七 java程序設計的內容簡介
本書講解了Java語言的基本知識及程序設計的基本方法,使讀者掌握面向對象程序設計的基本概念,從而具有利用Java語言進行程序設計的能力,為將來從事軟體開發,特別是Web應用系統開發打下良好基礎。全書共分10章,從內容上大致分為三個部分:第一部分為第1章~第3章,介紹Java程序設計的基礎知識,包括Java語言概述、Java語言基礎以及演算法與程序控制結構。第二部分為第4章~第6章,介紹Java面向對象程序設計的基本方法與技術,這是Java的核心與特色內容,包括類與對象、封裝、繼承與多態以及異常處理與輸入/輸出。第三部分為第7章~第10章,介紹Java的實際應用,包括多線程、網路程序設計、資料庫應用以及圖形用戶界面開發技術。
本書內容講解詳細,程序代碼均經過調試,案例實用。
本書適合作為高等院校計算機程序設計課程的教材,也可作為具有一定程序設計基礎和經驗的讀者的參考用書。
八 java程序設計的內容簡介
本書共分四篇15章來闡述Java語言。其中,第一篇介紹了Java的基礎知識,包括Java的歷史和特徵、Java的開發環境和工具、Java語言的基本語法知識;第二篇介紹了面向對象編程的思想和相關概念,Java中類的定義和對象的創建,Java繼承、介面和包,數組與字元串,異常處理及JDK類庫的應用;第三篇介紹了Java的AWT和Swing圖形包的使用以及Java的多線程編程支持;第四篇通過一些簡單的例子介紹了Java在網路和資料庫方面的編程。本書的篇章內容採用循序漸進、由簡到繁、由易到難的學習思維特徵進行編排,書中例子以人們學習與認知過程為基礎,以實際開發的需求為目標。書中內容通俗易懂,豐富易學,每章都附有習題,幫助讀者及時了解與掌握相應章節的知識點並將其應用到實踐中。
本書適合作為高職院校各專業學習Java語言的基礎教材,也可作為相關工程技術人員和科技工作者的參考用書。
九 JAVA程序設計課程主講老師是誰
JAVA程序設計主講老師是北京大學信息科學技術學院教師,在程序設計方面有多年的項目開發經驗和教學經驗,任教育部計算機教指委分委專家組成員。出版的教材包括《Java程序設計》(曾獲第六屆全國高校出版社優秀暢銷書獎)、《C#程序設計教程》、《VB程序設計》、《Visual C++.NET程序設計》等。在北京大學開設多門程序設計課程,課程內容以系統知識與實踐應用相結合,注重培養對知識體系的深入理解,在與實際工作生活相結合的應用實踐中分析問題、解決問題的能力。
十 Java程序設計與Web應用程序設計哪門課簡單
java程序設計主要講解java的基礎知識,它是一種語言性的課程。
web應用設計則是一種方向性的課程,這個web的設計你可以使用asp,也可以使用jsp,如果是通過jsp來進行web開發的話,需要java的知識作為基礎。
因此,如果你有asp的相關知識的話,可以不學習java直接學習web應用程序設計,如果沒有的話,建議你先學習java程序設計,然後再學習web應用程序設計。
㈨ 請問為啥沒有 Java語言程序設計進階篇 第十版 這本書呢
基礎篇主要講的是JAVA語言的基本語法、面向對象的程序設計思想以及圖形用戶界面、網路編程、多線程等技術的基本內容;而進階篇主要是高級GUI、JAVA的一些高級特性的內容。
一般來說要做Android開發的話,其實掌握基本的JAVA語法和程序設計思想就可以入門,也就誰說學完基礎篇是可以開始做開發了。但是要真正精通的話,除了學習JAVA語言,建議再找一本講Android開發的書來進行系統學習,當然進階篇中的高級知識具備的話更加有利。
講多久這個就得看你們專業對於JAVA教學的要求了,其實如果之前有過其他編程語言的基礎的話,基本語法部分可以很快結束,學習JAVA的關鍵還是在於理解面向對象編程的一些思想。我學的時候,一章也就一周,內容較多的章節可能兩周時間。