導航:首頁 > 編程語言 > java不安全

java不安全

發布時間:2022-08-22 13:07:21

A. java中為什麼說多線程環境就不安全

先來給你舉個栗子幫你理解一下:
你是一個流浪漢,整天為飢餓發愁。有一天你發現了一個房間,這個房間里有很多食物,你很開心,你去品嘗食物。但是好景不長,很快又有很多流浪漢也發現了這里,他們也來這個房間去吃食物,你不能阻擋他們。你很不爽,同時原來被整整齊齊擺放的食物,他們來了就狼吞虎咽,食物被整的亂七八糟。
上面這個例子就是一個由單線程到多線程的問題,你一個人就是單線程,食物就是數據,你一個人可以處理數據,處理完了它就是那樣,不可能由其他的線程來修改數據。但是一旦到多線程環境(很多流浪漢),多線程同樣有操作數據的權力,他們可以任意修改數據,這樣數據就可能被修改很多次,從而發生臟數據(食物亂七八糟),這樣的數據就是不安全的,返回給前台用就有可能發生錯亂,出來的結果與業務邏輯不符。
怎麼避免這個問題呢,也就是解決多線程問題,可以定義一個鎖,加上synchronize關鍵字,鎖住一個代碼塊,這樣就算有很多人去搶同一個資源,有鎖的話,一個人進去,把門關上,鎖住,其他人就進不來了。這個人消耗了資源,然後再出來,下一個再進去。這樣就避免哄搶的問題。還有更有效的方式是使用線程池,可以有效解決線程安全問題。

B. java中什麼是線程不安全給出一個例子

兩個線程對一個變數進行操作,但是沒有上鎖,即沒有進行同步操作,就像買車票的時候多個窗口一起賣,但是車票數沒有減去。車票被重復賣出。就是不安全。還有,被多個線程操作的變數改為靜態量加static,才安全

C. java編譯說使用了未經檢查或者不安全的操作

首先:java中未經檢查或者不安全的操作並不是錯誤!!!完全可以忽視,不像看到這個的話,在class定義的前面一行加上@SuppressWarnings("unchecked")

然後把,我猜是你的ArrayList這里出的問題,ArrayList相當於一個容器,jdk1.5以後再定義容器的時候要加上泛型,如果你裝的是String的話,可以改成ArrayList<String> array = new ArrayList<String>();
當然了,int型的就對應改為ArrayList<Integer> array = new ArrayList<Integer>();

補充:
你用的是ArrayList<Integer> array = new ArrayList<Integer>();的話就應該add單個的Integer元素,但是你add的是一個int數組,所以應該是ArrayList<int[]> array = new ArrayList<int[]>();這是相對應的。

另外,其他幾樓的說數組沒初始化完全不對,數組本來就可以定義的時候賦值。

D. JAVA程序 編譯提示「未經檢查或不安全操作」

是因為程序裡面有泛型沒有指名是那種類型,所以認為不安全的。但是自己知道就是了。
沒事的。執行就是了。
比如(不指明存放類型在eclipse編輯器中顯示一些黃色波浪線提示。)
//不指明
list存放的類型
list
list
=
new
arraylist();
list.add("a");
string
a
=
(string)list.get(0);
//指名存放類型
list
list2
=
new
arraylist
();
list2.add("a");
string
b
=
list2.get(0);

E. java 使用了未經檢查或不安全的操作

你光導入了List,沒有導入ArrayList,如果圖方便就像樓上說的直接import java.util.*;這樣就把util包下所以的類都進行了導入

未經檢查或不安全的操作,是因為你使用列表時沒有使用泛型,這不是錯誤,只是警告,不影響使用,如果你使用泛型就不報那個警告了

假如你的list里將來放的都是String,那麼在定義時可以這樣
List<String> list=new ArrayList<String>();這樣就只能存放String了,不能存放其它類型

我們真正使用list時,大部分情況下裡面放的都是同一種類型,所以使用泛型還是不錯的選擇

F. java運行出現使用未經檢查或不安全的操作錯誤怎麼改

這不是錯誤,沒有關系,照樣編譯執行

出現這個的原因我看到你有一處代碼
LinkedList<Block> list=new LinkedList();
應該換成
LinkedList<Block> list=new LinkedList<Block>();

其他地方沒注意看了,反正就是這樣的問題引起的

G. java語言哪些方面不安全

如果你用java寫程序的話會涉及到線程的安全的問題
還要考慮到代碼的強壯性
如果你的程序要要通過頁面提交是,你寫sql的的話 要考慮sql注入的問題

閱讀全文

與java不安全相關的資料

熱點內容
主力散戶派發源碼 瀏覽:663
linux如何修復伺服器時間 瀏覽:55
榮縣優途網約車app叫什麼 瀏覽:472
百姓網app截圖是什麼意思 瀏覽:222
php如何嵌入html 瀏覽:809
解壓專家怎麼傳輸 瀏覽:743
如何共享伺服器的網路連接 瀏覽:132
程序員簡易表白代碼 瀏覽:166
什麼是無線加密狗 瀏覽:62
國家反詐中心app為什麼會彈出 瀏覽:67
cad壓縮圖列印 瀏覽:102
網頁打開速度與伺服器有什麼關系 瀏覽:863
android開發技術文檔 瀏覽:65
32單片機寫程序 瀏覽:49
三星雙清無命令 瀏覽:837
漢壽小程序源碼 瀏覽:344
易助erp雲伺服器 瀏覽:532
修改本地賬戶管理員文件夾 瀏覽:419
python爬蟲工程師招聘 瀏覽:285
小鵬p7聽音樂哪個app好 瀏覽:358