上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 40 下一页
摘要: 背景说明 在我们使用Spring Boot进行项目开发时,偶尔会遇到在Spring Boot项目启动完成后需要执行一些初始化的逻辑,比如缓存预加载,数据库初始化等。 那么这种需求我们需要怎么实现呢?本文将提供3种方法供大家参考。 一、入门级:启动main方法中添加初始化逻辑 在Spring Boot 阅读全文
posted @ 2025-01-24 15:00 CharyGao 阅读(493) 评论(0) 推荐(0)
摘要: https://www.oreilly.com/content/software-architecture-patterns/ 介绍 开发人员在没有正式架构的情况下开始编写应用程序是很常见的。如果没有明确且定义良好的架构,大多数开发人员和架构师将诉诸事实上的标准传统分层架构模式(也称为 n 层架构) 阅读全文
posted @ 2025-01-24 14:56 CharyGao 阅读(107) 评论(0) 推荐(0)
摘要: 所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在。 但是目前我们使用比较多的是 vim 编辑器。 vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。 相关文章:史上最全Vim快捷键键位图 — 入门到进阶 什么是 vim? Vim 阅读全文
posted @ 2025-01-24 12:54 CharyGao 阅读(59) 评论(0) 推荐(0)
摘要: /boot:存放的启动Linux 时使用的内核文件,包括连接文件以及镜像文件。 /etc:存放所有的系统需要的配置文件和子目录列表,更改目录下的文件可能会导致系统不能启动。 /lib:存放基本代码库(比如c++库),其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。 阅读全文
posted @ 2025-01-24 12:53 CharyGao 阅读(116) 评论(0) 推荐(0)
摘要: java启动参数共分为三类;其一是标准参数(-),所有的JVM实现都必须实现这些参数的功能,而且向后兼容;其二是非标准参数(-X),默认jvm实现这些参数的功能,但是并不保证所有jvm实现都满足,且不保证向后兼容;其三是非Stable参数(-XX),此类参数各个jvm实现会有所不同,将来可能会随时取 阅读全文
posted @ 2025-01-24 10:54 CharyGao 阅读(365) 评论(0) 推荐(0)
摘要: map忽略Key大小写敏感度 在面试时被问到一个问题,map如何使key忽略大小写,需要重写些什么方法之类的问题?当时有点懵,一下没反应过来。不区分大小写,简单来说就是put数据进map的时候,最终map中该类型的key只能有一个(比如AAA,aaa,AaA),在取值的时候,可以get所有该类型(由 阅读全文
posted @ 2025-01-24 10:51 CharyGao 阅读(410) 评论(0) 推荐(0)
摘要: 权限简介 Linux系统上对文件的权限有着严格的控制,如果想对某个文件执行某种操作,必须具有对应的权限方可执行成功。 Linux下文件的权限类型一般包括读,写,执行。对应字母为 r、w、x。 Linux下权限的粒度有 拥有者 、群组 、其它组 三种。每个文件都可以针对三个粒度,设置不同的rwx(读写 阅读全文
posted @ 2025-01-24 10:49 CharyGao 阅读(1280) 评论(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 CharyGao 阅读(2436) 评论(0) 推荐(0)
摘要: Servlet解析 Servlet是Server + Applet的缩写,表示一个服务器应用。(Servlet其实就是一套规范,我们按照这套规范写的代码就可以直接在Java的服务器上面运行。) 0. Servlet 3.1 中的Servlet结构图 1. Servlet接口 针对Servlet接口内 阅读全文
posted @ 2025-01-18 11:15 CharyGao 阅读(93) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2025-01-17 22:10 CharyGao 阅读(32) 评论(0) 推荐(0)
摘要: 如何把 profile 作为静态变量 任意随时使用 无需 @value(“${spring.profiles.acitve”} 看了很多 获取 变量的例子: 大多是用 @value("${spring.profiles.acitve"} 赋值给对象的属性不满意止步于此,而且对我来说,根本不能用 该方 阅读全文
posted @ 2025-01-17 09:23 CharyGao 阅读(185) 评论(1) 推荐(0)
摘要: mybatis 自动化处理 mysql 的json类型字段 终极方案 why json 为何使用json格式存储 1 存储内容经常改变,需要新增或者删减字段,但是字段的删除可能会出错,字段的新增个数不确定(field命名没规律)2 不想多存储字段的 父类字段 parent_id ,因为sql语法会很 阅读全文
posted @ 2025-01-17 09:20 CharyGao 阅读(732) 评论(1) 推荐(0)
摘要: 高效使用 Log4j API Log4j API 捆绑了一组丰富的功能,以尽可能完全避免或最小化昂贵的计算。我们将通过示例引导您了解这些功能。 请记住,日志记录 API 和日志记录实现是两个不同的东西。 您可以将 Log4j API 与 Log4j Core 以外的日志记录实现(例如 Logback 阅读全文
posted @ 2025-01-16 17:19 CharyGao 阅读(248) 评论(0) 推荐(0)
摘要: 多项政策 滚动文件追加器仅允许一个嵌套的触发策略元素。如果您希望使用多个策略,则需要将它们包装在Policies元素中。元素本身没有配置属性。 同时使用两种基于时间的触发策略( CronTriggeringPolicy和TimeBasedTriggeringPolicy )的效果未定义。 例如,以下 阅读全文
posted @ 2025-01-16 16:15 CharyGao 阅读(357) 评论(0) 推荐(0)
摘要: 1、前言 这是《Spring Cloud 进阶》专栏的第五篇文章,这篇文章介绍一下阿里开源的流量防卫兵Sentinel,一款非常优秀的开源项目,经过近10年的双十一的考验,非常成熟的一款产品。 文章目录如下: 2、什么是sentinel? sentinel顾名思义:卫兵;在Redis中叫做哨兵,用于 阅读全文
posted @ 2025-01-14 16:25 CharyGao 阅读(2038) 评论(0) 推荐(1)
摘要: @Configuration public class PropertiesConfiguration { @Bean public PropertyPlaceholderConfigurer properties() { final PropertyPlaceholderConfigurer pp 阅读全文
posted @ 2025-01-10 11:40 CharyGao 阅读(198) 评论(0) 推荐(0)
摘要: 借助 Spring Framework 的 Property Sources,开发人员可以将其应用程序配置为从外部存储库动态加载配置 - 使用可编程 API 保护密钥库、数据库或任何其他源。外部化配置是软件开发中的一种有价值的模式,可实现集中配置管理、运行时灵活性和更高的安全性。有关更多信息,请参阅 阅读全文
posted @ 2025-01-10 09:12 CharyGao 阅读(127) 评论(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 CharyGao 阅读(799) 评论(0) 推荐(1)
摘要: 隐藏 .idea、.iml等文件。 idea打开或创建项目时,会生成.idea和.iml文件,这些文件在开发时基本用不到,隐藏此类文件比较合适。隐藏步骤如下:File ==> settings ==> Editor ==> File Types ==> ignore files and folder 阅读全文
posted @ 2025-01-07 12:26 CharyGao 阅读(990) 评论(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 CharyGao 阅读(5421) 评论(0) 推荐(3)
摘要: 读取带注释的JSON文件 在Java开发中,处理JSON数据是一个常见的任务。通常,我们使用一些库(例如Jackson、Gson等)来读取和解析JSON文件。然而,当JSON文件中包含注释时,这个任务就变得稍微复杂一些。本文将介绍如何使用Java读取带注释的JSON文件,并提供相应的代码示例。 JS 阅读全文
posted @ 2024-12-12 14:05 CharyGao 阅读(508) 评论(0) 推荐(0)
摘要: PageHelper支持GreenPlum greenplum是pivotal在postgresql的基础上修改的一个数据库,语法和postgresql通用。使用PageHelper做分页插件的时候,发现目前没有针对greenplum做支持,但是对postgresql做了支持,因为只是分页的时候用到 阅读全文
posted @ 2024-12-12 11:47 CharyGao 阅读(44) 评论(0) 推荐(0)
摘要: 1 引言 软件的首要技术使命:管理复杂度。 工程师的首要技术使命就是控制复杂度。整洁面向对象分层架构(Clean Object-oriented and Layered Architecture,COLA)是阿里团队自主研发的应用架构,是复杂治理之路上的一个里程碑。 COLA不仅是一个架构思想,还提 阅读全文
posted @ 2024-12-12 10:39 CharyGao 阅读(1640) 评论(0) 推荐(0)
摘要: tomcat版本 8.0.49 出现的问题就是GET请求参数特别长,大概有1万个字符,请求的时候出现了HTTP 400的状态码 查了下tomcat的源码和官方文档发现了问题所在 HTTP url后面的参数是放在请求头里面的 tomcat 的 http connector 有个限制参数 maxHttp 阅读全文
posted @ 2024-12-12 10:36 CharyGao 阅读(557) 评论(0) 推荐(0)
摘要: MyBatis-Plus自带分页PaginationInterceptor对象,但想要用MyBatis-Plus自带的分页功能的话需要在mapper对象中传入一个Page对象才可以实现分页,这样耦合度是不是太高了一点,从web到service到mapper,这个Page对象一直都在传入,这样的使用让 阅读全文
posted @ 2024-12-12 10:26 CharyGao 阅读(2847) 评论(0) 推荐(0)
摘要: 一、回顾Mybatis的使用 Mybatis应该是现在我们项目中使用非常频繁的框架,它几乎消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装,让我们可以使用简单的XML或注解用于配置和原始映射。 还记得我们在配置Mybatis的时候都要写一个 mybatis_config.xml 最 阅读全文
posted @ 2024-12-12 10:06 CharyGao 阅读(80) 评论(0) 推荐(0)
摘要: 一、Semaphore Semaphore 通过设置一个固定数值的信号量,并发时线程通过 acquire() 获取一个信号量,如果能成功获得则可以继续执行,否则将阻塞等待,当某个线程使用 release() 释放一个信号量时,被阻塞的线程则可以被唤醒重新争抢信号量。根据该特征可以有效控制线程的并发数 阅读全文
posted @ 2024-12-12 09:31 CharyGao 阅读(46) 评论(0) 推荐(0)
摘要: 一、Spring Bean资源加载注册过程 在使用 Spring 时,一般有两种方式,一种是使用 Xml 的形式定义 Bean 信息,另一种是使用注解的方式,本篇文章带领大家一起解析下当使用 Xml 的方式下,Spring 是如何加载资源并进行注册的。 在开始源码解读前,先来回顾下 Xml 方式的使 阅读全文
posted @ 2024-12-12 09:26 CharyGao 阅读(119) 评论(0) 推荐(0)
摘要: 一、Spring Bean创建过程以及循环依赖 上篇文章对 Spring Bean资源的加载注册过程进行了源码梳理和解析,我们可以得到结论,资源文件中的 bean 定义信息,被组装成了 BeanDefinition 存放进了 beanDefinitionMap 容器中,那 Bean 是怎样创建和依赖 阅读全文
posted @ 2024-12-12 09:25 CharyGao 阅读(219) 评论(0) 推荐(0)
摘要: 一、@Async 注解下的循环依赖问题 我们都知道 Spring IOC 单例模式下可以帮助我们解决循环依赖问题,比如下面自己依赖自己循环依赖的场景: @Component public class TestAsync { @Resource TestAsync async; public void 阅读全文
posted @ 2024-12-12 09:23 CharyGao 阅读(319) 评论(0) 推荐(0)
摘要: 一、SpringMVC Handler 扫描注册过程 在本专栏前面文章中对 SpringMVC 请求执行过程进行了分析,文章地址如下: SpringMVC 源码解析 - 请求执行的过程 其中有个重要的组件 HandlerMapping 在源码中起到了非常重要的位置,这里的 Handler 也就是我们 阅读全文
posted @ 2024-12-12 09:20 CharyGao 阅读(253) 评论(0) 推荐(0)
摘要: 一、BeanPostProcessor 扩展接口 BeanPostProcessor是Spring中的一个扩展接口,它可以在Spring容器实例化bean之后,在执行 bean的初始化方法前后,允许我们自定义修改新的 bean实例。比如修改 bean 的属性,将 bean 替换为动态代理等。其中 A 阅读全文
posted @ 2024-12-12 09:18 CharyGao 阅读(115) 评论(0) 推荐(0)
摘要: (一) - Aspect 切面方法的查找匹配过程 一、SpringAop Aspect 切面方法的查找匹配过程 SpringAop 是在项目中经常需要使用的框架,可以用来实现无侵入的逻辑增强。在使用 Aop 时,只需定义一个 Aspect 类,并加上相应的注解,Spring 内部已经帮我们封装好了代 阅读全文
posted @ 2024-12-12 09:15 CharyGao 阅读(221) 评论(0) 推荐(0)
摘要: 一、 多线程并发情况下数据异常回滚解决方案 在需要多个没有前后顺序的数据操作情况下,一般我们可以选择使用并发的形式去操作,以提高处理的速度,但并发情况下,我们使用 @Transactional 还能解决事务回滚问题吗。 例如有下面表结构: CREATE TABLE `test` ( `id` int 阅读全文
posted @ 2024-12-11 16:00 CharyGao 阅读(218) 评论(0) 推荐(0)
摘要: 一、Redisson 分布式锁源码解析 Redisson是架设在Redis基础上的一个Java驻内存数据网格。在基于NIO的Netty框架上,充分的利用了Redis键值数据库提供的一系列优势,在Java实用工具包中常用接口的基础上,为使用者提供了一系列具有分布式特性的常用工具类。使得原本作为协调单机 阅读全文
posted @ 2024-12-11 15:31 CharyGao 阅读(402) 评论(0) 推荐(0)
摘要: 一、PageHelper PageHelper 是一个用于在 MyBatis 中进行分页查询的开源分页插件。它能够方便地帮助开发者处理分页查询的逻辑,简化代码,并提高开发效率。PageHelper 支持多种数据库,包括 MySQL、Oracle、PostgreSQL 等。 PageHelper 的实 阅读全文
posted @ 2024-12-11 15:30 CharyGao 阅读(358) 评论(0) 推荐(0)
摘要: Fork/Join介绍 Fork/Join框架是Java 7提供的用于并行执行任务的框架。具体是把大任务切分为小任务,再把小任务的结果汇总为大任务的结果。核心思想是工作窃取算法,工作窃取算法是指线程从其他任务队列中窃取任务执行。 如何使用Fork/Join 分割任务:首先需要创建一个ForkJoin 阅读全文
posted @ 2024-12-11 15:27 CharyGao 阅读(166) 评论(0) 推荐(0)
摘要: redis集群 Redis 集群是一个提供在多个Redis间节点间共享数据的程序集。Redis 集群没有使用一致性hash, 而是引入了哈希槽的概念。 要让集群正常运作至少需要三个主节点,不过在刚开始试用集群功能时, 强烈建议使用六个节点: 其中三个为主节点, 而其余三个则是各个主节点的从节点。 首 阅读全文
posted @ 2024-12-11 15:19 CharyGao 阅读(1937) 评论(0) 推荐(0)
摘要: 在使用 Redis 或其他依赖内存操作的应用程序时,你可能会遇到以下警告: WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memor 阅读全文
posted @ 2024-12-11 15:16 CharyGao 阅读(1935) 评论(0) 推荐(0)
摘要: 最近在做项目迁移,Oracle版本的迁到Mysql版本,遇到有些oracle的函数,mysql并没有,所以就只好想自定义函数或者找到替换函数的方法进行改造。 oracle做数据排序的时候,有时候可以用nulls first或者nulls last将null值排在最前或者最后。 oracle方法: n 阅读全文
posted @ 2024-12-11 15:08 CharyGao 阅读(594) 评论(0) 推荐(0)
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 40 下一页