consul 配置---K/V存储及ACL

consul 配置—K/V存储及ACL标签(空格分隔): consul Consul简介 安装及运行 K/V存储 Java案例(基于Spring boot) ACL配置 小结 1.Consul简介1.1 consul的作用 服务发现 Consul clients提供服务(例如API) 其他的client发现服务的提供者(通过DNS或http,应用可以轻松的发现他...
阅读(1346) 评论(0)

(一) spring boot 之 helloworld

(一) spring boot 之 helloworld标签(): 微服务spring boot作为java生态圈中的微服务之一,可以说是最佳实现方式。下面我们通过实际演练一起来看看spring boot为何被称为“最佳实现”。 环境要求 依赖引入 第一个spring boot程序 总结 1.环境要求我想这张图已经基本上能说明所需要的环境。 除此之外,spring bo...
阅读(199) 评论(0)

Spring之IoC容器解析(二)

1.BeanFactory一次只能加载一个Resource,而ApplicationContext一次可以加载多个Resource 2.BeanFactory与ApplicationContext获取资源的方式不同,BeanFactory直接去找对应资源而ApplicationContext有可能需要进行资源匹配 这里多说一点,比如BeanFactory去加载Resource的时候,一个Re...
阅读(441) 评论(0)

Spring之IoC容器解析(一)

Spring之IoC容器解析(一) 简介 层级示意图&接口功能介绍 原理分析 小结 1. 简介IoC作为Spring的核心功能之一,内部继承体系错综复杂,下面我们来对它剥丝抽茧的分析一波。 首先,从整体上看Spring容器可以分为两大部分:外部容器和内部容器。外部容器指的是ApplicationContext接口的实现类,我们写程序时也可能经常会用到它。内部容器是Bean...
阅读(2767) 评论(0)

浅析ZeroMQ工作原理及其特点

ZeroMQ的研究与学习 简介 工作模式 层级模型 实现原理 核心特点 与其他MQ的简单比较 ZeroMQ的一百字概括ZeroMQ看起来想一个可嵌入的网络库,但其作用就像是一个并发框架。它为你提供了各种传输工具,如进程内,进程间,TCP和组播中进行原子消息传递的套接字。你可以使用各种模式实现N对N的套接字连接,这些模式包括发布订阅,请求应答,扇出模式,管道模式。它...
阅读(32560) 评论(3)

文章标题

层级模型...
阅读(898) 评论(0)

Java类的加载机制及常见异常

Java类的加载机制Java中一个类若是要被使用,必然经过加载以及初始化的过程。 这里我们来研究一下一个类是如何被加载的,以及加载类时可能会出现的异常 类加载器简介 自定义类加载器 加载过程中可能会出现的异常 Class的加载过程 总结 1.类的加载器简介一般加载器分为四级:引导类加载器,扩展类加载器,系统类加载器,用户自定义加载器。 通常: 系统...
阅读(7822) 评论(0)

Java动态代理剖析

Java动态代理剖析动态代理作为一种字节码增强技术,也作为SpringAOP的核心实现,我们在使用它的同时最好能做好“知其然,知其所以然”。 动态代理demo 代理类 总结 1.动态代理demoimport java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; import java.lan...
阅读(7741) 评论(0)

SpringBoot配置Email发送功能

SpringBoot配置Email发送功能本篇介绍在SpringBoot中配置Email服务的具体步骤,以及常见的异常分析。 具体案例以QQ邮箱以及QQ企业邮箱为例。 QQ邮箱发送方式 QQ企业邮箱发送方式 总结 tips: 下面提到的hashIndex指的是一个元素put到hashmap中时,要根据其key.hashcode & (table.size()-1)来决定...
阅读(10986) 评论(0)

Java之HashMap在非线程安全时的行为

Java之HashMap在非线程安全时的行为我们知道HashMap在多线程环境下是不安全的,这里指的不安全是相对的(至少有2个写线程)。若都是读线程或者只有一个写线程,那么HashMap还是可以正常使用的。 接下来进入正题: 可能出现的现象 具体分析 总结 附录 tips: 下面提到的hashIndex指的是一个元素put到hashmap中时,要根据其key.has...
阅读(7894) 评论(0)

Java定时任务(2)

Java定时任务(2)上次浅显的分析了Timer及TimerTask的调度原理,这里我们再来看一下另一种定时调度方式ScheduledThreadPoolExecutor的内部执行原理。 ScheduledThreadPoolExecutor调度方式 阻塞队列DelayedWorkQueue的实现 ScheduledFutureTask控制调度过程 总结 Schedule...
阅读(8019) 评论(0)

mysql count(*),count(1),count(字段)的区别

mysql中count(*),count(1),count(字段)的区别日常开发中,我们写sql语句时可能会使用到count()聚合函数,但是常用的count(*),count(1),count(字段)之间有何区别呢,对应用的影响如何? 测试用例 分析 总结 测试用例测试用的表结构:+----------+--------------+------+-----+-------...
阅读(9156) 评论(0)

Java定时任务(1)

Java定时任务之Timer & TimerTaskTimer & TimerTask 作为java的任务调度器之一,了解其内部原理有助于我们更好的理解它与其他调度器之间的异同。 TimerTask Timer及其调度过程 总结 TimerTaskTimerTask作为被调度任务的抽象类,继承于Thread,但是没有实现run方法,而是留给我们根据具体业务需求来实现。1. T...
阅读(7918) 评论(0)

浅析Java垃圾回收机制

Java垃圾回收机制 在C++中,对象所占的内存在程序结束运行之前一直被占用,在明确释放之前不能分配给其它对象;而在Java中,当没有对象引用指向原先分配给某个对象的内存时,该内存便成为垃圾。JVM的一个系统级线程会自动释放该内存块。垃圾回收意味着程序不再需要的对象是”无用信息”,这些信息将被丢弃。当一个对象不再被引用的时候,内存回收它占领的空间,以便空间被后来的新对象使用。事实上,除了释放没用的对...
阅读(7919) 评论(0)

ReentrantLock详解

ReentrantLock详解 1.核心部分 AbstractQueuedSynchronizer 核心操作类(不仅仅是在Lock领域,线程池也多有应用,俗称AQS) Sync                            继承AQS,提供了对Lock的部分操作 NonfairSync 继承Sync,见名知意,非公平锁的操作(默认为非公平所) FairSync   ...
阅读(7939) 评论(0)
    个人资料
    • 访问:135207次
    • 积分:1170
    • 等级:
    • 排名:千里之外
    • 原创:15篇
    • 转载:0篇
    • 译文:0篇
    • 评论:3条
    文章分类
    最新评论