自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

逍遥飞鹤的专栏

Java,Android技术类分享

原创 架构师需要掌握的技术

架构级别的程序员经验更加丰富,对框架和工具更加熟悉,逻辑性、分析能力更高,自学能力更强,可以在短时间内学会另外一种语言。他们的代码已经不仅仅是“性能”了,往往还会追求更合理的架构,而且在接口设计上还会预测需求的变更,代码的可扩展性好、稳定性高、可读性高。 架构应该掌握哪些技术呢 一、开源框架解析 ...

2019-04-18 15:42:57 1130 0

转载 Spring Cloud 原理图

转自:https://m.imooc.com/article/23679 服务注册发现组件Eureka工作原理 服务网关组件Zuul工作原理 跨域时序图 Eureka与Ribbon整合工作原理 解决分布式一致性 级联故障流程 断路器组件Hystrix工...

2019-03-15 18:59:58 210 0

原创 深入分析MyBatis

参考转自: https://www.cnblogs.com/dongying/tag/Mybatis%E6%B7%B1%E5%85%A5%E6%B5%85%E5%87%BA%E7%B3%BB%E5%88%97/ 1.insert、update、delete操作 mapper映射文件的配置,...

2019-03-12 17:23:03 207 0

原创 如何使用thread dump?你将如何分析Thread dump?

      新建状态(New)  用new语句创建的线程处于新建状态,此时它和其他Java对象一样,仅仅在堆区中被分配了内存。 就绪状态(Runnable)  当一个线程对象创建后,其他线程调用它的start()方法,该线程就进入就绪状态,Java虚拟机会为它创建方...

2019-01-04 17:55:42 1502 1

转载 SpringBoot与异步任务、定时任务、邮件任务

异步任务 在需要开启异步的服务加上注解:@Async @Service public class AsyncService { //告诉SpringBoot这是一个异步任务,SpringBoot会自动开启一个线程去执行 @Async public void testA...

2018-12-20 09:56:46 297 1

转载 AQS与JUC中的锁实现原理

摘要 提到JAVA加锁,我们通常会想到synchronized关键字或者是Java Concurrent Util(后面简称JCU)包下面的Lock,今天就来扒一扒Lock是如何实现的,比如我们可以先提出一些问题:当我们通实例化一个ReentrantLock并且调用它的lock或unlock的时...

2018-08-31 16:54:43 492 0

转载 JDK1.8源码分析之AbstractQueuedSynchronizer

一、前言   在锁框架中,AbstractQueuedSynchronizer抽象类可以毫不夸张的说,占据着核心地位,它提供了一个基于FIFO队列,可以用于构建锁或者其他相关同步装置的基础框架。所以很有必要好好分析。 二、AbstractQueuedSynchronizer数据结构   分析...

2018-08-31 14:34:19 205 1

原创 基于Docker实现MySQL的主从复制和SpringBoot2+MyBatis的动态切换数据源的读写分离

1)从Docker官方下拉MySQL的image docker search mysql docker pull mysql 2)设置目录   ---  将MySQL数据保存到当前主机上建立MySQL数据存储目录 mkdir -pv /Users/pintec/jay/db_test 建...

2018-05-31 16:40:32 577 0

原创 LinkedBlockingQueue原理分析---基于JDK8

1.常用的阻塞队列  1)ArrayBlockingQueue:规定大小的BlockingQueue,其构造函数必须带一个int参数来指明其大小.其所含的对象是以FIFO(先入先出)顺序排序的. 2)LinkedBlockingQueue:大小不定的BlockingQueue,若其...

2018-01-26 16:06:02 974 0

转载 MongoDB数据导入与导出

-------------------MongoDB数据导入与导出------------------- 1、导出工具:mongoexport     1、概念:         mongoDB中的mongoexport工具可以把一个collection导出成JSON格式或CSV格式的文件。...

2018-01-01 20:59:34 908 1

转载 深入理解Redis的持久化机制和原理

Redis是一种面向“key-value”类型数据的分布式NoSQL数据库系统,具有高性能、持久存储、适应高并发应用场景等优势。它虽然起步较晚,但发展却十分迅速。  近日,Redis的作者在博客中写到,他看到的所有针对Redis的讨论中,对Redis持久化的误解是最大的,于是他写了一篇长文来...

2017-11-24 10:13:30 3289 1

原创 数据库持久化中的读写性能原理分析---基于存储引擎和索引原理

1.存储引擎的类型 类型 功能 应用 hash 增删改、随机读、顺序扫描 Key-Value存储系统  redis、memcached B-Tree 增删改、随机读、顺序扫描 关系型数据库,MongoDB采用了B-Tree+lock-free, LSM ...

2017-11-23 10:35:22 1233 1

原创 分布式网站架构学习资源

1.大型分布式网站架构设计与实践 2.Java程序性能调优

2017-11-21 18:06:59 606 0

转载 我必须得告诉大家的MySQL优化原理

