自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 资源 (2)
  • 收藏
  • 关注

原创 记一次生产死锁日志解决与分析

同事新上线的一个每天跑数统计然后覆盖原来数据的功能,出现了死锁。大概的业务流是以实体A(对应表中的一个列)为维度,每天跑数据,实体A在表中建有唯一索引,对于唯一索引冲突的情况,使用了REPLACE INTO语句进行操作。 通过show engine innodb status打印出死锁日志,替换敏感信息后的日志如下(生产事务隔离级别:RC, 数据库版本:5.1x)。LATEST DETECTED DEADLOCK------------------------2022-04-18...

2022-04-18 23:08:37 1021 1

原创 一图看懂HTTPS的申请、认证及安全的原因

众所周知,在网络世界中,HTTP不安全,要使用HTTPS,那么HTTPS是如何保证信息的安全交互的呢?先跟着图中步骤,一步步的看下去,看完就会对整个流程有一定的了解了。HTTPS整体用最简单的话来说 1、 提供网络服务的公司,在自家服务器上生成了公私钥匙对,把公钥给数字机构认证下(给个签名)发个证书 2、 公司服务器与浏览器交互过程中,把认证机构给的证书,发给浏览器,浏览器通过内置的机构公钥向认证机构求证这个证书是不是你发的。 3、确认通过后,浏...

2021-09-25 17:22:04 218 1

原创 深入Dubbo(二)——服务暴露与引用的流程与源码分析

一、几个问题生产者暴露和消费者的引用是怎么触发的? 消费者引用的服务提供者在同一个应用中,dubbo是如何避免跨网络通信的? 核心:服务暴露时,Dubbo源码的流转? 注册中心的注册的时间节点? 服务端何时开启服务端口的监听? 核心:服务引用时,Dubbo源码的流转? 何时与服务端建立连接? 除了监听注册中心的服务提供者列表,还有监听其他内容的节点吗? 服务提供者发生变更时,消费端是如何刷新提供者列表的?刷新时存在什么问题? ...

2021-09-12 16:36:40 304

原创 深入Dubbo(一)——Dubbo SPI & Java SPI对比、应用、源码解析

系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录 前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基

2021-07-17 17:17:00 293 3

原创 Netty ChannelGroup自动移除InActive的Channel实现

问题:ChannelGroup是如何自动移除已经关闭的Channel的?答案:通过添加ChannelFutureListener,在Channel 被close后,从ChannelGroup中移除。DefaultChannelGroup源码截图如下:

2021-04-10 16:08:24 831

原创 Netty ServerBootstrap childHandler和handler的区别

ServerBootstrap的方法 handler与childHandler的异同方法来源不同 ,ServerBootstrap#handler来源于父类AbstractBootstrap。childHandler是ServerBootstrap自身的方法。配置要求不同,ServerBootstrap#handler可以不配置,#childHandler必须配置,否则抛出异常IllegalStateException: childHandler not set。使用方式不同,ServerBoots

2021-03-29 23:18:28 1544 1

原创 使用Alpine镜像封装JDK8慢的问题解决

FROM alpine:3.9.5MAINTAINER scc <[email protected]>RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories && \ apk update && \ apk add openjdk8 b...

2020-03-20 22:53:32 1461

原创 Zookeeper08——Zookeeper服务器关键配置与说明(zoo.cfg)

ddd

2019-05-06 22:57:32 371

原创 Zookeeper07——其他(日志,快照,监视点)

的额

2019-04-28 22:49:41 191

原创 Zookeeper06——Zookeeper集群的组成以及观察者

哒哒哒哒

2019-04-25 23:24:53 283

原创 Zookeeper05——内部原理(会话,事务,选举,Zab)

1.会话

2019-04-23 22:58:21 212

原创 Zookeeper04——Curator API与Curator的菜单(群首,锁)

Curator API地址

2019-04-16 22:46:29 356

原创 Zookeeper03——Zookeeper API的增删该查与监视点详解

Zookeeper的APIZookeeper API的核心Zookeeper的API围绕Zookeeper的句柄(handle) 而构建,每个API调用都需要传入这个句柄。这个句柄代表与Zookeeper之间的一个 会话。如果已经建立的一个会话与Zookeeper 服务断开,会话会转移到另一台Zookeeper服务器。会话存活,句柄有效。客户端维护的句柄,对应服务端的会话。句柄关闭,...

2019-03-24 23:08:51 288

原创 Zookeeper03——权限管理

1.简介

2019-03-17 22:36:36 990

原创 Zookeeper02——数据结构与命令行操作

1.Zookeeper的数据结构Zookeeper的数据结构和文件的目录结构类似,主要区别是文件的目录结构中,目录和文件是区分开的,但是Zookeeper的数据树节点既是路径,也存储文件。Zookeeper的数据结构如下图所示:所有的node都从根节点 / 创建,zookeeper的节点称为znode。每个znode的组成结构包含:path:节点的全路径(没有相对路径的说法)st...

