自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(120)
  • 资源 (5)
  • 问答 (2)
  • 收藏
  • 关注

原创 跨域访问时SameSite设置级别导致的SetCookie失败的问题分析及解决

在对接layui-vue-admin的时候,登录后,访问接口居然返回的是未授权,通过排查发现请求响应的setCookie居然有个警告“此Set-Cookie标头未指定"SameSite’ '属性,默认为SameSite= Lax,",并且已被屏蔽,因为它来自一个跨网站响应, 而该响应并不是对顶级导航操作的响应。此Set-Cookie必须在设置时指定“SameSite= None”,才能跨网站使用。”,正因为这个警告,导致浏览器缓存cookie失败,浏览器与服务端处于“无状态”的请求方式。

2023-10-23 15:27:14 1030

原创 mysql主从复制

docker inspect --format=‘{{.NetworkSettings.IPAddress}}’ mysql-master 查询容器mysql-master的内网ip。在my.cnf中配置的binlog_ignore_db和binlog_do_db都没生效,不知道为什么。关注这两个属性如图即为开启了。mysql执行下面的指令。创建文件夹和配置文件。

2023-09-20 16:43:14 201

原创 kafka知识点汇总

Kafka是一个分布式的基于发布/订阅模式的消息队列(Message Queue),主要应用于大数据实时处理领域。Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。

2023-09-15 16:29:38 333

原创 了解消息中间件的基础知识

对别总结:

2023-09-13 10:13:49 218

原创 HBASE知识点

当StoreFile文件数量增长到一定的阈值后,系统会进行合并,在合并过程中会进行版本合并和删除工作(写操作的时候都是append操作,不会有更新和删除动作,所以速度很快),形成更大的StoreFile。HBase自动把表水平划分成多个Region,每个Region会保存一个表里面某段连续的数据(类似MYSQL表的横向拆分),每个表最开始只有一个Region,随着数据不断插入,Region不断增大,当增大到一个阈值时,Region就会才分成两个新的Region(裂变)。存储所有Region的寻址信息。

2023-09-12 16:55:45 506

原创 了解Zookeeper总结知识点

Zookeeper是Apache下的一个开源的分布式协调中间件。是一个CP系统,为分布式系统提供强一致性的数据管理。底层基于类似文件系统的目录节点树方式进行数据存储。每个节点默认最大大小为1M,用于存储数据或节点信息。Zookeeper通过监控这些数据的状态变化,从而达到基于数据的集群管理。Zookeeper的一致性通过Zab协议实现,Zab协议有两种模式,分别是恢复模式和广播模式,对应着选主和同步两个阶段。

2023-09-12 10:59:56 258

原创 并发编程的关键——LOCK

需要注意的是,锁降级是可逆的,即读锁可以再升级为写锁。AQS是jdk种Lock的实现基础,AQS使用模板方法模式,提供一个框架来实现依赖于FIFO等待队列的阻塞锁和相关的同步器(信号量、事件等),底层实现是volatile修饰的state和CAS。StampedLock是JDK1.8中新增的一个读写锁,也是对JDK1.5中的读写锁ReentrantReadWriteLock的读性能的优化。方法上加锁,锁的是对象,静态方法上加锁,锁的是class对象,既然如此,答案肯定是不能进入。这不是锁当前对象吗?

2023-09-01 18:11:20 149

原创 Mysql知识梳理

当日志写入第一步成功后宕机,重启进行数据恢复时,在redolog中看到记录是prepare的,于是到binlog中查找有无与之对应的数据,如果没有,则将redolog中的该条记录删除,如果有则将状态改为commit。explain用于解析sql的执行计划,执行计划是MySQL为了执行查询语句而制定的优化方案,包括数据的读取顺序、表的访问方式、索引的使用情况等信息。回表指当查询条件(where条件和返回列)不能被索引索引锁覆盖时,需要访问索引中没有的数据,需要通过回表技术访问数据所在页,获取具体得数据。

2023-08-25 10:52:55 1113

原创 分布式之CAP理论与BASE理论

CAP:一致性(consistency)、可用性(Availability)、分区容错(partition-tolerance)。CAP定律说的是在一个分布式计算机系统中,一致性,可用性和分区容错性这三种保证无法同时得到满足,最多满足两个。

2023-08-24 17:14:37 766

原创 ConcurrentHashMap源码阅读笔记

继承关系Map和HashMap大家应该都比较熟络了,这里就看继续的各个类了。ConcurrentHashMap知识点概述以下内容来自ConcurrentHashMap的注释。JDK版本1.8线程安全的哈希表,有对应版本的HashTable的每一个方法。检索操作不加锁,所以可能和更新操作有重叠,返回的值可能是刚更新的值(换句话是你调用get的时候可能哈希表里面可能没有对应的key,但是由于多线程的原因,你可能返回其他线程在你调用get后插入的值)。不会抛出ConcurrentModific

