自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Spring一些零碎的知识点总结

注解工作原理个反射注解的工作原理:首先,我们通过键值对的形式可以为注解属性赋值,像这样:@Hello(value = “hello”)。接着,你用注解修饰某个元素,编译器将在编译期扫描每个类或者方法上的注解,会做一个基本的检查,你的这个注解是否允许作用在当前位置,最后会将注解信息写入元素的属性表。然后,当你进行反射的时候,虚拟机将所有生命周期在 RUNTIME 的注解取出来放到一个 ma...

2020-03-29 20:59:39 266

原创 spring中的设计模式

单例模式spring中bean可以是singleton,也可以是prototypeconcurrentHashmap专门存放singleton// 单例注册表private final Map<String, Object> singletonObjects = new ConcurrentHashMap<String, Object>(64);public O...

2020-03-29 20:49:19 256

原创 spring事务的实现原理

先来看看这张图,spring中有很多事务管理的接口,最重要的就这三大块Transanction Definition用来定义事务的一些属性(事务的传播行为隔离级别什么的)PlatformTransanctionManager接口,用来定义事务管理器TransanctionStatus用来记录事务当前的状态(完成了没啊之类的)这三个接口都在org.springframework.tra...

2020-03-29 19:46:49 718

原创 spring事务传播机制

事务传播定义方法A中用到了方法B,然后在方法A中使用方法B时,事务形式的变化就是事务传播(听起来太抽象了还是直接看下下面的????吧)事务传播类型PROPAGATION_REQUIREDB在A中被调用如果A不是事务,就新创建一个事务来执行B如果A是事务,就直接在A事务本身中执行PROPAGATION_REQUIRES_NEWB在A中被调用,不管A本身是不是事务,都必须创建一个新的事务...

2020-03-28 11:50:37 332

原创 spring中循环依赖的解决--三级缓存

一、循环依赖的产生和解决的前提循环依赖的产生可能有很多种情况,例如:A的构造方法中依赖了B的实例对象,同时B的构造方法中依赖了A的实例对象A的构造方法中依赖了B的实例对象,同时B的某个field或者setter需要A的实例对象,以及反之A的某个field或者setter依赖了B的实例对象,同时B的某个field或者setter依赖了A的实例对象,以及反之Spring对于循环依赖的解决...

2020-03-28 11:00:31 1096

原创 并发与并行的区别

在知乎上看到这些不错的理解在这里总结一下你吃饭吃到一半,电话来了,你一直到吃完了以后才去接,这就说明你不支持并发也不支持并行。你吃饭吃到一半,电话来了,你停了下来接了电话,接完后继续吃饭,这说明你支持并发。你吃饭吃到一半,电话来了,你一边打电话一边吃饭,这说明你支持并行。并发的关键是你有处理多个任务的能力,不一定要同时。并行的关键是你有同时处理多个任务的能力。所以我认为它们最关键的点就是:是...

2020-02-16 20:12:33 277

原创 MyBatis中的conf.xml

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration> <!-- 通过...

2020-02-16 17:11:33 248

原创 负载均衡算法

文章目录负载均衡算法/负载均衡策略轮循均衡(RoundRobin)权重轮循均衡(WeightedRoundRobin)随机均衡(Random)权重随机均衡(WeightedRandom)响应速度均衡(ResponseTime探测时间)最少连接数均衡(LeastConnection)处理能力均衡(CPU、内存)DNS响应均衡(FlashDNS)哈希算法地址散列(保证客户端服务器对应关系稳定)URL ...

2020-02-16 14:18:35 365

原创 火车抢票系统的实现(五)服务级高并发秒杀优化

文章目录rabbitmq安装RabbitMQSpringBoot集成RabbitMQ1.添加依赖2.application.properties添加配置3. MQSender创建发送者4.MQReceiver:创建消费者5.修改配置四种交换机模式1.Direct模式2.Topic 模式3.fanout模式(广播)4.Header 模式秒杀接口优化思路rabbitmq优化秒杀接口,目标:2000...

2020-02-15 20:19:52 1002 1

原创 火车抢票系统的实现(四)页面级高并发秒杀优化

