- 博客(80)
- 收藏
- 关注
原创 常用的正则表达式组成
正则表达式是一种强大的文本处理工具,用于匹配、搜索、替换、分割等多种操作。以下是正则表达式的基本组成和语法,以及如何使用它们来构建复杂的模式。
2024-04-23 11:41:31
948
原创 心理学基本知识
创造宽松的心理环境, 给学生留有选择的余地,改革考试制度与考试内容。保护好奇心,解除非对即错的恐惧心理,鼓励独立性和创新精神。思维,是借助语言,表象,或动作实现的,对客观现实的间接的,概括的反应。特征 间接性,概括性。创设有利于创造性产生的适宜。发散思维 求异,辐射。直觉思维 -- 突然,立即。分析思维 -- 逐步分析。聚合思维 求同,集中。流畅性 数量多。独创性 独一无二。注重创造性个性的塑造。
2024-03-22 17:14:17
129
原创 共基法律考点大默写
法律为人们提供既定的行为模式,指引人们在法律范围内活动,明确人们必须从事或不得从事的行为界限。是工人阶级为首的广大人民)的意志。或认可的,,能够反应。
2024-03-12 15:21:41
356
原创 面试笔记系列八之JVM基础知识点整理及常见面试题
因为JVM针对各种操作系统和平台都进行了定制,无论在什么平台,都可以通过javac命令将一个.java文件编译成固定格式的字节码(.class文件)供JVM使用。之所以被称为字节码,是因为.class文件是由十六进制值组成的,JVM以两个十六进制值为一组,就是以字节为单位进行读取格式如下。
2024-02-28 18:07:47
565
原创 面试笔记系列七之多线程+分布式系统基础知识点整理及常见面试题
1.创建当程序使用new关键字创建了一个线程之后,该线程就处于一个新建状态(初始状态),此时它和其他Java对象一样,仅仅由Java虚拟机为其分配了内存,并初始化了其成员变量值。此时的线程对象没有表现出任何线程的动态特征,程序也不会执行线程的线程执行体。2.就绪当线程对象调用了Thread.start()方法之后,该线程处于就绪状态。Java虚拟机会为其创建方法调用栈和程序计数器,处于这个状态的线程并没有开始运行,它只是表示该线程可以运行了。
2024-02-28 17:33:48
1253
原创 面试笔记系列六之redis+kafka+zookeeper基础知识点整理及常见面试题
穿透:缓存不存在,数据库不存在,高并发,少量key击穿:缓存不存在,数据库存在,高并发,少量key雪崩:缓存不存在,数据库存在,高并发,大量key。
2024-02-28 17:26:51
1544
原创 面试笔记系列五之MySql+Mybaits基础知识点整理及常见面试题
mybatis只支持针对ParameterHandler、ResultSetHandler、StatementHandler、Executor这四种接口的插件,mybatis使用jdk的动态代理,为需要拦截的接口生成代理对象以实现接口方法拦截功能,每当执行这四种接口对象的方法时,就会进入拦截方法,具体就是InvocationHandler的invoke方法,拦截那些你指定需要拦截的方法。foreach标签的属性主要有item,index,collection,open,separator,close。
2024-02-28 16:30:19
1082
原创 面试笔记系列四之SpringBoot+SpringCloud+计算机网络基础知识点整理及常见面试题
Spring Boot 是 Spring 开源组织下的子项目,是 Spring 组件一站式解决方案,主要是简化了使用 Spring 的难度,简省了繁重的配置,提供了各种启动器,开发者能快速上手。开发人员只需要将相应的starter包依赖进应用中,进行相关的属性配置,就可以进行代码开发,而不需要单独进行bean对象的配置Starter提供了一种快速启动、轻量级的方式来引入和配置特定的功能或模块。
2024-02-28 16:06:39
1130
原创 面试笔记系列三之spring基础知识点整理及常见面试题
在实际的Spring框架中,还有更多复杂的功能和特性,如AOP、循环依赖处理、Bean的作用域、配置文件的自动装配等。它提供了一个容器,用于管理应用程序中的对象(如依赖注入)并提供了许多常用的功能和扩展,使开发人员能够更加专注于业务逻辑的实现而不必关注太多的底层细节。提供获取Bean的方法: 在IOC容器中提供一个方法,根据Bean的名称获取对应的实例。实现依赖注入: 当创建Bean实例时,解析Bean的属性依赖关系,并根据依赖注入的方式,通过反射或者setter方法将需要的依赖注入到Bean实例中。
2024-02-28 11:56:53
906
原创 面试笔记系列二之java基础+集合知识点整理及常见面试题
反射(Reflection)是指在程序运行时动态地获取、操作和修改类或对象的属性、方法和构造函数等信息的能力。通过反射,我们可以在运行时检查类、实例化对象、调用方法、获取和修改字段的值,以及操作构造函数等。Java中的反射API位于包下,提供了一组类和接口,用于实现反射功能。Class类:表示一个类或接口的运行时对象,可以获取类的构造函数、方法、字段等信息。类:表示类的构造函数,用于创建类的实例对象。Method类:表示类的方法,可以用于调用方法并获取方法的信息。Field。
2024-02-28 10:48:52
1119
原创 面试笔记系列一之设计模式知识点整理及常见面试题
BeanDefinitionBuilder 的设计与建造者模式相似,它通过使用链式调用的方式来设置 Bean 的属性,最终创建一个符合需求的 BeanDefinition 对象,实现了更加灵活且易于理解的 Bean 定义方式。总的来说,虽然建造者模式在 Spring 框架中可能没有明显的固定实现,但在一些组件和功能的设计中,我们可以看到建造者模式的思想被巧妙地应用,从而提高了代码的灵活性和可维护性。通过使用灵活的配置和扩展机制,Spring 框架提供了便利的方式来切换不同的策略实现,以满足不同的业务需求。
2024-02-21 16:27:22
1222
原创 常见的排序算法整理
1.1 冒泡排序普通版每次冒泡过程都是从数列的第一个元素开始,然后依次和剩余的元素进行比较,若小于相邻元素,则交换两者位置,同时将较大元素作为下一个比较的基准元素,继续将该元素与其相邻的元素进行比较,直到数列的最后一个元素 . 示意图如下:运行结果:排序前:[9, 2, 1, 0, 5, 3, 6, 4, 8, 7]排序后:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]1.2 冒泡排序升级版。
2024-02-21 15:33:51
1160
原创 Spring中常见的注解
Spring的注解驱动的编程模型大大简化了Java企业应用的开发。了@ControllerAdvice的类的方法可以使用@ExceptionHandler,@InitBinder,@ModelAttribute注解到方法上,这对所有注解了@RequestMapping的控制器内的方法有效。@Param 映射参数注解@Select 查询注解@Update 更新注解@Delete 删除注解@Insert 插入注解@Results 结果注解@Result 结果注解@Options 选项注解。
2024-02-19 22:02:00
1505
1
原创 Mybaits 动态sql 整理
MyBatis 是一个流行的 Java 数据持久化框架,它提供了灵活的动态 SQL 查询功能,让开发者可以根据需要构建动态的 SQL 查询语句。除了上述的元素,MyBatis 还提供了许多其他的动态 SQL 构建方式,如动态拼接 SQL 字符串等。2. choose, when, otherwise 元素:用于构建类似于 switch-case 语句的动态 SQL。可以根据条件选择不同的 SQL 语句执行。5. foreach 元素:用于遍历集合或数组,并将集合或数组的元素动态替换进 SQL 语句中。
2023-12-04 10:26:26
87
原创 大数据之 Hadoop
hadoop主要解决:海量数据的存储和海量数据的分析计算hadoop发展历史Google是hadoop的思想之源(Google在大数据方面的三篇论文)2006年3月,Map-reduce和Nutch Distributed File System(NDFS)分别被纳入到Hadoop项目,Hadoop正式诞生。
2023-11-29 15:08:08
1077
3
原创 java算法学习索引之数组矩阵问题
给定一个N×N的矩阵matrix,把这个矩阵调整成顺时针转动90°后的形式。【要求】额外空间复杂度为O(1)。
2023-11-21 11:15:33
591
原创 java算法学习索引之字符串问题
【题目】给定两个字符串str1和str2,如果str1和str2中出现的字符种类一样且每种字符出现的次数也一样,那么str1与str2互为变形词。请实现函数判断两个字符串是否互为变形词。数组,依次检查字符的出现次数,如果发现有字符的出现次数为 0,就返回。是否为空,以及它们的长度是否相同。如果条件不满足,直接返回。最后,如果没有发现出现次数不一致的情况,就返回。接下来,创建一个长度为 256 的辅助数组。数组,将字符出现的次数统计到。在方法中,首先判断输入字符串。,用于统计字符的出现次数。
2023-11-20 11:28:06
219
1
原创 java算法学习索引之二叉树问题
用递归和非递归方式,分别按照二叉树先序、中序和后序打印所有的节点。我们约定:先序遍历顺序为根、左、右;中序遍历顺序为左、根、右;后序遍历顺序为左、右、根。一 分别用递归和非递归方式实现二叉树先序、中序和后序遍历。
2023-11-20 11:25:00
120
原创 java算法学习索引之栈和队列
实现一个特殊的栈,在实现栈的基本功能的基础上,再实现返回栈中最小元素的操作。【要求】1.pop、push、getMin操作的时间复杂度都是O(1)。2.设计的栈类型可以使用现成的栈结构。要实现一个特殊的栈,其中pop、push和getMin操作的时间复杂度都是O(1),我们可以使用两个栈来实现。具体设计如下:使用一个数据栈来存储栈中的元素。使用一个辅助栈来存储当前数据栈中的最小元素。
2023-11-20 11:20:41
75
原创 java算法学习索引之动态规划
第2年a生了新的小母牛,记为b,总牛数为2;第3年a生了新的小母牛,记为c,总牛数为3;第4年a生了新的小母牛,记为d,总牛数为4。第5年b成熟了,a和b分别生了新的小母牛,总牛数为6;第6年c也成熟了,a、b和c分别生了新的小母牛,总牛数为9,返回9。补充问题 2:假设农场中成熟的母牛每年只会生 1 头小母牛,并且永远不会死。第一年农场有1只成熟的母牛,从第二年开始,母牛开始生小母牛。所以有三种走法,返回3。补充问题 1:给定整数 N,代表台阶数,一次可以跨 2个或者 1个台阶,返回有多少种走法。
2023-11-13 13:55:02
488
原创 在IDEA中使用maven项目总结
1、Maven本身也是Java写的,他是一款服务于Java平台的自动化构建工具,构建这个词是很关键的2、构建工具发展历程: Make-Ant-Maven-Gradle(新秀)3、什么叫构建:构建不是创建,构建是以Java源文件、框架配置文件、JSP、静态资源等为原材料去生产一个可以运行的项目的过程叫做构建。说成大白话,就是将这些源文件组成的项目打成一个可以运行的jar包(编译+打包+部署+搭建),编译:Java源文件编译到Class字节码文件。
2023-11-10 15:53:50
650
原创 【Mybatis】3 的操作类型对象
上篇文章中我们已经详细介绍了Mybatis的存储类对象。我们上篇提到了:Mapper.xml当中的SQL标签都被解析成了一个一个的MappedStatement对象。那么我们当中的SQL是基于什么形式进行封装的呢?我们要知道,Java当中一切皆对象。MappedStatement当中SQL被封装成了MappedStateMent当中的SqlSource对象。我们通过sqlSource.getBoundSql()来获取一个BoundSql对象,BoundSQL当中的对象就是对于SQL语句的真实封装。
2023-11-07 14:21:48
84
原创 【Mybatis】调试查看执行的 SQL 语句
Mybatis 的底层都会把 Mapper.xml 配置文件中的SQL 标签转化为基于 JDBC 执行的语句, boundSql 变量可以看到完整的 SQL 语句。记录日常开发过程中 Mybatis 调试 SQL 语句,想要查看Mybatis 中执行的 SQL语句,导致定位问题困难。因此,可以在最后一行的return boundSql;执行 SQL 查询语句,就能查看到执行的sql了。双击shift找到mybatis源码中的 MappedStatement的getBoundSql()方法。
2023-11-06 10:34:06
629
原创 Mysql高级查询整理
INFORMATION_SCHEMA 是 MySQL 数据库系统中的一个特殊数据库,它包含了关于数据库对象的元数据信息。通过查询 INFORMATION_SCHEMA,可以获取有关数据库、表、列、索引、外键、用户权限等方面的信息。以下是 INFORMATION_SCHEMA 中包含的一些常见信息:SCHEMATA 表包含了数据库实例中所有可用的数据库(schema)的信息,如数据库名称、字符集、默认排序规则等。
2023-11-02 16:53:40
315
原创 【Mybaits】2从JDBD的封装方面重新认识Mybaits
MyBatis 是一个 Java 持久化框架,它通过对 JDBC 的封装来简化数据库访问操作。核心的 SQLSession 对象是 MyBatis 的核心组件之一,负责管理数据库连接、执行 SQL 语句以及映射查询结果等功能。具体来说,MyBatis 通过以下几个关键组件来实现对 JDBC 的封装:SQLSession 是 MyBatis 提供的与数据库交互的主要接口。通过 SQLSession,可以执行 SQL 语句、提交事务、获取映射器(Mapper)等。
2023-11-02 15:19:40
229
原创 Linux常用命令
Linux 是一种常用的开源操作系统,它提供了丰富的命令行工具来进行系统管理和日常操作。以下是一些常用的 Linux 命令:1. 文件和目录操作:- ls: 列出目录内容- cd: 切换目录- pwd: 显示当前工作目录- mkdir: 创建目录- rm: 删除文件或目录- cp: 复制文件或目录- mv: 移动文件或目录- find: 在文件系统中查找文件2. 文件内容查看和编辑:- cat: 以文本形式显示文件内容- less: 分页显示文件内容。
2023-11-02 11:09:50
147
原创 IDEA常用快捷键及模板整理
Ctrl + Shift + Alt + T / Cmd + Shift + Option + T: 重构菜单。- Ctrl + Shift + + / Ctrl + Shift + -: 全部折叠/展开代码块。- Ctrl + Shift + E / Cmd + Shift + E: 打开最近编辑过的文件。- Ctrl + Shift + E / Cmd + Shift + E: 打开最近编辑过的文件。- Ctrl + Shift + B / Cmd + Shift + B: 跳转到类型的定义处。
2023-11-02 10:42:30
265
原创 MySql优化经验分享
(3)同时主节点为每个I/O线程启动一个dump线程,用于向其发送二进制事件,并保存至从节点本地的中继日志中,从节点将启动SQL线程从中继日志中读取二进制日志,在本地重放,使得其数据和主节点的保持一致,最后I/OThread和SQLThread将进入睡眠状态,等待下一次被唤醒。査询优化器的目的就是根据解析树生成不同的执行计划(Execution Plan),然后选择一种最优的执行计划,MySQL里面使用的是基于开销(cost)的优化器,那种执行计划开销最小,就用哪种。
2023-11-02 09:40:16
1513
原创 AOP实现过滤JoinPoint,所用到的反射原理代码
System.out.println("echo 方法执行的实现:" + costTime + " ms.");// 查找方法 throws 类型为 NullPointerException。// 方法定义:String echo(String message);// 异常拦截器(处理方法执行后)// finally 后置拦截器。// Spring 反射工具类。// 前置模式 + 后置模式。// 方法执行时间(毫秒)// 方法执行后置拦截器。// 执行 after。//过滤原理,使用反射。
2023-11-01 10:31:13
101
原创 IOC课程整理-20 Spring 应用上下文生命周期
• AbstractApplicationContext#initApplicationEventMulticaster() 方法。Spring 应用上下文生命周期有哪些阶段?1. Spring 应用上下文启动准备阶段。11. Spring 应用上下刷新完成阶段。14. Spring 应用上下文关闭阶段。12. Spring 应用上下文启动阶段。13. Spring 应用上下文停止阶段。3. BeanFactory 准备阶段。8. Spring 应用上下文刷新阶段。9. Spring 事件监听器注册阶段。
2023-10-29 11:14:25
170
原创 IOC课程整理-19 Spring Environment 抽象
在Spring中,PropertySource是用于加载和读取属性配置的机制。当存在多个PropertySource时,可以通过优先级来控制它们的加载顺序和覆盖关系。下面介绍几种常见的控制PropertySource优先级的方式:1. 使用@Order注解: 在Spring中,可以使用@Order注解为PropertySources进行排序。@Order注解的值越小,优先级越高,即优先级越高的PropertySource先被加载。```})@Bean。
2023-10-29 11:02:02
203
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人