static map会有线程安全问题吗
作者&投稿:毅才 (若有异议请与网页底部的电邮联系)
窄滢素 : 在周二面试时,一面的面试官有问到HashMap是否是线程安全的,如何在线程安全的前提下使用HashMap,其实也就是HashMap,Hashtable,ConcurrentHashMap和synchronized Map的原理和区别.当时有些紧张只是简单说了下HashMap不是线...
绍兴县19373852084: 在多线程中使用静态方法是否有线程安全问题 - ?
窄滢素 : 类的成员分为两类,静态成员(static member)和实例成员(instance member).静态成员属于类,实例成员则属于对象,即类的实例. 简单讨论一下在一个类中使用静态字段(static field)和静态方法(static method)是否会有线程安全问...
绍兴县19373852084: hashmap怎么变成线程安全的 - ?
窄滢素 : // synchronizedMap方法 public static Map synchronizedMap(Map m) { return new SynchronizedMap>(m); }// SynchronizedMap类 private static class SynchronizedMap implements Map, Serializable { private static final long serialVersionUID = ...
绍兴县19373852084: java中ConcurrentHashMap是线程安全的,我这样写有什么问题吗? - ?
窄滢素 : 这样使用是有问题的.ConcurrentMap能够保证每一次调用(例如一次putIfAbsent)都是原子操作,不受多线程影响,但并不保证多次调用之间也是原子操作.以上实现的GetKeyBM方法中,ConcurrentMap的方法被调用了许多次,不同线程之...
绍兴县19373852084: Android 编程中,使用静态变量有哪些缺点?应该如何规范使用 - ?
窄滢素 : 静态变量有如下缺点:1、 静态局部变量在静态存储区内分配存储单元.在程序整个运行期间都不释放,即占用较多空间.2、不能保存动态的数据.3、静态变量容易导致多个窗体共同访问时出现混乱,并且在多个窗体类的多个实例之间传递的时候不具有相互独立性,访问频繁的时候比较节约资源 . 4、静态变量存放在内存的堆区,可以保存到整个程序结束,生命周期较长. 对于静态变量少用可以,不能到处都用.
绍兴县19373852084: java多线程同步全局变量 - ?
窄滢素 : 1.使用JAVA Collections 这个类. 有 checkedList / Map / Set 方法. 将你的集合放进去,会返回给你一个线程安全的集合. 这样不需要你手动去做线程同步, java已经帮你做了.2.使用 synchronized 关键字, 同步 你的删除修改操作.3.使用 synchronized 修饰方法. 将修改删除的方法加锁.
绍兴县19373852084: 请教高手Hashtable、HashMap、HashSet的用法与区别? - ?
窄滢素 : 他们的区别:HashTable和HashMap是Map接口的实现类,其中HashTable的键或值不能为null,HashMap的键或值可以为null;HashTable是线程安全的,HashMap是线程不安全的,因此HashMap的效率要比HashTable高.HashSet是Set接口的实现...
绍兴县19373852084: 抽象类为什么不可以是线程安全的、不可是static的、不可是native的 - ?
窄滢素 : 抽象类不能被实例化 所以这些针对于实例化对象的关键字当然不能用
绍兴县19373852084: Java对象怎么调用 - ?
窄滢素 : java对象中,除了基本类型,其他对象传递都是地址传递,虽然java取消了指针的设定,但是其内部还是使用指针操作的,定义一个对象就相当于定义了一个对象类型的指针,这个指针的值为null,如果不进行初始化的话自然会报空指针异常,也...
绍兴县19373852084: Hashtable与HashMap有什么区别? - ?
窄滢素 : hashmap 线程不安全 允许有null的键和值 效率高一点、 方法外同步 有containsvalue和containsKey方法 HashMap 是Java1.2 引进的Map interface 的一个实现 HashMap是Hashtable的轻量级实现 hashtable 线程安全 不允许有null的键和值 效率稍低、 方法是是Synchronize的 有contains方法方法 、Hashtable 继承于Dictionary 类 Hashtable 比HashMap 要旧