Ecloss
码龄9年
关注
提问 私信
  • 博客:426,328
    426,328
    总访问量
  • 137
    原创
  • 1,674,116
    排名
  • 44
    粉丝
  • 0
    铁粉

个人简介:知行合一,凡事皆在事上练

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:云南省
  • 加入CSDN时间: 2016-07-13
博客简介:

Ecloss

博客描述:
我们都在阴沟里,但仍有人仰望星空。
查看详细资料
个人成就
  • 获得138次点赞
  • 内容获得50次评论
  • 获得473次收藏
  • 代码片获得377次分享
创作历程
  • 10篇
    2023年
  • 20篇
    2019年
  • 121篇
    2018年
  • 9篇
    2017年
成就勋章
TA的专栏
  • SpringCloud
    1篇
  • Redis
    1篇
  • 高并发
    1篇
  • H5
    1篇
  • PAT-Basic(乙级)
    44篇
  • PAT-Advanced(甲级)
    47篇
  • HTML
    1篇
  • Maven
    1篇
  • java web
    2篇
  • Java基础
    14篇
  • MySQL数据库
    11篇
  • 算法
    10篇
  • 它山之石
    1篇
  • Java8
    4篇
  • MyBatis
    5篇
  • Tomcat
  • Intellij Idea
    3篇
  • 资源
    1篇
  • 工欲善其事
    1篇
  • springMVC
    2篇
  • 其他
  • Shiro
    2篇
  • Spring-Boot
    3篇
  • Vue
    1篇
  • 程序人生
    1篇
  • 设计模式
    1篇
兴趣领域 设置
  • 大数据
    mysqlredis
  • 后端
    spring架构
  • 搜索
    elasticsearch
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

@Transactional注解事务失效的七种原因分析

如果先调用deleteUser(),那么deleteUserA()是不会回滚的,其原因就是@Transactional根本没生成代理,如果直接调用deleteUser2()那么没问题,deleteUserA()会回滚。如下的方式deleteUserA()也不会回滚,因为spring实现事务的原理是通过ThreadLocal把数据库连接绑定到当前线程中,新开启一个线程获取到的连接就不是同一个了。当异常被捕获后,并且没有再抛出,那么deleteUserA是不会回滚的。修改方式,把当前类自己注入一下调用即可。
转载
发布博客 2023.09.20 ·
419 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

MyBatis-Plus LambdaQueryWrapper使用说明_mybatisplus lambdaquerywrapper

假如我们有一张banner_item表,现需要通过banner_id查出所有数据(查询List)然后我们可以引入lambda,避免我们在代码中写类似的于banner_id的硬编码。如果只想查询一条记录,例如通过id查询某条记录的详情,使用.one()即可,例如。但是这种写法偏向于炫技,可读性没有上面的代码强,大家可以根据需要自行选择方式。我们可以再次将QueryWrapper.lambda()简化,变成这个样子。MyBatis-Plus还提供了一种链式查询的方式,和上面的代码效果一样。
转载
发布博客 2023.09.20 ·
931 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

mybatis-plus异常:dynamic-datasource can not find primary datasource

异常原因是没有设置默认数据源,在类上没有使用@DS指定数据源时,默认会加载master数据源,但是在配置中没有使用master配置,类似下面的用法,maven的配置文件,是否加载你需要的配置信息,如果不是,也可能无法解析出主数据源。使用mybatis-plus多数据源配置时出现异常。在类上增加@DS指定默认数据源。
原创
发布博客 2023.09.20 ·
6713 阅读 ·
1 点赞 ·
0 评论 ·
3 收藏

SpringBoot启动失败报错,spring.profiles.active:@env@中环境变量@无法识别报错_active: @env@

SpringBoot打包启动时无法识别到配置中的spring.profiles.active=@env@环境变量。
原创
发布博客 2023.09.20 ·
1979 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

分布式、集群、微服务、SOA 之间的区别

