Java程序的組織形式:純粹的面向對象的程序設計語言,因此Java程序必須以類的形式存在,類是Java程序的最小程序單位,Java程序不容許可執行語句、方法等成分獨立存在,全部的程序部分都必須放在類定義裏。java
要使用Java命令來解釋某一個字節碼文件,這個文件內必須有一個main方法,且main方法定義的寫法固定爲:程序員
public static void main(String[] args)shell
對於一個大型的Java程序而言,每每只須要一個main入口,其餘類都是被main方法直接或間接調用的。數據庫
Java源文件的擴展名必須是.java 編程
若是Java源文件裏定義了一個public類,則該源文件的主文件名必須與該public 類名相同。因此一個Java源文件內最多隻能定義一個public類。小程序
ps:一個Java源文件最好只定義一個類,不一樣的類使用不一樣的源文件定義,而且Java源文件命名採用類名。函數
而後最好把文件夾選項設置成以下:工具
一些初學者容易犯的錯誤:性能
①CLASSPATH環境變量:學習
在JDK1.5以上的版本中徹底能夠不用設置,若是設置了就必定要設置正確,由於設置了CLASSPATH 之後,Java解釋器就只會在CLASSPATH所指定的路徑中尋找Java類。而且
找不到類定義的錯誤通常就是因爲CLASSPATH環境變量設置不正確形成的。
若是指定了CLASSPATH,必定要加「.」,來讓Java解釋器強行在當前路徑下搜索Java類
②大小寫問題:
Java語言嚴格區分大小寫。Java程序中的關鍵字所有是小寫,無須大寫任何字母
③路徑裏包含空格的問題:
在安裝JDK以及相關Java的程序,工具時不要安裝在包含空格的路徑下,常見「Program Files"就包含
④main方法的問題,寫法必定要正確,且用java命令直接運行的Java類必定要有main方法(用public static 修飾)
Java程序中輸出的兩種方式:System.out.print()和System.out.println(),後者在輸出結束後會換行。
JDK9的一大改進就是提供了jashell工具,是一個REPL工具,該工具是一個交互式的命令行界面,可用於執行Java語言的變量聲明、語句和表達式,而且能夠當即看到執行結果。能夠更方便測試代碼。新增的jshell位於JDK安裝目錄的bin路徑下。
顯式進行垃圾回收是比較困難的一件事。Java程序的內存分配和回收都是由JRE在後胎自動進行的。JRE會負責回收那些再也不使用的內存(垃圾回收 GC),一般由JRE提供一個後臺線程來進行檢測和控制,通常在CPU空閒或內存不足時自動進行垃圾回收。
垃圾回收不只會釋放沒用的對象,還能夠清除內存記錄碎片。
可是垃圾回收影響性能。
內存泄漏:若是一些分配出去的內存不及時回收,就會引發系統運行速度降低,甚至致使程序癱瘓。
垃圾回收的特色:
①工做目標是回收無用對象的內存空間,垃圾回收器只能回收內存資源,對其餘物理資源,如數據庫鏈接,磁盤I/O等資源則無能爲力。
②將引用變量設置爲null,能夠暗示垃圾回收器能夠回收該對象。
③垃圾回收發生的不可預知性,雖然程序員可使用調用Runtime對象的gc()和System.gc()等方法來建議系統進行垃圾回收,但這種調用僅僅是建議,依然不能精確控制垃圾回收機制的執行。
④垃圾回收的精確性:可以精確的標記活着的對象。可以精確地定位對象之間的引用關係。
編寫Java程序時的一個基本原則:對於再也不須要的對象,不要引用他們,當系統可用內存愈來愈少時,垃圾回收執行的頻率就會愈來愈高,從而致使系統的性能降低。
初學者不要使用IDE工具來學習Java編程。
只有當知道IDE工具裏單擊每個菜單,單擊每個按鈕,IDE工具在底層作的每個細節時,纔可使用IDE工具。
練習:
搭建本身的Java開發環境
編寫Java語言的HelloWorld
主流開發方法:①結構化開發方法(面向功能(數據流)的程序設計方法)②面向對象開發方法(能夠提供更好的可重用性、可擴展性、可維護性)
結構化程序設計:SA SD SP,其最小的程序單元是函數,每一個函數都負責完成一個功能。程序的入口爲主函數
程序設計三種基本結構:順序結構+選擇結構+循環結構