自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 CountDownLatch理解

CountDownLatch概念 CountDownLatch是一个同步工具类,用来协调多个线程之间的同步,或者说起到线程之间的通信(而不是用作互斥的作用)。 CountDownLatch能够使一个线程在等待另外一些线程完成各自工作之后,再继续执行。使用一个计数器进行实现。计数器初始值为线程的...

2020-06-18 22:46:01 51 0

转载 tomcat运行的本质

一、Tomcat运行原理分析 1.Tomcat是运行在JVM中的一个进程。它定义为【中间件】,顾名思义,是一个在Java项目与JVM之间的中间容器。 2.Web项目的本质,是一大堆的资源文件和方法。Web项目没有入口方法(main方法),,意味着Web项目中的方法不会自动运行起来。 3.Web...

2020-06-08 20:50:28 59 0

转载 tomcat处理连接的详细过程

Tomcat系列文章:http://www.cnblogs.com/f-ck-need-u/p/7576137.html tomcat可以处理静态资源的请求,也可以通过servlet处理动态资源的请求。处理jsp动态资源时,先通过jasper组件(具体的是JspServlet)将jsp翻译成ja...

2020-06-08 18:00:16 71 0

原创 多线程原理

计算机三大核心组件:cpu、内存和输入输出设备(IO) 开启多线程的最根本的目的是为了充分利用cpu,提高计算机资源利用率。cpu是发送执行命令的地方,其只能从内存里读取指令来执行,也是线程调度的执行者 拿IO来说,在单线程的情况下,假如此时有一个线程需要执行IO,这个过程分2个阶段,1、cp...

2020-06-08 17:16:43 49 0

原创 对事务一致性的理解

事务的一致性简单一句话就是事务执行前后,数据库的数据是合理的, 1、对于单体而言,比如一个事务包括3个更改数据库的操作,那这3个操作如果有一个异常了,那么事务就会回滚,回滚的目的就是为了保证数据的一致性,既然把这3个操作放在一个事务里,那这3个操作肯定是相关联的,换句话说就是相互影响的,假如没有...

2020-05-29 19:43:44 128 0

原创 idea常用插件

转载: 下面推荐的插件都是我觉得比较实用的,不过你可以根据自己的需要,适当进行选择。另外 IDEA 自带的很多插件如果没有用到的话都可以关掉,这样可以提高IDEA的运行速度。 目录: Grep Console:控制台输出处理 Rainbow Brackets:彩虹????括号 ...

2020-05-11 23:03:36 75 0

原创 Spring事务传播行为

Spring在 TransactionDefinition 接口中规定了 7 种类型的事务传播行为。事务传播行为是 Spring 框架独有的事务增强特性,他不属于的事务实际提供方数据库行为。这是 Spring 为我们提供的强大的工具箱,使用事务传播行可以为我们的开发工作提供许多便利。但是人们对他的...

2020-05-11 21:28:43 68 0

原创 根据 List 元素中的某个字段大小排序