架构设计概念,各服务间隔离(分布式也是隔离),自治(分布式依赖整体组合)其它特性(单一职责,边界,异步通信,独立部署)是分布式概念的跟严格执行SOA到微服务架构的演进过程。:业务系统分解为多个组件,让每个组件都独立提供离散,自治,可复用的服务能力,通过服务的组合和编排来实现上层的业务流程。:一个业务分拆多个子业务,部署在不同的服务器上。作用:各服务可独立应用,组合服务也可系统应用。作用:简化维护,降低整体风险,伸缩灵活。:同一个业务,部署在多个服务器上。:不同模块部署在不同服务器上。
转载
发布博客 2023.09.04 ·
98 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Redis的缓存穿透,缓存击穿,缓存雪崩

缓存穿透说简单点就是大量请求的 key 是不合理的,根本不存在于缓存中,也不存在于数据库中。这就导致这些请求直接到了数据库上,根本没有经过缓存这一层,对数据库造成了巨大的压力,可能直接就被这么多请求弄宕机了。eg:某个黑客故意制造一些非法的 key 发起大量请求,导致大量请求落到数据库,结果数据库上也没有查到对应的数据。也就是说这些请求最终都落到了数据库上,对数据库造成了巨大的压力。
原创
发布博客 2023.08.31 ·
537 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

数据库设计的六个基本步骤