转自:http://www.jianshu.com/p/d7665192aaaf 说起MySQL的查询优化,相信大家收藏了一堆奇技淫巧:不能使用SELECT *、不使用NULL字段、合理创建索引、为字段选择合适的数据类型..... 你是否真的理解这些优化技巧?是否理解其背后的...

2017-09-29 09:48:34 809 0

原创 Java中集合与数组互转总结

1.集合之间,以及集合与数组互转 1.List转换为Array List list = new ArrayList(); list.add(“1”); list.add(“2”); list.add(“3”); list.add(“4”); String [] countries = list...

2017-09-27 18:07:24 497 0

原创 解决Spring中ResponseBody返回中文乱码问题

使用HttpMessageConverter接口的相关实现类。我们先看配置文件中的配置信息。 ...

2017-09-25 15:14:07 655 0

转载 写代码怎能不会这些 Linux 命令?

转自: https://juejin.im/entry/599b9e07f265da246d6af09f?utm_source=gold_browser_extension 这篇文章翻译自www.thegeekstuff.com/2010/11/50-…这些都是一些很常用的命令,这...

2017-09-15 12:54:19 561 0

转载 架构设计的立方体扩展

转自:http://blog.csdn.net/houjixin/article/details/53675741 本文是对《架构即未来》一书第20章的总结;  1. 立方体扩展是指X、Y、Z轴三个方向的扩展方式;  2. X轴扩展,指水平扩展,这种方式简单易于实现,它要求服务必须是...

2017-09-14 10:21:39 338 0

原创 提高系统性能的2个常用手段---缓存和异步

缓存 缓存  1.1 缓存刷新机制,缓存刷新是指什么时候把数据库中的数据加载到缓存  (1) 定期刷新;  (2) 缓存命中失败时刷新;  1.2 在有缓存时的数据写入方式:  (1) 同步写入,即缓存和数据库同时被写入,即在应用层进行双写操作,这种方式可以有效保证缓存和DB中数据的一致性,由...

2017-09-14 09:48:34 4274 0

原创 秒杀系统总结

挑战与解决策略 压力挑战: 短暂的高流量,对现有网站业务造成冲击 秒杀是一个网站营销的一个附加活动,时间短,并发量大。 如果和网站原有应用部署在一起,必然会对现有业务造成冲击,稍有不慎可能导致整个网站瘫痪。 高并发,数据库高负载 ...

2017-09-11 13:56:50 5613 1

转载 高可用+高并发+负载均衡架构设计

转自:架构师之路 前篇: 《无限容量数据库架构设计》 《MQ消息可达性+幂等性+延时性架构设计》 都收到网友好评: 系统性,全局性看问题体会更深刻 简单易懂 本文再做总结,体系化介绍高可用,高并发,负载均衡的一些...

2017-09-09 14:26:07 2048 0

转载 CountDownLatch和CyclicBarrier的简单使用

转自:http://www.kissyu.org/2016/07/18/%E5%AD%A6%E4%B9%A0%E4%BD%BF%E7%94%A8CountDownLatch%E5%92%8CCyclicBarrier/ 简介 CountDownLatch和CyclicBarri...

2017-08-30 09:44:18 330 0

原创 解析RocketMQ的client客户端

1.解析RocketMQ的client客户端 参考:http://www.cnblogs.com/atliwen/p/5216849.html 1.2个核心接口,3个默认实现 interface MQProducer --- DefaultMQProducer...

2017-08-28 16:14:38 4789 0

转载 How does a HashMap work in JAVA

Most JAVA developers are using Maps and especially HashMaps. A HashMap is a simple yet powerful way to store and get data. But how many developers kn...

2017-07-14 16:11:41 500 0

转载 最全正则表达式总结:验证QQ号、手机号、Email、中文、邮编、身份证、IP地址等

什么是 RegExp? RegExp 是正则表达式(Regular expression)的缩写,作用是对字符串执行模式匹配。 通常用于格式验证、正则替换、查找子串等 各种编程语言的正则表达式基本相同,不同的语言可能会有一些细小的差别 RegExp入门:ht...

2017-07-14 13:54:11 787 0

转载 如果有人问你数据库的原理,叫他看这篇文章

http://blog.jobbole.com/100349 一提到关系型数据库,我禁不住想:有些东西被忽视了。关系型数据库无处不在,而且种类繁多,从小巧实用的 SQLite 到强大的 Teradata 。但很少有文章讲解数据库是如何工作的。你可以自己谷歌/百度一下『关系型数据库原理...

2017-07-13 14:34:23 589 1

转载 Future --- 多线程设计模式

Future  ---  多线程设计模式 说到多线程的future,百度 多线程 future,网上也有各式各样的例子,写的比我还要好,但是实在是这个模式或者说例子以及实用性太大了,我不得不拿出来讲,甚至在实际生产环境中也是可以用的.我呢,也是拿出网上的例子详细的讲一遍~~ 看下面...

