Day07 回退初始

2022-09-09 00:03:43 字數 2372 閱讀 3640

對於j**a,其實我並不了解發展史之類的,我是從jdk開始了解的,並搞定安裝什麼等等。隨著近幾天的學習,尤其是物件導向與面向過程的思考與求知,我逐漸開始感嘆j**a的神秘,畢竟對於乙個幾乎沒有學過任何計算機語言的人來說,這確實很神秘而有趣。

我從我的口吻來複述,畢竟那些知識在網上一搜都會出來,而我自己的快速記憶與通俗理解是我個人的。

c語言在2023年就誕生了,c語言更加貼近硬體、執行快、效率高,所以多為開發系統級的軟體等,但是有點令人頭大的是c語言的指標和記憶體管理

c++語言在2023年出現了,可以說更加複雜,因c語言是面向過程的,所以相比c語言,c++有了物件導向的特性,它相容c語言。多在圖形啊,遊戲啊等領域

鑑於c語言的問題,於是出現一批人想建立一種不要記憶體管理,並能夠真的實現移植,也就是編寫一次,在任何地方都能執行的語言。然後j**a就誕生了。

j**a誕生之初,群體並不大,為了擴大j**a的影響力,分了三大塊進軍不同領域:

j2se:標準版

j2me:嵌入式(據說涼涼了)

j2ee:企業級

三高:高可用,搞效能,高併發

構建工具:m**en,ant等

應用伺服器:tomcat,weblogic等

web開發:spring,mybatis等

開發工具:如eclipse,intellij idea等

····

2023年進入大資料:hadoop

2008進入手機:android

相比較c語言的複雜,什麼記憶體,什麼指標,j**a不需要這些,是純淨簡化的c,簡單性

j**a是物件導向的

一次編寫,任何地方執行。移植性使得j**a不需要考慮不同裝置的效能等,只要有j**a的虛擬機器,就可以執行

高效能分布式

動態性。反射

多執行緒安全性

健壯性jdk:j**a development kit

jre:j**a runtime environment

jvm:j**a virtual machine

可說三者關係就是jdk包含jre包含jvm。

jvm是j**a虛擬機器,這是跨平台的核心所在。jre是執行j**a的環境。jdk是開發者工具。

安裝,路徑沒有中文。鑑於這類東西的習慣,我已經不會再在這類檔案路徑裡加入中文了,省得以後出毛病

至於idea的設定什麼的不說了,輕易能搜到

cmd裡輸入 j**a -version 會發現已經能查到了,但是此時並沒有去手動配置環境變數,並且idea也是可以跑j**a程式的

配置環境變數,先說手動配置的步驟:

①我是win10,滑鼠右鍵 此電腦》屬性》高階系統設定》環境變數

②上面是使用者,下面是系統,我們在系統變數裡新建:

​ 變數名:j**a_home

​ 變數值:你剛剛安裝jdk的檔案路徑

③在系統變數裡找到「path」,雙擊開啟

④在path裡新增兩個東西:

​ %j**a_home%\bin

​ %j**a_home%\jre\bin

到這裡會奇怪,因為檔案裡沒有 jre檔案,所以壓根沒有 jre目錄下的bin檔案。早期的版本裡是會有的,但是在我下的這個版本裡,當前最新的,是沒有 jre的。所以需要將jre給弄出來啊。

①通過dos指令,win+r進入cmd命令框,通過 cd\d 指令到你jdk的檔案裡。

②然後輸入 bin\jlink.exe --module-path jmods --add-modules j**a.desktop --output jre 這時回到檔案裡就可以看到jre已經出來了

這時該弄得都弄了,我卻開始疑惑了。為什麼我沒有配置之前也是可以執行的,不是不配置環境不能執行嗎?那我這能執行是什麼意思?配置環境變數是必須的嗎?我是不是多此一舉了?

帶著這個疑問,我在乙個群裡請教了別人,給我的解釋是 jdk8 版本之後,會自動在windows下拷貝乙份,類似於linuxd建立軟鏈結。我是沒有搞懂啊,因為我此時沒用過linux,不明白這個模擬是什麼意思。

我在path裡找到乙個這個:

這或許就是剛剛給我的解析吧。但是我其實很奇怪,既然我有沒有手動配置這個環境變數,都能執行,都能跑j**a,那這個步驟的存在意義是什麼呢,一定要有嗎?後面別人告訴我,tomcat以及eclipse是要有這個配置的

安裝intellij idea,這個安裝整個下來還是簡單的。

在src下新建j**a class類

idea裡的快捷方式真的很方便,像psvm就能直接public static void main(string[ ] args),不需要乙個個打出來

day07 模組匯入

import hashlib import sys def check md5 fname m hashlib.md5 with open fname,rb as fobj while true data fobj.read 4096 if not data break m.update data ...

前端學習 Day07

所謂文件流就是按照元素的順序從左到右 由上而下的方式排列。預設的文件流很多時候不能滿足我們的布局要求,需要更豐富的布局手段,這就需要用到定位了。定位方式有 static fixed relative absolute。static靜態定位 預設 無定位,元素正常出現在文件流中 不受left,righ...

day 07 深淺拷貝

1.基礎資料型別的補充 1字串的操作 1.join 把字串或者列表的的內拼接,拼接成字串 和split相反 把字串轉換成列表 2.刪除 字典和列表在迴圈中是不能進行刪除的,可以在迴圈中把要刪除的內容放入乙個列表中 再迴圈新列表,刪除老列表.或者就是用pop 從後面往前面刪 3.fromkeys di...