2019-03-16 17:45:36 244

原创 Zookeeper01——Zookeeper的作用与应用

1. 作用Zookeeper的设计核心目的:在分布式系统中协作多个任务。zookeeper是一个用来进行分布式服务管理的协调组件。分布式系统中存在的问题:各个服务的状态(存活,执行的任务等)跟踪与管理。不同服务间的元数据同步问题。分布式系统的并发问题。zookeeper本身不是直接解决这些问题,而是它本身的特性,可以让zookeeper 的使用者,根据自己的需求对Zoo...

2019-03-14 23:21:41 165

原创 synchronized,volatile,final

synchronized使用方式分类方法:修饰实例方法,被锁对象为类的当前实例对象。修饰静态方法,被锁对象为类对象,即该类的所有实例,调用该方法时都需要排队。代码块锁实例对象,类的实例对象。即锁住这个实例对象。class对象,锁住这一类的对象,不一定是自己,也可以是其他的类,也会被整个锁住,排队进入。任意实例的对象Object,即实例对象Object。sync...

2019-03-09 18:30:28 210

原创 Mysql数据库存储引擎简介,常用引擎,引擎选择

PS:内容来自——《Mysql5.7从入门到精通》内容是对MSSQL数据库存储引擎的概念介绍以及常用的引擎特性介绍。简介基础数据库存储引擎是数据库低层软件组件,数据库管理系统(DBMS)使用数据引擎进行创建,查询,更新和删除数据操作。不同的数据的数据引擎提供不同的存储机制,索引技巧,锁定水平等功能。存储引擎简介MYSQL提供的存储引擎,分为处理事务安全表的引擎和处理事务非安...

2019-03-04 23:26:15 267

原创 SpringEvent源码解析

1.Spring Event简介Spring Event是设计模式中典型的——观察者模式。定义对象间一种一对多的依赖关系,使得当每一个对象改变状态,则所有依赖于(观察)它的对象都会接收到通知,然后执行自身的业务。实现了业务间的松耦合。观察者模式结构被观察者:类中有一个存放观察者集合的容器。主要功能包含,向这个集合添加观察者,移除观察者,以及调用观察者。观察者:一般提供一个接口,在被...

2019-03-02 17:23:27 407

原创 valueList简介

ValueListAdapter类图:ValueListHanlder类图:

2017-11-26 22:14:19 1534

原创 Spring Email-邮件发送

Spring Email发送不同形式内容的邮件1、纯文本2、附件3、富文本(HTML)4、使用模板的方式发送富文本邮件

2017-03-16 16:27:14 714

原创 Spring Security 配置类实现(2)

Spring security的配置类的三种认证方式--内存、数据库、自定义UserDetailsService

2017-03-12 21:36:06 702

原创 spring security 配置类方式实现(1)

使用java配置类的方式实现Spring Security

2017-03-12 18:03:17 762

原创 spring的cache的注解方式的简单实用(具体步骤)

1、启用注解模式如果使用的是注解类,需要在注解类上添加@EnableCaching,如果是使用的配置文件xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:cache="http://www.springframework.org/schema/cache"xsi:schemaLocation="http:/

2017-03-06 17:10:29 3774 1

原创 spring security报错--java.lang.NoClassDefFoundError: org/springframework/core/SpringProperties

错误如图:       出现这个错的原因是导入的spring security 的版本与自己的spring 的依赖 包的版本有不一致引起的,我的spring 版本是 4.1.3的发行版,spring security版本是3.2的,我班spring security的版本修改为4.2发行版就可以正常启动了。

2017-02-28 13:20:08 2966

原创 shiro与thymeleaf结合使用时,前台shiro标签没有生效

添加bean//加上之后,前台的shiro标签才能生效    @Bean    public ShiroDialect shiroDialect(){        return new ShiroDialect();    }

2017-02-20 16:48:23 5327

原创 shiro使用报错---One or more realms must be present to execute an authentication attempt.

使用shiro报错--One or more realms must be present to execute an authentication attempt. One or more realms must be present to execute an authentication attempt.     必须存在一个或多个领域执行身份验证。必须存在一个或多个领域执行身份验证

2017-02-20 15:40:24 2289

原创 重定向时传输数据

概要:当一个处理器方法完成之后,该方法所指定的模型数据将会复制到请求中,并作为请求中的属性,请求会转发(forward)到视图上进行渲染。因为控制器方法和视图所处理的是同一个请求,所以在转发的过程中,请求属性能够得以保存。但是,当控制器的结果是重定向的话,原始的请求就结束了,并且会发起一个新的GET请求。原始请求中所带有的模型数据也随着请求消亡了。有两种方式可以

2017-02-17 17:33:19 6203 9

原创 使用java配置类实现spring mvc的拦截器

