自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 最新学习资源,看者有份,快来领取吧!

Java编程指南的宗旨是:“好的东西要跟大家一起分享,用代码来改变世界!”,小编最近有弄到了不少好的学习资源希望能帮到大家(有几个可是小编花钱买的哦)所有大家要好好利用这...

2018-11-10 12:49:17 356

转载 支付宝一面:多线程事务怎么回滚?说用 @Transactional 可以回去等通知了!

背景介绍1,最近有一个大数据量插入的操作入库的业务场景,需要先做一些其他修改操作,然后在执行插入操作,由于插入数据可能会很多,用到多线程去拆分数据并行处理来提高响应时间,如果有一个线程执行失败,则全部回滚。2,在spring中可以使用@Transactional注解去控制事务,使出现异常时会进行回滚,在多线程中,这个注解则不会生效,如果主线程需要先执行一些修改数据库的操作,当子线程在进行处理出现异...

2023-01-14 11:11:41 354

转载 IntelliJ IDEA快捷键大全 + 动图演示,建议收藏!

来源:blog.csdn.net/weixin_67276852?type=blog本文参考了 IntelliJ IDEA 的官网,列举了IntelliJ IDEA(Windows 版)的所有快捷键。并在此基础上,为 90% 以上的快捷键提供了动图演示,能够直观的看到操作效果。该快捷键共分 16 种,可以方便的按各类查找自己需要的快捷键~~一、构建/编译Ctrl + F9...

2022-06-24 09:41:32 410

转载 isEmpty 和 isBlank 的用法区别,至少一半的人答不上来...

文章来源:https://sourl.cn/dRpJ6b也许你两个都不知道,也许你除了isEmpty/isNotEmpty/isNotBlank/isBlank外,并不知道还有isAnyEmpty/isNoneEmpty/isAnyBlank/isNoneBlank的存在, come on ,让我们一起来探索org.apache.commons.lang3.StringU...

2022-06-23 09:48:11 259

转载 Spring Boot 项目鉴权的 4 种方式

文章介绍了spring-boot中实现通用auth的四种方式,包括 传统AOP、拦截器、参数解析器和过滤器,并提供了对应的实例代码,最后简单总结了下他们的执行顺序。前言最近一直被无尽的业务需求淹没,没时间喘息,终于接到一个能让我突破代码舒适区的活儿,解决它的过程非常曲折,一度让我怀疑人生,不过收获也很大,代码方面不明显,但感觉自己抹掉了 java、Tomcat、Sprin...

2022-06-22 09:28:20 186

转载 为什么有的软件公司宁愿花15k去重招一个应届生,也不愿意加薪5k留住公司老程序员?

很多公司宁愿高价招个新人,也不愿意给老员工加薪,相信这是很多IT圈朋友都遇到过的题。究其原因,有的是企业问题,有的是员工问题,一口君整理了一些网友的回答,希望对初入职场的新手和浸淫职场多年的老鸟有所借启示。三原色yyds老程序员,年龄35岁,月薪25k,要求加薪5k,也就是加完后月薪30k。之所以假设老程序员月薪25k,因为一开口就要求加薪5k的,原薪酬水平肯定不能低了。...

2022-06-21 09:43:57 100

转载 为什么有的软件公司宁愿花15k去重招一个应届生,也不愿意加薪5k留住公司老程序员?...

很多公司宁愿高价招个新人,也不愿意给老员工加薪,相信这是很多IT圈朋友都遇到过的题。究其原因,有的是企业问题,有的是员工问题,一口君整理了一些网友的回答,希望对初入职场的新手和浸淫职场多年的老鸟有所借启示。三原色yyds老程序员,年龄35岁,月薪25k,要求加薪5k,也就是加完后月薪30k。之所以假设老程序员月薪25k,因为一开口就要求加薪5k的,原薪酬水平肯定不能低了。这个假设已经是涨薪20%了...

2022-06-21 09:43:57 62

转载 面试官:引入RabbitMQ后,你如何保证全链路数据100%不丢失?

