Java語言概述

      網友投稿 1618 2022-05-29

      java語言的概括以及java語言的發展史。

      JDK(java開發工具箱,做java開發必須安裝的,這是最根本的一個環境)

      JDK不是集成開發環境

      JDK這個開發工具箱中是java最核心的庫

      98年的時候:java升級到JDK1.2,java被分為三大塊

      J2SE:標準版(基礎,要學java,必須先學習SE。基礎語法和基礎庫)

      J2EE:企業版(專門為企業開發軟件的,為企業提供解決方案,如:銀行,醫院)

      J2ME:微型版(專門為微型設備做嵌入式開發的)

      java誕生10周年改了名字

      JAVASE

      JAVAEE

      JAVAME

      JAVA語言的特性

      1.簡單性

      在JAVA語言當中真正操作內存的是:JVM(JAVA虛擬機)

      所有的java程序都是運行在java虛擬機當中的。

      而java虛擬機執行過程中再去操作內存。

      對于c或者c++來說程序員都是可以直接通過指針操作內存的。

      c或者c++更靈活,可以直接程序員操作內存,但是要求程序員技術精湛

      C語言或者C++更有駕馭感。

      JAVA語言屏蔽了指針概念,程序員不能直接操作指針,或者說程序員不能直接操作內存,這種方式有優點也有缺點。

      優點:不容易到時內存泄漏(簡單了)

      缺點:效率問題,包括駕駛感比較差。

      飛機航行:

      如果是C語言表示程序員是飛機駕駛員

      如果是JAVA語言表示程序員是飛機上的乘客。

      JAVA語言底層是C++,所以JVM是用C++語言寫好的一個虛擬的電腦

      JVM在哪里????? 安裝了JDK之后,JVM就代表安裝好了

      2.健壯性

      主要是因為JAVA中有一種機制

      自動垃圾回收機制(GC機制)

      JAVA語言是健壯的,相對于C語言來說,c語言沒有JAVA健壯

      JAVA不容易導致內存泄漏

      C++或者C語言使用不當時很容易導致內存泄漏

      JVM負責調度GC機制,程序員不需要干涉。

      3.面向對象

      JAVA中提供了封裝、繼承、多態等面向對象的機制。

      JAVA是堪稱完全面向對象的

      面向對象更容易讓人理解,人類通常是以對象的方式認知世界的

      采用面向對象的方式可以讓復雜問題簡單化

      4.多線程

      java語言支持多個線程同時并發執行,通知也提供了多線程環境下的安全機制

      5.可移植性/跨平臺

      java語言只要編寫一次,可以做到到處運行

      例如:java程序編寫完之后,可以運行在Windows操作系統上,

      Java語言的概述

      不需要做任何的改動可以直接運行在Linux操作系統上,同樣也可以運行到Mac os上面。

      一次編寫,到處運行。(平臺改變了,程序不需要改)

      JVM這種機制實現了跨平臺,那么這種機制優點和缺點分別是什么?

      優點:一次編寫到處運行,可以跨平臺

      缺點:麻煩,對于運行java程序來說必須先有一個JVM

      就像你想在網頁上看視頻,你必須先安裝一個flash是一樣的

      java語言可以編寫病毒嗎?

      可以,但是很難讓用戶中毒

      中毒的一般都是java程序員,所以很少有人編寫java的病毒腳本。

      JDK、JRE、JVM三者之間的關系?

      JDK:java開發工具箱

      JRE:java運行環境

      JVM:java虛擬機

      JDK包括JRE,JRE包括JVM

      JVM是不能獨立安裝的

      JRE和JDK都是可以獨立安裝的

      安裝JDK的時候:JRE就自動安裝了,同時JRE內部的JVM也就自動安裝了。

      問題:假設你在軟件公司開發了一個新的軟件,現在要去客戶那邊給客戶把項目部署一下,把項目跑起來,你需要安裝JDK嗎?

      答:只需要安裝JRE就可以了,JRE體積很小,安裝非常便捷快捷。

      問題:為什么安裝JDK的時候會自帶一個JRE?

      答:因為java程序員開發完程序之后,要測試這個程序,讓這個程序運行起來,需要JRE。

      對java的加載與執行的理解(理論比較重要)

      Java程序從編寫到最終運行經歷了哪些過程?

      java程序非常重要的兩個階段:

      編譯階段

      運行階段

      注意:

      java程序員編寫的java代碼(普通文本)是無法執行被JVM識別的,java程序員編寫的java代碼這種普通文本必須經過一個編譯,將這個"普通文本代碼"變成"字節碼",JVM能夠識別"字節碼",java代碼這種普通文本變成字節碼的過程,被稱為:編譯

      java代碼這種普通文本被稱為:java源代碼。(你所編寫的代碼就是源代碼)

      源代碼不能直接執行,需要先進行編譯,生成源代碼對應的"字節碼"

      JVM可以識別的是字節碼

      編譯階段和運行階段可以在不同的操作系統上完成嗎?

      在Windows上編譯

      編譯之后生成了"字節碼"

      把"字節碼"放到linux上運行

      完全可以,因為java是跨平臺的

      可以做到一次編寫到處運行

      java源代碼一旦編譯之后,源代碼可以刪除嗎?只留下字節碼可以執行嗎?

      完全可以執行,因為源代碼不參與程序的執行過程。參與程序執行過程的字節碼。

      但是最好不要刪除源代碼,因為有可能執行結果不是你需要的

      當執行結果不是你需要的時候,你可以重新代開源代碼進行修改。

      然后重新編譯生成新的字節碼,再重新執行,這樣會有新的執行效果。

      存放源代碼的文件擴展名必須是:xxx.java

      并且需要注意的是:編譯生成的字節碼文件擴展名是:xxx.class

      另外需要注意的是:一個java源文件是可以編譯生成多個class文件的

      問題:字節碼文件是二進制文件嗎?

      答:字節碼文件不是二進制文件,如果是二進制的話,就不需要JVM了,因為操作系統可以直接執行二進制。

      java程序從開發到最最終運行經歷了什么?

      編譯期:

      1、在硬盤的某個位置(隨意),新建一個xxx.java文件

      2、使用記事本或者其他文本編輯器例如:editplus打開xxx.java文件

      3、在xxx.java文件中編寫"符合java語法規則的"源代碼。

      4、保存

      5、使用編譯器javac(JDK安裝后自帶的)對xxx.java文件進行編譯。

      6、如果xxx.java文件中編寫的源代碼是符合語法規則的,編譯會通過,如果xxx.java文件中編寫的源代碼違背了語法規則,那么編譯器會報錯,編譯器報錯之后class文件是不會生成的,只有編譯通過了才會生成class字節碼按文件,并且一個java源文件是可以生成多個class文件的。(編譯實質上是檢查語法)運行期(JRE在起作用):可以在Windows上,也可以在別的操作系統上

      7、如果在linux上運行,需要將Windows上生成的class文件拷貝過去,不需要拷貝源代碼,真正運行的是字節碼。(但是源代碼也不要刪除,有用)

      8、使用JDK自帶的一個命令/工具:java(負責運行的命令/工具)執行字節碼

      9、往下的步驟就全部交給JVM了,就不需要程序員干涉了,JVM會將字節碼文件裝載進去,然后JVM對字節碼進行解釋(解釋器負責將字節碼解釋為101101001….等的二進制)

      10、JVM會將生成的二進制碼交給os操作系統,操作系統會執行二進制和硬件進行交互。

      注意:在以上的過程中,需要使用兩個非常重要的命令。

      Javac 命令,負責編譯

      Java 命令,負責運行

      小插曲:

      xxx.java源文件經過編譯之后生成了A.class、B.class、C.class等文件,

      那么我們稱A是一個類、B是一個類、C是一個類。其中A、B、C是類的名字。

      沒有為什么,死記硬背,sum公司的java語法就是這么規定的。

      以上是一個復雜的過程,那么縮減一下,程序員到底要干啥?

      新建java文件

      打開java文件

      寫java源代碼

      保存

      javac命令編譯

      java命令運行

      一句話概括:編寫 編譯 運行

      Java JDK

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:HDFS的高級特性
      下一篇:走進Java接口測試之整合 Graylog 實現日志收集
      相關文章
      亚洲日韩国产成网在线观看| 最新亚洲人成无码网站| 中文字幕第一页亚洲| 成人精品国产亚洲欧洲| 日本亚洲免费无线码 | 国产亚洲人成在线影院| 亚洲国产一区二区三区在线观看| 亚洲熟妇成人精品一区| 亚洲一区二区三区高清在线观看 | 国产亚洲精久久久久久无码77777 国产亚洲精品成人AA片新蒲金 | 亚洲一区精品伊人久久伊人| 亚洲成a人一区二区三区| 亚洲人成人无码网www国产| 亚洲国产精品成人一区| 亚洲日韩中文在线精品第一| 亚洲午夜激情视频| 亚洲熟女一区二区三区| 国产亚洲AV无码AV男人的天堂| 亚洲人成网7777777国产| 亚洲av永久无码制服河南实里| 久久亚洲伊人中字综合精品| 亚洲精品高清视频| 亚洲最新中文字幕| 亚洲成a人片在线看| 亚洲人成色77777在线观看| 久久亚洲精品11p| 亚洲精品一级无码中文字幕 | 亚洲一级高清在线中文字幕| 67194在线午夜亚洲| 亚洲精品日韩一区二区小说| 亚洲 另类 无码 在线| 亚洲一区二区三区不卡在线播放| 456亚洲人成影院在线观| 亚洲熟妇少妇任你躁在线观看| 亚洲精华国产精华精华液好用| 亚洲 小说区 图片区 都市| 国产亚洲美女精品久久久| 亚洲av无码一区二区三区网站| 久久久久亚洲精品天堂| 精品亚洲成在人线AV无码| 亚洲另类无码专区首页|