璨若繁星
码龄6年
关注
提问 私信
  • 博客:18,201
    18,201
    总访问量
  • 27
    原创
  • 733,595
    排名
  • 33
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:重庆市
  • 加入CSDN时间: 2019-08-04
博客简介:

qq_45489824的博客

查看详细资料
  • 原力等级
    当前等级
    0
    当前总分
    26
    当月
    0
个人成就
  • 获得81次点赞
  • 内容获得17次评论
  • 获得88次收藏
创作历程
  • 1篇
    2024年
  • 22篇
    2020年
  • 6篇
    2019年
成就勋章
TA的专栏
  • Mybatis
    1篇
  • 设计模式
    2篇
  • 其它
    2篇
  • MySQL
    2篇
  • redis
    5篇
  • Spring
    3篇
  • JVM
    6篇
  • 多线程
    6篇
  • linux
    1篇
兴趣领域 设置
  • 大数据
    mysql
  • 后端
    spring
  • 服务器
    linux
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

基于 Spring-Jpa 的动态 Sql 工具类分享

在这里先贴一段代码如果项目用过 Spring-Jpa 的人对这种写法应该都不会陌生,反正我们公司是这样用的,每一个可能用到的查询字段都要手动写这样一段逻辑,算上 count 的话相似的逻辑要写4遍,笔者真的很讨厌这种重复度高的代码,所以在写了几次后就开始构思工具类来缓解这一情况。通过 Java 提供的反射特性动态判断每一个字段是否存在并拼装 sql使用自定义注解来标识需要查询的字段和字段对应的 sql 语句频繁获取反射方法会大大降低性能,关键的数据需要封装并存到缓存中。
原创
发布博客 2024.05.11 ·
1886 阅读 ·
20 点赞 ·
2 评论 ·
20 收藏

eureka 挂掉后消费者和提供者之间关系

Spring Cloud Eureka 挂掉后消费者和提供者之间关系eureka 服务突然宕机1、如果eureka突然宕机的情况下,会出现什么情况呢,服务之间还能不能正常访问?答案是:**可以**原因:在启动消费者和提供者的时候,eureka注册中心是正常运行的,因此可以将各个消费者和提供者可以正常订阅。当eureka突然宕机的时候,各个提供者和消费者都已经保存有相互间的服务名称与ip映射,所以相互访问没有问题...
转载
发布博客 2020.08.25 ·
722 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Java中字符串的存储方式

Java中字符串的存储方式  Java中的字符串只能位于内存中的两个区域:常量池和Java堆。常量池维护了一个StringTable,它是一个hashtable,以字符串hashcode作为键,字符串引用作为值;Java堆中存储的就是普通的字符串对象。那么如何判断字符串到底位于哪一个区域呢?有以下几种情形。情形一String s = "123";虚拟机在处理字面量"123"时,首先在本地栈中创建字符串"123",随后对其调用本地方法intern()。intern方法的作用是检查StringTabl
原创
发布博客 2020.08.24 ·
4808 阅读 ·
28 点赞 ·
10 评论 ·
34 收藏

Unable to connect to Redis;java.net.ConnectException: Connection refused: no further information

Unable to connect to Redis;java.net.ConnectException: Connection refused: no further information问题:今天使用Spring Boot整合Redis时一直连不上,折腾了一小时总算弄好了关闭防火墙 chkconfig iptables off找到并redis的配置文件redis.conf,我的配置文件在/etc/redis目录下1. 注释bind 127.0.0.12. 修改 protected-mode
原创
发布博客 2020.07.17 ·
756 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Redis--AKF架构

Redis--AKF架构AKF架构由于redis是单进程、单线程、单实例的,所以如果我们只使用一个redis与客户端交互就会带来单点故障、缓存容量、压力等一系列问题,如下图所示基于以上三种问题,人们提出了AKF架构,其中,x轴的扩展为redis的全量镜像,保证当前redis挂掉之后服务依然可以正常提供,而且x轴上的redis实例可以向client提供一些服务,缓解压力x轴的扩展有效的缓解了压力和单点故障的问题,但是依旧没有解决容量的问题,毕竟由于要保持数据一致,其中一个满了,其它的也会满,
原创
发布博客 2020.07.15 ·
2253 阅读 ·
25 点赞 ·
6 评论 ·
14 收藏

Redis--RDB和AOF

