自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 分布式事务,zookeeper,dubbo,rocketmq

CAP理论是分布式领域中非常重要的一个指导理论,C(Consistency)表示强一致性,A(Availability)表示可用性,P(Partition Tolerance)表示分区容错性,CAP理论指出在目前的硬件条件下,一个分布式系统是必须要保证分区容错性的,而在这个前提下,分布式系统要么保证CP,要么保证AP,无法同时保证CAP。分区容错性表示,一个系统虽然是分布式的,但是对外看上去应该是一个整体,不能由于分布式系统内部的某个结点挂点,或网络出现了故障,而导致系统对外出现异常。

2024-02-25 09:17:55 915 1

原创 Jvm学习(十)类加载过程详解

在Java中数据类型分为基本数据类型和引用数据类型。基本数据类型由虚拟机预先定义,引用数据类型则需要进行类的加载。按照Java虚拟机规范,从class文件到加载到内存中的类,到类卸载出内存为止,它的整个生命周期包括如下7个阶段:其中,验证、准备、解析3个部分统称为链接(Linking)从程序中类的使用过程看。

2024-02-04 15:18:57 743

原创 微服务常见面试题

3 Nacos如何支撑数十万服务注册压力?4 Nacos如何避免并发读写冲突问题?5 Nacos与Eureka的区别有哪些?6 Sentinel的限流与Gateway的限流有什么差别? 7 Sentinel的线程隔离与Hystix的线程隔离有什么差别?8 几种常见的算法8.1 固定窗口算法

2023-11-20 14:44:50 48

原创 Sentinel学习

什么是雪崩问题?微服务之间相互调用,因为调用链中的一个服务故障,引起整个链路都无法访问的情况。如何避免因瞬间高并发流量而导致服务故障?流量控制如何避免因服务故障引起的雪崩问题?超时处理 线程隔离 降级熔断可以根据上面的五种类型定义异常结果。/*** @date 2023/10/24 9:27 下午* @desc sentinel自定义异常结果*/@Component@OverrideString msg = "未知异常";msg = "请求被限流了!

2023-10-24 21:35:55 53

原创 RabbitMQ的一些常见问题

因为上面的auto模式会对mq造成很大的资源浪费,并且,加入是我们的代码引起的报错,无论后续投递多少次,结果都是会失败,就没有意义,只会造成资源浪费。消息会不断requeue(重新入队)到队列,再重新发送给消费者,然后再次异常,再次requeue,无限循环,导致mq的消息处理飙升,带来不必要的压力。经过1.2.1的下消息确认后,消息会到达队列,但是rabbitmq是基于内存存储的,当mq服务重启后,数据就会从内存中丢失,所以,消息持久化就是为了防止消息从内存中丢失。false:则直接丢弃消息。

2023-10-20 15:07:57 258

原创 分布式事务学习

去掉TM就和上面的流程差不多一样了,1.4执行完后,事物并没有提及,等所有分支都提交,确认状态。因为事物并没有提交,所以各服务都在占用数据库的资源,资源浪费。在分布式系统中,一个服务代码部署到了两台服务器上,客户端访问这两个服务器的同一个数据时,得到的数据应该是一样的。例如,A服务下a方法是入口,里面调用了B服务和C服务的方法,先调用B服务,B服务的代码没有问题,正常执行完毕,就会进入就绪状态,等待其他服务都就绪;,然后找对应的版本下载,这里下载的是1.4.2的binary,也可以下载源码看看;

2023-10-15 20:38:51 36

原创 Redis网络模型,内存淘汰

能监听的FD最大不超过1024每次select都需要把所有要监听的FD都拷贝到内核空间每次都要遍历所有FD来判断就绪状态poll利用链表解决了select中监听FD上限的问题,但依然要遍历所有FD,如果监听较多,性能会下降;并且还是没有解决两次数据拷贝和数组的遍历。3:epoll模式中如何解决这些问题的?基于epoll实例中的红黑树保存要监听的FD,理论上无上限,而且增删改查效率都非常高。

