会很甜
码龄7年
关注
提问 私信
  • 博客:778,709
    社区:142
    778,851
    总访问量
  • 137
    原创
  • 37,789
    排名
  • 13,809
    粉丝
  • 110
    铁粉

个人简介:渐行渐远渐无书,水阔鱼沉何处问

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:北京市
  • 加入CSDN时间: 2018-06-10
博客简介:

java领域分享

查看详细资料
  • 原力等级
    当前等级
    6
    当前总分
    2,109
    当月
    10
个人成就
  • Java领域新星创作者
  • 博客专家认证
  • 获得355次点赞
  • 内容获得571次评论
  • 获得1,479次收藏
  • 代码片获得6,724次分享
创作历程
  • 7篇
    2024年
  • 49篇
    2023年
  • 22篇
    2022年
  • 25篇
    2021年
  • 11篇
    2020年
  • 23篇
    2019年
成就勋章
TA的专栏
  • 后端
  • 业务实现
    1篇
  • java-easyExcel
    1篇
  • java
    18篇
  • 多线程
    9篇
  • jvm
    7篇
  • spring
    3篇
  • spring boot
    3篇
  • Spring Cloud
    3篇
  • springCloudAlibaba
    6篇
  • Mybatis
    2篇
  • Netty
    2篇
  • SQL
    12篇
  • 中间件
    1篇
  • Elasticsearch
    3篇
  • Redis缓存
    14篇
  • 前端
  • VUE
    2篇
  • HTML
    3篇
  • 运维
    4篇
  • 框架
    3篇
  • 算法
    2篇
  • 设计模式
    23篇
  • 工具学习
    3篇
  • 软工开发
  • 软件开发模型
  • 软工文档
    1篇
  • UML
  • C#学习
    4篇
  • 总结
    8篇
  • 自考学习
兴趣领域 设置
  • Java
    javaspringspring cloudjvm
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

Aop+自定义注解实现数据字典映射

*** 字典类型,对应数据库的类型,下方展示*//*** 实体类内对应的中文字段名,默认为“当前字段+Text”* * 例如当前字段为“type”,则对应中文字段默认为“typeText”* 就是你在实体中想要给某个字段赋值,这个字段就要写成那个字段*/
原创
发布博客 2024.11.06 ·
1087 阅读 ·
8 点赞 ·
0 评论 ·
19 收藏

使用EasyExcel实现导出excel文件时生成多级下拉选

