随笔分类 - java
摘要:public void safedUnLock(String key, String val) { String luaScript = "local in = ARGV[1] local curr=redis.call('get', KEYS[1]) if in==curr then redis.
阅读全文
摘要:项目简介 Martian-cloud 是Martian的官方分布式组件,基于传染机制,不再需要注册中心 完全丢弃了注册中心,且不依赖任何注册中心,采用传染机制实现服务的发现与治理 服务间通话采用rest风格 对Martian的侵入非常小 先解释下什么是传染机制 1. 常规的分布式采用的是【生产者->
阅读全文
摘要:自定义配置 @Setter @Getter public class RenewProperties { /** * 是否开启token自动续签(目前只有redis实现) */ private Boolean enable = false; /** * 白名单,配置需要自动续签的应用id(与黑名单互
阅读全文
摘要:为什么 Elasticsearch 需要堆内存来存储数据呢?为什么它不能只用磁盘空间呢?这其中有几个原因,但最主要的一个是,Lucene 需要在内存中存储一些信息,以便知道在磁盘的什么位置进行查找。例如,Lucene 的倒排索引由术语字典和术语索引组成,术语字典将术语按排序顺序归入磁盘上的区块,术语
阅读全文
摘要:更快的执行速度: 基于我们先前在log4j上的工作,logback 重写了内部的实现,在某些特定的场景上面,甚至可以比之前的速度快上10倍。在保证logback的组件更加快速的同时,同时所需的内存更加少。 logback-classic 非常自然的实现了SLF4J:ogback-classic中的l
阅读全文
摘要:GC 算法与种类 GC的概念 Garbage Collection 垃圾收集1960年 List 使用了GCJava中,GC的对象是堆空间和永久区 引用计数法 老牌垃圾回收算法通过引用计算来回收垃圾使用者 COM ActionScript3 Python 引用计数器的实现很简单,对于一个对象A,只要
阅读全文
摘要:Java通过Executors提供四种线程池,分别为:newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。newFixedThreadPool 创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待。newS
阅读全文
摘要:非阻塞队列:ConcurrentLinkedQueue ConcurrentLinkedQueue是一个基于链接节点的无界线程安全队列,它采用先进先出的规则对节点进行排序,当我们添加一个元素的时候,它会添加到队列的尾部,当我们获取一个元素时,它会返回队列头部的元素。 阻塞队列:BlockingQue
阅读全文
摘要:Semaphore当前在多线程环境下被扩放使用,操作系统的信号量是个很重要的概念,在进程控制方面都有应用。Java 并发库 的Semaphore 可以很轻松完成信号量控制,Semaphore可以控制某个资源可被同时访问的个数,通过 acquire() 获取一个许可,如果没有就等待,而 release
阅读全文
摘要:ConcurrentHashMap CopyOnWriteArrayList CopyOnWriteArraySet 适用于读多写少的场景 ConcurrentLinkedQueue 原理可参考 http://www.cnblogs.com/studyLog-share/p/5283646.html
阅读全文
摘要:第一种:懒汉模式 这种写法能够在多线程中很好的工作,而且看起来它也具备很好的lazy loading,但是,遗憾的是,效率很低,99%情况下不需要同步。 第二种:饿汉模式 这种方式基于classloder机制避免了多线程的同步问题,不过,instance在类装载时就实例化,虽然导致类装载的原因有很多
阅读全文
摘要:可见性: 可见性是一种复杂的属性,因为可见性中的错误总是会违背我们的直觉。通常,我们无法确保执行读操作的线程能适时地看到其他线程写入的值,有时甚至是根本不可能的事情。为了确保多个线程之间对内存写入操作的可见性,必须使用同步机制。 可见性,是指线程之间的可见性,一个线程修改的状态对另一个线程是可见的。
阅读全文
摘要:package com.qianmi.weidian.common.util; import java.io.ByteArrayOutputStream; import java.security.Key; import java.security.KeyFactory; import java.security.KeyPair; import java.security.KeyPairGen...
阅读全文
摘要:package com.qianmi.weidian.common.util; import java.io.*; /** * This class provides encode/decode for RFC 2045 Base64 as defined by RFC 2045, * N. Freed and N. Borenstein. RFC * 2045: ��������: ...
阅读全文
摘要:QuoteFieldNames———-输出key时是否使用双引号,默认为true WriteMapNullValue——–是否输出值为null的字段,默认为false WriteNullNumberAsZero—-数值字段如果为null,输出为0,而非null WriteNullListAsEmpt
阅读全文
摘要:Spring提供了很多扩展接口,BeanPostProcessor接口和InstantiationAwareBeanPostProcessor接口就是其中两个。 BeanPostProcessor BeanPostProcessor接口作用是:如果我们需要在Spring容器完成Bean的实例化、配置
阅读全文
摘要:在Java中,当你需要统一处理异常的时候,你是会选择catch (Exception),还是直接catch (Throwable)? Java的异常体系 Throwable: Java中所有异常和错误类的父类。只有这个类的实例(或者子类的实例)可以被虚拟机抛出或者被java的throw关键字抛出。同
阅读全文

浙公网安备 33010602011771号