导航:首页 > 编程语言 > 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不安全相关的资料

热点内容
修改本地账户管理员文件夹 浏览:416
python爬虫工程师招聘 浏览:283
小鹏p7听音乐哪个app好 浏览:354
linux下的防火墙 浏览:954
凌达压缩机美芝压缩机 浏览:350
php后面代码不执行 浏览:236
微我手机怎样设置应用加密 浏览:202
条件加密 浏览:628
androidstudio设置中文 浏览:641
汽车换压缩机能提升制冷 浏览:628
安卓开发配什么电脑 浏览:607
linux下php模块 浏览:78
阿里云服务器终端在哪里 浏览:147
app纸有什么用 浏览:224
cuteftp命令 浏览:507
最开始的编程语言是什么 浏览:760
at远程命令 浏览:493
云服务器哪家好点 浏览:215
android系统源码阅读 浏览:931
dumpjava分析工具 浏览:680