`
m635674608
  • 浏览: 5062995 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

ConcurrentHashMap 缓存初始化设置

    博客分类:
  • java
 
阅读更多
import java.util.Timer;
import java.util.TimerTask;
import java.util.concurrent.ConcurrentHashMap;


public class ConcurrentHashMapTest {
	
	private static ConcurrentHashMap<String,Timer> timerMap = new ConcurrentHashMap<String,Timer>();
	
	public static void main(String[] args) {
		 for(int i=0;i<100;i++){
	        	new Thread(new Runnable() {
					@Override
					public void run() {
						// TODO Auto-generated method stub
						addTimerTask("1",new TimerTask() {
							@Override
							public void run() {
								// TODO Auto-generated method stub
								System.out.println(Thread.currentThread().getName()+"===="+timerMap.size());
							}
						}, 1000, 1000);
					}
				}).start();;
	        }
	}
	
	
	public static void addTimerTask(String ObjectKey,TimerTask timerTask,long delay, long period){
		if(!timerMap.containsKey(ObjectKey)){
			Timer timer = new Timer();  
			Timer timerOld = timerMap.putIfAbsent(ObjectKey, timer);
			if(timerOld==null){
				System.out.println("我被初始化了>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
				timer.schedule(timerTask, delay,period);
			}
		}
	}

}

 http://www.myexception.cn/other/1486433.html

分享到:
评论

相关推荐

    java map 实现缓存技术

    1. **缓存初始化**:创建Map实例,可以是HashMap、ConcurrentHashMap或其他适合并发访问的实现,根据实际需求选择。 2. **缓存加载**:当请求的数据不在缓存中时,从其他数据源(如数据库、网络请求)获取并添加到...

    自定缓存, 在查询修改频率较少的数据,存入缓存中,有帮助提高效率

    1. **初始化**:初始化缓存容量、替换策略和其他配置参数。例如,设置最大缓存大小,以防止过度占用内存。 2. **缓存操作**:包括插入(put)、获取(get)、删除(remove)和更新(update)等基本操作。这些操作...

    java之反射优化(缓存思路)源码

    由于静态内部类只会在类加载时初始化一次,因此可以确保缓存的唯一性。 ```java public class ReflectionUtil { private static class ReflectCache { private static final Map, Class&lt;?&gt;&gt; CLASS_CACHE = new ...

    java源码:java缓存工具 SimpleCache.zip

    5. **缓存的生命周期管理**:包括缓存的初始化、更新、查询、删除等操作,以及如何优雅地处理缓存的大小限制。 6. **缓存穿透与缓存击穿**:理解如何防止这两种可能导致系统性能下降甚至崩溃的情况,例如使用布隆...

    第二章 ConcurrentHashMap源码分析(JDK8版本)1

    在Java并发编程领域,`ConcurrentHashMap`是一个至关重要...在实际开发中,`ConcurrentHashMap`常被用于构建高性能的并发数据结构,例如在Spring框架中,就广泛使用`ConcurrentHashMap`作为缓存或其他数据结构的基础。

    基于Java实现缓存Cache的深入分析

    在Java编程中,缓存(Cache)是一种常用的...此外,Java 8以后提供了`java.util.concurrent`包下的`ConcurrentHashMap`,可以结合`Guava`库或其他第三方库,如`Caffeine`,以构建更高效、功能更全面的缓存解决方案。

    二级缓存图片加载

    1. 初始化配置:设置内存缓存和磁盘缓存的大小、格式等。 2. 图片请求:通过`DisplayImage`方法指定图片URL和显示目标(如ImageView)。 3. 缓存检查:首先在内存缓存中查找,找到直接返回Bitmap并显示。 4. 如果...

    java缓存文档

    对于每个缓存系统,都会详细讲解如何配置、初始化、使用以及优化。此外,可能还会涉及缓存一致性问题,如缓存击穿、缓存雪崩和缓存穿透的解决方案,以及如何通过缓存预热减少冷启动时间。 总的来说,"java缓存文档...

    Java 中ConcurrentHashMap的实现

    - `ConcurrentHashMap`适用于用作缓存,初始化后被多个请求线程共享,例如在Web应用程序中作为session或请求级的缓存。 总之,`ConcurrentHashMap`是Java并发编程中处理高并发、线程安全的Map需求的理想选择,它...

    java cache 简单应用

    此外,可能还会涉及缓存的生命周期管理,如缓存的初始化、更新、删除和过期策略。 在实际开发中,选择合适的缓存实现取决于项目需求,如性能要求、可扩展性、并发支持以及是否需要分布式缓存。正确地设计和使用缓存...

    Android图片加载的缓存类

    3. `initCache()`:初始化缓存,创建`LinkedHashMap`和`ConcurrentHashMap`实例。 4. 加载图片的方法(未给出具体实现):通常会涉及网络请求、图片解码以及将解码后的Bitmap放入对应级别的缓存中。 5. `...

    Java缓存池代码实例详解

    2. `clearAllItems()`:清除所有缓存项,用于清理或重新初始化缓存池。 3. `getCacheItem(String name)`:根据给定的名称获取缓存项。如果不存在,则返回`null`。这里使用`HashMap`作为底层存储结构,通过键值对的...

    对oscache的体验

    然后,可以通过简单的Java代码或者XML配置文件来初始化和管理缓存。例如,你可以创建一个名为"myCache"的缓存区域,并设置其最大容量和过期时间: ```xml ``` osCache提供了多种缓存策略,包括基于时间的过期...

    java使用hashMap缓存保存数据的方法

    使用静态变量确保了HashMap实例在整个程序运行期间只被初始化一次,提高了内存效率。 为了确保缓存数据的正确性和一致性,我们需要管理缓存的生命周期。在示例中,有一个`initAlbumArtCache()`方法,它可能用于检查...

    java代码优化1.0版本.7z

    6. **延迟初始化**:只有在真正需要时才初始化对象,避免类加载时就进行大量初始化操作。可以使用Double-Check Locking模式或者静态内部类来实现延迟初始化。 7. **减少IO操作**:IO操作通常是最耗时的部分。可以...

    史上最全Java面试266题:算法+缓存+TCP+JVM+搜索+分布式+数据库.docx

    1. **类的实例化顺序**:在创建一个对象时,首先会执行父类的静态初始化块,然后是子类的静态初始化块,接着是父类的构造函数,父类字段的初始化,子类的构造函数,最后是子类字段的初始化。 2. **Map类的区别**:...

    Spring源码学习三:BeanFactory解析1

    BeanFactory提供了对Bean的创建、初始化、销毁等操作的支持,是Spring容器的基础。当我们通过XML、Java配置或者注解定义Bean时,Spring会将这些配置解析成BeanDefinition对象,BeanDefinition包含了Bean的所有元数据...

    java知识储备.docx

    - **Bean的初始化**:设置属性(依赖注入)、调用初始化回调方法`@PostConstruct`。 - **Bean的管理**:包括单例或多例的管理,单例Bean在容器启动时实例化,多例Bean在每次请求时创建。 - **Bean的销毁**:对于单例...

    Cache:在 Java 中实现 LRU 缓存

    1. `initialCapacity`: 初始化容量,即缓存可以存储的元素数量。 2. `loadFactor`: 负载因子,表示在达到容量的多少比例时触发扩容。通常设置为0.75。 3. `accessOrder`: 如果设置为`true`,则按照访问顺序排序;...

Global site tag (gtag.js) - Google Analytics