2017-07-10 10:14:16 487 0

转载 springboot + shiro + cas4.2.7 实战

转自:http://www.cnblogs.com/xiaojf/p/6619060.html 1. 下载地址 https://github.com/apereo/cas/archive/v4.2.7.zip 2. 解压后, 用intellj idea 打开 3. 执行 gr...

2017-06-22 18:18:51 1369 0

原创 Map按照key和value进行排序

一.理论准备         Map是键值对的集合接口,它的实现类主要包括:HashMap,TreeMap,Hashtable以及LinkedHashMap等。         TreeMap:基于红黑树(Red-Black tree)的 NavigableMap 实现,该映射根据其键...

2017-06-06 12:11:02 317 0

原创 Spring Cloud Netflix的3大组件应用 Eureka&Ribbon&Hystrix

参考:http://blog.csdn.net/a60782885/article/details/69267934 服务发现:(Eureka) 前面提到,Eureka分为服务端和客户端,服务端是服务注册中心,而客户端是提供服务的。 创建服务注册中心(服务...

2017-05-27 18:32:38 772 0

原创 Mac下配置环境变量的两种方式

1.配置全局变量(永久有效) root用户登录,修改 /etc/profile文件,末尾添加环境变量如下: 2.配置单用户全局变量(重启后配置失效)

2017-05-09 17:01:57 7186 0

原创 Java高级深入与JVM

1.关于HashCode       不能根据hashCode值判断两个对象是否相等,但可以直接根据hashCode值判断两个对象不相等。       如果两个对象的hashCode值不等,一定是不同的对象,要判断两个对象是否真正相等,必须通过equals()方法            如果...

2017-04-16 22:37:09 4133 0

原创 工作记录笔记

Java相关原理和深入学习:http://wiki.jikexueyuan.com/list/java/ RPC框架:         http://www.cnblogs.com/luxiaoxun/p/5272384.html https://my.oschina.net/huangyon...

2017-04-16 22:32:16 4598 0

转载 开发技术选型参考

转自:https://my.oschina.net/66das/blog/825950 摘要: 监控平台,RPC框架,分布式统一框架,数据库访问层中间件,软负载,分布式存储,分布式缓存,性能分析工具,数据库连接池,消息中间件mq,序列化,分布式协调服务,前端选型 监控平台:     ...

2017-04-14 15:05:04 4960 3

原创 Dubbo原理简单分析

alibaba有好几个分布式框架,主要有:进行远程调用(类似于RMI的这种远程调用)的(dubbo、hsf),jms消息服务(napoli、notify),KV数据库(tair)等。这个框架/工具/产品在实现的时候,都考虑到了容灾,扩展,负载均衡,于是出现一个配置中心(ConfigServer)的...

2017-04-13 13:04:16 36165 4

原创 使用Redis实现分布式锁

1.实现分布式锁的几种方案     1.Redis实现   (推荐)     2.Zookeeper实现     3.数据库实现 Redis实现分布式锁 * * 在集群等多服务器中经常使用到同步处理一下业务,这是普通的事务是满足不了业务需求,需要分布式锁 * * 分布式锁的常用3种实现...

2017-04-07 16:28:24 9112 5

转载 如何健壮你的后端服务?

转自:http://www.cnblogs.com/LBSer/p/4753112.html   对每一个程序员而言,故障都是悬在头上的达摩克利斯之剑,都唯恐避之不及,如何避免故障是每一个程序员都在苦苦追寻希望解决的问题。对于这一问题,大家都可以从需求分析、架构设计 、代码编写、测试、cod...

2017-04-06 11:57:52 665 0

转载 深入Java集合HashMap实现原理

深入Java集合学习系列:HashMap的实现原理 参考文献 引用文献:深入Java集合学习系列:HashMap的实现原理,大部分参考这篇博客,只对其中进行稍微修改 自己曾经写过的:Hashmap实现原理 1. HashMap概述:   HashMap是基于哈希表的Map接口的非同步实现(...

2017-04-05 10:26:49 396 0

转载 微服务的一种开源实现方式——dubbo+zookeeper

微服务架构成了当下的技术热点,实现微服务是要付出很大成本的,但也许是因为微服务的优点太过于吸引人,以至于大部分开发者都将它当成未来的发展趋势。         微服务架构的演进过程         dubbo的用户手册中介绍了服务化架构的进化过程,如下图: 图一、服务化架构的演进过程 ...

2017-03-31 17:43:18 5298 2

转载 从Java内存模型的角度思考线程安全与并发

并发的两个关键问题 1、线程之间如何通信 2、线程之间如何同步   通信是指线程之间以何种机制来交换信息,在命令式编程中,通信机制有两种:共享内存和消息传递;JAVA的并发采用的是共享内存,线程之间的通信总是隐式进行。   同步指程序中用于控制不同线程间操作发生相对顺序的机...

2017-03-23 15:08:29 2246 0

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