自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(17)
  • 资源 (5)
  • 收藏
  • 关注

原创 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,应用可以轻松的发现他

2016-08-28 16:02:41 3097

原创 (一) spring boot 之 helloworld

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

2016-08-18 11:24:27 448

原创 Spring之IoC容器解析(二)

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

2016-06-15 19:40:59 677

原创 Spring之IoC容器解析(一)

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

2016-06-13 15:44:18 3131

原创 浅析ZeroMQ工作原理及其特点

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

2016-06-01 14:56:55 40968 3

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

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

2016-04-25 12:26:03 9211

原创 Java动态代理剖析

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

2016-04-20 15:01:40 7890

原创 SpringBoot配置Email发送功能

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

2016-04-15 11:37:47 12765

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

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

2016-04-14 20:22:00 8238

原创 Java定时任务(2)

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

2016-04-07 20:11:38 8266

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

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

2016-04-06 20:24:43 10720

原创 Java定时任务(1)

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

2016-04-05 17:20:10 8140

原创 浅析Java垃圾回收机制

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

2016-03-29 11:47:10 8119

原创 ReentrantLock详解

ReentrantLock详解1.核心部分AbstractQueuedSynchronizer核心操作类(不仅仅是在Lock领域,线程池也多有应用,俗称AQS)Sync                            继承AQS,提供了对Lock的部分操作NonfairSync 继承Sync,见名知意,非公平锁的操作(默认为非公平所)FairSync  

2016-03-17 17:44:44 8202

java编程思想-动态编译

 一般,我们用反射是可以在运行时洞悉一个类的信息(无论公私有),但是我们也可以在运行时创建一个新的类(原先不存在),然后加载该类,并调用该类中的函数。 1.创建一个类这里我简便的用IO流将一个已经完成的类(与当前工程不再一个目录下),拷贝到当前工程目录下,当然也可以在运行时直接用字符串拼接处一个类,写入文件。 @SuppressWarnings("resource")...

2016-01-23 10:56:47 97

java编程思想-多态 深入理解

先看两段代码:publicclass D extends C{public D(){System.out.println("D-init");} publicstaticvoid main(String []args){C c = new D();System.out.println(c.getClass().getName());c.f2();//编译出错...

2016-01-09 15:27:21 105

原创 JAVA源码分析------锁(1)

第一次写博客,也就是记录一些自己对于JAVA的一些理解,不足之处,请大家指出,一起探讨。这篇博文我打算说一下JAVA中锁,也就是Lock()的部分源码,这里我拿了一个Lock的具体实现类ReentrantLock来举例,但其实其他几个实现类大同小异。附上一张流程图,来源我忘记,比较抱歉啊。 首先声明一下ReentrantLock类中的结构其中有一个Sync静态内部类,该类继...

2015-11-23 16:22:04 100

Go语言编程(高清带书签完整版) 许式伟

望取代C和Java的地位,成为最流行的通用开发语言。 Go语言编程以介绍Go语言特性为主,示例则尽量采用作者开发团队平常的实践,内容涉及内存管理(堆和栈)、错误处理、OOP、并发编程等关键话题。 这本书面向的读者是所有打算用Go语言的开发者,主要包括目前使用C、C++、Java、C#的开发人员,甚至一些Python、PHP开发人员也可能转为 Go 程序员。 Go希望成为互联网时代的C语言。

2018-04-25

mac版本charles 4.1.4 安装包和破解文件(亲测)

mac版本charles 4.1.4 安装包和破解文件,亲测可用,下载完后将里面的charles.jar替换掉安装文件中的即可(在替换前先打开一次安装好的charles)

2018-03-12

mac版本charles 4.1.4 安装包和破解文件

mac版本charles 4.1.4 安装包和破解文件,亲测可用,下载完后将里面的charles.jar替换掉安装文件中的即可(在替换前先打开一次安装好的charles)

2018-03-12

Java 8实战.pdf(最新版高清含书签)

java8实战详细的讲解了java8中的一些特性,对那些想用java8的童鞋是本不错的书 本书全面介绍了Java 8 这个里程碑版本的新特性,包括Lambdas、流和函数式编程。有了函数式的编程特性,可以让代码更简洁,同时也能自动化地利用多核硬件。全书分四个部分:基础知识、函数式数据处理、高效Java 8 编程和超越Java 8,清晰明了地向读者展现了一幅Java 与时俱进的现代化画卷。

2018-03-12

Java并发编程的艺术

《Java并发编程的艺术》内容涵盖Java并发编程机制的底层实现原理、Java内存模型、Java并发编程基础、Java中的锁、并发容器和框架、原子类、并发工具类、线程池、Executor框架等主题,每个主题都做了深入的讲解,同时通过实例介绍了如何应用这些技术。

2018-03-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除