5 蔡小鱼儿

尚未进行身份认证

暂无相关描述

等级
博文 100
排名 13w+

服务的熔断和降级的区别

熔断:举个例子解释,生活中每家每户都在用电,小明家的电线因为故障导致了小明家停电了。而小李、小张家的电是正常使用的。电力公司没有因为小明家有故障线路而停掉其他人家的电,同时小明家没有使用有故障的电路的电。这时即为熔断。熔断的目的是当A服务模块中的某块程序出现故障后为了不影响其他客户端的请求而做出的及时回应。降级:举个例子解释,我们去银行排队办理业务,大部分的银行分为普通窗口、特殊窗口(...

2019-06-13 23:16:02

redis排行榜之日排行周排行设计

排行榜功能是一个很普遍的需求。使用Redis中有序集合的特性来实现排行榜是又好又快的选择。一般排行榜都是有实效性的,比如“用户积分榜”。如果没有实效性一直按照总榜来排,可能榜首总是几个老用户,对于新用户来说,那真是太令人沮丧了。首先,来个“今日积分榜”吧,排序规则是今日用户新增积分从多到少。那么用户增加积分时,都操作一下记录当天积分增加的有序集合。假设今天是2015年04...

2019-06-12 10:28:57

java程序性能分析之thread dump和heap dump

一.dump基本概念在故障定位(尤其是outofmemory)和性能分析的时候,经常会用到一些文件来帮助我们排除代码问题。这些文件记录了JVM运行期间的内存占用、线程执行等情况,这就是我们常说的dump文件。常用的有heapdump和threaddump(也叫javacore,或javadump)。我们可以这么理解:heapdump记录内存信息的,threaddu...

2019-06-11 16:59:05

Java虚拟机JVM总结(一)JVM运行原理及JVM中的Stack和Heap的实现过程

Java语言写的源程序通过Java编译器,编译成与平台无关的‘字节码程序’(.class文件,也就是0,1二进制程序),然后在OS之上的Java解释器中解释执行,而JVM是java的核心和基础,在java编译器和os平台之间的虚拟处理器。一、JVM原理1、JVM简介:JVM是java的核心和基础,在java编译器和os平台之间的虚拟处理器。它是一种利用软件方法实现的抽象的计算机基于下层...

2019-06-06 18:29:55

Redis高可用方案-哨兵与集群

https://blog.csdn.net/sunhuiliang85/article/details/78361211Redis高可用方案一.名词解释二.主从复制Redis主从复制模式可以将主节点的数据同步给从节点,从而保障当主节点不可达的情况下,从节点可以作为后备顶上来,并且可以保障数据尽量不丢失(主从复制可以保障最终一致性)。第二,从节点可以扩展主节点的读...

2019-06-03 11:38:58

【Java线程】volatile的适用场景

https://blog.csdn.net/vking_wang/article/details/9982709把代码块声明为synchronized,有两个重要后果,通常是指该代码具有原子性(atomicity)和可见性(visibility)。原子性意味着个时刻,只有一个线程能够执行一段代码,这段代码通过一个monitorobject保护。从而防止多个线程在更新共享状态时相互冲...

2019-06-02 07:50:59

spring data jpa 全面解析(实践 + 源码分析)

https://www.cnblogs.com/bodhitree/p/9468585.html前言本文将从示例、原理、应用3个方面介绍springdatajpa。以下分析基于springboot2.0+spring5.0.4版本源码概述JPA是什么?JPA(JavaPersistenceAPI)是Sun官方提出的Java持久化规范。它为Ja...

2019-06-01 16:23:12

Redis的五种对象类型及其底层实现

https://blog.csdn.net/caishenfans/article/details/44784131Redis对象类型简介Redis是一种key/value型数据库,其中,每个key和value都是使用对象表示的。比如,我们执行以下代码:redis>SETmessage"helloredis"其中的key是message,是一个包含了字符串"messag...

2019-05-31 15:34:45

MySQL索引背后的数据结构及算法原理

http://blog.codinglabs.org/articles/theory-of-mysql-index.html摘要本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTr...

2019-05-30 14:49:58

MYSQL性能优化的最佳20+条经验

https://coolshell.cn/articles/1846.html

2019-05-28 17:29:16

Java并发编程原理与实战六:主线程等待子线程解决方案

https://www.cnblogs.com/pony1223/p/9349239.html

2019-05-28 15:37:36

MySQL 性能优化神器 Explain 使用分析

https://segmentfault.com/a/1190000008131735

2019-05-28 11:52:20

volatile是否能保证数组中元素的可见性?

http://ifeve.com/volatile-array-visiblity/

2019-05-28 09:46:39

Java面试题全集(上)(中)(下) (转)+自己总结

https://www.cnblogs.com/songanwei/p/9366427.html

2019-05-24 11:36:20

深入理解 Spring 事务原理

Spring事务的基本原理Spring事务的本质其实就是数据库对事务的支持,没有数据库的事务支持,spring是无法提供事务功能的。对于纯JDBC操作数据库,想要用到事务,可以按照以下步骤进行:获取连接Connectioncon=DriverManager.getConnection()开启事务con.setAutoCommit(true/false);执行CRUD提交事务/回...

2019-04-22 09:54:46

MySql按一个字段分组并且取另一个字段最大值的记录

要求:获得按table1_id分组,并且age最大的记录信息,即2、3、5条方法一:select*from(select*fromtable2orderbyagedesc)asagroupbya.table1_id1方法二:selecta.*fromtable2asawhereage=(selectmax(age)fromta...

2019-04-18 08:25:22

Git最佳实践:基本操作和分支管理

概述GIT是一个开源的分布式的版本控制系统,是由Linus为了管理Linux内核开发而开发的一个开源的版本控制软件。相比SVN,它采用分布式版本库方式。工作区,暂存区和版本库左侧为工作区,编辑文件所在的目录,右侧为版本库,其中index区域是暂存区,标记为"master"代表master主分支。基本操作指令1.创建仓库a.当前目录创建仓库git...

2019-04-16 18:21:54

只读事务(@Transactional(readOnly = true))的一些概念

从这一点设置的时间点开始(时间点a)到这个事务结束的过程中,其他事务所提交的数据,该事务将看不见!(查询中不会出现别人在时间点a之后提交的数据)应用场合:如果你一次执行单条查询语句,则没有必要启用事务支持,数据库默认支持SQL执行期间的读一致性;如果你一次执行多条查询语句,例如统计查询,报表查询,在这种场景下,多条查询SQL必须保证整体的读一致性,否则,在前条SQL查询之后,后条...

2019-04-15 10:38:12

史上最全 40 道 Dubbo 面试题及答案,看完碾压面试官!

想往高处走,怎么能不懂Dubbo?Dubbo是国内最出名的分布式服务框架,也是Java程序员必备的必会的框架之一。Dubbo更是中高级面试过程中经常会问的技术,无论你是否用过,你都必须熟悉。下面我为大家准备了一些Dubbo常见的的面试题,一些是我经常问别人的,一些是我过去面试遇到的一些问题,总结给大家,希望对大家能有所帮助。1、Dubbo是什么?Dubbo是阿里巴巴开源...

2019-04-09 17:05:42

Java面试题内容聚合

点击上方“Java知音”,选择“置顶公众号”技术文章第一时间送达!往期内容聚合设计模式内容聚合面试技术文Java岗面试考点精讲(基础篇01期)Java岗面试考点精讲(基础篇02期)Java岗面试考点精讲(网络篇03期)Java面试中遇到的坑Java面试中遇到的坑【填坑篇】Java面试中遇到的坑【篇二】java面试遇到的坑[第三期...

2019-04-02 20:05:57
奖章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!