Redis--RDB和AOF提出问题假设我们要将内存中的数据持久化到硬盘中,而这个过程需要10分钟,该怎么做?使用阻塞的方式:在持久化过程中停止服务直到持久化完毕。这个方法在开发和维护项目时是可行的,但在项目上线后显然不合适不使用阻塞的方式:服务正常运行的同时向硬盘中写数据,但这显然会带来数据时点混乱的问题,如下图所示。因此,在Redis中,提供了RDB和AOF两种方式保证持久化时数据的一致性。RDB持久化方式核心机制linux中子线程间数据相互隔离linux中的fork()函
原创
发布博客 2020.07.13 ·
153 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Redis--bitmap

Redis--bitmap本文主要描述 redis中bitmap相应函数及使用方法setbit key offset value:以二进制形式设置key-value键值对key:目标主键offset:偏移量value:目标值,只能取0或1示例 :setbit k1 7 1 :0000 0001注意:在redis中,是以字节为单位读取数据的,一个字节8位bitcount key [start end]:取得目标key目标范围内1的个数key:目标主键start:开始位置,最下的下
原创
发布博客 2020.07.13 ·
192 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Redis--安装

Redis--安装一、复制虚拟机二、redis安装三、配置redis服务一、复制虚拟机鉴于我每次都忘记怎么复制虚拟机,决定将整个过程记录下来,以后的自己,别再去百度啦ฅ(๑ ̀ㅅ ́๑)ฅ创建完整克隆(node02:basic)进入/etc/udev目录下,进入70-persistent-net.rules文件中,记录eth1的ATTR进入/etc/sysconfig 目录下,修改network文件,将虚拟机名称修改为新的名称进入/etc/sysconfig/network-script
原创
发布博客 2020.07.10 ·
139 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Spring源码--IOC的初始化过程--03

一、前言最近开始重温Spring,觉得只知道会用是不行的,所以想尝试着结合资料观摩一下源码由于Spring源码非常的多,一步步都看完明显是不现实的,所以只记录自己觉得重要的步骤,其它细枝末节不去纠结本人才疏学浅,以下的总结完全主观,在逐渐学习的过程中也会不断更新表述不合适的地方,如果有错误希望能包涵并指出!二、源码阅读接着02博客,到doLoadBeanDefinitions(inputSource, encodedResource.getResource())doLoadBeanDef
原创
发布博客 2020.06.27 ·
159 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Spring源码--IOC的初始化过程--02

Spring源码--IOC的初始化过程--02一、前言二、源码阅读一、前言最近开始重温Spring,觉得只知道会用是不行的,所以想尝试着结合资料观摩一下源码由于Spring源码非常的多,一步步都看完明显是不现实的,所以只记录自己觉得重要的步骤,其它细枝末节不去纠结本人才疏学浅,以下的总结完全主观,在逐渐学习的过程中也会不断更新表述不合适的地方,如果有错误希望能包涵并指出!二、源码阅读接着01博客,现在到了refresh()方法执行了进入refresh(),首先调用的方法是prepare
原创
发布博客 2020.06.24 ·
154 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Spring源码--IOC的初始化过程--01

Spring源码--IOC的初始化过程--01一、前言二、源码阅读一、前言最近开始重温Spring,觉得只知道会用是不行的,所以想尝试着结合资料观摩一下源码由于Spring源码非常的多,一步步都看完明显是不现实的,所以只记录自己觉得重要的步骤,其它细枝末节不去纠结本人才疏学浅,以下的总结完全主观,在逐渐学习的过程中也会不断更新表述不合适的地方,如果有错误希望能包涵并指出!二、源码阅读debug定位到容器创建位置,进入源码调用了3个参数的构造方法创建ClassPathXmlApplica
原创
发布博客 2020.06.24 ·
218 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

MySQL--练习题

MySQL--练习题-- 建表语句-- 建表-- 学生表CREATE TABLE `Student`( `s_id` VARCHAR(20), `s_name` VARCHAR(20) NOT NULL DEFAULT '', `s_birth` VARCHAR(20) NOT NULL DEFAULT '', `s_sex` VARCHAR(10) NOT NULL DEFAULT '', PRIMARY KEY(`s_id`));-- 课程表CREA
原创
发布博客 2020.06.03 ·
364 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

MySQL--索引

