自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 线程安全—ThreadLocal

线程安全 ThreadLocal

2023-01-31 16:59:40 3385

转载 线程安全概述

线程安全

2023-01-31 12:22:14 212

转载 mysql update加锁分析:是加行锁还是表锁?具体加锁加哪儿?

mysql 锁

2023-01-04 20:51:40 3848 1

转载 @RequestPart-同时上传表单数据和文件

同时上传表单数据和文件

2023-01-02 18:21:21 4447

原创 JVM-堆-设置堆内存大小与OOM

jvm

2022-12-19 00:15:10 1178

转载 在 RedisTemplate 中使用 scan

redis scan 模糊扫描key在库中所有值,不阻塞

2022-12-18 22:52:12 847 1

转载 UNLINK key [key ...]

redis异步删除

2022-12-18 22:48:09 300

转载 关于pom.xml一直提示Could not transfer artifact(无法搬运)+无法解析maven依赖的问题

maven

2022-11-23 16:37:09 4503

转载 mysql锁

mysql锁 死锁

2022-11-10 13:53:34 72

原创 jenkins常用插件介绍

jenkins

2022-10-09 10:56:17 1350

原创 Jenkins安装

Jenkins安装

2022-10-08 18:52:29 423

原创 谷歌支付(Java服务端)

谷歌支付(Java服务端)

2022-10-08 17:23:16 3726 1

转载 ShardingJDBC绑定表配置

ShardingJDBC

2022-09-28 17:08:29 1495

原创 分库分表_ShardingJDBC

ShardingJDBC

2022-09-28 16:00:48 737

转载 分库分表概述

一、为什么要进行分库分表当MySQL单表数据量过大,比如超过5千万条的时候,读写性能变得很差。而且常规的优化手段已经不起作用了,比如:SQL调优、添加索引、主从复制、读写分离。这时候就需要用到MySQL终极优化方案 — 分库分表。二、怎么判断项目是需要分库还是要分表?是先分库还是先分表当数据库的QPS过高,数据库连接数不足的时候,就需要分库。(比如一个库的连接数支持2K,分成两个库就能支持4K) 微服务架构中,为了业务隔离,一般也做分库处理。 当单表数据量过大,读写性能较差,就需要分表。

2022-04-01 18:14:33 176

转载 构建通用WebSocket推送网关的设计与实践

HTTP协议是一种无状态的、基于TCP的请求/响应模式的协议,请求只能由客户端发起、服务端进行响应。在大多数场景,这种请求/响应的Pull模式已经可以满足需求。但在某些情形,例如消息推送、通知等应用场景,需要实时将数据同步到客户端,这就要求服务端支持主动Push数据。服务端推送技术历史悠久,经历了短轮询、长轮询的发展,一定程度上能够解决问题,但也存在着不足,例如时效性、资源浪费等。HTML5标准带来的WebSocket规范基本结束了这一局面,成为目前服务端推送技术的主流方案。在系统中集成We

2022-03-31 15:04:41 554

转载 mysql大量数据插入优化

