自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(524)
  • 收藏
  • 关注

原创 分布式事务-02:2PC 二阶段提交协议实现过程及原理

图片来源:pexels网站java4all原创,欢迎关注摘要:本文主要讲解分布式事务中二阶段提交协议(2pc)相关基础概念,原理及详细的执行过程。1.理论基础二阶段提交(...

2019-06-03 08:00:00 1966

原创 jvm调优

待排版。。。。1.查询java相关进程ps -ef | grep java2. jinfo查看java程序运行的环境参数,包括Java System属性和JVM命令行参数.。[root@jr-test ~]# jinfo 28843Attaching to process ID 28843, please wait...Debugger attached successfully...

2019-05-29 15:45:14 609

转载 在阿里,我们如何做好一个项目的启动

阿里妹导读:俗话说“好的开始是成功的一半”,管理一个项目也是这样,项目运行中的遇到的问题往往就是在填项目启动时所埋的坑。一个好的项目启动能极大地提高项目成功的概率,避免项...

2019-05-24 08:00:00 567

原创 Java虚拟机-03:当new一个对象时,虚拟机发生了什么?

图片来源:pixabay.comjava4all原创,欢迎关注摘要:当你new一个对象时,虚拟机内部发生了什么?Java是一门面向对象的编程语言,在Java程序运行的过程...

2019-05-24 08:00:00 651

原创 java8 集合的交集、并集、差集

java8中求集合的交集、并集、差集 public static void main(String[]args){ List<String> list1 = new ArrayList<String>(); list1.add("1"); list1.add("2"); list1.add("3");...

2019-05-22 09:44:38 28976 6

原创 关于我

我是陕西人,在哈尔滨读了几年书,在北京待了两年,后来到了杭州,温润的气候养人,也容易消磨人的野心。14年就开始在csdn写博客,后来换电脑,一些账号没了。15年重新注册,...

2019-05-22 08:00:00 199 1

原创 月薪15k的小党挂在了list.remove()上

图片来源:pixabay.comjava4all原创,欢迎关注摘要:基友小党去面试,挂在了list.remove()上。这是一个见过就再也不会忘记的面试题,没见过的话,多...

2019-05-22 08:00:00 252 4

原创 分布式事务-01:分布式事务产生原因及相关概念

图片来源:pixabay.comjava4all原创,欢迎关注摘要:本文主要介绍应用的架构演进,分布式事务产生的原因,以及分布式事务相关的概念。本文目录:架构演进分布式事...

2019-05-21 08:00:00 1975

转载 【斩获7枚offer,入职阿里平台事业部】横扫阿里、美团、京东、 去哪儿之后,我写下了这篇面经!...

本文转载自:石杉的架构笔记ID:shishan100自身情况跳槽之前,楼主在一个小型互联网公司,主要是做互联网彩票。其中做过面向用户的APP,也有o2o模式的,也有b2b...

2019-05-20 08:00:00 992

原创 开通公众号啦:java4all

一直有朋友加我微信,让我开通公众号,公众号其实一直是有的,现在开更了,欢迎各位大佬关注。java4all,主要分享SpringBoot,SpringCloud,分布式事务,分布式锁,面试等相关文章。欢迎大佬关注,也欢迎大佬投稿。我的微信:w1186355422,欢迎勾搭。想进读者群的大佬,欢迎加我微信。...

2019-05-18 09:42:23 723 4

原创 我们加班熬夜,大步向前跃进

图片来源:pixabay.comjava4all原创,欢迎关注摘要:忙的没时间写摘要,想要可以加我微信,我把摘要私发给你。1959年第5期的《知识就是力量》杂志记载:我们...

2019-05-16 08:00:00 284

原创 Java虚拟机-02:类与类加载器

图片来源:pixabay.comjava4all原创,欢迎关注摘要:本文主要介绍类加载器、类的唯一性、启动类加载器、拓展类加载器、应用程序类加载器。内容目录:1.类加载器把类加载阶段中的“通过一个类的全限定名来获取描述此类的二进制字节流”的这个动作放到Java虚拟机外部去实现,以便让应用程序自己决定如何去获取所需要的类,实现这个动作的代...

2019-05-14 08:00:00 232

原创 Java虚拟机-01:逃逸分析、栈上分配、同步消除、标量替换

图片来源:pixabay.comjava4all原创,欢迎关注摘要:本文主要讲解Java虚拟机内的一些优化分析技术:逃逸分析、栈上分配、同步消除、标量替换。逃逸分析,是J...

2019-05-11 16:32:39 590

原创 SpringCloud教程-07:网关(Zuul)

图片来源:pexels网站java4all原创,欢迎关注摘要:本文主要讲解SpringCloud体系中的网关服务Zuul。在前面的系列文章中,我们介绍了注册中心,负载均衡...

2019-05-10 08:00:00 410

原创 SpringCloud教程-06:断路器(Hystrix-Feign)

图片来源:pexels网站java4all原创,欢迎关注摘要:本文主要讲解在SpringCloud中,如何使用Hystrix来实现断路器功能。在微服务架构中,我们把系统拆...

2019-05-09 08:00:00 249

原创 SpringCloud教程-05:负载均衡(Feign)

图片来源:pexels网站java4all原创,欢迎关注摘要:本文主要讲解如何使用Feign实现客户端的负载均衡。在SpringCloud教程-03:负载均衡(Ribbo...

2019-05-08 08:00:00 404

原创 SpringCloud教程-04:断路器(Hystrix-Ribbon)

图片来源:pexels网站java4all原创,欢迎关注摘要:本文主要讲解在SpringCloud中,如何使用Hystrix来实现断路器功能。在微服务架构中,我们把系统拆...

2019-05-07 08:00:00 285

原创 SpringCloud教程-03:负载均衡(Ribbon)

图片来源:pexels网站java4all原创,欢迎关注摘要:本文主要讲解,在SpringCloud体系的微服务架构中,如何使用Ribbon来实现客户端的负载均衡。在系统...

2019-05-06 08:00:00 294

原创 SpringCloud教程-02:服务注册与消费

图片来源:pexels网站java4all原创,欢迎关注摘要:本文主要讲解如何将一个服务注册到eureka注册中心上,供其他消费者使用此服务。将一个服务注册到eureka...

2019-05-05 08:00:00 252

原创 SpringCloud教程-01:服务注册与发现(Eureka)

图片来源:pexels网站java4all原创,欢迎关注摘要:本文讲述如何快速启动一个项目作为eureka服务注册中心,我们先简述相关的理论知识,然后介绍如何启动一个注册...

2019-04-29 08:00:00 360

原创 tkmybatis更新无效

项目中持久层引入了tkmybatis,在一个更新的操作中,遇到一个问题:根据主键更新数据,方法为:public interface UpdateByPrimaryKeySelectiveMapper<T> { /** * 根据主键更新属性不为null的值 * * @param record * @return */ ...

2019-04-28 16:17:04 3502 3

原创 为什么要实施微服务架构?

图片来源:pexels网站java4all原创,欢迎关注摘要:微服务架构,是系统架构的一种设计风格,与之相对的是,传统企业系统架构中的单体架构,本文谈谈为什么我们要实施微...

2019-04-28 09:34:43 376

原创 为什么要实施微服务架构?

‌微服务架构,是系统架构的一种设计风格,与之相对的是,传统企业系统架构中的单体模式。1.架构演进这里借助dubbo官网的一张图来说明架构演进之路:图片来源:dubbo官网随着互联网的发展,用户基数变得越来越大,网站应用的规模也不断扩大, 常规的单体应用和垂直应用架构已无法应对, 分布式服务架构以及流动计算架构正在成为一种趋势。1.1单一应用架构当网站流量很小时,只需一个应用,将所有功...

2019-04-26 17:27:36 1341 2

原创 mysql大于号小于号写法

mysql中大于号小于的写法&lt;&lt;&lt;![CDATA[ &lt; ]]&gt;&lt;=&lt;=&lt;![CDATA[ &lt;= ]]&gt;&gt;&gt;&lt;![CDATA[ &gt; ]]&gt;&gt;=&gt;=&lt;![CDATA[ &gt;= ]]&gt;&

2019-03-21 16:07:26 14266 4

原创 分布式事务系列--分布式跨库查询解决方案 mysql federated引擎的使用

分布式跨库查询时,可以尝试使用federated引擎,来创建远程表的映射,方便查询。1.开启引擎查询数据库是否支持SHOW ENGINES;有,说明支持,但是没有开启,开启一下:配置文件添加:federated,如下:[mysqld]federated## Remove leading # and set to the amount of RAM for the most i...

2019-03-20 11:38:15 2314 4

原创 mysql表字段值处理回车符换行符

查询数据库时,字段值一直无法匹配上,但是看数据库,觉得没问题,仔细排查后,发现可能是数据入口有问题,导致这个字段的所有的值,后面都加的有回车和换行符。鼠标悬浮时没问题,但是如果真正的点击这个字段时,就会发现空了,光标向前移动下,就看到值了,可以确认时值后面换行了。查询出来如下:工商银行\n处理方案:UPDATE card_bin SET bank_name = REPLACE(RE...

2019-03-19 15:49:53 4837

原创 分布式事务系列--是选TCC还是SAGA

byteTCC框架,支持两种模式,一种是TCC模式,一种是SAGA模式,二者如何选择,是一个取舍问题,没有完美方案。1.TCC模式这种模式下,我们需要操作的目标字段,都要添加一个相关的冻结字段,try操作是操作冻结字段,cc操作时,将冻结的数值更新到目标字段。示例如下: &amp;lt;!--try逻辑--&amp;gt; &amp;lt;update id=&quot;increaseMoney&quot;&amp;gt; ...

2019-03-15 14:05:25 10881 4

原创 In aggregated query without GROUP BY...this is incompatible with sql_mode=only_full_group_by

数据库查询时,出现如下错误:Caused by: com.mysql.jdbc.exceptions.jdbc4MySQLSyntaxErrorException: In aggregated query without GROUP BY, expression #1 of SELECT list contains nonaggregated column 'credit_server.cred...

2019-03-13 17:16:23 1839

原创 (16)SpringBoot整合RabbitMQ

图片来源:pexels网站 摘要:本文主要讲解,SpringBoot整合 RabbitMQ,这里先只做简单的整合示范,详细用法见后续文章。主要步骤如下:1.引入依赖2....

2019-03-13 08:00:00 189

原创 (15)SpringBoot使用Junit单元测试

图片来源:pexels网站 摘要:本文详细的记录了SpringBoot如何结合Junit写测试用例,如何执行,打包执行,忽略执行等操作,SpringBoot内置了Jun...

2019-03-11 08:55:00 178

原创 注册中心技术选型分析

本文是对微服务中,注册中心的技术选型的一些思考和分析,部分技术比如etcd,本人没有在生产环境使用过,所以部分结论的得出,是在阅读了大量的资料后得出的结论。如eureka,在实际中,很多小项目,其实就是一个单点的eureka做注册中心,也没发生过什么生产事故,但就技术调研和技术储备而言,我们不能只考虑理想的场景,了解各种技术的优缺点,用的时候,起码知道这个技术的短板和可能带来的一些问题,这样在用户...

2019-03-07 09:14:16 3047 5

原创 Consul相关资料

1.consul介绍https://www.consul.io/intro/index.html2.consul和其他组件的对比https://www.consul.io/intro/vs/index.html3.使用https://www.consul.io/intro/getting-started.html待翻译补充 。。。。。。...

2019-03-05 13:36:01 478

原创 kafka安装教程

本文记录在linux环境下,安装kafka,并做简单测试,如果zookeeper没有安装,可参考zookeeper安装:1.下载安装包地址:http://kafka.apache.org/downloads, 注意不要下载成source了。2.上传至服务器rz命令上传至服务器解压[root@localhost local]# tar -zxvf kafka_2.11-2.1.1.t...

2019-02-28 11:22:00 3258 6

原创 分布式事务系列--SpringCloud整合byteTCC框架0.5.x版本2

6.tcc业务逻辑编写在使用tcc框架处理分布式事务时,需要我们自己来编写tcc业务代码。这里演示一个简单的加钱的操作。一个tcc操作,分为try,confirm,cancel三个操作。根据创建的company表,可以看到公司表有一个money金额字段,还有个frozen字段,在业务简单时,我们可以借助这个字段来实现tcc;如果业务复杂,修改多个字段时,我们可以不要这个字段,tcc的每一步,...

2019-02-22 14:51:55 2867 4

原创 分布式事务系列--SpringCloud整合byteTCC框架0.4.x版本

本文详细记录下,SpringCloud框架整合byteTCC分布式事务框架的过程。这里只展示,一个是springboot项目,引入byteTCC必备的基础步骤,不包括tcc的业务逻辑过程。请优先确定项目使用的springboot和springcloud版本,然后选择对应的byteTCC版本进行整合,0.4.x和0.5.x整合差异较大。总体而言,spring boot 1.x得用0.4.x的版本,0...

2019-02-19 11:40:15 2609

原创 分布式锁系列--04关于分布式锁的选型分析02-Redlock的实现原理

上一文分布式锁系列–03关于分布式锁的选型分析01中,我们看到了单节点的redis分布式锁在failover时产生了无法解决的安全问题,因此,Redis的作者antirez提出了一种新的基于redis的分布式锁的算法Redlock,它基于N个完全独立的Redis节点(通常情况下N可以设置成5)。1.Redlock获取锁Redlock获取锁的原理如下:1.获取当前时间(毫秒数): t1。2....

2019-02-18 21:11:42 1931 2

原创 Bean method 'eurekaHealthCheckHandler' not loaded because @ConditionalOnProperty (eureka.client.

springboot项目报错:Bean method 'eurekaHealthCheckHandler' not loaded because @ConditionalOnProperty (eureka.client.healthcheck.enabled) did....eureka配置一下healthcheck即可。注意,idea不能提示这个属性,得手动敲。eureka: cl...

2019-02-18 15:24:35 5417

原创 分布式锁系列--03关于分布式锁的选型分析01

本文分析,在分布式系统中,使用redis实现分布式锁,会遇到什么问题。关于分布式锁概念和redis分布式锁的具体实现,可参考前面的2篇文章。本文重点在于,对分布式锁技术选型的分析。1.redis锁单节点实现常规的,使用redis做分布式锁,主要实现如下:1.1加锁 /** * 加锁 * * @param lockName 锁名,对应被争用的共享资源 * @para...

2019-02-16 17:25:08 791

原创 SpringCloud教程(Finchley版本)-08:eureka集群搭建

本地搭建2个eureka服务,互相注册为一个集群,生产环境可以部署更多的节点。示例中两个项目分别为eureka-server,port为8761,和eureka-server1,port为8762。这里列出重点步骤。1.引入依赖 eureka-server &amp;amp;lt;!--eureka-server--&amp;amp;gt; &amp;amp;lt;dependency&amp;amp;gt; &amp;amp;lt;groupId&a

2019-02-16 15:43:27 942

原创 分布式事务系列--SpringCloud整合byteTCC框架0.5.x版本1

这里详细记录下,SpringCloud框架整合byteTCC分布式事务框架的过程。版本信息1.SpringCloud2.SpringBoot3.byteTCC1.创建company-server项目创建一个SpringBoo web项目,先贴下完整的项目结构:2.引入byteTCC依赖SpringCloud其他依赖这里不做展示,仅展示byteTCC的依赖: &amp;amp;amp;amp;amp;amp;lt;!--by...

2019-02-15 10:29:07 3212 5

空空如也

空空如也

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

TA关注的人

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