MySQL--索引基础知识储备局部性原理:CPU访问存储器时,无论是存取指令还是存取数据,所访问的存储单元都趋于聚集在一个较小的连续区域中时间局部性(Temporal Locality):如果一个信息项正在被访问,那么在近期它很可能还会被再次访问空间局部性(Spatial Locality):在最近的将来将用到的信息很可能与正在使用的信息在空间地址上是临近的磁盘预读(预读的长度一般为页(page)的整数倍)页是存储器的逻辑块,操作系统往往将主存和磁盘存储区分割为连续的大小相等的块,
原创
发布博客 2020.05.23 ·
235 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

多线程--ThreadPoolExecutor源码解析

ThreadPoolExecutor源码解析本文由马士兵教育连鹏举老师整理!1、常用变量的解释// 1. `ctl`,可以看做一个int类型的数字,高3位表示线程池状态,低29位表示worker数量private final AtomicInteger ctl = new AtomicInteger(ctlOf(RUNNING, 0));// 2. `COUNT_BITS`,`Integer.SIZE`为32,所以`COUNT_BITS`为29private static final int C
转载
发布博客 2020.05.11 ·
176 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

多线程--线程池

多线程--线程池线程池是什么: 线程池(Thread Pool)是一种基于池化思想管理线程的工具,经常出现在多线程服务器中,如MySQL。线程过多会带来额外的开销,其中包括创建销毁线程的开销、调度线程的开销等等,同时也降低了计算机的整体性能。线程池维护多个线程,等待监督管理者分配可并发执行的任务。这种做法,一方面避免了处理任务时创建销毁线程开销的代价,另一方面避免了线程数量膨胀导致的过分调度问...
原创
发布博客 2020.05.11 ·
522 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

多线程--AQS

多线程--AQS一、AQS详解二、源码阅读一、AQS详解什么是AQSAQS:AbstractQuenedSynchronizer抽象的队列式同步器。是除了java自带的synchronized关键字之外的锁机制。AQS的全称为(AbstractQueuedSynchronizer),这个类在java.util.concurrent.locks包AQS的核心思想是,如果被请求的共享资源...
原创
发布博客 2020.05.07 ·
401 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

多线程--volatile

多线程--volatile要想深入了解volatile,首先需要了解缓存一致性协议、指令重排和内存屏障缓存一致性协议由于CPU运行速度很快,内存运行速度很慢,频繁的读取内存中的数据显然效率不高,所以CPU会通过读取缓存行(一行64个字节,因为CPU寄存器就是64个字节)的方式将内存中可能使用的数据读入CPU内部。但在读取缓存过程中别的进程可能会修改数据,这样就会导致数据不一致的问题,...
原创
发布博客 2020.05.04 ·
221 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

多线程--synchronized

多线程--synchronized锁的类型:锁从宏观角度上分为悲观锁和乐观锁悲观锁:悲观锁是就是悲观思想,即认为写多,遇到并发写的可能性高,每次去拿数据的时候都认为别人会修改,所以每次在读写数据的时候都会上锁,这样别人想读写这个数据就会block直到拿到锁。java中的悲观锁就是Synchronized,AQS框架下的锁则是先尝试cas乐观锁去获取锁,获取不到,才会转换为悲观锁,如Ret...
原创
发布博客 2020.05.04 ·
174 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

多线程--基础

回顾与深入--多线程1、前言2、基础回顾1、前言  今天是2020年4月28日,从大二接触Java到现在也已经快2年了,从JavaSE到高级框架,看起来好像学了很多,但其实仔细想想,我对大部分知识的认知都只停留在表面,只是知道怎么使用而已,甚至由于长时间没有相应的回顾与总结,某些基础的东西也已经想不起来了,填鸭子式的学习终究太过浮躁,所以,接下来的一段时间我希望自己能脚踏实地,打好地基,再去建...
原创
发布博客 2020.05.03 ·
146 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

深入理解JVM--G1垃圾收集器

深入理解JVM--G1垃圾收集器吞吐量:吞吐量关注的是,在一定时间内,最大化一个应用的工作量用一段时间内同一个事务(或者任务,请求)完成的次数(tps)来衡量系统吞吐量的好坏对于关注吞吐量的系统,卡顿是可以接受的,因为这个系统关注的是长时间大量任务的执行能力,单次快速的响应不值得考虑响应能力:响应能力指的是一个程序或系统对一个请求能否及时响应,比如:一个桌面UI是否能快速...
原创
发布博客 2020.04.27 ·
300 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多