按照规范设计的方法,考虑数据库及其应用系统开发全过程,可将数据库设计分为以下6个阶段,分别为:1.需求分析,2.概念结构设计,3.逻辑结构设计,4.物理结构设计,5.数据库实施,6.数据库的运行和维护。数据库设计通常分为6个阶段1(1需求分析:分析用户的需求,包括数据、功能和性能需求;2概念结构设计:主要采用E-R模型进行设计,包括画E-R图;3逻辑结构设计:通过将E-R图转换成表,实现从E-R模型到关系模型的转换;4数据库物理设计:主要是为所设计的数据库选择合适的存储结构和存取路径;
原创
发布博客 2023.08.31 ·
9830 阅读 ·
10 点赞 ·
0 评论 ·
83 收藏

索引失效的七种情况

以上这些情况都可能导致数据库查询时无法有效地使用索引,从而影响查询性能。为了避免索引失效,需要优化查询语句,合理设计索引,尽量避免上述情况的出现。
原创
发布博客 2023.08.30 ·
9845 阅读 ·
1 点赞 ·
0 评论 ·
17 收藏

Mybatis-plus 主键生成策略

自定义输入策略Mybatis-Plus 内置了如下数据库主键序列(如果内置支持不满足你的需求,可实现 IKeyGenerator 接口来进行扩展):使用方法首先添加@Bean@Bean然后实体类配置主键 Sequence,指定主键策略为 IdType.INPUT 即可,@Data。
原创
发布博客 2023.08.30 ·
8536 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

synchronized与ReentrantLock的区别

底层实现:synchronized是jvm层面的锁,Reentrantlock是api层面的锁释放:synchronized不需要手动释放,Reentrantlock需要unlock()方法释放是否可中断:synchronized不可中断;Reentrantlock可使用trylock中断是否为公平锁:synchronized为非公平锁,Reentrantlock可选择锁的对象:synchronized锁的是对象(代码块,静态方法,实例方法);Reentrantlock锁的是线程。
原创
发布博客 2023.08.30 ·
140 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

H5唤起APP指南

前一段时间在做电流App H5页面,需求中落地页占比较大,落地页承担的职责就是引流。引流有两种形式,同时也是我们对唤端的定义:引导已下载用户打开APP,引导未下载用户下载APP。引导已下载用户打开APP,从数据上说用户停留在APP中的时间更多了,是在提高用户粘性;从体验上说,APP体验是要比H5好的。引导未下载用户下载APP,可以增加我们的用户量。上面其实分别解释了 什么是唤端 以及 为什么要...
转载
发布博客 2019.10.30 ·
907 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

队列---顺序队列存储结构的不足(假溢出)

我们假设一个队列有n个元素,则顺序存储的队列需建立一个大于n的数组,并把队列的所有元素存储在数组的前n个单元,数组下标为0的一端即是队头。所谓的入队列操作,其实就是在队尾追加一个元素,不需要移动任何元素,因此时间复杂度为0(1)。可有时想想,为什么出队列时一定要全部移动呢,如果不去限制队列的元素必须存储在数组的前n个单元这一条件,出队的性能就会大大增加。也就是说,队头不需要一定在下标为0的位置...
转载
发布博客 2019.08.01 ·
2249 阅读 ·
5 点赞 ·
0 评论 ·
5 收藏

Java 实现单例模式的5种方式

1. 什么是单例模式单例模式指的是在应用整个生命周期内只能存在一个实例。单例模式是一种被广泛使用的设计模式。他有很多好处,能够避免实例对象的重复创建,减少创建实例的系统开销,节省内存。2. 如何实现单例模式1. 饿汉模式所谓饿汉模式就是立即加载,一般情况下再调用getInstancef方法之前就已经产生了实例,也就是在类加载的时候已经产生了。这种模式的缺点很明显,就是占用资源,当单...
转载
发布博客 2019.07.19 ·
411 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

《提问的智慧》——如何更高效的提问和解决问题

不知道你们有没有遇到过,在技术群里有人问了一个问题,比如jar包为什么找不到了,或者直接截了一大串图。这样让想解决问题的人,往往感到很头疼,因为他们需要花大量的时间来定位,“他”想解决什么问题?《提问的智慧》可以很好地解决这痛点。接下来给大家分享一下我的一个小小的体会。一,在提问之前1. 尝试在你准备提问的论坛的旧文章中搜索答案。2. 尝试上网搜索以找到答案。3. 尝试阅读手册...
原创
发布博客 2019.07.19 ·
1004 阅读 ·
1 点赞 ·
0 评论 ·
3 收藏

阿里面试回来,想和Java程序员谈一谈(转)

引言其实本来真的没打算写这篇文章,主要是LZ得记忆力不是很好,不像一些记忆力强的人,面试完以后,几乎能把自己和面试官的对话都给记下来。LZ自己当初面试完以后,除了记住一些聊过的知识点以外,具体的内容基本上忘得一干二净,所以写这篇文章其实是很有难度的。但是,最近问LZ的人实在是太多了,为了避免重复回答,给自己省点力气,干脆就在这里统一回复了。其实之前LZ写过一篇文章,但是那篇文章更多的是...
转载
发布博客 2019.07.18 ·
335 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

如何在 vue 用 RSA加密,java 后端 RSA解密

第一步:安装crypto-js 库npm install crypto-js --save-dev第二步:在Vue项目中导入全局变量import crypto from "crypto";Vue.prototype.$crypto = crypto;第三步:前端页面加密submitLogin() { // key值 let key = CryptoJ...
原创
发布博客 2019.07.18 ·
2797 阅读 ·
1 点赞 ·
4 评论 ·
3 收藏

IdGenerator 唯一Id生成器

public class IdGenerator { private final static long beginTs = 1483200000000L; private long lastTs = 0L; private long processId; private int processIdBits = 10; private long s...
转载
发布博客 2019.07.16 ·
5994 阅读 ·
0 点赞 ·
0 评论 ·
4 收藏

mysql中的Varchar(255)可以放多少个汉字

在字符集为UTF-8的情况下:MySQL | ver < 4.1: VARCHAR以字节为单位存储,所以假设全部为常用汉字(UTF-83字节编码长度),则VARCHAR(255)共可存放约85个汉字;MySQL | ver >= 4.1:VARCHAR以字符为单位存储,假设输入仍然为常用汉字,则VARCHAR(255)可以存放255个汉字。...
转载
发布博客 2019.07.03 ·
21880 阅读 ·
6 点赞 ·
1 评论 ·
11 收藏

Spring-Boot 热部署加载

Spring DevTools 介绍Spring Boot包括一组额外的工具,可以使应用程序开发体验更加愉快。spring-boot-devtools模块可以包含在任何项目中,它可以节省大量的时间。 想要使用devtools支持,只需将模块依赖关系添加到你的构建中:Maven:dependencies> <dependency> <g...
转载
发布博客 2019.06.24 ·
338 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

MySQL中utf8 和 utf8mb4的区别

一,介绍 MySQL在5.5.3之后增加了这个utf8mb4的编码,mb4就是most bytes 4的意思,专门用来兼容四字节的unicode。好在utf8mb4是utf8的超集,除了将编码改为utf8mb4外不需要做其他转换。当然,为了节省空间,一般情况下使用utf8也就够了。二,内容描述 那上面说了既然utf8能够存下大部分中文汉字,那为什么还要使用utf8m...
转载
发布博客 2019.06.19 ·
242 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏
加载更多