2023-08-24 14:03:20 65

原创 Mybatis源码解析(三)------SqlSession

Mybatis源码解析(三)------SqlSession序言序言Mybatis里面的核心就是SqlSession这个接口,前面我们已经研究了Mybatis的配置过程和Mapper的注册过程,在本篇文章中我们就来研究SqlSession。/** * The primary Java interface for working with MyBatis. * Through this interface you can execute commands, get mappers and manag

2023-07-31 15:48:32 268

原创 swagger3+nginx访问swagger-config报404问题解决

多番搜寻后找到这个地址:https://springdoc.org/faq.html#how-can-i-deploy-springdoc-openapi-ui-behind-a-reverse-proxy。上面有描述如何在有代理的情况下使用springdoc-openapi-ui,不过受限于个人英语水平,也只能看个大概,大意就是转发配置什么的。springboot2.7.11+springdoc-openapi-ui1.6.14实现sagger3的接入,在使用nginx转发时遇到。

2023-06-30 10:07:02 965

原创 Linux常用命令记录

【代码】Linux常用命令记录。

2023-06-19 21:33:42 55

原创 java maven打包相关问题

方式一:使用标签</</</</</</</</</</</</</</</</</方式二:使用 maven-resources-plugin 插件</</</</</</</</</</</</</</</</</

2023-06-09 22:52:06 116

原创 webservice使用帮助手册

简单讲就是一种RPC的实现方式。

2023-04-21 09:08:55 200 1

原创 OnlyOffice文档转换--文档转换届的葵花宝典

参考官方文档:https://api.onlyoffice.com/editors/conversionapi。注意:html转word,针对简单的文档效果还是比较好的,但是word和图片之类的转换效果要差点。

2023-04-05 19:10:08 515

原创 JVM那些事——垃圾回收和内存分配

默认情况下新生代和老年区的内存比例是1:2,新生代中Eden区和Survivor区的比例是8:1。

2023-02-18 14:57:29 508

原创 Nginx常用配置规则

指定端口,默认监听所有ip,默认匹配所有Host,再没有命中Host的情况下,由 default_server接收请求,没有指定default_server的,由第一个命中的server接收请求。

2023-02-06 10:38:50 1019

原创 Netty之I/O模型比对

由一个独立的Acceptor线程负责监听客户端连接,接收到连接请求后,为每个客户端创建一个新的线程进行链路处理,处理完后通过输出流返回给客户端,然后销毁线程。

2022-11-14 11:55:04 238

原创 Netty之I/O模型

阻塞模型阻塞IO模型:IO复用模型:信号驱动IO模型:对于五种IO模型我这里用自己的白话再复述一遍,加深理解,如果要看权威的解释可以自己去看《Netty权威指南》。

2022-11-11 16:13:19 382

原创 springBoot源码之servlet与reactive

英语好的可以参考spring的官方文档:https://spring.io/reactiveReactive系统适合低延迟、高吞吐量的工作负载;Reactive Project和Spring结合,可以让开发人员搭建企业级的反应式系统,该系统是响应式的、弹性的、灵活的、消息驱动的。是Spring的reactive栈的非阻塞的基础,比如Spring WebFlux, Spring Data, 和 Spring Cloud Gateway。

2022-11-11 11:32:16 2214

原创 Onlyoffice-v7.1.1 Docker启动后无法访问的解决方案

不明所以,应该就是这些?导致default不能访问,我也不知道default里面是什么配置。官方地址https//helpcenter.onlyoffice.com/installation/docs-developer-install-docker.aspx。然后,onlyoffcie里面的nginx果然就好了,并且onlyoffice服务也能访问了,目前没发现什么异常.可以看到,其他服务都还ok,就nginx起不来了,导致onlyoffice服务无法访问。......

2022-07-22 14:00:33 8150 3

原创 SSO流程分析

本文主要对完整的单点登录流程进行梳理,下面是本文梳理的单点流程基础要求:

2022-06-17 17:22:12 187

原创 maven插件-及插件的使用

官方文档请参考:https://maven.apache.org/plugins/maven中有两种插件:build和reporting:maven项目默认加载了下面这些插件,基本上就是核心组件。其他更多插件请参考官方文档;以jar插件为例,在pom.xml文件的build节点下添加下面的配置,引入插件:关于插件的使用,可以参考官方文档,例如jar插件的官方文档:https://maven.apache.org/plugins/maven-jar-plugin/usage.html这里我更喜欢看插件的

2022-06-11 20:54:02 1913

原创 Maven-pom.xml全配置详解

POM.XMLpom.xml是maven项目的配置文件,想看看一个简单的pom文件:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.o

2022-06-07 20:27:34 1338

原创 redis-cluster集群搭建集成SpringBoot项目

配置文件redis.conf按三主三从的规格配置6个实例:port 6379 requirepass 123456 //设置密码masterauth 123456 //如果requirepass设置了,masterauth也必须要保持一样,否则无法同步。cluster-enabled yes //开启集群模式 cluster-config-file nodes-6379.conf //每台机器的集群配置文件,不需要人工修改,

2022-05-24 20:15:30 264

原创 redis集群之哨兵模式

前面讲了搭建一个主从备份模式的redis集群,但是主从备份集群存在一个很大的问题就是,当master节点挂掉后,slave节点不能主动切换成master节点。所以在哨兵模式下,哨兵就替换了手工切换master节点的工作。下面就来搭一个哨兵模式的集群吧。搭建主从集群哨兵模式是在主从集群的基础上增加哨兵节点实现的,所以还是需要一个主从集群。关于主从集群的搭建方法参考:redis集群之主从复制redis-node1:6379(主)redis-node2:6380(从)redis-node3:6381(

2022-05-18 15:28:30 402

原创 redis集群之主从复制

本文基于docker环境进行演示,关于docker下redis的安装请参考:掌握docker的基本使用——以redis为例,主从模式配置过程中遇到的问题集中列举在文末,如有相同问题可以作为参考。主从配置基于docker启动两个redis容器:redis-node1:6379redis-node2:6380docker run -idt --name redis-node1 -p 6379:6379 -v /usr/local/redis/redis.conf:/etc/redis/redis.co

2022-05-18 13:45:35 122

原创 Redis相关知识梳理

安装redis个人学习,此处推荐docker安装,参考docker安装redisredis基础知识redis默认是16个数据库,默认使用第一个,可以用select切换。[root@localhost ~]# docker exec -it redis /bin/bashroot@3cc572b8971a:/data# redis-cli127.0.0.1:6379> select 1OK127.0.0.1:6379[1]>redis是单线程的,redis是基于内存操作.

2022-05-17 16:48:17 326

原创 掌握docker的基本使用——以redis为例

Image镜像获取镜像## 拉取redis的1atest版本docker pull redis:latest docker pull registry.hub.docker.com/redis:latest ## 默认从registry.hub.docker.com服务器拉取## 也可以指定别的服务器拉取docker pull dl.dockerpool.com:5000/ubuntu:12.04列出本地镜像$ sudo docker imagesREPOSITORY

2022-05-16 11:13:56 394

原创 mysql分页查询遇到order by发生的血案

案发现场业务需求:mysql从一张表中查询数据进行分页暂时,要求按照某字段进行排序。做开发的同学都觉得这兼职就是小case啦,前端传入分页下标、分页大小、排序字段、排序方式。后端采用order by +limit就搞定了。事实上我也是这么做的,但是最后却出了个出乎意料的bug,同样的请求参数,返回的数据顺序居然不一样,分页的时候,第一页的数据居然重复出现在第二页。并且bug不是必然复现,重复数据每次一样。场景复现准备一张表,并插入几条数据:CREATE TABLE `id_str1_str

2022-05-14 10:55:59 2191 1

原创 原来枚举是可以相互比较的~~~~~~~~~~

用了这么久的枚举,居然才发现枚举是可以比较的。今天就好好的重新认识下枚举这个类。package java.lang;import java.io.Serializable;import java.io.IOException;import java.io.InvalidObjectException;import java.io.ObjectInputStream;import java.io.ObjectStreamException;/** * This is the common

2022-04-27 14:18:26 432

原创 关于生成随机不重复号码的算法迭代过程

业务需求调用服务需要生成一个随机的、不重复的8位数以内的号码。方案一: 号码池当看到需求时,首先想到的是采用号码池来实现。实现方式初始化阶段就先将所有的8位数以内的号码生成号,然后进行随机打乱存储起来(即号码池)。在需要生成随机号码时以此从号码池中取出即可。存在的问题虽然该方法很简答,也很容易实现。但是最大的问题就是耗内存或者存储。一个int占8个字节,也就是32bit,8位数也就是1亿个数需要多少内存呢?32*100000000bit 也就是400M。(别给我说现如今磁盘不值钱)。方案二

2022-04-25 21:14:14 705

原创 Maven搭建私有仓库填坑日记

1.拉取Nexus镜像docker search nexus #查找可用的镜像docker pull docker.io/sonatype/nexus3 #拉取镜像2.启动Nexusmkdir -p /usr/local/nexus3/nexus-data #创建目录用于挂载放置nexus的数据chomd -R 200 /usr/local/nexus3/nexus-data #修改目录权限docker run -tid -p 8081:8081 --name nexus --pr

2022-04-24 08:32:38 1887

原创 JWT+RedisSession+shiro的分布式Session权限控制方案

无状态session下的Shiro认证前言有状态session与无状态session有状态session无状态session无状态session下的Shiro权限控制前言前面对shiro的认证流程进行了分析:大致回顾总结下:我们在ShiroFilterFactoryBean中设置对请求的拦截。请求到来后先通过请求路径匹配到对应的filter;以所有请求需要经过formAuthenticationFilter为例;请求先经过isAccessAllowed的验证,验证逻辑是:当前的subject是

2022-01-23 15:37:47 1562 2

原创 详解Shiro认证流程

通过前面对shiro源码的解读,我们知道,只要我们在拦截器里面配置了所有请求都经过FormAuthenticationFilter,那么我们就不用自己写login方法,shiro会自己帮我们处理登录逻辑。isAccessAllowedshiro中的判断一个请求是否允许通过的条件是当前得到的subject是否已经认证过,或者当前请求是否是登录请求。如何判断Subject是否认证过?org.apache.shiro.subject.support.DelegatingSubject#isAuthenti

2022-01-12 18:06:42 4148

原创 全国城市数据及地图数据-python爬取

最近又在研究python,于是对全国的城市地图数据下手了,废话不多说,下面直接贴代码:注释都有应该能看懂import requestsimport jsonimport os# 所有地域的请求地址ALL_AREA_URL = "http://geo.datav.aliyun.com/areas_v3/bound/all.json"# 包含子域的json请求地址ARREA_BOUND_URL = "http://geo.datav.aliyun.com/areas_v3/bound/geoj

2021-10-26 10:56:23 2234 3

原创 Thread相关源码

bash 本文的所有内容基于jdk1.8源码,如有错误,还望指出!!!思维导图继承关系可以看到Thread的继承关系很简单。Thread就是实现了Runnable接口,然后Runable是一个@FunctionalInterface注解的接口。@FunctionalInterface这个注解是jdk1.8才有的通过JDK8源码javadoc,可以知道这个注解有以下特点:该注解只能标记在"有且仅有一个抽象方法"的接口上。JDK8接口中的静态方法和默认方法,都不算是抽象方法。接.

2021-09-02 11:36:52 189

原创 史上最全ThreadPoolExecutor源码阅读笔记

ThreadPoolExecutor源码阅读笔记ThreadPoolExecutor继承关系:Executor:ExecutorService:shutdownAbstractExecutorServiceThreadPoolExecutor的自述核心线程数和最大线程数核心线程的初始化动作线程的创建保活时间线程队列拒绝任务钩子函数队列维护线程池的回收部分静态变量和成员变量解读ctl运行状态BlockingQueueReentrantLockworkersThreadFactoryRejectedExecut

2021-09-01 14:16:30 224

原创 HashMap源码阅读笔记

序言本文所述是针对JDK8所言,的其他版本的HashMap暂未研究,不过据传是有所区别的,本文仅供参考。正文开局一张图,全局图上找:出差只描述了HashMap的put过程,对于REHASH和树化过程未贴出。可以自行阅读源码。...

2021-08-18 11:43:34 85

core_areacode.sql

数据来源:https://www.chahaoba.com/%E5%8C%BA%E5%8F%B7%E5%BD%92%E5%B1%9E DROP TABLE IF EXISTS `core_areacode`; CREATE TABLE `core_areacode` ( `province` varchar(255) DEFAULT NULL COMMENT '省', `city` varchar(255) DEFAULT NULL COMMENT '市', `area_code` varchar(255) DEFAULT NULL COMMENT '区号' ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='区号大全';

2019-12-13

core_area.sql

全国地区码表,数据来源:全国行政区划信息查询平台-2019,整合成现成的mysql脚本,开箱即用: CREATE TABLE `core_area` ( `code` varchar(12) NOT NULL DEFAULT '' COMMENT '编码', `c_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '地区名称', `jp` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '简拼', `py` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '拼音', `qp` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '全拼', PRIMARY KEY (`code`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='全国地区表';

2019-12-12

idea自用setting文件setting.jar

idea setting的导出文件,自用的idea配置,风格采用eclipse风格,有规范的类、方法等注释模板。

2019-04-12

Logo绘制工具AAALOGO

一款Logo设计软件。通过简单而强大的方式设计专业的Logo,几分钟内就可以用于网页或者打印出来。内置60个模板,也可以自己定制模板。附带包含2000多个Logo对象和剪贴画的图库。所有内置Logo对象都是基于矢量的,可以轻易的缩放和旋转。也可以对任意单独对象应用不同的样式,得到丰富的对象和效果组合。

2017-11-06

java调用dll的jar包

java调用dll所需的jar包,chm格式

2016-01-26

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

TA关注的人

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