2023-09-22 09:19:57 31

原创 Redis底层数据结构,数据类型

QuickList的特点:是一个节点为ZipList的双端链表节点采用ZipList,解决了传统链表的内存占用问题(传统链表只采用了指针)控制了ZipList大小,解决连续内存空间申请效率问题(命令1)中间节点可以压缩,进一步节省了内存(命令2)。

2023-09-18 22:11:35 37

原创 Redis持久化,集群,哨兵,分片存储

主要介绍redis的持久化(AOF,RDB),主从结构的搭建及数据同步(全量和非全量),哨兵机制,以及分片集群

2023-06-29 16:35:10 52

原创 like模糊匹配实现精确查询

SELECT * FROM 表名 where FIND_IN_SET(传入的数据,"字段名")

2021-12-27 17:20:50 783 1

原创 window下查看指定端口占用,并杀死改程序

查看指定端口的占用情况:netstat -aon|findstr "9050"查看上一步查询出的PID对应的进程tasklist|findstr "2016"结束该进程taskkill /f /t /im tor.exe

2021-11-25 11:36:37 425

原创 创建一个对象

package cn.dj.demo.test;/** * 确保此类只有一个实例 */public class Singleton { public static volatile Singleton singleton; public Singleton() { } public static Singleton getInstance(){ if (singleton == null){ synchronized (Si.

2021-10-14 11:36:23 60

原创 inner join 和 left join的区别

inner join 和left join 的区别A left join B on A.id = B.outId and B.isdelete = 0 ...是以左边A为主,返回符合关联条件的数据,将B表数据向A表加,on 后面也可以加条件用以筛选B表的数据A inner join B on A.id = B.outId and ..inner join 是返回符合筛选条件的数据,...

2021-10-14 11:01:37 73

原创 stream流过滤对象中的属性,将对象中某些字段转化为map

package cn.dj.demo.test;import cn.dj.demo.domain.Student;import java.text.SimpleDateFormat;import java.util.*;import java.util.stream.Collectors;public class TestStudent { public static void main(String[] args) { List<Student> st.

2021-10-14 10:23:29 2410

原创 stream流中peek和map的小结

package cn.dj.demo.test;import cn.dj.demo.domain.Student;import java.util.ArrayList;import java.util.Date;import java.util.List;import java.util.stream.Collectors;public class TestPEEK { public static void main(String[] args) { /* .

2021-10-14 10:20:00 684

原创 (本机)文件上传:什么文件都可一试(线上不行)

/** * 上传文件 * * @param file * @return * @throws Exception */ @ResponseBody @PostMapping("addFileForNotice") @ApiOperation(value = "上传文件for通知公告", notes = "") public ResultDTO<String> addFileForNotice(Http..

2021-09-28 10:27:06 62

原创 数据库中时间有时分秒的查询优化

DATE_FORMAT(cross_time,'%Y-%m-%d') >= DATE_FORMAT(#startTime#,'%Y-%m-%d') 可以优化对于数据库时间中有时分秒的查询 3.1: md文件的sql编写SELECT @pageTag(){ a.* @} FROM cc_car_pass a WHERE a.isdelete = 0 @if(!isEmpty(entranceNa.

2021-09-28 10:01:35 201

原创 又是一个文件上传(可用)

/** * 上传文件 * * @param file * @param request * @return */ @ResponseBody @PostMapping("uploadFile") @ApiOperation(value = "上传文件(本地)") public ResultDTO<String> uploadFile(MultipartFile file, HttpServletRequest request) { ResultDTO&lt.

2021-09-25 18:42:21 47

原创 (本机)文件下载:都可一试(线上不行)

/** * 下载/浏览器中打开文件 * * @param id * @return * @throws Exception */ @ResponseBody @GetMapping("downloadFile") @ApiOperation(value = "下载/浏览器中打开", notes = "") @ApiImplicitParams({ @ApiImplicitParam(paramType = "q.

2021-09-25 16:27:13 65

原创 查询今天,昨天,本周,上周,本月,上月的数据

select * from tj where to_days(now()) = to_days(tjsj) 查询今天的数据select SUM(recommend_uv) as recommend_uv from epg_itvb_recommend_cv_uv where to_days(now()) = to_days(re_date) select * from tj where to_days(now()) - to_days(tjsj) = 1计算昨天的数据select SUM.

2021-09-17 16:36:10 67

原创 图片文件上传

/** * 通用上传请求 */ @PostMapping("/common/upload/file") @ResponseBody public AjaxResult uploadFiles(MultipartFile file) { if (file != null) { InputStream in = null; OutputStream out = null; try.

2021-09-16 14:48:42 35

原创 批量导入文件

public Rest importlabelData(MultipartFile file){ return songService.importlabelData(file); }@Override public Rest<String> importData(MultipartFile file) { Assert.notNull(file, "请选择文件"); InputStream inputStream = n.

2021-09-15 15:25:53 167

原创 获取时间段内的周列表,在本年中的第几周

package test;import java.text.DateFormat;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.GregorianCalendar;public class DateTest{ public static void main(String[] args) throws ...

2021-09-14 10:57:26 176

原创 枚举类的创建

import java.util.ArrayList;import java.util.Arrays;import java.util.HashMap;import java.util.List;public enum EpgPlayerEnum { Key_Node_1(0, "全部"), Key_Node_2(1, "QQ音乐"), Key_Node_3(2, "路通"), Key_Node_4(3, "岩华"), ; private Int.

2021-09-09 17:46:32 42

原创 后台数据统计涉及到周,月,日的统计

-- 查询08月份的数据select *from epg_itvb_order_detailwhere date_format(o_date,'%Y%m')='202108'-- 多定义一个字段返回-- 查询第34周的数据select *from epg_itvb_order_detailwhere date_format(o_date,'%Y%u')='202134'--周月主要就是 %m 和 %n的区别-- 将数据库中符合要求的数据按照周的形式进行统计selectid..

2021-09-09 17:41:05 454

原创 case..when用法

适用于一个字段有多个值类型:比如性别这个字段,有1和0分别代表男女case,when的解析当user_sex这个字段中的值为1时,转换成男当user_sex这个字段中的值为0时,转换成女当user_sex这个字段中的值为其它值的时候,转换成人妖select user_id,user_name,(case user_sex when '1' then '男' when '2' then '女' else '人妖' end )user_sexfrom user_table; ...

2021-09-09 17:34:47 239

原创 git自用命令

项目拉取git initgit remote add origin 地址git checkout (-b新建分支) 分支名字git clone 地址 (https)可直接克隆ls cd cd..

2021-09-09 17:32:01 50

原创 stream流实现分页,排序

List<EpgPlayTableDateVo> collect = new ArrayList<>(); if (pageIndex > 0) {// collect = voList.stream().skip((pageIndex - 1) * pageSize) collect = voList2.stream().skip((pageIndex - 1) * pageSize) .

2021-09-09 17:30:58 504

原创 实现动态excel的导出

public void exportTableDataByPoi(String startTime, String endTime, String timeType, String cp, HttpServletResponse response) throws Exception { // 注销的代码为一行的数据的生成方式 Map map = this.getPlayData(startTime, endTime, timeType, cp, -1, 0); ...

2021-09-09 17:27:40 598

模拟redis客户端,调用redis服务端,发送命令以及接受处理响应的命令及数据

模拟redis客户端,调用redis服务端,发送命令以及接受处理响应的命令及数据

2023-09-21

redis基础的配置文件

redis基础的配置文件

2023-07-13

空空如也

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

TA关注的人

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