生产端可靠性投递事务消息机制confirm消息确认机制消息持久化消息入库消费端消息不丢失我们都知道,消息从生产端到消费端消费要经过3个步骤:生产端发送消息到RabbitMQ;RabbitMQ发送消息到消费端;消费端消费这条消息;这3个步骤中的每一步都有可能导致消息丢失,消息丢失不可怕,可怕的是丢失了我们还不知道,所以要有一些措施来保证系统的可靠性。这里的可靠并不是一定就1...

2022-06-20 09:34:43 70

转载 这些设置 就是导致你的IDEA卡爆的原因!

背景昨晚有一次敲完代码运行完程序后,idea非常卡顿,连输入代码都不能进行,因为有点晚并且累了,所有就关了电脑,今天早上再次打开idea,还是一样卡顿。因为idea的试用期明天就到期了,所有就先破解了idea,破解完之后,还是非常流畅的,但是一运行程序就拉胯了,就先百度看一下解决方案,以下几个解决方案试了,基本问题还是没有解决,就在群里问了几个大佬,方案不是重装系统就是换...

2022-06-18 12:07:20 2126

转载 你在 Docker 中跑 MySQL?恭喜你,可以下岗了!

容器的定义:容器是为了解决“在切换运行环境时,如何保证软件能够正常运行”这一问题。目前,容器和 Docker 依旧是技术领域最热门的词语,无状态的服务容器化已经是大势所趋,同时也带来了一个热点问题被大家所争论不以:数据库 MySQL 是否需要容器化?认真分析大家的各种观点,发现赞同者仅仅是从容器优势的角度来阐述 MySQL 需要容器化,几乎没有什么业务场景进行验证自己的观...

2022-06-17 09:50:15 69

转载 我想谈一谈外包,请不要“妖魔化”它。

外包,在我们这个行业是一个很常见的名词,对应着一个特殊的工种。但是我发现很多朋友好像妖魔化了外包,觉得这玩意就是一个“坑”。但是这个问题吧,得去辩证的看。很多人一提到“外包”就是非常的消极,觉得这个人大概是“没救”了。但是外包,真的不好吗?它并不是一味的坏,它坏坏的中还透着一些些的好。说实话,外包的存在还是圆了很多打工人的“大厂梦”,也帮助不少人成功“镀金”。但大家也知道...

2022-06-16 09:45:03 110

转载 面试官:你天天用 Lombok,说说它什么原理?我竟然答不上来…

来源:juejin.im/post/5e54d38a6fb9a07cbf46b3caLombok如何使用功能编译时注解注解处理工具apt定义注解定义注解处理器定义使用注解的类(测试类)相信大家在项目中都使用过Lombok,因为能够简化我们许多的代码,但是该有的功能一点也不少。那么lombok到底是个什么呢,lombok是一个可以通过简单的注解的形式来帮助我们简化消除一些必...

2022-06-15 09:20:03 70

转载 sql里别再用where 1=1了,早晚会出事的!

写在前面 新的同事来之后问我where 1=1 是什么意思,这样没意义啊,我笑了。今天来说明下。where 1=1 先来看一段代码:<selectid="queryBookInfo"parameterType="com.ths.platform.entity.BookInfo"resultType="java.lang.Integer">select...

2022-06-13 09:44:53 1300 1

转载 Spring Boot 启动时自动执行代码的几种方式,还有谁不会??

来源:blog.csdn.net/u011291072/article/details/81813662前言java自身的启动时加载方式Spring启动时加载方式代码测试总结前言目前开发的SpringBoot项目在启动的时候需要预加载一些资源。而如何实现启动过程中执行代码,或启动成功后执行,是有很多种方式可以选择,我们可以在static代码块中实现,也可以在构造方法里实现...

2022-06-10 09:38:17 53

转载 面试官:数据库 int(1) 和 int(10) 有什么区别?

困惑最近遇到个问题,有个表的要加个user_id字段,user_id字段可能很大,于是我提mysql工单alter table xxx ADD user_id int(1)。领导看到我的sql工单,于是说:这int(1)怕是不够用吧,接下来是一通解释。其实这不是我第一次遇到这样的问题了,其中不乏有工作5年以上的老司机。包括我经常在也看到同事也一直使用int(10),感觉用...

2022-06-09 09:20:04 231

转载 BigDecimal使用不当,造成严重事故!

