上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 41 下一页
摘要: 一、前期准备 (1)实体对象 @Data @AllArgsConstructor @NoArgsConstructor public class User { private Long id; private String name; private String createTime; priva 阅读全文
posted @ 2025-01-25 16:24 charygao1990 阅读(135) 评论(0) 推荐(0)
摘要: 1. Maven 1.1. Maven是什么 Maven 是 Apache 软件基金会组织维护的一款专门为 Java 项目提供构建和依赖管理支持的工具。一个 Maven 工程有约定的目录结构,约定的目录结构对于 Maven 实现自动化构建而言是必不可少的一环,就拿自动编译来说,Maven 必须 能找 阅读全文
posted @ 2025-01-25 15:44 charygao1990 阅读(621) 评论(0) 推荐(0)
摘要: 如果你是一名优秀的应用系统开发人员,想必应该非常清楚在应用系统运行期间,打印日志有多么重要。它不但能够记录应用系统运行情况及轨迹,还有助于提升故障排查及定位问题的效率,甚至还可以对其进行分析及监控,洞察系统隐患,提前预警防范。 但并不是说只要打印尽可能多的日志,就能轻松获得这些能力。设想一下,如果你 阅读全文
posted @ 2025-01-25 15:05 charygao1990 阅读(197) 评论(0) 推荐(0)
摘要: 在Java的并发编程领域中,ThreadLocal被广泛运用来解决线程安全困境,它巧妙地为每个线程提供独立的变量副本,有效规避了线程间数据共享的问题。 不过,在使用线程池时,传递线程局部变量在父子线程之间并非易事。这是因为ThreadLocal的设计初衷仅在于线程内的数据隔离,无法支持跨线程间的数据 阅读全文
posted @ 2025-01-25 14:58 charygao1990 阅读(425) 评论(0) 推荐(0)
摘要: 运行原理探究 我们之前写的HelloSpringBoot,到底是怎么运行的呢,Maven项目,我们一般从pom.xml文件探究起; 1、父依赖 pom.xml spring-boot-dependencies:核心依赖在父工程中! 我们在写或者引入一些Springboot依赖的时候,不需要指定版本, 阅读全文
posted @ 2025-01-24 16:22 charygao1990 阅读(258) 评论(0) 推荐(0)
摘要: 背景说明 在我们使用Spring Boot进行项目开发时,偶尔会遇到在Spring Boot项目启动完成后需要执行一些初始化的逻辑,比如缓存预加载,数据库初始化等。 那么这种需求我们需要怎么实现呢?本文将提供3种方法供大家参考。 一、入门级:启动main方法中添加初始化逻辑 在Spring Boot 阅读全文
posted @ 2025-01-24 15:00 charygao1990 阅读(505) 评论(0) 推荐(0)
摘要: https://www.oreilly.com/content/software-architecture-patterns/ 介绍 开发人员在没有正式架构的情况下开始编写应用程序是很常见的。如果没有明确且定义良好的架构,大多数开发人员和架构师将诉诸事实上的标准传统分层架构模式(也称为 n 层架构) 阅读全文
posted @ 2025-01-24 14:56 charygao1990 阅读(113) 评论(0) 推荐(0)
摘要: 所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在。 但是目前我们使用比较多的是 vim 编辑器。 vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。 相关文章:史上最全Vim快捷键键位图 — 入门到进阶 什么是 vim? Vim 阅读全文
posted @ 2025-01-24 12:54 charygao1990 阅读(67) 评论(0) 推荐(0)
摘要: /boot:存放的启动Linux 时使用的内核文件,包括连接文件以及镜像文件。 /etc:存放所有的系统需要的配置文件和子目录列表,更改目录下的文件可能会导致系统不能启动。 /lib:存放基本代码库(比如c++库),其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。 阅读全文
posted @ 2025-01-24 12:53 charygao1990 阅读(121) 评论(0) 推荐(0)
摘要: java启动参数共分为三类;其一是标准参数(-),所有的JVM实现都必须实现这些参数的功能,而且向后兼容;其二是非标准参数(-X),默认jvm实现这些参数的功能,但是并不保证所有jvm实现都满足,且不保证向后兼容;其三是非Stable参数(-XX),此类参数各个jvm实现会有所不同,将来可能会随时取 阅读全文
posted @ 2025-01-24 10:54 charygao1990 阅读(393) 评论(0) 推荐(0)
摘要: map忽略Key大小写敏感度 在面试时被问到一个问题,map如何使key忽略大小写,需要重写些什么方法之类的问题?当时有点懵,一下没反应过来。不区分大小写,简单来说就是put数据进map的时候,最终map中该类型的key只能有一个(比如AAA,aaa,AaA),在取值的时候,可以get所有该类型(由 阅读全文
posted @ 2025-01-24 10:51 charygao1990 阅读(436) 评论(0) 推荐(0)
摘要: 权限简介 Linux系统上对文件的权限有着严格的控制,如果想对某个文件执行某种操作,必须具有对应的权限方可执行成功。 Linux下文件的权限类型一般包括读,写,执行。对应字母为 r、w、x。 Linux下权限的粒度有 拥有者 、群组 、其它组 三种。每个文件都可以针对三个粒度,设置不同的rwx(读写 阅读全文
posted @ 2025-01-24 10:49 charygao1990 阅读(1430) 评论(0) 推荐(0)
摘要: 解决OpenJDK 64-Bit Server VM warning 解决OpenJDK 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath h 阅读全文
posted @ 2025-01-21 16:20 charygao1990 阅读(2497) 评论(0) 推荐(0)
摘要: Servlet解析 Servlet是Server + Applet的缩写,表示一个服务器应用。(Servlet其实就是一套规范,我们按照这套规范写的代码就可以直接在Java的服务器上面运行。) 0. Servlet 3.1 中的Servlet结构图 1. Servlet接口 针对Servlet接口内 阅读全文
posted @ 2025-01-18 11:15 charygao1990 阅读(94) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2025-01-17 22:10 charygao1990 阅读(36) 评论(0) 推荐(0)
摘要: 如何把 profile 作为静态变量 任意随时使用 无需 @value(“${spring.profiles.acitve”} 看了很多 获取 变量的例子: 大多是用 @value("${spring.profiles.acitve"} 赋值给对象的属性不满意止步于此,而且对我来说,根本不能用 该方 阅读全文
posted @ 2025-01-17 09:23 charygao1990 阅读(188) 评论(1) 推荐(0)
摘要: mybatis 自动化处理 mysql 的json类型字段 终极方案 why json 为何使用json格式存储 1 存储内容经常改变,需要新增或者删减字段,但是字段的删除可能会出错,字段的新增个数不确定(field命名没规律)2 不想多存储字段的 父类字段 parent_id ,因为sql语法会很 阅读全文
posted @ 2025-01-17 09:20 charygao1990 阅读(785) 评论(1) 推荐(0)
摘要: 高效使用 Log4j API Log4j API 捆绑了一组丰富的功能,以尽可能完全避免或最小化昂贵的计算。我们将通过示例引导您了解这些功能。 请记住,日志记录 API 和日志记录实现是两个不同的东西。 您可以将 Log4j API 与 Log4j Core 以外的日志记录实现(例如 Logback 阅读全文
posted @ 2025-01-16 17:19 charygao1990 阅读(262) 评论(0) 推荐(0)
摘要: 多项政策 滚动文件追加器仅允许一个嵌套的触发策略元素。如果您希望使用多个策略,则需要将它们包装在Policies元素中。元素本身没有配置属性。 同时使用两种基于时间的触发策略( CronTriggeringPolicy和TimeBasedTriggeringPolicy )的效果未定义。 例如,以下 阅读全文
posted @ 2025-01-16 16:15 charygao1990 阅读(387) 评论(0) 推荐(0)
摘要: 1、前言 这是《Spring Cloud 进阶》专栏的第五篇文章,这篇文章介绍一下阿里开源的流量防卫兵Sentinel,一款非常优秀的开源项目,经过近10年的双十一的考验,非常成熟的一款产品。 文章目录如下: 2、什么是sentinel? sentinel顾名思义:卫兵;在Redis中叫做哨兵,用于 阅读全文
posted @ 2025-01-14 16:25 charygao1990 阅读(2410) 评论(0) 推荐(1)
摘要: @Configuration public class PropertiesConfiguration { @Bean public PropertyPlaceholderConfigurer properties() { final PropertyPlaceholderConfigurer pp 阅读全文
posted @ 2025-01-10 11:40 charygao1990 阅读(211) 评论(0) 推荐(0)
摘要: 借助 Spring Framework 的 Property Sources,开发人员可以将其应用程序配置为从外部存储库动态加载配置 - 使用可编程 API 保护密钥库、数据库或任何其他源。外部化配置是软件开发中的一种有价值的模式,可实现集中配置管理、运行时灵活性和更高的安全性。有关更多信息,请参阅 阅读全文
posted @ 2025-01-10 09:12 charygao1990 阅读(133) 评论(0) 推荐(0)
摘要: IDEA使用lombok时warn:Generating equals/hashCode implementation but without a call to superclass_idea 启动报错equalsandhashcode-CSDN博客 Generating equals/hashC 阅读全文
posted @ 2025-01-07 12:30 charygao1990 阅读(812) 评论(0) 推荐(1)
摘要: 隐藏 .idea、.iml等文件。 idea打开或创建项目时,会生成.idea和.iml文件,这些文件在开发时基本用不到,隐藏此类文件比较合适。隐藏步骤如下:File ==> settings ==> Editor ==> File Types ==> ignore files and folder 阅读全文
posted @ 2025-01-07 12:26 charygao1990 阅读(1042) 评论(0) 推荐(0)
摘要: Postman 删除了离线模式(Scratch Pad) https://learning.postman.com/docs/getting-started/basics/using-scratch-pad/ Scratch Pad 已弃用,不再受支持。Scratch Pad 即将停用,不会收到任何 阅读全文
posted @ 2024-12-12 14:34 charygao1990 阅读(5869) 评论(0) 推荐(3)
摘要: 读取带注释的JSON文件 在Java开发中,处理JSON数据是一个常见的任务。通常,我们使用一些库(例如Jackson、Gson等)来读取和解析JSON文件。然而,当JSON文件中包含注释时,这个任务就变得稍微复杂一些。本文将介绍如何使用Java读取带注释的JSON文件,并提供相应的代码示例。 JS 阅读全文
posted @ 2024-12-12 14:05 charygao1990 阅读(532) 评论(0) 推荐(0)
摘要: PageHelper支持GreenPlum greenplum是pivotal在postgresql的基础上修改的一个数据库,语法和postgresql通用。使用PageHelper做分页插件的时候,发现目前没有针对greenplum做支持,但是对postgresql做了支持,因为只是分页的时候用到 阅读全文
posted @ 2024-12-12 11:47 charygao1990 阅读(47) 评论(0) 推荐(0)
摘要: 1 引言 软件的首要技术使命:管理复杂度。 工程师的首要技术使命就是控制复杂度。整洁面向对象分层架构(Clean Object-oriented and Layered Architecture,COLA)是阿里团队自主研发的应用架构,是复杂治理之路上的一个里程碑。 COLA不仅是一个架构思想,还提 阅读全文
posted @ 2024-12-12 10:39 charygao1990 阅读(1731) 评论(0) 推荐(0)
摘要: tomcat版本 8.0.49 出现的问题就是GET请求参数特别长,大概有1万个字符,请求的时候出现了HTTP 400的状态码 查了下tomcat的源码和官方文档发现了问题所在 HTTP url后面的参数是放在请求头里面的 tomcat 的 http connector 有个限制参数 maxHttp 阅读全文
posted @ 2024-12-12 10:36 charygao1990 阅读(582) 评论(0) 推荐(0)
摘要: MyBatis-Plus自带分页PaginationInterceptor对象,但想要用MyBatis-Plus自带的分页功能的话需要在mapper对象中传入一个Page对象才可以实现分页,这样耦合度是不是太高了一点,从web到service到mapper,这个Page对象一直都在传入,这样的使用让 阅读全文
posted @ 2024-12-12 10:26 charygao1990 阅读(2905) 评论(0) 推荐(0)
摘要: 一、回顾Mybatis的使用 Mybatis应该是现在我们项目中使用非常频繁的框架,它几乎消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装,让我们可以使用简单的XML或注解用于配置和原始映射。 还记得我们在配置Mybatis的时候都要写一个 mybatis_config.xml 最 阅读全文
posted @ 2024-12-12 10:06 charygao1990 阅读(82) 评论(0) 推荐(0)
摘要: 一、Semaphore Semaphore 通过设置一个固定数值的信号量,并发时线程通过 acquire() 获取一个信号量,如果能成功获得则可以继续执行,否则将阻塞等待,当某个线程使用 release() 释放一个信号量时,被阻塞的线程则可以被唤醒重新争抢信号量。根据该特征可以有效控制线程的并发数 阅读全文
posted @ 2024-12-12 09:31 charygao1990 阅读(51) 评论(0) 推荐(0)
摘要: 一、Spring Bean资源加载注册过程 在使用 Spring 时,一般有两种方式,一种是使用 Xml 的形式定义 Bean 信息,另一种是使用注解的方式,本篇文章带领大家一起解析下当使用 Xml 的方式下,Spring 是如何加载资源并进行注册的。 在开始源码解读前,先来回顾下 Xml 方式的使 阅读全文
posted @ 2024-12-12 09:26 charygao1990 阅读(120) 评论(0) 推荐(0)
摘要: 一、Spring Bean创建过程以及循环依赖 上篇文章对 Spring Bean资源的加载注册过程进行了源码梳理和解析,我们可以得到结论,资源文件中的 bean 定义信息,被组装成了 BeanDefinition 存放进了 beanDefinitionMap 容器中,那 Bean 是怎样创建和依赖 阅读全文
posted @ 2024-12-12 09:25 charygao1990 阅读(226) 评论(0) 推荐(0)
摘要: 一、@Async 注解下的循环依赖问题 我们都知道 Spring IOC 单例模式下可以帮助我们解决循环依赖问题,比如下面自己依赖自己循环依赖的场景: @Component public class TestAsync { @Resource TestAsync async; public void 阅读全文
posted @ 2024-12-12 09:23 charygao1990 阅读(330) 评论(0) 推荐(0)
摘要: 一、SpringMVC Handler 扫描注册过程 在本专栏前面文章中对 SpringMVC 请求执行过程进行了分析,文章地址如下: SpringMVC 源码解析 - 请求执行的过程 其中有个重要的组件 HandlerMapping 在源码中起到了非常重要的位置,这里的 Handler 也就是我们 阅读全文
posted @ 2024-12-12 09:20 charygao1990 阅读(263) 评论(0) 推荐(0)
摘要: 一、BeanPostProcessor 扩展接口 BeanPostProcessor是Spring中的一个扩展接口,它可以在Spring容器实例化bean之后,在执行 bean的初始化方法前后,允许我们自定义修改新的 bean实例。比如修改 bean 的属性,将 bean 替换为动态代理等。其中 A 阅读全文
posted @ 2024-12-12 09:18 charygao1990 阅读(141) 评论(0) 推荐(0)
摘要: (一) - Aspect 切面方法的查找匹配过程 一、SpringAop Aspect 切面方法的查找匹配过程 SpringAop 是在项目中经常需要使用的框架,可以用来实现无侵入的逻辑增强。在使用 Aop 时,只需定义一个 Aspect 类,并加上相应的注解,Spring 内部已经帮我们封装好了代 阅读全文
posted @ 2024-12-12 09:15 charygao1990 阅读(228) 评论(0) 推荐(0)
摘要: 一、 多线程并发情况下数据异常回滚解决方案 在需要多个没有前后顺序的数据操作情况下,一般我们可以选择使用并发的形式去操作,以提高处理的速度,但并发情况下,我们使用 @Transactional 还能解决事务回滚问题吗。 例如有下面表结构: CREATE TABLE `test` ( `id` int 阅读全文
posted @ 2024-12-11 16:00 charygao1990 阅读(226) 评论(0) 推荐(0)
摘要: 一、Redisson 分布式锁源码解析 Redisson是架设在Redis基础上的一个Java驻内存数据网格。在基于NIO的Netty框架上,充分的利用了Redis键值数据库提供的一系列优势,在Java实用工具包中常用接口的基础上,为使用者提供了一系列具有分布式特性的常用工具类。使得原本作为协调单机 阅读全文
posted @ 2024-12-11 15:31 charygao1990 阅读(438) 评论(0) 推荐(0)
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 41 下一页