1、拦截器实现对每一个请求处理前后进行相关的业务操作,类似于Servlet的filter。可以让普通的Bean实现HandlerInterceptor接口或者继承HandlerInterceptorAdapter类来实现自定义拦截器。package cn.smarttoo.test;import javax.servlet.http.HttpServletReque

2017-02-17 13:24:35 1016

原创 在web.xml中配置,使用配置类替代springmvc.xml和applicationContext.xml

1、在web.xml配置,让spring mvc在启动的时候,从带有@Configuration注解的类上加载配置,要在Spring MVC中使用基于java的配置,我们需要告诉DispatchServlet和ContextLoaderListener使用AnnotationConfigWebApplicationContext,这是WebApplicationContext的实现类,他会加载ja

2017-02-17 11:27:50 3044

原创 Spring MVC的执行流程

流程概要:1.web页面请求------->2.DispatchServlet------>3.处理器映射------>4.控制器----【模型、逻辑视图名】--->5.视图解析器------->6.视图-------->7.响应解释:dispatchServlet将请求委托给应用程序的其他组件来执行实际的处理。dispatchServlet需要将请求发

2017-02-14 09:25:53 568

原创 AOP术语

1、通知(Advice)切面的工作被称为通知,通知定义了切面是什么,以及何时使用。五种类型的通知:*前置通知(Before); *后置通知(after):在目标方法完成之后调用通知,此时不会关心方法输出的是什么; *返回通知(after-returning):在目标方法成功执行(抛出异常不会)之后调用通知; *异常通知(after-throwing):在目标方法抛出异常后调用通知;

2017-02-13 16:05:59 370

原创 运行时注入值

依赖注入:①将一个bean注入到另一个bean的属性或构造器参数中。【通常用来指将一个对象与另外一个对象进行关联】②将一个 【值】注入到bean的属性或者构造器参数中。 =============运行时注值=============Spring提供了两种运行时注值的方式:①属性占位符(property placeholder)②Spring表达式语言(S

2017-02-11 09:48:04 360

原创 bean的作用域

Spring 应用上下文中所有的bean都是以单例(singleton)的形式存在,简单的说,就是一个给定的bean无论被注入到其他的bean多少次,每次注入的都是相同的一个实例,即类.toString()是相同的。优点:初始化和垃圾回收对象实例所带来的成本小。·缺点:不能满足所有的需求。Spring的作用域有:· *单例(singleton)整个应用中,只创建be

2017-02-11 09:45:30 630

原创 微信的jssdk的config接口注入权限验证配置--signature的生成

生成signature有一下几步:1、通过 appid + appsecert 获取公众号的 access_token2、根据1的access_token来获取jsapi_token3、随便弄一个字符串(长度不太清楚,16位及以内应该都可以)作为nonceStr、4、生成当前的时间戳(timestamp)5、使用jssdk的网页url6、将这几个参数按字典序排列,使用SHA

2017-02-07 21:47:01 4065 2

原创 http错误:Could not find acceptable representation

使用了@ResponseBody,需要添加 com.fasterxml.jackson.core jackson-core 2.2.1 com.fasterxml.jackson.core jackson-annotations 2.2.1 org.code

2017-02-06 09:29:01 2434

原创 ribbon的注解使用报错--No instances available for [IP]

在使用RestTemplate类调用其他系统的url的时候,如果没有加上ribbon的注解@LoadBalanced上这个注解之后访问,就报错了。报错如下:因为这里你不能直接访问地址,需要把地址改成你所调用的ur在eureka上注册的application.name将代码修改为如下,就可以访问了具体原因,我查看了一下源码和网上找了一下,貌似是在加了了

2017-01-19 09:03:19 18271 5

原创 spring cloud 的启动Eureka client报错--Cannot execute request on any known server

错误如图:原因:Eureka的Server没有启动,而在使用@EnableDiscoveryClient或者@EnableEurekaClient之后,该客户端会自动去寻找Eureka Server,如果找不到就会报这个错。

2017-01-18 13:55:01 44547 2

原创 错误--spring boot的application.yml配置文件报错

如错误显示,Do not use \t(TAB) for indentation,不能使用tab。所以将application.yml的配置修改为如下形式即可虽然我参看官方文档也是使用的tab键,进行划分,但是改成这样就可以了。spring boot reference guid

2017-01-17 13:56:03 4305

原创 原生jdbc--备忘

这主要是为了自己备忘,所以很粗糙。 public static void main(String[] args) throws Exception { // 加载MySQL的JDBC的驱动 Class.forName("com.mysql.jdbc.Driver"); Connection con = null; Prepared

2017-01-14 21:58:04 617

火球UML大战需求分析

不会UML分析的程序猿,不是好猿,帮助快速分析需求,建立有效的沟通。

2019-02-18

postman.zip

2017-02-14

空空如也

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

TA关注的人

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