有时候根据业务需要根据 List 元素的某个字段进行大小排序,可以用 List 的流里的sort 方法: public Date findLastedClaimChangeDate(String claimNumber){ List<ClaimsStatusHisto...

2020-05-09 13:10:53 86 0

转载 zookeeper核心原理(Watcher、事件和状态)

zookeeper主要是为了统一分布式系统中各个节点的工作状态,在资源冲突的情况下协调提供节点资源抢占,提供给每个节点了解整个集群所处状态的途径。这一切的实现都依赖于zookeeper中的事件监听和通知机制。 zookeeper中的事件和状态 事件和状态构成了zookeeper客户端连接描述的...

2020-05-09 12:03:27 93 0

转载 centOS7查看防火墙状态

一、防火墙的开启、关闭、禁用命令 (1)设置开机启用防火墙:systemctl enable firewalld.service (2)设置开机禁用防火墙:systemctl disable firewalld.service (3)启动防火墙:systemctl start firewal...

2020-05-05 15:06:05 120 0

原创 zookeeper会话超时

1、会话概述 在ZooKeeper中,客户端和服务端建立连接后,会话随之建立,生成一个全局唯一的会话ID(Session ID)。服务器和客户端之间维持的是一个长连接,在SESSION_TIMEOUT时间内,服务器会确定客户端是否正常连接(客户端会定时向服务器发送heart_beat,服务器重置...

2020-05-05 14:53:17 95 0

原创 在下层捕获上层抛出的异常

public class A { public A(){ public String sum(){ try{ xxxxxx }catch (Exception e){ ...

2020-04-20 12:44:12 96 0

原创 根据 List 对象中的某个字段进行排序

比如根据下面这个类的 age 字段进行排序: public class Person { private String name; private int age; } 排序可以根据 java.utils 下的 Collections 里有一个sort 方法排序,两种写法如下...

2020-04-18 14:35:38 158 0

转载 Xshell连接VMware虚拟机(CentOs7)

前序:最近开始研究Hadoop平台的搭建,故在本机上安装了VMware workstation pro,并创建了Linux虚拟机(centos系统),为了方便本机和虚拟机间的切换,准备使用Xshell直接连接Linux虚拟机。在此之前,需要对Linux虚拟机的网络进行一定的配置。故有了下面这段记录...

2020-04-11 14:33:17 71 0

原创 idea 出现 GC overhead limit exceed解决

出现这个问题导致的后果就是本来一个类或者文件是存在maven仓库中的,而且也import进项目来了,但是idea里还是到处爆红,说:can't resolve file... 无法解析这些文件 解决方法如下图:增大这个内存即可 适当的,也可以把下面的这个内存增大: ...

2020-03-31 13:14:02 119 0

原创 使用Redis+AOP优化权限管理功能

在mall-security模块中有一个过滤器,当用户登录后,请求会带着token经过这个过滤器。这个过滤器会根据用户携带的token进行类似免密登录的操作,其中有一步会从数据库中查询登录用户信息,下面是这个过滤器类的代码。 /** * JWT登录授权过滤器 * Created by ma...

2020-03-25 12:15:27 67 0

原创 在spring中注入set或者map的方法

<bean id="entityTypeValueRangeService" class="com.spi.EntityTypeValueRangeServiceImpl"> <property name="ind...

2020-03-22 13:11:27 66 0

转载 TCC分布式事务

之前网上看到很多写分布式事务的文章,不过大多都是将分布式事务各种技术方案简单介绍一下。很多朋友看了还是不知道分布式事务到底怎么回事,在项目里到底如何使用。 所以这篇文章,就用大白话+手工绘图,并结合一个电商系统的案例实践,来给大家讲清楚到底什么是 TCC 分布式事务。 首先说一下,这里可能会牵...

2020-03-17 16:57:35 59 0

转载 Spring Aop中@Pointcut用法

格式: execution(modifiers-pattern? ret-type-pattern declaring-type-pattern? name-pattern(param-pattern)throws-pattern?) //表示匹配所有方法 1)executio...

2020-03-13 17:33:28 95 0

转载 spring AOP @Aspect,@pointcut的理解

最近写的项目里面都用到了很多切面,切点的知识,写完以后,来自我总结一下: 举个例子: 一个类(Show)里面有一个表演(display)的方法,在表演之前,应该有致辞(say)的方法,在表演之后,应该有鼓掌(hand)的方法。 为了高内聚低耦合,表演的方法应该单独封装在一个类里面,致辞和鼓掌的方...

2020-03-13 16:34:53 43 0

原创 win7台式机系统调节显示屏亮度

引用:http://www.zhishizhan.net/newarc-130897857570.html

2020-03-12 09:04:32 145 0

转载 Spring之AOP理解

SpringAOP简介 面向切面编程(Aspect Oriented Programming)提供了另一种角度来思考程序的结构,通过这种方式弥补面向对象编程(Object Oriented Programming)的不足。除了类以外,AOP提供了切面,切面对关注点进行模块化,例如横切多个类型和对象...

2020-02-05 19:25:31 165 0

原创 Java中父子类引用的理解

先举个例子: public class MainTest { public void test(String[] args) { Father father = new Child(); sayHello(father); } publi...

2020-01-07 23:14:50 76 0

转载 zookeeper集群节点为什么是奇数个

无论是公司的生产环境,还是自己搭建的测试环境,Zookeeper集群的节点个数都是奇数个。至于为什么要是奇数个,以前只是模糊的知道是为了满足选举需要,并不知道详细的原因。最近重点学习zookeeper,了解到其中的原理,现将其整理记录下来。 首先需要明确zookeeper选举的规则:leader...

2020-01-06 21:17:30 46 0

转载 session是什么,存储在哪里

为什么有session?   首先大家知道,http协议是无状态的,即你连续访问某个网页100次和访问1次对服务器来说是没有区别对待的,因为它记不住你。   那么,在一些场合,确实需要服务器记住当前用户怎么办?比如用户登录邮箱后,接下来要收邮件、写邮件,总不能每次操作都让用户输入用户名和密码吧,...

2019-12-26 22:19:53 192 0

转载 TCC解决分布式事务问题

这篇文章,就用大白话+手工绘图,并结合一个电商系统的案例实践,来给大家讲清楚到底什么是 TCC 分布式事务。 首先说一下,这里可能会牵扯到一些 Spring Cloud 的原理,如果有不太清楚的同学,可以参考之前的文章:《拜托,面试请不要再问我Spring Cloud底层原理!》。 业务场景介...

2019-12-26 22:06:29 172 0

原创 TCC和XA的区别

从设计模式上来讲: 其主要区别是是否有预提交的操作,XA有一个预提交的过程,在两阶段提交的过程中,有一个协调者在中间起到很重要的作用,当所有的事务都执行成功,会把执行成功的状态通知协调者,这个阶段是第一阶段,协调者监听到所有的事务执行成功后,执行第二阶段的commit,也就是说XA的两阶段提交是...

2019-12-19 17:59:39 715 0

原创 SqlServer修改密码后登陆不上

好长时间不登录MSSM,今天登陆了一下,要求修改密码后才能登陆,没办法,那就修改了,改完后,完美登陆,但是当关闭MSSM后,再次登陆,就出现:Login failed for user ‘XXX’,踏遍了整个百度和google,解决方案无疑就是那几个: 1、为用户添加权限 2、查看sqlser...

2019-12-19 17:27:47 291 0

转载 mysql可重复读理解

一、可重复读 我们先看看现象,再分析原理。我的mysql版本是5.5。 下面是一张表,只有一条数据,并且我开启了事物 此时,另一个事物将record加1,因此我在开启一个命令行客户端,执行下面的命令: 成功加1之后,实际上,数据库中record肯定是2。 然后回到之前的客户端,再...

2019-12-10 20:52:58 48 0

原创 SpringBoot自动装配原理解析

要理解自动装配原理,首先要理解BeanDefinition的作用,在BeanDefinition里定义了一些属性,其实就是将Bean的定义信息存储到这个BeanDefinition相应的属性中,后面对Bean的操作就直接对BeanDefinition进行,例如拿到这个BeanDefinition后...

2019-11-30 19:23:07 94 0

原创 java ResourceBundle 用法

package com.mx.enums; import com.exigen.ipb.base.util.ResourceBundleUtils; import java.util.ResourceBundle; public enum CustomerRole { SELF(&qu...

2019-11-29 15:45:54 40 0

转载 java注解原理

以前,『XML』是各大框架的青睐者,它以松耦合的方式完成了框架中几乎所有的配置,但是随着项目越来越庞大,『XML』的内容也越来越复杂,维护成本变高。 于是就有人提出来一种标记式高耦合的配置方式,『注解』。方法上可以进行注解,类上也可以注解,字段属性上也可以注解,反正几乎需要配置的地方都可以进行注...

2019-11-27 13:33:55 50 0

转载 Hot Swap failed:add method not implemented

This new feature encapsulates the ability to substitute modified code in a running application through the debugger APIs. ——'HotSwapping' u...

2019-11-22 16:44:46 1183 0

原创 matcher.group.trim用法

protected String trimBenefitAmountLabel(String label) { if (label != null && !CollectionUtils.isEmpty(this.trimBenefitAmountLabelPat...

2019-11-20 16:45:04 48 0

原创 优雅的对 list 遍历进行 add 或者 remove 操作

Iterator 迭代器进行list 的 add 或者remove 操作: public static void main(String[] args) { Person person1 = new Person(); Person person2 = new ...

2019-11-18 13:31:32 293 1

转载 mybatis逆向工程详解

https://blog.csdn.net/qq_39056805/article/details/80585941 逆向工程简介 什么是逆向工程: mybatis需要程序员自己编写sql语句,mybatis官方提供逆向工程,可以针对单表自动生成mybatis执行所需要的代码(mapper.ja...

2019-10-23 19:32:46 88 0

翻译 mysql中表示金钱的类型

NUMERIC和DECIMAL类型被MySQL实现为同样的类型,这在SQL92标准允许。他们被用于保存值,该值的准确精度是极其重要的值,例如与金钱有关的数据。当声明一个类是这些类型之一时,精度和规模的能被(并且通常是)指定;例如: salary DECIMAL(9,2) 在这个例子中,9(prec...

2019-10-22 22:17:30 585 0

原创 异常:This application has no explicit mapping for /error, so you are seeing this as a fallback.

出现这个异常说明了跳转页面的url无对应的值. 原因1: Application启动类的位置不对.要将Application类放在最外侧,即包含所有子包(启动类所在的package必需要包含Controller所在的package) 原因:spring-boot会自动加载启动类所在包下及其子包...

2019-10-18 16:28:39 82 0

转载 java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal res

今天在写一个JAVA程序的时候出现了异常:java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result。 发现报错的语句是: 1 ...

2019-08-22 14:12:27 68 0

原创 springboot错误: 找不到或无法加载主类

如果网上通用的一些方法仍然没有解决的话,可以试试这个方法: 删除项目目录下的.idea 文件,重新导入项目即可 出现这个原因可能是因为你同时打开过好多个项目,idea里有好几个项目的配置,所以在启动springboot 的时候,idea 可能去找了其他项目所导致的错误 ...

2019-08-22 06:26:36 3524 2

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