09 2022 档案

摘要:如何快速掌握 MySQL? 培养兴趣 兴趣是最好的老师,不论学习什么知识,兴趣都可以极大地提高学习效率。不管学习 MySQL5.7 还是 MySQL8.0 都不例外! 夯实 SQL 基础 计算机领域的技术非常强调基础,刚开始学习可能还认识不到这一点。随着技术应用的深 入,只有有着扎实的基础功底,才能 阅读全文
posted @ 2022-09-29 23:30 程序员小明1024 阅读(74) 评论(0) 推荐(0) 编辑
摘要:正则表达式规则 查看我其他地方的详解:linux正则表达式 正则表达式与系统无关,与语言无关,都是统一规则 java使用 常规用法一 public static void main(String[] args) { String reg = "[a-z]+[0-9]+"; Pattern p = P 阅读全文
posted @ 2022-09-29 23:26 程序员小明1024 阅读(347) 评论(0) 推荐(0) 编辑
摘要:前言 ShardingSphere,大家多少都有听过吧,Apache顶级项目,国内大佬的巨作,Java中用的最多的一个分库分表框架,如果你们的系统中需要分库分表,强烈建议使用,完全可以满足你的所有需求。 本文并不会介绍什么是分库分表,而是通过大量案例,让你了解ShardingSphere可以做什么? 阅读全文
posted @ 2022-09-29 22:55 程序员小明1024 阅读(1977) 评论(0) 推荐(1) 编辑
摘要:在 openFeign 未出现前,Spring 提供了 RestTemplate 作为远程服务调用的客户端,提供了多种便捷访问远程 Http 服务的方法,能够大大提高客户端的编写效率。由于文章内容会使用到 RestTemplate,所以这里就简单说下。 一讲到服务调用,我们肯定会联想到服务的路由与负 阅读全文
posted @ 2022-09-29 22:34 程序员小明1024 阅读(484) 评论(0) 推荐(0) 编辑
摘要:一、为什么需要服务网关: 1、什么是服务网关: 传统的单体架构中只需要开放一个服务给客户端调用,但是微服务架构中是将一个系统拆分成多个微服务,如果没有网关,客户端只能在本地记录每个微服务的调用地址,当需要调用的微服务数量很多时,它需要了解每个服务的接口,这个工作量很大。那有了网关之后,能够起到怎样的 阅读全文
posted @ 2022-09-29 22:31 程序员小明1024 阅读(489) 评论(0) 推荐(0) 编辑
摘要:一、什么是注册中心: 我们知道微服务彼此间独立部署、具有清晰的边界,服务间通过远程调用来构建复杂的业务功能。而服务册中心在微服务项目中扮演着非常重要的角色,那么注册中心又是什么,使用服务注册中心可以解决微服务中的哪些问题呢? 1、什么是注册中心: 注册中心是微服务架构中的纽带,类似于“通讯录”,它记 阅读全文
posted @ 2022-09-29 22:27 程序员小明1024 阅读(304) 评论(0) 推荐(0) 编辑
摘要:上篇文章介绍了 Nacos 作为注册中心的用法,除此之外,Nacos 还能作为配置中心使用,那这篇文章就介绍下 Nacos 作为配置中心的基本用法,首先我们先了解下为什么需要使用配置中心。 一、为什么需要配置中心: 在没有配置中心之前,传统应用配置的存在以下痛点: (1)采用本地静态配置,无法保证实 阅读全文
posted @ 2022-09-29 22:25 程序员小明1024 阅读(1024) 评论(0) 推荐(0) 编辑
摘要:这是我参与11月更文挑战的第4天,活动详情查看:2021最后一次更文挑战 Spring Security简介 Spring Security 是一种高度自定义的安全框架,利用(基于)SpringIOC/DI和AOP功能,为系统提供了声明式安全访问控制功能,减少了为系统安全而编写大量重复代码的工作。 阅读全文
posted @ 2022-09-29 22:00 程序员小明1024 阅读(121) 评论(0) 推荐(1) 编辑
摘要:作者:db匠https://yq.aliyun.com/articles/72501前言MySQL在2016年仍然保持强劲的数据库流行度增长趋势。越来越多的客户将自己的应用建立在MySQL数据库之上,甚至是从Oracle迁移到MySQL上来。但也存在部分客户在使用MySQL数据库的过程中遇到一些比如 阅读全文
posted @ 2022-09-29 21:38 程序员小明1024 阅读(53) 评论(0) 推荐(0) 编辑
摘要:前言 动态代理应用非常的广泛,在各种开源的框架中都能看到他们的身影,比如spring中的aop使用动态代理增强,mybatis中使用动态代理生成mapper,动态代理主要有JDK和CGLIB两种方式,今天来学习下这两种方式的实现,以及它们的优缺点 动态代理:是使用反射和字节码的技术,在运行期创建指定 阅读全文
posted @ 2022-09-28 22:59 程序员小明1024 阅读(229) 评论(0) 推荐(0) 编辑
摘要:目录 前言 代码与实现 结语 前言 相信很多系统里都有这一种场景:用户上传Excel,后端解析Excel生成相应的数据,校验数据并落库。这就引发了一个问题:如果Excel的行非常多,或者解析非常复杂,那么解析+校验的过程就非常耗时。 如果接口是一个同步的接口,则非常容易出现接口超时,进而返回的校验错 阅读全文
posted @ 2022-09-28 22:43 程序员小明1024 阅读(69) 评论(0) 推荐(0) 编辑
摘要:链接:https://www.cnblogs.com/bananaaa/p/7774467.htmllinux 命令是对 Linux 系统进行管理的命令。对于 Linux 系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件, Linux 系统管理的命令是它正常运行的核心,与 阅读全文
posted @ 2022-09-28 22:30 程序员小明1024 阅读(78) 评论(0) 推荐(0) 编辑
摘要:在程序开发的过程中,程序员会经常对源代码以及库文件进行代码对比,在这篇文章里我们向大家介绍7款程序员常用的代码比较工具。 一、WinMerge WinMerge是一款运行于Windows系统下的文件比较和合并工具,使用它可以非常方便地比较多个文档内容,适合程序员或者经常需要撰写文稿的朋友使用。 Wi 阅读全文
posted @ 2022-09-28 22:12 程序员小明1024 阅读(119) 评论(0) 推荐(0) 编辑
摘要:在前面的文章中,截止到 微服务系列:分布式日志 ELK 搭建指南 这篇,我们终于算是将微服务系列给基本学完了,一时间难以决定接下来要写些什么东西。 想了想还是决定写几篇 Linux 相关命令的文章,毕竟平时也经常去 Linux 服务器上部署项目,你可能会问,部署这块不应该是运维的工作嘛?不好意思,小 阅读全文
posted @ 2022-09-28 21:58 程序员小明1024 阅读(89) 评论(0) 推荐(0) 编辑
摘要:在日常数据库设计中,几乎每张业务表都带有一个日期列,用于记录每条记录产生和变更的时间。比如用户表会有一个日期列记录用户注册的时间、用户最后登录的时间。又比如,电商行业中的订单表(核心业务表)会有一个订单产生的时间列,当支付时间超过订单产生的时间,这个订单可能会被系统自动取消。 日期类型虽然常见,但在 阅读全文
posted @ 2022-09-28 21:55 程序员小明1024 阅读(94) 评论(0) 推荐(0) 编辑
摘要:前言 Linux 的学习对于一个程序员的重要性是不言而喻的。前端开发相比后端开发,接触 Linux 机会相对较少,因此往往容易忽视它。但是学好它却是程序员必备修养之一。 如果本文对你有所帮助,请点个👍 吧。 作者使用的是阿里云服务器 ECS (最便宜的那种) CentOS 7.7 64位。当然你也 阅读全文
posted @ 2022-09-28 21:53 程序员小明1024 阅读(70) 评论(0) 推荐(0) 编辑
摘要:前言 大家好,我是捡田螺的小男孩。 平时我们写代码呢,多数情况都是流水线式写代码,基本就可以实现业务逻辑了。如何在写代码中找到乐趣呢,我觉得,最好的方式就是:使用设计模式优化自己的业务代码。今天跟大家聊聊日常工作中,我都使用过哪些设计模式。 干货公众号:捡田螺的小男孩 我的github地址,感谢给个 阅读全文
posted @ 2022-09-28 21:38 程序员小明1024 阅读(34) 评论(0) 推荐(0) 编辑
摘要:安装 https://docs.docker.com/engine/install/ 装ce(社区版)就可以 启动命令 启动docker systemctl start docker 关闭docker systemctl stop docker 重启docker systemctl restart 阅读全文
posted @ 2022-09-28 21:29 程序员小明1024 阅读(453) 评论(0) 推荐(0) 编辑
摘要:前景在项目开发中往往需要使用到数据的导入和导出,导入就是从Excel中导入到DB中,而导出就是从DB中查询数据然后使用POI写到Excel上。写本文的背景是因为在工作中遇到了大数据的导入和导出,问题既然来了逃跑不如干掉它!!!只要这一次解决了,后期遇到同样的问题就好解决了。废话不多说,开始撸起来!! 阅读全文
posted @ 2022-09-28 21:23 程序员小明1024 阅读(555) 评论(0) 推荐(0) 编辑
摘要:文件上传与下载在Web应用中是一个比较常见的功能。在本教程中,我将基于Spring 2.2.6版本实现一个基于Restful风格的文件上传与下载APIs。 基于Spring Boot 2.0实战系列源码已经Push到Github仓库:github.com/ramostear/s… 。感兴趣朋友欢迎S 阅读全文
posted @ 2022-09-27 23:59 程序员小明1024 阅读(158) 评论(0) 推荐(0) 编辑
摘要:“ 今天无聊带大家分析下ThreadLocal为什么会内存泄漏~ 前言 使用 ThreadLocal 不当可能会导致内存泄露,是什么原因导致的内存泄漏呢? 正文 我们首先看一个例子,代码如下: public class ThreadLocalOutOfMemoryTest { static clas 阅读全文
posted @ 2022-09-27 23:49 程序员小明1024 阅读(26) 评论(0) 推荐(0) 编辑
摘要:分享一个网上找的开源的Java 图形验证码项目EasyCaptcha 先来个福利图看看 1.简介 Java图形验证码,支持gif、中文、算术等类型,可用于Java Web、JavaSE等项目。 2.效果展示 算术类型: 中文类型: 内置字体: 3.导入项目 3.1.gradle方式的引入 depen 阅读全文
posted @ 2022-09-27 23:44 程序员小明1024 阅读(158) 评论(0) 推荐(0) 编辑
摘要:金九银十跳槽季-JAVA经典算法40例 程序猿木大大 程序猿木大大 程序猿木大大 微信号 gh_b6922c845b6b 功能介绍 Java知音 ,专注于Java后端技术,每天推送优质技术文章,精彩视频教程以及项目源码下载,致力做一个实用的公众号。 2020-10-10 11:36 发表于 收录于合 阅读全文
posted @ 2022-09-27 23:38 程序员小明1024 阅读(21) 评论(0) 推荐(0) 编辑
摘要:在实际开发中,我们通常会用到maven的archetype插件(原型框架)来生成项目框架。但是无奈,创建时,总会卡在 [INFO] Generating project in Batch mode 复制代码 等很久才构建完,有时还会报错,导致构建失败! 不多废话了,直接上解决办法吧: 解决办法1 在 阅读全文
posted @ 2022-09-27 23:33 程序员小明1024 阅读(207) 评论(0) 推荐(0) 编辑
摘要:springboot进行事件监听有四种方式: 手工向ApplicationContext中添加监听器 将监听器装载入spring容器 在application.properties中配置监听器 通过@EventListener注解实现事件监听 讲到事件监听,这里我们说下自定义事件和自定义监听器类的实 阅读全文
posted @ 2022-09-27 23:29 程序员小明1024 阅读(1040) 评论(0) 推荐(0) 编辑
摘要:在spring boot项目中,可以通过@EnableScheduling注解和@Scheduled注解实现定时任务,也可以通过SchedulingConfigurer接口来实现定时任务。但是这两种方式不能动态添加、删除、启动、停止任务。要实现动态增删启停定时任务功能,比较广泛的做法是集成Quart 阅读全文
posted @ 2022-09-27 23:24 程序员小明1024 阅读(506) 评论(0) 推荐(0) 编辑
摘要:前言 在前后端分离的开发模式下,前端用户登录成功后后端服务会给用户颁发一个jwt token。前端(如vue)在接收到jwt token后会将token存储到LocalStorage中。 后续每次请求都会将此token放在请求头中传递到后端服务,后端服务会有一个过滤器对token进行拦截校验,校验t 阅读全文
posted @ 2022-09-27 23:19 程序员小明1024 阅读(497) 评论(0) 推荐(0) 编辑
摘要:前言 工作了四年,看过很多思考不够深入的代码,因此写一下总结吧,50个让你代码更好的建议。其中的一些点,我以前的文章也写过啦,这次主要汇总一下。希望大家日常写代码多点思考,多点总结,加油!同时哪里有不对的,也望指出,感谢哈~ 公众号:捡田螺的小男孩 github地址:github.com/whx12 阅读全文
posted @ 2022-09-27 23:14 程序员小明1024 阅读(107) 评论(0) 推荐(0) 编辑
摘要:大家好,我是指北君。 在本文中,我们来学习如何用Zip4j库创建受密码保护的压缩文件并将其解压。 依赖 让我们先把 zip4j​ 依赖关系添加到我们的 pom.xml 文件中。 复制 <dependency> <groupId>net.lingala.zip4j</groupId> <artifac 阅读全文
posted @ 2022-09-27 22:21 程序员小明1024 阅读(464) 评论(0) 推荐(0) 编辑
摘要:小伙伴们有木有这种感觉:假期还没怎么玩就已经过去了?好吧,其实,冰河也有这种感觉:假期还没开始就已经结束了。哎,我们还是把心收回来,好好工作吧! 国庆期间有小伙伴问我:冰河,你有啥好的学习资源或者网站没?分享一下可以吗?这不,我趁着国庆假期给大家整理了一波,走起~~ 建议收藏,悄悄努力,然后惊艳所有 阅读全文
posted @ 2022-09-27 22:06 程序员小明1024 阅读(624) 评论(0) 推荐(0) 编辑
摘要:Debug用来追踪代码的运行流程,通常在程序运行过程中出现异常,启用Debug模式可以分析定位异常发生的位置,以及在运行过程中参数的变化。通常我们也可以启用Debug模式来跟踪代码的运行流程去学习三方框架的源码。 所以学习下如何在Intellij IDEA中使用好Debug,主要包括如下内容: 一、 阅读全文
posted @ 2022-09-25 23:45 程序员小明1024 阅读(44) 评论(0) 推荐(0) 编辑
摘要:在实际项目使用中,必须要考虑服务的安全性,当服务部署到互联网以后,就要考虑服务被恶意请求和暴力攻击的情况,下面的教程,通过intercept和redis针对url+ip在一定时间内访问的次数来将ip禁用,可以根据自己的需求进行相应的修改,来打打自己的目的; 首先工程为springboot框架搭建,不 阅读全文
posted @ 2022-09-25 23:29 程序员小明1024 阅读(49) 评论(0) 推荐(0) 编辑
摘要:这几天研究mysql优化中查询效率时,发现测试的数据太少(10万级别),利用 EXPLAIN 比较不同的 SQL 语句,不能够得到比较有效的测评数据,大多模棱两可,不敢通过这些数据下定论。 所以通过随机生成人的姓名、年龄、性别、电话、email、地址 ,向mysql数据库大量插入数据,便于用大量的数 阅读全文
posted @ 2022-09-25 23:22 程序员小明1024 阅读(395) 评论(0) 推荐(0) 编辑
摘要:java 中对自定义注解的说明请参见: http://www.cnblogs.com/peida/archive/2013/04/24/3036689.html http://www.cnblogs.com/peida/archive/2013/04/26/3038503.html 有这样一个场景, 阅读全文
posted @ 2022-09-25 23:02 程序员小明1024 阅读(64) 评论(0) 推荐(0) 编辑
摘要:点击上方蓝色字体,选择“设为星标” 回复”学习资料“获取学习宝典原文:blog.csdn.net/weixin_61594803复制1.SQL数据脱敏实现MYSQL(电话号码,身份证)数据脱敏的实现-- CONCAT()、LEFT()和RIGHT()字符串函数组合使用,请看下面具体实现 -- CON 阅读全文
posted @ 2022-09-25 22:56 程序员小明1024 阅读(537) 评论(0) 推荐(0) 编辑
摘要:电商支付架构设计交易核心支付编排 ------------------------------------------------------------------今天先到这儿,希望对您技术领导力, 企业管理,系统架构设计与评估,团队管理, 项目管理, 产品管理,团队建设 有参考作用 , 您可能感 阅读全文
posted @ 2022-09-25 22:47 程序员小明1024 阅读(29) 评论(0) 推荐(0) 编辑
摘要:参考博客:EasyCode 下载安装 下载 MyBatisCodeHelperPro插件下载地址:MyBatisCodeHelperPro 安装 Intellij最新插件MybatisCodeHelper-2.8.1-191-201,使用方法IDEA顶部菜单:Tools -> MybatisCode 阅读全文
posted @ 2022-09-25 22:25 程序员小明1024 阅读(949) 评论(0) 推荐(0) 编辑
摘要:点赞再看,动力无限。 微信搜「 程序猿阿朗 」。 本文 Github.com/niumoo/Java… 和 未读代码博客 已经收录,有很多知识点和系列文章。 JSON 对于开发者并不陌生,如今的 WEB 服务、移动应用、甚至物联网大多都是以 JSON 作为数据交换的格式。学习 JSON 格式的操作工 阅读全文
posted @ 2022-09-25 21:39 程序员小明1024 阅读(281) 评论(0) 推荐(0) 编辑
摘要:下面介绍一些 Vim 中常用的一些命令和快捷键。 插入命令 下面的命令是在 命令模式 下进入插入模式所使用的指令。 命令 作用 a 在光标所在的字符后面插入 A 在光标所在的行尾插入 i 在光标所在字符前插入 I 在光标所在行行首插入 o 在光标下插入新行 O 在光标上插入新行 定位命令 命令 作用 阅读全文
posted @ 2022-09-25 21:34 程序员小明1024 阅读(115) 评论(0) 推荐(0) 编辑
摘要:1. 前言 2020 年 JVM 生态报告 可以看出Intellij IDEA 目前已经稳坐 Java IDE 头把交椅。而且统计得出付费用户已经超过了八成(国外统计)。IDEA 的优良设计保证了编程的生产力,也是我情愿为之付费的软件之一。今天把我自己经常用的一些插件拿出来分享一波。 2. IDEA 阅读全文
posted @ 2022-09-25 21:29 程序员小明1024 阅读(1002) 评论(0) 推荐(0) 编辑
摘要:来源:blog.csdn.net/weixin_67276852?type=blog 本文参考了 IntelliJ IDEA 的官网,列举了IntelliJ IDEA(Windows 版)的所有快捷键。并在此基础上,为 90% 以上的快捷键提供了动图演示,能够直观的看到操作效果。 该快捷键共分 16 阅读全文
posted @ 2022-09-25 21:20 程序员小明1024 阅读(383) 评论(0) 推荐(0) 编辑
摘要:因为觉得网络上的 idea 快捷键不够详尽,所以特别编写了此篇文章,方便大家使用 idea O(∩_∩)O~ 其中的英文说明来自于 idea 的官网资料,中文说明主要来自于自己的领会和理解,英文说明只是作为参考。重要的快捷键会附带图示,进行详细的说明。 每一部分会先列出所有的快捷键说明表,如果有不清 阅读全文
posted @ 2022-09-25 21:16 程序员小明1024 阅读(332) 评论(0) 推荐(0) 编辑
摘要:喝水不忘挖井人,感谢阿里巴巴项目组提供了easyexcel工具类,github地址:https://github.com/alibaba/easyexcel 文章目录 环境搭建 读取excel文件 小于1000行数据 默认读取 指定读取 大于1000行数据 默认读取 指定读取 导出excle 单个S 阅读全文
posted @ 2022-09-25 20:58 程序员小明1024 阅读(242) 评论(0) 推荐(0) 编辑
摘要:关注“Java后端技术全栈” 回复“000”获取大量电子书 今天重点来学习Spring Boot项目的7种启动方式。 第一种 也是最常见的本地启动的一种 @SpringBootApplicationpublic class DemoApplication { public static void m 阅读全文
posted @ 2022-09-25 20:52 程序员小明1024 阅读(2655) 评论(0) 推荐(0) 编辑
摘要:大家好,我是飘渺。 网购相信大家一定不陌生,很多小伙伴甚至号称“剁手达人”,今天我们就来聊下电商中的秒杀系统是如何架构? 1 秒杀业务分析 1. 正常电子商务流程 (1)查询商品;(2)创建订单;(3)扣减库存;(4)更新订单;(5)付款;(6)卖家发货 2. 秒杀业务的特性 (1)低廉价格;(2) 阅读全文
posted @ 2022-09-25 20:36 程序员小明1024 阅读(125) 评论(0) 推荐(0) 编辑
摘要:一、docker入门 1、docker的安装及入门示例 环境准备:docker需要安装在centos7 64位系统上;docker要求系统内核在3.10以上 查看系统内核: uname -r 复制代码 安装命令: yum -y install docker-io 复制代码 安装完成后,启动命令 se 阅读全文
posted @ 2022-09-25 20:24 程序员小明1024 阅读(240) 评论(0) 推荐(0) 编辑
摘要:前言 Nacos是阿里巴巴开源的服务注册中心以及配置中心,致力于给开发者提供一款便捷、简单上手的开源框架。 Nacos究竟有什么惊人的地方呢?看下图: 从上图不难看出阿里巴巴的野心,一个Nacos干掉了Spring Cloud的三大组件,分别是注册中心Eureka、服务配置Config,服务总线Bu 阅读全文
posted @ 2022-09-25 20:15 程序员小明1024 阅读(112) 评论(0) 推荐(0) 编辑
摘要:​ 1. Nacos介绍 在讲Nacos之前,先来讲一下服务注册和发现。我们知道,现在微服务架构是目前开发的一个趋势。服务消费者要去调用多个服务提供者组成的集群。这里需要做到以下几点: 服务消费者 需要在本地配置文件中维护服务提供者集群的每个节点的请求地址 。 服务提供者集群中如果某个节点宕机, 服 阅读全文
posted @ 2022-09-25 20:13 程序员小明1024 阅读(191) 评论(0) 推荐(0) 编辑
摘要:这篇文章中介绍下如何使用 JDK 自带工具来分析和定位 Java 程序的问题。 使用 JDK 自带工具查看 JVM 情况 JDK 自带了很多命令行甚至是图形界面工具,帮助我们查看 JVM 的一些信息。比如,在我的机器上运行 ls 命令,可以看到 JDK 8 提供了非常多的工具或程序: 图片 接下来, 阅读全文
posted @ 2022-09-25 20:07 程序员小明1024 阅读(58) 评论(0) 推荐(0) 编辑
摘要:前言 最近在做代码重构,发现了很多代码的烂味道。其他的不多说,今天主要说说那些又臭又长的if...else要如何重构。 在介绍更更优雅的编程之前,让我们一起回顾一下,不好的if...else代码 最近无意间获得一份BAT大厂大佬写的刷题笔记,一下子打通了我的任督二脉,越来越觉得算法没有想象中那么难了 阅读全文
posted @ 2022-09-25 20:00 程序员小明1024 阅读(54) 评论(0) 推荐(0) 编辑
摘要:前言 在庞大的java体系中,spring有着举足轻重的地位,它给每位开发者带来了极大的便利和惊喜。我们都知道spring是创建和管理bean的工厂,它提供了多种定义bean的方式,能够满足我们日常工作中的多种业务场景。 那么问题来了,你知道spring中有哪些方式可以定义bean? 我估计很多人会 阅读全文
posted @ 2022-09-25 19:56 程序员小明1024 阅读(87) 评论(0) 推荐(0) 编辑
摘要:所谓的大事务就是耗时比较长的事务。 Spring有两种方式实现事务,分别是编程式和声明式两种。 不手动开启事务,mysql 默认自动提交事务,一条语句执行完自动提交。 一、大事务产生的原因 操作的数据比较多 调用了 rpc 方法 有其他非 DB 的耗时操作 大量的锁竞争 执行了比较耗时的计算 二、大 阅读全文
posted @ 2022-09-25 19:51 程序员小明1024 阅读(143) 评论(0) 推荐(0) 编辑
摘要:前言 接口性能优化对于从事后端开发的同学来说,肯定再熟悉不过了,因为它是一个跟开发语言无关的公共问题。 该问题说简单也简单,说复杂也复杂。 有时候,只需加个索引就能解决问题。 有时候,需要做代码重构。 有时候,需要增加缓存。 有时候,需要引入一些中间件,比如mq。 有时候,需要需要分库分表。 有时候 阅读全文
posted @ 2022-09-25 19:38 程序员小明1024 阅读(30) 评论(0) 推荐(0) 编辑
摘要:前言 前一段时间,有同事使用ThreadLocal踩坑了,正好引起了我的兴趣。 所以近期,我抽空把ThreadLocal的源码再研究了一下,越看越有意思,发现里面的东西还真不少。 我把精华浓缩了一下,汇集成了下面11个问题,看看你能顶住第几个? 1. 为什么要用ThreadLocal? 并发编程是一 阅读全文
posted @ 2022-09-25 19:34 程序员小明1024 阅读(18) 评论(0) 推荐(0) 编辑
摘要:关注微信技术公众号:CodingTechWork,一起学习进步。 引言 一般在使用定时任务时,我们首先会想到使用@Scheduled注解去给某个任务设置定时时间进行定时执行。当定时任务过多时,或者有增删改查需求时,@Scheduled注解将无法满足我们的需求。本文一起学习总结Quartz定时框架的使 阅读全文
posted @ 2022-09-24 11:05 程序员小明1024 阅读(124) 评论(0) 推荐(0) 编辑
摘要:最为常用定时任务框架是Quartz,并且Spring也集成了Quartz的框架,Quartz不仅支持单实例方式还支持分布式方式。本文主要介绍Quartz,基础的Quartz的集成案例本,以及实现基于数据库的分布式任务管理和控制job生命周期。@pdai SpringBoot定时任务 - 基础quar 阅读全文
posted @ 2022-09-24 11:01 程序员小明1024 阅读(262) 评论(0) 推荐(0) 编辑
摘要:在JAVA中,涉及到对数组、Collection等集合类中的元素进行操作的时候,通常会通过循环的方式进行逐个处理,或者使用Stream的方式进行处理。 例如,现在有这么一个需求: 从给定句子中返回单词长度大于5的单词列表,按长度倒序输出,最多返回3个 在JAVA7及之前的代码中,我们会可以照如下的方 阅读全文
posted @ 2022-09-24 10:58 程序员小明1024 阅读(109) 评论(0) 推荐(0) 编辑
摘要:深入Quartz,优雅地管理你的定时任务 1 初识Quartz 2 Quartz基础使用 2.1 基于时间间隔的定时任务 2.2 基于Cron表达式的定时任务 3 Quartz解读 3.1 Job 3.2 Trigger 3.3 Scheduler 4 Quartz进阶使用 4.1 多触发器的定时任 阅读全文
posted @ 2022-09-24 10:49 程序员小明1024 阅读(179) 评论(0) 推荐(0) 编辑
摘要:SpringAOP + 注解实现日志管理 1. 什么是AOP? AOP(Aspect Orient Programming),翻译过来就是面向切面编程,面向对象编程是将程序抽象成多个层次的对象,面向切面是将程序抽象成多个切面 2. 为什么要使用AOP(场景说明) 在时间开发中,我们有很多模块中会使用 阅读全文
posted @ 2022-09-24 10:43 程序员小明1024 阅读(130) 评论(0) 推荐(0) 编辑
摘要:简介 无论在什么系统中,日志管理模块都属于十分重要的部分,接下来会通过注解+AOP+MQ的方式实现一个简易的日志管理系统 思路 注解: 标记需要记录日志的方法 AOP: 通过AOP增强代码,利用后置/异常通知的方式获取相关日志信息,最后使用MQ将日志信息发送到专门处理日志的系统 RabbitMQ:  阅读全文
posted @ 2022-09-24 10:39 程序员小明1024 阅读(271) 评论(0) 推荐(0) 编辑
摘要:一、简介在实际的项目开发过程中,我们经常需要将某些变量从代码里面抽离出来,放在配置文件里面,以便更加统一、灵活的管理服务配置信息。比如,数据库、eureka、zookeeper、redis、mq、kafka 等服务组件的连接参数配置,还有我们自定义的项目参数配置变量。当然,实际上根据当前的业务需求, 阅读全文
posted @ 2022-09-24 01:32 程序员小明1024 阅读(190) 评论(0) 推荐(0) 编辑
摘要:本文收录在个人博客:www.chengxy-nds.top,共享技术资源,共同进步 周末有个小伙伴加我微信,向我请教了一个问题:老哥,「过滤器 (Filter) 和 拦截器 (Interceptor) 有啥区别啊?」 听到题目我的第一感觉就是:「简单」! 毕竟这两种工具开发中用到的频率都相当高,应用 阅读全文
posted @ 2022-09-24 01:12 程序员小明1024 阅读(207) 评论(0) 推荐(0) 编辑
摘要:本文已参与「新人创作礼」活动,一起开启掘金创作之路。 写在前面 今天,和一位前辈聊了聊实习的事,关于java后端开发的几个问题,真的是被虐的很惨啊(理解和能讲明白完全就是两回事啊) 其中,最沙雕的是,我竟然单纯的以为过滤器(Filter)和 拦截器(Interceptor)是一个东西,然后前辈当场就 阅读全文
posted @ 2022-09-24 01:02 程序员小明1024 阅读(383) 评论(0) 推荐(0) 编辑
摘要:一、Filter 的基本工作原理 1、Filter 程序是一个实现了特殊接口的 Java 类,与 Servlet 类似,也是由 Servlet 容器进行调用和执行的。 2、当在 web.xml 注册了一个 Filter 来对某个 Servlet 程序进行拦截处理时,它可以决定是否将请求继续传递给 S 阅读全文
posted @ 2022-09-24 00:45 程序员小明1024 阅读(104) 评论(0) 推荐(0) 编辑
摘要:引言 在持久化数据对象的时候我们很少使用Java序列化,而是使用数据库等方式来实现。但是在我看来,Java 序列化是一个很重要的内容,序列化不仅可以保存对象到磁盘进行持久化,还可以通过网络传输。在平时的面试当中,序列化也是经常被谈及的一块内容。 谈到序列化时,大家可能知道将类实现Serializab 阅读全文
posted @ 2022-09-23 00:11 程序员小明1024 阅读(36) 评论(0) 推荐(0) 编辑
摘要:导读 最近这段时间一直在忙着编写Java业务代码,麻木地搬着Ctrl-C、Ctrl-V的砖,在不知道重复了多少次定义Java实体对象时“implements Serializable”的C/V大法后,脑海中突然冒出一个思维(A):问了自己一句“**Java实体对象为什么一定要实现Serializab 阅读全文
posted @ 2022-09-23 00:04 程序员小明1024 阅读(115) 评论(0) 推荐(0) 编辑
摘要:最近公司的在做服务化, 需要把所有model包里的类都实现Serializable接口, 同时还要显示指定serialVersionUID的值. 听到这个需求, 我脑海里就突然出现了好几个问题, 比如说:序列化和反序列化是什么?实现序列化和反序列化为什么要实现Serializable接口?实现Ser 阅读全文
posted @ 2022-09-22 23:54 程序员小明1024 阅读(134) 评论(0) 推荐(0) 编辑
摘要:大家好,我是飘渺。今天我们来看看如何通过AOP来防止重复提交 哪些因素会引起重复提交? 开发的项目中可能会出现下面这些情况: 前端下单按钮重复点击导致订单创建多次 网速等原因造成页面卡顿,用户重复刷新提交请求 黑客或恶意用户使用postman等http工具重复恶意提交表单 重复提交会带来哪些问题? 阅读全文
posted @ 2022-09-22 23:47 程序员小明1024 阅读(735) 评论(0) 推荐(0) 编辑
摘要:目录 理解AOP 什么是AOP AOP体系与概念 AOP实例 第一个实例 第二个实例 AOP相关注解 @Pointcut @Around @Before @After @AfterReturning @AfterThrowing 1 理解AOP 1.1 什么是AOP AOP(Aspect Orien 阅读全文
posted @ 2022-09-22 23:44 程序员小明1024 阅读(339) 评论(0) 推荐(0) 编辑
摘要:通过自定义枚举注解 @EnumValidator(value = SexEnums.class), private Integer sex; 就可以校验入参值必须在指定枚举类中 原创:https://www.jianshu.com/p/32f0d6e3afbb 目录 自定义枚举校验注解 使用枚举校验 阅读全文
posted @ 2022-09-22 23:41 程序员小明1024 阅读(682) 评论(0) 推荐(0) 编辑
摘要:最简洁、最少侵入实现接口入参校验 原创:https://www.jianshu.com/p/a9e96e815b53 目录 实现入参校验Aop 使用入参校验Aop 演示 附 实现入参校验Aop 1.定义一个入参基类 package com.param.validate.aop; /** * 基础请求 阅读全文
posted @ 2022-09-22 23:39 程序员小明1024 阅读(424) 评论(0) 推荐(0) 编辑
摘要:在每次请求中打出的每条日志中添加统一的请求唯一标识。通过搜索日志唯一标识,这样就可以非常高效 精准排查问题;例如: 2018-12-21 10:21:26.329 [http-nio-8080-exec-2] [my-server-logtag] [] INFO org.springframewor 阅读全文
posted @ 2022-09-22 23:32 程序员小明1024 阅读(265) 评论(0) 推荐(0) 编辑
摘要:当你的项目如果不允许明文存储敏感数据(例如身份证号、银行卡号,手机号等),那么每次存之前都要先将相关敏感字段数据加密、读取出来都要将相应敏感字段的数据解密,这种方式低效、代码臃肿,容易出错。固本文推荐用Aop切面,通过简单注解即可完成加解密工作。用法大致如下: @Override @EncryptM 阅读全文
posted @ 2022-09-22 23:24 程序员小明1024 阅读(887) 评论(0) 推荐(0) 编辑
摘要:本文介绍一种极简洁、灵活通用接口防刷实现方式、通过在需要防刷的方法加上@Prevent 注解即可实现短信防刷; 使用方式大致如下: /** * 测试防刷 * * @param request * @return */ @ResponseBody @GetMapping(value = "/testP 阅读全文
posted @ 2022-09-22 23:20 程序员小明1024 阅读(112) 评论(0) 推荐(1) 编辑
摘要:本篇是1000期面试系列文章的第344期,持续更新中.....回复“面试”获取优质面试资源!500多页《后端面试小笔记》,牛逼!前言在应用开发的早期,数据量少,开发人员开发功能时更重视功能上的实现,随着生产数据的增长,很多 SQL 语句开始暴露出性能问题,对生产的影响也越来越大,有时可能这些有问题的 阅读全文
posted @ 2022-09-22 23:07 程序员小明1024 阅读(98) 评论(0) 推荐(0) 编辑
摘要:一、为什么用自增列作为主键 1、如果我们定义了主键(PRIMARY KEY),那么InnoDB会选择主键作为聚集索引。 如果没有显式定义主键,则InnoDB会选择第一个不包含有NULL值的唯一索引作为主键索引。 如果也没有这样的唯一索引,则InnoDB会选择内置6字节长的ROWID作为隐含的聚集索引 阅读全文
posted @ 2022-09-22 22:45 程序员小明1024 阅读(65) 评论(0) 推荐(0) 编辑
摘要:面试官在面试候选人时,如果发现候选人的简历中写了在项目中使用了 MQ 技术(如 Kafka、RabbitMQ、RocketMQ),基本都会抛出一个问题:在使用 MQ 的时候,怎么确保消息 100% 不丢失? 这个问题在实际工作中很常见,既能考察候选者对于 MQ 中间件技术的掌握程度,又能很好地区分候 阅读全文
posted @ 2022-09-22 22:42 程序员小明1024 阅读(141) 评论(0) 推荐(0) 编辑
摘要:“我报名参加金石计划1期挑战——瓜分10万奖池,这是我的第2篇文章,点击查看活动详情” 前言 大家好,我是小郭,今天我们主要来说一说List操作在实际使用中有哪些坑,以及面对这些坑的时候我们要怎么解决。 1. Arrays.asList转换基本类型数组的坑 在实际的业务开发中,我们通常会进行数组转L 阅读全文
posted @ 2022-09-22 22:34 程序员小明1024 阅读(50) 评论(0) 推荐(0) 编辑
摘要:大家好,我是楼仔! Java 后端面试的时候,面试官经常会问到 @Transactional 的原理,以及容易踩的坑,之前一面百度,就遇到过,今天就带大家把这几块知识吃透。 这篇文章,会先讲述 @Transactional 的 4 种不生效的 Case,然后再通过源码解读,分析 @Transacti 阅读全文
posted @ 2022-09-22 22:28 程序员小明1024 阅读(61) 评论(0) 推荐(0) 编辑
摘要:+ 目录 mybatis注解之@Mapper和@MapperScan 方式一:使用@Mapper注解 方式二:使用@MapperScan注解 @MapperScan和@Mapper区别及理解 作用 扫描一个包 扫描多个包 mybatis注解之@Mapper和@MapperScan 在使用Mybati 阅读全文
posted @ 2022-09-19 00:01 程序员小明1024 阅读(3649) 评论(0) 推荐(0) 编辑
摘要:前言 本文通过图示及代码的方式介绍用户登录流程及技术实现,内容包括用户登录,用户验证,如何获取操作用户的信息以及一些黑名单及匿名接口如何免验证相关的实现。 结合网关相关知识食用更佳 业务图解 对于用户登录来说、涉及到了用户注册、登录验证几个方面,通过流程图演示如何处理(新用户/老用户)登录 流程解读 阅读全文
posted @ 2022-09-18 23:45 程序员小明1024 阅读(837) 评论(0) 推荐(0) 编辑
摘要:大家好,我是小富~ 本篇给大家带来的是微服务框架中非常重要的一个组件:API 网关。 前言 在 PassJava 项目中,我用到了 Spring Cloud Gateway 作为 API 网关,客户端的所有的请求都是先经过网关,然后再转发到会员微服务、题目微服务等。 比如 API 网关和会员微服务对 阅读全文
posted @ 2022-09-18 23:40 程序员小明1024 阅读(175) 评论(0) 推荐(0) 编辑
摘要:大家好,我是楼仔! Java 后端面试的时候,面试官经常会问到 @Transactional 的原理,以及容易踩的坑,之前一面百度,就遇到过,今天就带大家把这几块知识吃透。 这篇文章,会先讲述 @Transactional 的 4 种不生效的 Case,然后再通过源码解读,分析 @Transacti 阅读全文
posted @ 2022-09-18 23:35 程序员小明1024 阅读(73) 评论(0) 推荐(0) 编辑
摘要:Reference [1] zhuanlan.zhihu.com/p/99334096, 本文主要借鉴该篇文章,如有侵权,联系删除 [2] refactoringguru.cn/design-patt… [3] c.biancheng.net/view/1383.h… 什么是责任链 责任链模式是一种 阅读全文
posted @ 2022-09-18 23:30 程序员小明1024 阅读(90) 评论(0) 推荐(0) 编辑
摘要:RocketMQ消息丢失场景及解决办法 既然使用在项目中使用了MQ,那么就不可避免的需要考虑消息丢失问题。在一些涉及到了金钱交易的场景下,消息丢失还是很致命的。那么在RocketMQ中存在哪几种消息丢失的场景呢? 先来一张最简单的消费流程图: 在这里插入图片描述 上图中大致包含了这么几种场景: 生产 阅读全文
posted @ 2022-09-18 23:26 程序员小明1024 阅读(148) 评论(0) 推荐(0) 编辑
摘要:思维导图如下 RBAC权限分析 RBAC 全称为基于角色的权限控制,本段将会从什么是RBAC,模型分类,什么是权限,用户组的使用,实例分析等几个方面阐述RBAC 思维导图 绘制思维导图如下 什么是RBAC RBAC 全称为用户角色权限控制,通过角色关联用户,角色关联权限,这种方式,间阶的赋予用户的权 阅读全文
posted @ 2022-09-18 23:05 程序员小明1024 阅读(46) 评论(0) 推荐(0) 编辑
摘要:文章目录 一. 怎么开启断点调试? 二. 调试界面咋那么多按钮? 1.返回断点位置 2.步过 3.步入 4,5.强制步入,步出 6.回退断点 7.断点跳到光标处 8.表达式计算 9.恢复程序 10.停止程序 11.查看所有断点 12.禁用断点 13.其他 三. 竟然有那么多调试断点? 1.方法断点 阅读全文
posted @ 2022-09-18 22:58 程序员小明1024 阅读(276) 评论(0) 推荐(0) 编辑
摘要:一:值是null的情况 a.equals(b), a 是null, 抛出NullPointException异常。 a.equals(b), a不是null, b是null, 返回false Objects.equals(a, b)比较时, 若a 和 b 都是null, 则返回 true, 如果a 阅读全文
posted @ 2022-09-18 22:56 程序员小明1024 阅读(24) 评论(0) 推荐(0) 编辑
摘要:👇👇关注后回复 “进群” ,拉你进程序员交流群👇👇 作者丨鱼皮 来源丨程序员鱼皮(ID:coder_yupi) 大家好我是鱼皮,今天我将用一个有趣的小例子来带大家入门企业开发中非常实用的技术—— 工作流,用好这个技术,可以帮你消除项目中大量的 if else 代码,让你的项目更好维护和扩展。 阅读全文
posted @ 2022-09-18 22:50 程序员小明1024 阅读(309) 评论(0) 推荐(0) 编辑
摘要:一、分页查询优化 很多时候我们业务系统实现分页功能可能会用如下sql实现: select * from employees limit 10000,10; 表示从表 employees 中取出从 10001 行开始的 10 行记录。看似只查询了 10 条记录,实际这条 SQL 是先读取 10010条 阅读全文
posted @ 2022-09-18 22:41 程序员小明1024 阅读(174) 评论(0) 推荐(0) 编辑
摘要:IO 流简介 IO 即 Input/Output ,输入和输出。数据输入到计算机内存的过程即输入,反之输出到外部存储(比如数据库,文件,远程主机)的过程即输出。数据传输过程类似于水流,因此称为 IO 流。IO 流在 Java 中分为输入流和输出流,而根据数据的处理方式又分为字节流和字符流。 Java 阅读全文
posted @ 2022-09-18 22:35 程序员小明1024 阅读(53) 评论(0) 推荐(0) 编辑
摘要:2019/3/12更新 日常在做后台系统的时候会很频繁的遇到Excel导入导出的问题,正好这次在做一个后台系统,就想着写一个公用工具来进行Excel的导入导出。 一般我们在导出的时候都是导出的前端表格,而前端表格同时也会对应的在后台有一个映射类。 所以在写这个工具的时候我们先理一下我们需要实现的效果 阅读全文
posted @ 2022-09-18 22:15 程序员小明1024 阅读(47) 评论(0) 推荐(0) 编辑
摘要:关注公众号,学习更多 Java 干货! 整理:四猿外 以下排序是按照从技术组件到开发框架到代码工具,也有一些实在不好分类的,就放到最后了。 WEB 容器 Tomcat https://tomcat.apache.org/ Jetty https://www.jetty.com/ JBoss http 阅读全文
posted @ 2022-09-18 22:12 程序员小明1024 阅读(376) 评论(0) 推荐(0) 编辑
摘要:ThreadLocal的作用以及应用场景 ThreadLocal算是一种并发容器吧,因为他的内部是有ThreadLocalMap组成,ThreadLocal是为了解决多线程情况下变量不能被共享的问题,也就是多线程共享变量的问题;ThreadLocal和Lock以及Synchronized的区别是:T 阅读全文
posted @ 2022-09-18 22:09 程序员小明1024 阅读(50) 评论(0) 推荐(0) 编辑
摘要:本文准备围绕七个点来讲网关,分别是网关的基本概念、网关设计思路、网关设计重点、流量网关、业务网关、常见网关对比,对基础概念熟悉的朋友可以根据目录查看自己感兴趣的部分。 什么是网关 网关,很多地方将网关比如成门, 没什么问题, 但是需要区分网关与网桥的区别, 网桥工作在数据链路层,在不同或相同类型的L 阅读全文
posted @ 2022-09-18 21:55 程序员小明1024 阅读(81) 评论(0) 推荐(0) 编辑
摘要:一、前言 代码耗时统计在日常开发中算是一个十分常见的需求,特别是在需要找出代码性能瓶颈时。 可能也是受限于 Java 的语言特性,总觉得代码写起来不够优雅,大量的耗时统计代码,干扰了业务逻辑。特别是开发功能的时候,有个感受就是刚刚开发完代码很清爽优雅,结果加了一大堆辅助代码后,整个代码就变得臃肿了, 阅读全文
posted @ 2022-09-18 21:49 程序员小明1024 阅读(270) 评论(0) 推荐(0) 编辑
摘要:一、数据库瓶颈 不管是IO瓶颈,还是CPU瓶颈,最终都会导致数据库的活跃连接数增加,进而逼近甚至达到数据库可承载活跃连接数的阈值。在业务Service来看就是,可用数据库连接少甚至无连接可用。接下来就可以想象了吧(并发量、吞吐量、崩溃)。 1、IO瓶颈 第一种:磁盘读IO瓶颈,热点数据太多,数据库缓 阅读全文
posted @ 2022-09-18 21:45 程序员小明1024 阅读(58) 评论(0) 推荐(0) 编辑
摘要:B站视频对应链接 首推这个老师的JavaScript课程,讲的很棒!!!! 文章目录 首推这个老师的JavaScript课程,讲的很棒!!!! JavaScript (最全)基础+项目前言1.计算机语言2.分类 一. JavaScript基础1. JavaScript发展历史(JS)2. JavaS 阅读全文
posted @ 2022-09-01 01:15 程序员小明1024 阅读(314) 评论(0) 推荐(0) 编辑