场景:插入10000条数据到数据库,表结构user(age,name)1.普通循环插入public void insert() { for (int i = 0; i < 1000; i++) { Useru= new User(); u.setAge(i); u.setName(i); ...

2022-01-12 10:45:19 741

转载 MySQL如何实时同步数据到ES?

canal简介canal主要用途是对MySQL数据库增量日志进行解析,提供增量数据的订阅和消费,简单说就是可以对MySQL的增量数据进行实时同步,支持同步到MySQL、Elasticsearch、HBase等数据存储中去。canal工作原理canal会模拟MySQL主库和从库的交互协议,从而伪装成MySQL的从库,然后向MySQL主库发送dump协议,MySQL主库收到dump请求会向canal推送binlog,canal通过解析binlog将数据同步到其他存储中去。...

2021-12-05 22:17:04 519

原创 服务端验证facebook,Google访问令牌?

1.客户端调起应用获取授权,并拿到fb id和access_token,经过加密传输到服务端(确保access_token适用于您的应用)服务端校验加密,请求(HTTP GET)facebook:graph.facebook.com/me?access_token=xxxxxxxxxxxxxxxxx,然后检查您所拥有的fb id是否与请求中传回的id相匹配。来源:如何验证facebook访问令牌? | 码农家园google:https://oauth2.googleapis.com/token

2021-11-14 12:39:51 611

原创 seata:no available service ‘null‘ found, please make sure registry config correct

问题出在service.vgroupMapping.order-service-seata-service-group=default 这个 ‘vgroupMapping’, 以及绑定的group要对, 亲测有效

2021-11-13 18:53:11 183

转载 APP多版本共存,服务端如何兼容?

做过APP产品的技术人员都知道,APP应用属于一种C/S架构的,所以在做多版本兼容,升级等处理则比较麻烦,不像web应用那么容易。下面将带大家分析几种常见的情况和应对方式:小改动或者新加功能的这种情况,数据库结构和API程序一般是可以兼容多版本的,所以不用强制升级,可以坐到多版本共存。尽量采用数据库层面新增字段和API的方式,应用程序层面就可以兼容了。当然,API层面也可以部署多个版本来同时提供,但这个不是必须的但最重要的是数据库层面的表结构那些能够兼容到。或者:..

2021-11-13 18:22:19 1384

原创 java服务器性能_java web 服务器性能评估

qpsQueries Per Second 秒查询率QPS是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。tps是TransactionsPerSecond的缩写,也就是事务数/秒。它是软件测试结果的测量单位。一个事务是指一个客户机向服务器发送请求然后服务器做出反应的过程。客户机在发送请求时开始计时,收到服务器响应后结束计时,以此来计算使用的时间和完成的事务个数。Qps 基本类似于 Tps,但是不同的是,对于一个页面的一次访问,形成一个 Tps;但一次页面请求,可能产生多次.

2021-08-24 23:28:26 400

原创 docker 容器log日志配置以及registry 镜像删除

docker log在没有设置的情况下,通常会变得很大。查看docker日志的时候,使用命令docker log -f 会出现日志无限翻滚的情况,这些日志都是打印到控制台的,但是都被docker收集了起来,放到了/var/lib/docker/containers/{容器id}/*.log中,一般默认的日志格式是{容器id}-json.log,如果日志大小不加限制,很可能日志会无限增长最终撑爆磁盘。全局设置修改/etc/docker/daemon.json 文件,添加log-dirver和log-o

2021-08-12 21:45:21 1412

原创 jdk8 lambda和stream

最近写代码被同事嘲讽,只会写if else,for 循环,现在来了解下jdk8新特性lambda和stream的使用。lambda表达式语法:(parameters) -> expression或(parameters) ->{ statements; }parameters是参数,expression是表达式,statements是代码块。比如 x->x+5,表示接收参数x,返回x+5,(x, y) -> x + y ,表示接收参数x和y,返回x..

2021-07-10 15:50:48 234

原创 时间戳与时区

世界协调时间(UTC)

2021-07-10 02:32:07 2271

原创 java使用redis调用lua

使用脚本的好处:1. 减少网络开销,在Lua脚本中可以把多个命令放在同一个脚本中运行2. 原子操作,redis会将整个脚本作为一个整体执行,中间不会被其他命令插入。换句话说,编写脚本的过程中无需担心会出现竞态条件3. 复用性,客户端发送的脚本会永远存储在redis中,这意味着其他客户端可以复用这一脚本来完成同样的逻辑使用:1. 根据业务编写lua脚本 XX.lua,语法请自行百度(idea可以安装luaplugin)local current = redis.call('GET', ...

2021-07-10 02:05:26 1806

原创 使用Filter做拦截验证转发响应

Filter 实现URL级别的权限访问控制,过滤敏感词汇,压缩响应信息等。(忽略Filter配置文件)public class SysUpholdFilter implements Filter{ RedisCache redisCache; @Override public void init(FilterConfig filterConfig) throws ServletException { ApplicationContext app= W.

2021-07-10 01:38:00 296

转载 Linux下卸载RabbitMQ

一、卸载rabbitmq相关的1、卸载前先停掉rabbitmq服务,执行命令service rabbitmq-server stop2、查看rabbitmq安装的相关列表yum list | grep rabbitmq3、卸载rabbitmq已安装的相关内容yum -y remove rabbitmq-server.noarch二、卸载erlang1、查看erlang安装的相关列表yum list | grep erlang2、卸载erlang已安..

2021-05-09 13:41:33 2490

转载 CentOs7 RabbitMQ安装部署

一、首先安装ERLANG环境下载安装:curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | sudo bashyum -y install erlang检查是否安装成功:erlhalt().命令退出来二、安装RABBITMQ下载安装:curl -s https://packagecloud.io/install/repositories/rab..

2021-05-09 13:30:10 224

原创 搞清线程池的几种实现方式

摘要:JDK中创建线程池主要有两类方法,一类是通过Executors工厂类提供的方法,该类提供了4种不同的线程池可供使用,另一类是通过ThreadPoolExecutor类进行自定义创建。(4种分别是:newCachedThreadPool,newFixedThreadPool,newScheduledThreadPool,newSingleThreadExecutor)Executors类的封装,可以简化我们的使用,但事实上,阿里代码规范《阿里巴巴Java开发手册》中明确不建议使用Execut

2021-04-26 17:25:37 546

转载 HttpUtils工具类

import com.alibaba.fastjson.JSONObject;import org.apache.http.HttpEntity;import org.apache.http.HttpStatus;import org.apache.http.client.config.RequestConfig;import org.apache.http.client.methods.CloseableHttpResponse;import org.apache.http.client.m..

2021-04-26 12:00:15 140

原创 SpringBoot Redis监听新增、修改、删除、过期事件(详细)

前言项目中需要监听redis的一些事件比如键删除,修改,过期等。过期事件网上有很多例子可以参考,但修改或删除事件却很少。因为redis支持发布订阅所以其他的事件类型应该也是能实现的,通过过期事件监听结合上文键空间通知,我整理了相关代码,希望帮助需要的人快速解决问题。代码搬运工搬自:https://blog.csdn.net/qq_39648029/article/details/105072079https://blog.csdn.net/huangbaoling66/article/det

2021-04-26 11:47:16 7414

原创 springBoot启动时让方法自动执行的几种实现方式

1.实现ServletContextAware接口并重写其setServletContext方法 注意:该方法会在填充完普通Bean的属性,但是还没有进行Bean的初始化之前执行 @Componentpublic class TestStarted implements ServletContextAware { /** * 在填充普通bean属性之后但在初始化之前调用 * 类似于initializingbean的afterpropertiesset或自定义in..

2021-04-25 17:44:54 168

原创 SpringBoot项目使用shell自动拉取代码并部署

一、环境前提:jdk 安装对应项目jdk版本maven 安装maven配置环境变量git 安装git配置git账号,此时需要注意:git 可以是1.码云([email protected])2.github([email protected]) 3.公司自定义搭建的([email protected])我这里直接借用某位大佬的文章https://blog.csdn.net/tracyclock/article/details/72779737git --version 查看版本...

2021-04-19 18:36:47 294

转载 JFinal 框架websocket配置

说明以tomcat容器为例,tomcat7以上版本开始支持websocket,JFinal集成的jetty服务器不支持websocket一、包依赖,tomcat7或是javaee包都行,两者二选一,容器中已提供所以只作为提供者<dependency><groupId>org.apache.tomcat</groupId><artifactId>tomcat-websocket-api</artifactId><version&

2020-12-15 22:17:15 426

转载 windows 下利用 Charles 对手机进行抓包(https)

前提条件:手机和电脑必须在同一个局域网内1、电脑上下载Charles ,自行百度,无需破解2、安装,一直下一步就好。无特别说明,安装好之后,logo是一个花瓶模样3、打开Charles,如下图4、对Charles进行设置,如下图 ,点击顺序为 Proxy--ssl proxying settings5、你会看到如下图,Enable SSL Proxying这个对勾一定要勾上,然后点击Add6、按下图输入,并点击OK7、点击OK8、如下图,步骤和3...

2020-12-07 11:58:40 1041

转载 JVM六:java 内存使用排查

Java通过jvm自己管理内存,同时Java提供了一些命令行工具,用于查看内存使用情况。这里主要介绍一下jstat、jmap命令以及相关工具。一、jstat查看gc实时执行情况jstat命令命令格式:jstat [Options] vmid [interval] [count]命令参数说明:Options,一般使用-gcutil或-gc查看gc情况pid,当前运行的...

2020-01-15 16:54:30 313

转载 JVM五:内存异常总结

java.lang.StackOverFlowError这个Stack是什么鬼东西Stack是个栈, 是一种数据结构, 会占用一块内存空间Java在哪些地方会使用Stack来存储数据 最常见的就是虚拟机栈, 它是专门为java Method执行服务的一块内存, 每个方法调用都会往这个栈中压入一个栈帧(stackFrame), 由于方法可以互调,迭代,所以使用栈模型来服务Java ...

2020-01-13 10:34:39 288

转载 springboot - AOP

引言Spring AOP是一个对AOP原理的一种实现方式,另外还有其他的AOP实现如AspectJ等。AOP意为面向切面编程,是通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术,是OOP面向对象编程的一种补足。它是软件开发中的一个热点技术,Spring AOP 也是Spring框架的核心特性之一(另一个核心特性是IOC)。通过AOP技术,我们希望实现一种通用逻辑的解耦,解决...

2019-11-29 17:00:14 98

转载 Github访问速度很慢所引发的思考

1,CDN,Content Distribute Network,可以直译成内容分发网络,CDN解决的是如何将数据快速可靠从源站传递到用户的问题。用户获取数据时,不需要直接从源站获取,通过CDN对于数据的分发,用户可以从一个较优的服务器获取数据,从而达到快速访问,并减少源站负载压力的目的,具体请看上一篇文章。2,为什么访问速度慢、下载慢?答:github的CDN某些ip地址被某墙屏了...

2019-11-28 17:51:15 379

空空如也

空空如也

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

TA关注的人

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