点击关注公众号,Java编程指南文章来源:https://c1n.cn/MSqAy目录背景事故分析总结工具分享背景我们在使用金额计算或者展示金额的时候经常会使用 BigDecimal,也是涉及金额时非常推荐的一个类型。BigDecimal 自身也提供了很多构造器方法,这些构造器方法使用不当可能会造成不必要的麻烦甚至是金额损失,从而引起事故资损。事故接下来我们看下收银台出的...

2022-06-07 10:04:36 116

转载 万里数据库受MySQL制裁或断供

万里数据库受MySQL制裁或断供,开源的也能断供?华为的基于pg,阿里的基于mysql,tidb底层存储基于rocksdb,国内一般要么是基于pg要么是基于mysql。没想到mysql也叛变了?mysql的开源协议对个人用户是免费的,但企业拿mysql源码做修改或者干脆不做修改,而拿来进行商业销售或者转售,就需要花钱向mysql买商业授权。人家可以卖给你,当然也可以不卖给...

2022-05-30 10:03:34 167

转载 面试官:说出Redis 16 个常见使用场景

常见的16种应用场景:缓存、数据共享分布式、分布式锁、全局 ID、计数器、限流、位统计、购物车、用户消息时间线 timeline、消息队列、抽奖、点赞、签到、打卡、商品标签、商品筛选、用户关注、推荐模型、排行榜.1、缓存String类型例如:热点数据缓存(例如报表、明星出轨),对象缓存、全页缓存、可以提升热点数据的访问数据。2、数据共享分布式String 类型,因为 Re...

2022-05-27 09:43:06 208

转载 别再自己瞎写工具类了,Spring Boot 内置工具类应有尽有, 建议收藏!!

断言断言是一个逻辑判断,用于检查不应该发生的情况Assert 关键字在 JDK1.4 中引入,可通过 JVM 参数-enableassertions开启SpringBoot 中提供了 Assert 断言工具类,通常用于数据合法性检查//要求参数object必须为非空(NotNull),否则抛出异常,不予放行//参数 message 参数用于定制异常信息。vo...

2022-05-26 09:37:03 96

转载 一口气说出 6 种实现延时消息的方案

点击关注公众号,实用技术文章及时了解前言延时消息(定时消息)指的在分布式异步消息场景下,生产端发送一条消息,希望在指定延时或者指定时间点被消费端消费到,而不是立刻被消费。延时消息适用的业务场景非常的广泛,在分布式系统环境下,延时消息的功能一般会在下沉到中间件层,通常是 MQ 中内置这个功能或者内聚成一个公共基础服务。本文旨在探讨常见延时消息的实现方案以及方案设计的优缺点。...

2022-05-25 09:36:37 86

转载 代替Navicat,DataGrip 保姆级教程 !

来源https://www.cnblogs.com/zuge/p/7397255.htmlDataGrip使用入门最近看到一款数据库客户端工具,DataGrip,是大名鼎鼎的JetBrains公司出品的,就是那个出品Intellij IDEA的公司。DataGrip是一款数据库管理客户端工具,方便连接到数据库服务器,执行sql、创建表、创建索引以及导出数据等。之前试用的客...

2022-05-23 09:31:23 1671

转载 JVM 内存结构神级讲解!

¶运行时数据区内存是非常重要的系统资源,是硬盘和 CPU 的中间仓库及桥梁,承载着操作系统和应用程序的实时运行。JVM 内存布局规定了 Java 在运行过程中内存申请、分配、管理的策略,保证了 JVM 的高效稳定运行。不同的 JVM 对于内存的划分方式和管理机制存在着部分差异。下图是JVM整体架构,中间部分就是 Java 虚拟机定义的各种运行时数据区域。Java虚...

2022-05-20 09:43:12 83

转载 Java 中的 BigDecimal,80% 的人竟然都用错了。。。

来源:cnblogs.com/zhangyinhua/p/11545305.html一、BigDecimal概述 Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数,但在实际应用中,可能需要对更大或者更小的数进行运算和处理。一般情况下,对于那些不需要准确计算精度的数...

2022-05-19 09:37:14 56

转载 Mybatis超强大的动态 SQL 大全!