公司有个需求本来只涉及到两个下拉选项,后面就想能不能实现多个下拉选,当然我这里说的多个下拉选是联动的,比如省、地市、区县这种。if (!if (!// 单元格地址引用// 创建检验器= null){// 构建隐藏数据i++) {// 创建名称命名器rowIndex++;// 设置红色字体i >= 1。
原创
发布博客 2024.11.06 ·
1539 阅读 ·
7 点赞 ·
3 评论 ·
6 收藏

类与类加载器

很多人都有个误区:双亲委派机制不能被打破,不能使用自定义类加载器加载java.lang.String但是事实上并不是,只要重写ClassLoader的loadClass()方法,就能打破了。@Override//只对MyClassLoader和String使用自定义的加载,其他的还是走双亲委派} else {//urls指定自定义类加载器的加载路径url, url3Class
原创
发布博客 2024.11.06 ·
834 阅读 ·
18 点赞 ·
0 评论 ·
24 收藏

ThreadLocal 详解

线程本地变量。当使用 ThreadLocal 维护变量时, ThreadLocal 为每个使用该变量的线程提供独立的变量副本,所以每一个线程都可以独立地改变自己的副本,而不会影响其它线程。每个线程都有一个 ThreadLocalMap ( ThreadLocal 内部类),Map中元素的键为 ThreadLocal,而值对应线程的变量副本。
原创
发布博客 2024.10.28 ·
839 阅读 ·
19 点赞 ·
0 评论 ·
22 收藏

Docker-compose

Docker-Compose项目是Docker官方的开源项目,负责实现对Docker容器集群的快速编排。Docker-Compose将所管理的容器分为三层,分别是工程(project),服务(service)以及容器(container)。Docker-Compose运行目录下的所有文件(docker-compose.yml,extends文件或环境变量文件等)组成一个工程,若无特殊指定工程名即为当前目录名。一个工程当中可包含多个服务,每个服务中定义了容器运行的镜像,参数,依赖。
原创
发布博客 2024.04.11 ·
1357 阅读 ·
17 点赞 ·
0 评论 ·
20 收藏

EasyExcel使用,实体导入导出

实体与excel列的映射创建实体类使用 @ExcelProperty、@ExcelIgnore 等注解标识导出列;@ExcelIgnore 表示忽略此字段@ExcelProperty 用于标识列 value属性设置列的名称,index属性设置设置列的序号 从 0 开始@Data/*** @description: 使用@ExcelIgnore注解忽略此字段**//*** @description: 使用@ExcelProperty标识列。
原创
发布博客 2024.01.31 ·
1621 阅读 ·
6 点赞 ·
0 评论 ·
17 收藏

Java自定义注解

Java自定义注解一般使用场景为:自定义注解+拦截器或者AOP配合使用,可以用来设计自己的框架,也可以用于开发中的权限校验Java注解是什么,以下是引用自维基百科的内容Java注解又称Java标注,是JDK5.0版本开始支持加入源代码的特殊语法元数据。ava语言中的类、方法、变量、参数和包等都可以被标注。和Javadoc不同,Java标注可以通过反射获取标注内容。在编译器生成类文件时,标注可以被嵌入到字节码中。Java虚拟机可以保留标注内容,在运行时可以获取到标注内容。当然它也支持自定义Java标注。
原创
发布博客 2024.01.17 ·
1079 阅读 ·
23 点赞 ·
0 评论 ·
19 收藏

JVM垃圾回收

JVM(Java虚拟机)的垃圾回收是自动管理内存的过程,用于回收不再使用的对象并释放内存资源。早在1960年,第一门开始使用内存动态分配和垃圾收集技术的Lisp语言诞生。这种自动化的内存管理机制极大地减轻了开发人员对手动释放内存的负担,提高了开发效率。垃圾是指在运行程序中没有任何指针指向的对象,这个对象就是需要被回收的垃圾。如果不及时对内存中的垃圾进行清理,那么,这些垃圾对象所占的内存空间会一直保留到应用程序的结束,被保留的空间无法被其它对象使用,甚至可能导致内存溢出。
原创
发布博客 2023.11.02 ·
307 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

MySQL锁机制

锁是计算机协调多个进程或线程并发访问某一资源的机制,那为何要加入锁机制呢?因为在数据库中,除了传统的计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供需要用户共享的资源。当并发事务同时访问一个共享的资源时,有可能导致数据不一致、数据无效等问题。例如我们在数据库的读现象中介绍过,在并发访问情况下,可能会出现脏读、不可重复读和幻读等读现象。
原创
发布博客 2023.10.15 ·
434 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

Netty全面了解, 使用,有这一篇就够了

详细介绍Netty的核心概念、特点和优势。解释非阻塞I/O和事件驱动的基本原理,以及Netty在这方面的应用。强调Netty的高性能、低内存消耗和良好的可定制性。
原创
发布博客 2023.10.06 ·
1260 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

RabbitMQ 安装 示例 全面了解有这一篇就够了

RabbitMQ是2007年发布,是一个在AMQP(高级消息队列协议)基础上完成的,简称MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法,由Erlang(专门针对于大数据高并发的语言)语言开发,可复用的企业消息系统,是当前最主流的消息中间件之一,具有可靠性、灵活的路由、消息集群简单、队列高可用、多种协议的支持、管理界面、跟踪机制以及插件机制。1.消息 就是数据,增删改查的数据。例如在员工管理系统中增删改查的数据。
原创
发布博客 2023.10.04 ·
2219 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

CompletableFuture 异步编排

一个业务逻辑有很多次的循环,每次循环之间没有影响,比如验证1万条url路径是否存在,正常情况要循环1万次,逐个去验证每一条URL,这样效率会很低,假设验证一条需要1分钟,总共就需要1万分钟,有点恐怖。问题:不过CPU执行哪个线程的时间和顺序是不确定的,即使设置了线程的优先级,因此使用多线程的风险也是比较大的,会出现很多预料不到的问题,一定要多熟悉概念,多构造不同的场景去测试才能够掌握!不用阻塞队列也是可以的,不过实现起来比较麻烦而已,有好用的为啥不用呢。然后继续上一段的任务(里面包含了串行,AND,OR)
原创
发布博客 2023.10.04 ·
1541 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

JVM性能调优-二.流程步骤实践

在内存相对紧张的情况下,可以按照上述的方式来进行内存的调优, 找到一个在GC频率和GC耗时上都可接受的一个内存设置,可以用较小的内存满足当前的服务需要。但当内存相对宽裕的时候,可以相对给服务多增加一点内存,可以减少GC的频率,GC的耗时相应会增加一些。一般要求低延时的可以考虑多设置一点内存, 对延时要求不高的,可以按照上述方式设置较小内存。如果在垃圾回收日志中观察到OutOfMemoryError,尝试把Java堆的大小扩大到物理内存的80%~90%。
原创
发布博客 2023.09.13 ·
3382 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

分库分表---理论

上面虽然已经把商品库分成3个库,但是随着业务的增加一个订单库也出现QPS过高,数据库响应速度来不及,一般mysql单机也就1000左右的QPS,如果超过1000就要考虑分库。而切分之后,数据可能分布在不同的节点上,此时Join带来的问题就比较麻烦了,考虑到性能,尽量避免使用Join查询。,修改代码,所有涉及到分库分表的表的增、删、改的代码,都要对新库进行增删改。同时,再有一个数据抽取服务,不断地从老库抽数据,往新库写,把一个表的多个字段分别拆成多个表,一般按字段的冷热拆分,热字段一个表,冷字段一个表。
原创
发布博客 2023.09.12 ·
3272 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Ribbon

Ribbon是一个为客户端提供负载均衡功能的服务,它内部提供了一个叫做ILoadBalance的接口代表负载均衡器的操作,比如有添加服务器操作、选择服务器操作、获取所有的服务器列表、获取可用的服务器列表等等。
原创
发布博客 2023.09.11 ·
2974 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Eureka服务注册与发现

(1) Eureka是一个基于REST的服务,用于定位服务,以实现云端中间层服务发现和故障转移。(2) Eureka 主管服务注册与发现,在微服务中,以后了这两者,只需要使用服务的标识符(==就是那个在每个服务的yml文件中取得服务名称==),就可以访问到服务,不需要修改服务调用的配置文件。(3) Eureka遵循AP原则(高可用,分区容错性),因为使用了自我保护机制所以保证了高可用。
原创
发布博客 2023.09.11 ·
3613 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

SpringCloud理解篇

目前的微服务并没有一个统一的标准,一般是以业务来划分将传统的一站式应用,拆分成一个个的服务,彻底去耦合,一个微服务就是单功能业务,只做一件事。与微服务相对的叫巨石。Spring的三大模块:SpringBoot(构建),Spring Cloud(协调),Spring Cloud Data Flow(连接)
原创
发布博客 2023.09.11 ·
2832 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

BIO NIO AIO演变

1 IO,NIO,AIO区别IO 阻塞同步通信模式,客户端和服务器连接需要三次握手,使用简单,但吞吐量小。NIO 非阻塞同步通信模式,客户端与服务器通过Channel连接,采用多路复用器轮询注册的Channel。提高吞吐量和可靠性。AIO 非阻塞异步通信模式,NIO的升级版,采用异步通道实现异步通信,其read和write方法均是异步方法。
原创
发布博客 2023.09.11 ·
2972 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

JVM性能调优-一.思路方向

(6)吞吐量优先的应用:一般吞吐量优先的应用都有一个很大的年轻代和一个较小的年老代.原因是,这样可以尽可能回收掉大部分短期对象,减少中期的对象,而年老代尽存放长期存活对象.对于GC的性能主要有2个方面的指标:吞吐量throughput(工作时间不算gc的时间占总的时间比)和暂停pause(gc发生时app对外显示的无法响应)。(2)Survivor空间中所有对象大小的总和大于survivor空间的一半,年龄大于或等于该年龄的对象就可以直接进入老年代,而无需等到年龄阀值。阀值大小一般为15。
原创
发布博客 2023.09.11 ·
2972 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

JVM垃圾回收器

收集算法是内存回收的方法论,垃圾收集器就是内存回收的具体实现。收集器主要分三类:串行收集器、并行收集器以及并发收集器。
原创
发布博客 2023.09.11 ·
2950 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多