導航:首頁 > 編程語言 > 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不安全相關的資料

熱點內容
古玩哪個app好賣 瀏覽:146
u盤內容全部顯示為壓縮包 瀏覽:517
編譯固件時使用00優化 瀏覽:356
速借白條app怎麼樣 瀏覽:756
用紙張做的解壓東西教程 瀏覽:12
求圓的周長最快演算法 瀏覽:190
安卓熱點怎麼減少流量 瀏覽:270
北京代交社保用什麼app 瀏覽:855
第一眼解壓視頻 瀏覽:726
文件夾err是什麼 瀏覽:97
qt4編程pdf 瀏覽:572
區域網伺服器下如何連續看照片 瀏覽:254
經過加密的數字摘要 瀏覽:646
加密鎖9000變列印機 瀏覽:694
程序員的職業發展前途 瀏覽:639
安卓是世界上多少個程序員開發 瀏覽:45
解壓器官方免費 瀏覽:85
單片機p10開發 瀏覽:487
做什麼app賺錢 瀏覽:85
博途編譯失敗聯系客戶支持部門 瀏覽:929