读完这篇文章里你能收获到Mybatis动态SQL语句大全Mybatis中如何定义变量Mybatis中如何提取公共的SQL片段1. If 语句需求:根据作者名字和博客名字来查询博客!如果作者名字为空,那么只根据博客名字查询,反之,则根据作者名来查询<!--需求1:根据作者名字和博客名字来查询博客!如果作者名字为空,那么只根据博客名字查询,反之,则根据作者名来查询...

2022-05-18 07:40:21 106

转载 Java接口开发,不用写Controller、Service、Dao、Mapper、XML、VO,自动生成!

今天给小伙伴们介绍一个Java接口快速开发框架-magic-api简介magic-api 是一个基于 Java 的接口快速开发框架,编写接口将通过 magic-api 提供的 UI 界面完成,自动映射为 HTTP 接口,无需定义 Controller、Service、Dao、Mapper、XML、VO 等 Java 对象即可完成常见的 HTTP API 接口开发访问 ht...

2022-05-17 09:27:55 96

转载 Spring Boot + Redis 搞定搜索栏热搜、不雅文字过滤功能

来源:csdn.net/qq_25838777/article/details/109489767使用java和redis实现一个简单的热搜功能,具备以下功能:搜索栏展示当前登陆的个人用户的搜索历史记录,删除个人历史记录用户在搜索栏输入某字符,则将该字符记录下来 以zset格式存储的redis中,记录该字符被搜索的个数以及当前的时间戳 (用了DFA算法,感兴趣的自己百度学...

2022-05-16 09:51:27 72

转载 JVM 基础 - JVM 内存结构

本文主要对JVM 内存结构进行讲解,注意不要和Java内存模型混淆了。¶运行时数据区内存是非常重要的系统资源,是硬盘和 CPU 的中间仓库及桥梁,承载着操作系统和应用程序的实时运行。JVM 内存布局规定了 Java 在运行过程中内存申请、分配、管理的策略,保证了 JVM 的高效稳定运行。不同的 JVM 对于内存的划分方式和管理机制存在着部分差异。下图是 JVM 整体架构...

2022-05-13 09:43:33 173

转载 IDEA 神级插件!效率提升 20 倍!

安装好Intellij idea之后,进行如下的初始化操作,工作效率提升20倍。一. 安装插件1. Codota 代码智能提示插件只要打出首字母就能联想出一整条语句,这也太智能了,还显示了每条语句使用频率。原因是它学习了我的项目代码,总结出了我的代码偏好。如果让它再加上机器学习,人工智能写代码的时代还会远吗?2. Key Promoter X 快捷键提示插件每次都会在右下...

2022-05-12 09:44:13 55

转载 SpringBoot官宣:正式弃用 Java 8

来源:网络Java基线从 Java 8 提升到了 Java 17从Java EE APIs 到 Jakarta EE这个支持被移除依赖升级未来计划参考资料2022年1月20日,Spring官方发布了Spring Boot 3.0.0的第一个里程碑版本M1 。下面一起来来看看Spring Boot 3.0.0 M1版本都有哪些重大变化:Java基线从 Java 8 提升到了...

2022-05-11 09:48:41 72

转载 Spring Boot 中实现跨域的 5 种方式,你一定要知道!

一、为什么会出现跨域问题出于浏览器的同源策略限制。同源策略(Sameoriginpolicy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现。同源策略会阻止一个域的javascript脚本和另外一个域的内容进行交互。所谓同源(即指在同一个域)就...

2022-05-10 09:33:22 42

转载 Redis和MySQL如何保持数据一致性?

在高并发的场景下,大量的请求直接访问Mysql很容易造成性能问题。所以,我们都会用Redis来做数据的缓存,削减对数据库的请求。但是,Mysql和Redis是两种不同的数据库,如何保证不同数据库之间数据的一致性就非常关键了。数据不一致的原因导致数据不一致的原因1、在高并发的业务场景下,数据库大多数情况都是用户并发访问最薄弱的环节。2、所以,就需要使用redis做一个缓冲操...

2022-05-09 09:44:49 163

转载 如何正确使用 ThreadLocal,你真的用对了吗?

前言当多线程访问共享且可变的数据时,涉及到线程间同步的问题,并不是所有时候,都要用到共享数据,所以就需要ThreadLocal出场了。ThreadLocal又称线程本地变量,使用其能够将数据封闭在各自的线程中,每一个ThreadLocal能够存放一个线程级别的变量且它本身能够被多个线程共享使用,并且又能达到线程安全的目的,且绝对线程安全,其用法如下所示:public...

2022-05-08 11:35:51 535

转载 妙用Java8中的“Function”消灭if...else!

转自:业余草在开发过程中经常会使用if...else...进行判断抛出异常、分支处理等操作。这些if...else...充斥在代码中严重影响了代码代码的美观,这时我们可以利用Java 8的Function接口来消灭if...else...。if(...){thrownewRuntimeException("出现异常了");}if(...){...

2022-05-07 09:56:26 101

转载 从 7 分钟到 10 秒,Mybatis 批处理太强了!

这篇文章会一步一步带你从一个新手的角度慢慢揭开批处理的神秘面纱,对于初次写Mybatis批处理的同学可能会有很大的帮助,建议收藏点赞~处理批处理的方式有很多种,这里不分析各种方式的优劣,只是概述 ExecutorType.BATCH 这种的用法,另学艺不精,如果有错的地方,还请大佬们指出更正。问题原因在公司写项目的时候,有一个自动对账的需求,需要从文件中读取几万条数据插入...

2022-05-06 09:37:27 62

转载 公司使用了 6 年的Spring Boot 项目部署方案!打包 + Shell 脚本部署详解,稳的一批!...

本篇和大家分享的是 Spring Boot 打包并结合 Shell 脚本命令部署,重点在分享一个shell 程序启动工具,希望能便利工作;profiles指定不同环境的配置maven-assembly-plugin打发布压缩包分享shenniu_publish.sh程序启动工具linux上使用shenniu_publish.sh启动程序profiles指定不同环境的配置通...

2022-05-05 09:32:00 65

转载 MySQL一张表最多能存多少数据?

MySQL本身并没有对单表最大记录数进行限制,这个数值取决于你的操作系统对单个文件的限制本身。业界流传是500万行。超过500万行就要考虑分表分库了。阿里巴巴《Java 开发手册》提出单表行数超过 500 万行或者单表容量超过 2GB,才推荐进行分库分表。一个简单的 test通过循环给表中插入数据,记录插入条数,并输出到控制台。结果:privatestaticvoid...

2022-05-04 12:03:11 758

转载 Java8 判空新写法!

在文章的开头,先说下NPE问题,NPE问题就是,我们在开发中经常碰到的NullPointerException.假设我们有两个类,他们的UML类图如下图所示在这种情况下,有如下代码user.getAddress().getProvince();这种写法,在user为null时,是有可能报NullPointerException异常的。为了解决这个问题,于是采用下面的写法i...

2022-05-03 12:09:40 58

转载 你见过哪些目瞪口呆的 Java 代码技巧?

导语自从毕业后,今年已经是我工作的第 8 个年头了,我甚至都快忘记了到底是哪年毕业的。从出来,本人一直在做 Java 相关的工作,现在终于有时间坐下来,写一篇关于 Java 写法的一篇文章,来探讨一下如果你真的是一个 Java 程序员,那你真的会写 Java 吗?笔者是一个务实的程序员,故本文绝非扯淡文章,文中内容都是干货,望读者看后,能有所收获。本文不是一个吹嘘的文章,...

2022-05-02 12:28:58 26

转载 Eclipse 都快要跌落神坛了。。

来源:news.ycombinator.com/item?id=2986736丁广辉/CSDN(ID:CSDNnews)1 Eclipse的优势2 弊端明显,逐渐被取代俗话说,工欲善其事,必先利其器,一名好的开发者,必然要有一套好的开发工具,这样才能打造出最好的产品给用户。世界上的IDE种类繁多,要论那个IDE好用,可能有人会选择老牌的Visual Studio 或是Ec...

2022-03-26 08:00:00 319

转载 SpringBoot四大核心组件,你知道几个?

前言先透露一下,四大组件分别是:starter, autoconfigure, CLI 以及actuator。下面我们就来详细介绍一些他们有什么用。一、Spring Boot Starter1.1 Starter的应用示例<dependency><groupId>org.springframework.boot</groupId&g...

2022-03-26 08:00:00 180

空空如也

空空如也

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

TA关注的人

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