文章目录优化思路(一)页面缓存+ URL缓存+对象缓存(1)页面缓存:商品列表(2) URL缓存:商品详情(3)对象缓存:用户token,getById改造压测商品列表,对比QPS(二)页面静态化,把页面缓存到客户端(1)详情页静态化改造(2)改造秒杀接口(3)修改减少库存的SQL(三)静态资源优化(四)CDN就近访问优化思路页面缓存+ URL缓存+对象缓存页面静态化,前后端分离静态资源...

2020-02-15 20:17:09 794 1

原创 火车抢票系统的实现(三)秒杀功能开发及管理后台

文章目录数据库设计商品表秒杀商品表订单表秒杀订单表页面设计商品列表页商品详情页订单详情页管理后台domain中Vo中Dao中Service中controller数据库设计商品表秒杀商品表订单表秒杀订单表秒杀商品表要单独建立,而不能在商品表里面标记是不是秒杀商品秒杀活动越来越多就很难维护商品表建立商品表,插入数据CREATE TABLE `goods` ( `id` b...

2020-02-15 19:12:45 2900 2

原创 火车抢票系统的实现(二)实现登录功能

文章目录数据库设计加密:两次MD5pom.xml中添加依赖:编写login.html引入jquery.js、bootstrap、jquery-validation、layer.jsdomain中创建对应的user参数校验自定义参数校验器login部分代码解析全局异常处理器分布式Session原理登录流程:具体实现redis中set方法的实现addCookie方法的实现完整代码数据库设计CREA...

2020-02-15 18:12:21 1779 1

原创 火车抢票系统的实现(一)搭建项目框架

springboot quick starthttps://projects.spring.io/spring-boot/https://docs.spring.io/spring-boot/docs/1.5.8.RELEASE/reference/htmlsingle/1.修改pom,添加依赖<parent> <groupId>org.springfram...

2020-02-15 17:29:16 718 1

原创 rabbitmq报错ACCESS_REFUSED - Login was refused using authentication mechanism PLAIN

应该有好多种原因叭我这里是用guest连接的rabbitmq默认guest只能从localhost连接不能使用远程连接:具体可以查看官方文档官方给出的解决方案是通过配置文件修改rabbitmq的配置(具体的位置取决于安装目录,以下是示例)/usr/local/rabbitmq/etc/rabbitmq/rabbitmq.config在rabbitmq/etc/rabbitmq中...

2020-02-14 09:55:20 6732

转载 The type WebMvcConfigurerAdapter is deprecated 两种解决方式

WebMvcConfigurerAdapter类被弃用后的两种选择介绍在本文中,将介绍将spring 4.xx(或者更低)版本升级到Spring 5.xx以及将Spring Boot 1.xx版本升级到Spring Boot 2.xx版本后会报的一个严重警告:“Warning:The type WebMvcConfigurerAdapter is deprecated.” ,以及快速的分析产生...

2020-02-11 09:33:29 4099

转载 ConstraintValidator

首先贴上代码/** * @author hsw * @Date 11:28 2018/7/26 */@Datapublic class LoginVO { @NotNull @IsMobile private String mobile; @NotNull @Length(min = 32) private String passw...

2020-02-10 11:10:39 671

原创 IP 地址编址方式

IP 地址的编址方式经历了三个历史阶段:分类子网划分无分类1. 分类由两部分组成,网络号和主机号,其中不同分类具有不同的网络号长度,并且是固定的。IP 地址 ::= {< 网络号 >, < 主机号 >}2. 子网划分通过在主机号字段中拿一部分作为子网号,把两级 IP 地址划分为三级 IP 地址。IP 地址 ::= {< 网络号 >, &l...

2020-02-04 09:32:44 3274

原创 leetcode贪心专题

贪心455. Assign Cookies (Easy)分配饼干:每个孩子都有一个满足度 grid,每个饼干都有一个大小 size,只有饼干的大小大于等于一个孩子的满足度,该孩子才会获得满足。求解最多可以获得满足的孩子数量。给一个孩子的饼干应当尽量小并且又能满足该孩子,这样大饼干才能拿来给满足度比较大的孩子。因为满足度最小的孩子最容易得到满足,所以先满足满足度最小的孩子。435. N...

2020-01-31 14:37:06 213

原创 json详解及应用

json作用如果a要发送给b一些信息通过xml:<persons> <person> <name>zhangsan</name> <age>18</age> </person> <person> <name>lisi</name> &l...

2020-01-31 11:52:03 312

原创 rpc详解及实现

定义一开始AB应用在同一台机器上,是本地调用现在分到两个地方上了server这边有很多服务A,B,HelloService现在要把这些服务放到服务注册中心去,客户端调用的时候直接去跟服务的注册中心去就可以直接调用注册中心用map来实现客户端和服务端通过socket链接客户端如果要调用helloService,,而服务端需要通过该字符串"HelloService"解析出该字...

2020-01-30 15:45:07 601

原创 负载均衡分类

参考链接

2020-01-28 15:02:23 145

原创 http状态码

服务器返回的 响应报文 中第一行为状态行,包含了状态码以及原因短语,用来告知客户端请求的结果。状态码类别含义1XXInformational(信息性状态码)接收的请求正在处理2XXSuccess(成功状态码)请求正常处理完毕3XXRedirection(重定向状态码)需要进行附加操作以完成请求4XXClient Error(客户端错误状态码)...

2020-01-28 14:00:05 129

原创 单点登录

定义多个应用系统中,只需要登录一次就可以访问多个应用系统sso(single sign on)需要一个独立的认证中心,只有认证中心能接受用户的用户名密码等安全信息,其他系统不提供登录入口,只接受认证中心的间接授权。相同域下的单点登录sso.a.comapp1.a.comapp2.a.com问题:cookie不能跨域名:cookie设置为顶域,即a.com这样三个域名都可以用这个...

2020-01-28 13:53:04 252

原创 map.getOrDefault

如果有这个值就直接使用,没有这个值就使用默认值比如要记录一个数组中各个数字出现的次数for (final int num : nums) { map.put(num, map.getOrDefault(num, 0) + 1);}...

2020-01-26 14:33:02 170

原创 value与<value>注入的区别

<!--value--><property name = "name" value = "zs"></property><property name = "name"> <value>zs</value></property>区别:<value>中不需要双引号<property...

2020-01-17 20:53:18 426

原创 Spring IoC注入三种方式

三种注入方式:setter & getter 注入构造函数注入p命名空间注入有两个实体类student:public class Student { String name; int number; int age; public Student() { } public Student(String name, int number, int age) ...

2020-01-17 20:18:31 894

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

有很多种可能的原因呐研究了一会发现我的原因很奇怪我是把上面的一坨jar包粘贴到下面了然后发现这么操作jar包不太对又把这些删掉了删除对时候它曾经像这样????警告过我我呵呵一笑潇洒的点了yes然后project就出现了这个:❗️我甚至到这个时候都没有悔改开始运行我的test,它就报错了我才发现事情不对凭着我多年调试经验(瞎说????)习惯地点开了项目的properties的jav...

2020-01-17 17:05:46 2706

翻译 mac中解压rpm文件

在macOS上提取RPM软件包以访问其内容,这对于某些旧的源软件包尤其有用。下载缺少的macOS软件包管理器的安装脚本。$ curl --silent --fail --location https://raw.githubusercontent.com/Homebrew/install/master/install -o brew-install 执行并完成安装过程。$ ruby b...

2020-01-11 13:28:21 3398

原创 mac中eclipse安装spring插件

首先最最最最最最重要的就是看版本然后就去官网找到对应的插件版本:https://spring.io/tools3/sts/all但是这里我真的是佛了spring官网,只显示最新三个版本的spring插件如果你的eclipse版本和以下三个有匹配的话直接下载就好如果没有还要经过一番推理才能得到下载地址????‍♀️,可以看看这一篇????https://blog.csdn.net/Mercurioo...

2019-12-26 16:09:05 492

原创 An error occurred while collecting items to be installed

给eclipse安装spring插件的时候这个错:An error occurred while collecting items to be installed在网上看了很久找到了以下解决方案:1.Oracle Enterprise Pack For EclipseWindow->Preferences->Install/Update->Available softwa...

2019-12-26 16:07:35 1305 1

原创 eclipse安装spring无对应版本

因为安装spring插件版本要和eclipse版本对应,但是官网只显示最新三个版本的插件(如下图),我们要经过推理才能得出下载地址,今天在这个问题上看到几个相关的博客但都讲的不是特别清楚所以想记录一下这个过程我的eclipse版本为4.11.0,mac版本可以从左上角的Eclipse->About eclipse得知:以我的版本为例:eclipse版本为4.11.0官网显示4....

2019-12-24 19:54:00 1885

原创 Http中的safe规范

safe : 如果HTTP方法不更改服务器状态,它就是安全的。换句话说,如果方法导致只读操作,就是安全的几种常见的HTTP方法都是安全的:GET、HEAD、OPTIONS。和幂等的关系:所有安全方法也都是幂等的,但并非所有幂等方法都是安全的。例如,PUT和DELETE都是幂等但不安全。(put往服务器上)(幂等指的是相同的请求发出多次时,服务器的响应是一样的,详见幂等的定义)即使安全...

2019-12-18 17:00:33 682

转载 Http中的幂等性

理解RESTful的幂等性,并且设计符合幂等规范的高质量RESTful API。怎么理解幂等性HTTP幂等方法,是指无论调用多少次都不会有不同结果的 HTTP 方法。不管你调用一次,还是调用一百次,一千次,结果都是相同的。例如:GET /tickets # 获取ticket列表GET /tickets/12 # 查看某个具体的ticketPOST ...

2019-12-18 16:22:44 210

原创 排序的稳定性

稳定性定义:排序前后两个相等的数相对位置不变,则算法稳定。稳定性得好处:从一个键上排序,然后再从另一个键上排序,第一个键排序的结果可以为第二个键排序所用。各排序算法的稳定性:(图源水印)稳定的:冒泡排序:小的元素往前调或者把大的元素往后调;比较是相邻的两个元素比较,交换也发生在这两个元素之间;因为相等的元素不会进行交换,所以稳定插入排序:已经有序的小序列的基础上,一次插入一个元素;...

2019-12-18 15:52:44 3280

原创 cannot resolve symbol 'springframework'

我的比较尴尬是直接没有maven的framework右键项目点add framework如果左边有maven就是没有添加,点添加就可以如果不是这个原因,网上有很多办法,很多都是说要清空缓存可以看看这个https://stackoverflow.com/questions/37774282/intellij-cannot-resolve-symbol-springframework...

2019-12-16 11:11:25 5078 1

原创 Eclipse "Maven Configuration Problem: Unknown"

今天导入一个项目之后出现了蜜汁错误:问题是也没有错误类型:unknown????‍♀️然后在stackoverflow上面看到了:在pom.xml中加上 <maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>这是原来的:<?xml version="1.0" encoding="UTF-8"?&...

2019-12-08 09:26:24 1255

原创 redo log & undo log & bin log

Redo日志—innodb存储引擎的日志文件▪ 当发生数据修改的时候,innodb引擎会先将记录写到redo log中, 并更新内存,此时更新就算是完成了,同时innodb引擎会在合适的时机将记录操作到磁盘中▪ Redolog是固定大小的,是循环写的过程▪ 有了redolog之后,innodb就可以保证即使数据库发生异常重启,之前的记录也不会丢失,叫做crash-safeib_logf...

2019-12-01 13:09:49 190

原创 MyBatis输入参数问题

输入参数:parameterType输入参数为简单类型时#{}和${}的使用对象类型 写法是一样的: #{属性名} ${属性名}输入对象为HashMap:select * from student where studentAge= #{studentAge}用map中key的值 匹配 占位符#{studentAge}如果匹配成功 就用map的value替换占位符myba...

2019-12-01 09:04:48 273

原创 Mybatis中的Mapper.xml

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><!-- namespace:该mapper.xml映射文件的 唯一标识...

2019-12-01 09:03:42 215

原创 Mybatis mapper动态代理方式的crud | MyBatis接口开发

原则:规定优于配置硬编码方式 /*abc.java*/ Configuration conf = new Configuration(); con.setName("myProject") ;配置方式:abc.xml<name>myProject</name>默认值就是myProject具体实现的步骤:1.基础环境:mybatis.jar/ojdb...

2019-11-30 17:21:47 194

空空如也

空空如也

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

TA关注的人

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