- 博客(47)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 java基础-数组-编程实现:定义一个整数数组 如 Int[] arr = {1,2,6,2,1,7,8,4,3,2,0,35,0}; 获取每个数字出现的次数
大家好,今天又来分享java基础的练习内容啦~结尾有效果图哦。编程实现一个整数数组中每个数字出现的次数
2022-10-26 13:58:56
805
原创 举例介绍spring中的AOP(简单的例子,一看就懂)
假设你正在玩一个电子游戏,你是主角,你的任务是打败怪物(这就是你的业务逻辑)。但是游戏中还有一些其他的事情需要处理,比如计分、生命值管理、游戏进度保存等等。这些都是你需要在打怪的过程中不断做的事情,但是它们并不是你的主要任务。在这种情况下,Spring AOP就像是游戏的设计者,他们决定了在何时何地做这些额外的事情。切点(Pointcut):这就是在游戏中决定何时做额外事情的地方,比如在你打败一个怪物后增加分数。通知(Advice):这就是决定做什么额外的事情,比如增加分数、保存游戏进度等。
2024-04-11 09:59:15
914
原创 用最简单的方式去了解分布式事务的概念以及相应策略(举例说明)
布式事务就像一个足球队的比赛。每个球员(这里可以理解为一个服务或系统)都有自己的任务,比如守门员防守,前锋进攻等。他们需要协同合作,要么一起赢(所有操作成功),要么一起输(所有操作失败)。这就像一个事务,要么都成功,要么都失败。但是在现实中,每个球员可能在不同的地方,他们不能直接看到彼此,也不能直接交流。这就像分布式系统中的服务,它们可能在不同的服务器上,不能直接交流。所以,他们需要一个教练(可以理解为协调器)来协调他们的行动。教练可以告诉他们何时进攻,何时防守,以确保他们能协同合作,一起赢得比赛。
2024-04-09 17:49:59
381
原创 简单讲讲spring事务的传播机制
简化版)尝试以更简单的方式来解释这些事务传播行为REQUIRED(需要):如果已经有事务了,我就加入这个事务,如果没有,我就新建一个事务。SUPPORTS(支持):如果已经有事务了,我就加入这个事务,如果没有,那我就不用事务。MANDATORY(必须):我必须要有事务才能工作,如果没有事务,我就报错。REQUIRES_NEW(需要新的):我需要一个全新的事务,如果已经有事务了,把它暂停,我要新建一个事务。NOT_SUPPORTED(不支持):我不需要事务,如果有事务,就把它暂停。
2024-03-25 11:51:32
956
原创 正向代理和反向代理的举例解释
在这种情况下,客户端知道代理的存在,并且直接将请求发送到代理,然后代理将请求转发到Internet。在这种情况下,客户端可能并不知道代理的存在,因为它们直接将请求发送到代理,然后代理将请求转发到Web服务器。代理服务器接收客户端的请求,然后代表客户端向目标服务器发送这些请求,接收目标服务器的响应,然后将响应返回给客户端。但是,在正向代理的情况下,你知道有一个人(代理)在帮你。而在反向代理的情况下,你并不知道后面的服务器(图书馆的部分)是如何工作的,你只是和代理(检索机器)交互。假设你在一个大型图书馆。
2024-03-25 10:58:33
253
原创 一个简单的例子来说明java如何使用 Redis 缓存数据
具体来说,当应用程序需要查询数据时,会先尝试从 Redis 缓存中获取数据,如果缓存中存在需要的数据,则直接返回缓存数据,否则从数据库中读取数据,并将数据写入 Redis 缓存,以便下一次查询时可以直接从缓存中获取数据,从而提高数据访问速度。用户信息存储在 MySQL 数据库中,但是由于用户信息经常被查询,我们希望将用户信息缓存到 Redis 中,以提高查询速度。在实际工作中,我们通常会将经常被查询的数据存储到 Redis 缓存中,这样可以大大提高数据的访问速度,减轻数据库的压力。
2023-06-19 15:51:40
1711
原创 redis持久化机制详解(面试必备)
Redis持久化的意义主要在于故障恢复,比如你部署一个Redis,作为缓存有可能里边有一些比较重要的数据,如果没有持久化的时候,redis遇到特殊问题的时候就会有丢失所有的数据的风险。此过程不会影响主进程,重写完成后,新的写入将会写到新的aof中,大家好,今天给大家分享的是redis持久化机制,面试的过程中可能会遇到这些,希望能对大家有所帮助~(注,也可以是用自带的策略),但是最少也要5分钟进行一次的备份,恢复更快:因为rdb是数据的快照,基本上就是数据的复制,不用重新读取再写入内存。
2023-02-08 12:05:27
290
原创 java基础-线程-案例-三个窗口卖100张票-用线程安全的方式实现
今天给大家分享的是线程的小demo:使用线程安全的方式完成三个窗口卖100张票。
2022-11-11 11:18:27
676
原创 java基础-线程-有50个葡萄,20个枣子 随机吃葡萄和枣子 ,如果葡萄吃到第15个,必须把枣子吃完才能吃葡萄
java基础-线程-有50个葡萄,20个枣子 随机吃葡萄和枣子 ,如果葡萄吃到第15个,必须把枣子吃完才能吃葡萄。主要在于调用线程的join方法;
2022-11-11 11:11:51
134
原创 java基础-线程-案例练习-现有100元现金 ,同时有3个人抓现金,现金金额在[1-5]元,显示每个人每次获取的金额,及余额,要求最后余额为0,不能是负数
每次抓的金额在[1-5]元,显示每个人每次获取的金额,及余额,大家好,今天给大家带来线程的练习小案例~~今天的分享结束了,希望对大家有帮助哦。要求最后余额为0,不能是负数。同时有3个人抓现金,
2022-11-10 14:48:50
183
原创 java基础-集合排序-自定义类有三个属性:姓名、年龄、分数。使用Map集合对自定义类的对象进行排序,规则如下: 规则一:先按照年龄从大到小排序,规则二:如果年龄相同则按照分数从小到大排序
本题核心在于实现Comparable接口 ,根据需求重写compareTo方法;下面是效果图:先按年龄从大到小,如果年龄相同,按成绩从小到大。规则二:如果年龄相同则按照分数从小到大排序。今天的分享结束啦,希望对大家有帮助哦~~规则一:先按照年龄从大到小排序。
2022-11-10 14:34:22
492
原创 java基础-集合-案例练习:定义一个存放学生的集合 (1)学生类中有 姓名,身高两个属性 (2)集合中保存五个学生对象 (3)求所有学生的平均身高和最高身高
(1)学生类中有 姓名,身高两个属性。(3)求所有学生的平均身高和最高身高。(2)集合中保存五个学生对象。首先创建一个学生类:定义两个属性,姓名和身高。大家好,今天来分享新的基础小案例啦~然后写个main方法测试一下哦~这次分享结束了,拜拜咯~定义一个存放学生的集合。
2022-11-03 18:52:14
592
原创 java基础-数组-案例练习-检测一个字符串是否为回文 回文字符串是指正着读和反着读该字符串都是相同拼写
检测一个字符串是否为回文,回文字符串是指正着读和反着读该字符串都是相同拼写,比如“radar”、“level“。大家好,今天又来分享新案例啦~检测一个字符串是否为回文。
2022-11-03 18:39:44
659
原创 java基础-String类常用方法-Demo练习
今天给大家带来的是java中String类的常用方法的小Demo,希望能对刚接触编程的朋友有帮助哦~
2022-11-03 18:07:45
223
原创 java基础-数组小案例-要求在控制台输入一个字符串,再输入一个字符,获取该字符在字符串中出现的次数
大家好~又来分享java基础小案例啦,希望能有所帮助哦,今天分享的是 在控制台输入一个字符串,再输入一个字符,获取该字符在字符串中出现的次数。
2022-11-03 18:00:18
571
原创 java基础-数组-反转数组:将数组内的元素反转成新数组
int[] arr = {1,2,3} 反转后得到结果 : {3,2,1}大家好,今天给大家分享的是将数组中的元素反转的Java代码哦,简单举例就是。
2022-10-26 14:32:36
868
原创 java基础-数组-编程实现选择排序对数组进行排序
以数组为例,选择排序的基本思想就是先将数组中最小值或者最大值找到,将它和第一个元素进行交换,再从第二个元素开始找最小值,找到之后和第二个元素进行交换,以此类推,直到开始元素为最后一个元素时结束。整个数组的排序就完成了。
2022-10-26 14:19:50
569
原创 java基础-数组-编程实现:使用冒泡排序完成对数组的排序
对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。如果第一个比第二个大,就交换他们两个。大家好,今天给大家分享的是冒泡排序的内容哦~针对所有的元素重复以上的步骤,除了最后一个。冒泡排序算法的运作如下:(从后往前)
2022-10-26 14:10:06
1729
原创 java基础-数组-编程实现:(1)定义数组为int[] arr = {1,2,3,4,5}; (2)把此数组拷贝到指定数组后,目标数组为 :0,0,2,3,4,0,0,3,4,5
这个就是将某个数组中的某个数据拷贝到一个新数组的指定位置哈~
2022-10-25 08:58:52
511
原创 java基础-数组-编程实现:控制台输入10个数字 1.将其存放到数组中,并遍历输出数组的数据 2.求该数组的数据之和和平均数 3.求该数组的最大值和最小值 编写方法,参数有两个,一个是数组
【代码】java基础-数组-编程实现:控制台输入10个数字 1.将其存放到数组中,并遍历输出数组的数据 2.求该数组的数据之和和平均数 3.求该数组的最大值和最小值 4.编写方法,参数。
2022-10-25 08:48:29
4486
原创 java基础-数组-编程实现:有100个人围成一个圈(编号1-100),从第1号的人开始从1报数,凡报到3的倍数的人离开圈子,然后再数下去,直到最后只剩一个人为止,问最后一个人人原来的位置是多少号?
java基础-数组-编程实现:有100个人围成一个圈(编号1-100),从第1号的人开始从1报数,凡报到3的倍数的人离开圈子,然后再数下去,直到最后只剩一个人为止,问最后一个人人原来的位置是多少号?
2022-10-25 08:36:55
1405
原创 java基础-数组-编程实现:将一个数组中值=0的项去掉,将不为0的值存入一个新的数组
例如:int a[]={5,0,0,6,6,0,5,4,7,6};生成的新数组为: int b[]={5,6,6,5,4,7,6}编程实现:将一个数组中值=0的项去掉,将不为0的值存入一个新的数组。拷贝即可使用哦~~~
2022-10-24 20:49:27
1316
原创 Java基础-方法定义的练习题-定义方法-返回最大值,返回最小值,打印该边长的菱形图形,计算下面的值,计算斐波那契数列前n项数据的和
【代码】Java基础-方法定义的练习题-定义方法-返回最大值,返回最小值,打印该边长的菱形图形,计算下面的值,计算斐波那契数列前n项数据的和。
2022-10-21 14:51:10
164
原创 Java基础-for循环案例-编码题:1! + 2! + 3! + 4! + 5!(阶乘之和)-求出1~100之间,即是3又是7的倍数出现的次数
本次讲的是利用for循环求阶乘相加之和,求出1~100之间,即是3又是7的倍数出现的次数。来更新java基础案例啦,希望能对小伙伴们有帮助哦~2:求出1~100之间,即是3又是7的倍数出现的次数。
2022-10-21 14:36:55
3421
原创 Java基础-for循环案例-打印正方形-等边三角形-菱形-九九乘法表等
Java基础-for循环案例-打印正方形-等边三角形-菱形-九九乘法表等刚接触java的小伙伴们可能在循环这一章节打印图形的时候有些疑惑,这里是本人之前学习时候练习的一些图形,附上代码,希望能对大家有些帮助呦~
2022-10-21 14:25:47
2373
原创 Spring-05-Spring相关配置详解
request:WEB项目中,Spring创建一个Bean对象,将Bean对象放入request域中。session:WEB项目中,Spring创建一个Bean对象,将Bean对象放入session域中。1,bean标签id属性:为Bean标签自定义名称,但是不能使用特殊符号。关系:依赖注入(DI)不能单独存在,需要在控制反转(IOC)的基础之上完成功能。在开发中,我们一般会分模块去管理我们的spring xml文件,IOC:控制反转,把对象的创建交给spring进行创建。修改配置文件获取对象的方式。
2022-10-19 10:58:14
167
原创 Spring-04-Spring的入门配置
我们目标只需要spring的基本功能,导入核心容器的6个核心jar包即可。解压下载的zip包,lib文件夹中的特点,都有3个jar包。修改appliactionContext.xml。UserServiceI的配置。UserAction的配置。
2022-10-18 17:04:58
76
原创 Spring-03-IOC/DI解耦及实现原理
对于一个类来讲,所谓的外部资源,就是指在自己类的内部不能得到或实现的东西,比如说:在类里面需要读取一个配置文件,那么这个配置文件就相当于这个类的外部资源。又比如:A类里面要调用B类,那么对于A类来讲B类就是外部资源。8. IoC容器简单的理解就是:实现IoC思想,并提供对象创建、对象装配以及对象生命周期管理的软件就是IoC容器。对IoC的理解:a. 应用程序无需主动new对象,而是描述对象应该如何被创建。
2022-10-18 14:20:58
148
原创 Spring-02-重构javaEE三层架构
以上的写法当我要去换一个接口的实现类时就要改很多源代码,所以不难看出以上的代码耦合度太高,那有没有更好的方法来解决这个问题呢,【既然这么说,肯定是有的啦】
2022-10-18 14:03:55
152
原创 Spring-01-Spring框架介绍
2,IOC:控制反转,降低耦合度。如果调用一个类中的方法,需要new对象然后才可以调用;在spring的IoC种,可以将代码new对象的操作交给spring的配置文件来完成。l Spring在JavaWeb三层结果中,每一层都提供了不同的解决技术。l Dao层:Spring jdbc Template。1,AOP:面向切面编程。扩展功能而不修改源代码。l Service层:Spring ioc。l Web层:SpringMVC。
2022-10-18 11:26:55
130
原创 15--MyBatis-逆向工程
确实是这样,可以在原来的工程中生成,但是有风险,因为MyBatis是根据配置文件来生成的(下面会说到),如果生成的路径中有相同的文件,那么就会覆盖原来的文件,这样会有风险。MyBatis的一个主要的特点就是需要程序员自己编写sql,那么如果表太多的话,难免会很麻烦,所以mybatis官方提供了一个逆向工程,可以针对单表自动生成mybatis执行所需要的代码(包括mapper.xml、mapper.java、po..)。1,连接数据库,这是必须的,要不然怎么根据数据库的表生成代码呢?1,下载工程jar包。
2022-10-18 11:12:37
128
原创 14--MyBatis-MyBatis中的缓存,MyBatis和Hibernate的比较(面试)
在SqlSession范围内。当查询相同对象时,会使用缓存中的数据,而不会再次查询。Mybatis应用在互联网项目的开发,Hibernate用在传统的MIS系统开发。Mybatis 半自动化模式操作数据,hibenate完全面向对象操作数据。Mybatis开发速度低于hibernate的开发速度。Mybatis运行的性能高于hibernate的性能。(SqlSessionFactory范围内)1、Mybatis默认开启了一级缓存。1、MyBatis中的缓存。
2022-10-18 10:56:42
126
原创 13--MyBatis-使用注解方式实现MyBatis
好处:扩展性好,分层开发中,上层不用管具体的实现,大家都遵循共同的标准,使得开发变得容易。②,在mybatis.cfg.xml里面配置UserMapper.xml。5,在mybtais.cfg.xml里面配置DAO。①,创建UserMapper.xml。2,在核心配置文件中 导入。③,修改UserDAO。①,修改UserDAO。3,创建DeptDAO。
2022-10-18 10:49:37
832
原创 12--MyBatis-关联表的处理
1,使用resultType来实现【同上面的多对一】3.1 、EmpMapper.xml的配置。解决办法就是把两个实体里面的字段组合起来。2.1创建EmpVo把dept的字段加入。2.2EmpMapper.xml的配置。2.2、修改DeptMapper.xml。2.1修改Dept.java。2,使用resultMap来实现。部门和员工是一对多的关系。
2022-10-18 10:29:29
200
原创 11-MyBatis-动态sql
在 MyBatis 之前的版本中,有很多的元素需要来了解。拼接的时候要确保不能忘了必要的空格,还要注意省掉列名列表最后的逗号。foreach 元素的功能是非常强大的,它允许你指定一个集合,声明可以用在元素体内的集合项和索引变量。通常使用动态 SQL 不可能是独立的一部分,MyBatis 当然使用一种强大的动态 SQL 语言来改进这种情形,这种语言可以被用在任意的 SQL 映射语句中。针对这种情况,MyBatis 提供了 choose 元素,它有点像 Java 中的 switch 语句。
2022-10-17 09:41:49
241
原创 09--MyBatis-封装类属性名和数据库字段名不一致解决办法
原因:mybatis会根据查询的列名(会将列名转为小写) 去进行设值(列名setter方法)a)为列名指定别名 别名和java实体类的属性名一致。5、解决列名和属性名不一致的办法。3、mapper映射文件。4、问题:密码没有获取到。1、数据库中表的设计。b)设置结果映射类型。
2022-10-14 11:19:40
207
原创 08--MyBatis-阿里的分页插件
分页查询原理:当使用Mapper接口的代理对象调用方法的时候,该方法会被拦截,拦截后改变sql语句。---本质为动态代理(aop)注意以上各个版本的说明。
2022-10-14 11:09:38
166
原创 07--MyBatis-分页的实现
index是下标,size数据。注意:不用为参数设置类,可以采用map结构来解决这个问题。Dao中需要新建RowBounds对象。Mapper文件不用做任何改变。
2022-10-14 11:01:43
108
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人