- 博客(469)
- 资源 (2)
- 收藏
- 关注
原创 Java函数式编程
Java 8在java.util.function包中提供了一系列预定义的函数式接口,如Function<T,R>、Consumer<T>、Predicate<T>等,这些接口为常见的函数式编程任务提供了支持。下面是一个使用Java函数式编程的示例,演示了如何使用Lambda表达式和java.util.function包中的函数式接口。Java函数式编程是Java编程语言中的一种编程范式,可以将函数赋值给变量,将函数作为参数传递给其他函数,以及从其他函数返回函数。
2025-03-09 23:00:22
24
原创 Spring Boot实现跨域
当一个请求url的协议、域名、端口三者之间任意一个与当前页面url不同即为跨域首先编写一个过滤器,可以起名字为MyCorsFilter.java@Component在web.xml中配置这个过滤器,使其生效-- 跨域访问 START--><filter></filter>-- 跨域访问 END -->
2025-02-18 19:13:43
581
原创 Spring Cloud集成Nacos注册中心
在 Spring Cloud项目中引入Nacos依赖:在你的 Spring Cloud 项目的 `pom.xml` 文件中,需要添加 Nacos 的相关依赖。这些依赖包括 Nacos 的客户端和服务发现的依赖。配置 Nacos:在你的 `bootstrap.yml` 或者 `application.yml` 文件中,需要添加 Nacos 的相关配置。在Nacos的控制,可以看到已注册的服务列表以及服务的详细信息。此时,你的项目会自动向 Nacos 注册中心注册服务。安装完成后,启动Nacos服务。
2025-02-18 19:00:13
45
原创 《哈佛气质课》第4章
谈吐从哈佛大学毕业,受聘于世界银行的于家娣说过:"在哈佛学习,语言是第一关。"哈佛大学非常注重口才的力量,把说话能力作为个人走向成功的必备技能。在各种场合,哈佛人表现了出色的说话水准,往往在三言两语间散发出折服人心的力量,谈吐之间体现出睿智的见解、诙谐的风格,表现了一个成功者应有的素养和气质,为他们的事业上的成功开辟了通道。 优雅流利的谈吐是个人有气质的体现。谈吐不凡的人,被人尊敬,受人爱戴,得人拥护, 使个人的才学充分拓展,熠熠生辉,事半功倍,业绩卓著。培养说话能力,修炼谈吐艺术,是提升自我气质、开辟事
2025-02-09 17:11:03
50
原创 《哈佛气质课》第3章
纵观历史上所有的哈佛成功人士,他们都具有一个极其明显的共同点,那就是良好的形象。深厚的知识底蕴,得体的服饰仪容,翩翩的仪表风度,优雅的行为举止,使得哈佛人由内而外散发出与众不同的气质,体现出不可阻挡的个人魅力,这是哈佛人赢得世人亲近、认同、尊重的重要原因。 良好的形象不仅能提升一个人的精神状态、气质风范,还能提升个人的品牌价值,增加个人的成功概率。只有平时注重自身知识积累、能力积蓄、修养提高,着装得体、谈吐文雅,才能做到卓尔不群,脱颖而出。 别让第一印象毁了你,在与陌生人交往的过程中,所得到的有关
2025-02-09 17:00:36
38
原创 《哈佛气质课》 第2章
修养—超凡脱俗的高贵气质 历史悠久的建校历程,博大精深的学术底蕴,孕育了哈佛人的灵魂,滋养了哈佛人的思想,造就了哈佛人独特的气质,培育了哈佛人深厚的修养。哈佛人以知识为事业之本,以修养为立身之基,内外兼修,为世人树立了立德立言立行立业的楷模。不论世事如何变化,哈佛人始终坚守自己的人生信条,保持着一贯的诚实、正直、谦逊、善良的品格,保持着做人的高贵气质。哈佛人为人处世的高尚风范启示我们:修养决定了一个人的气质,决定了一个人立身的根本,是个人走向成功的第一课。做个人人景仰的有教养的人,哈佛人文所以能够拥
2025-02-09 16:41:10
43
原创 《哈佛气质课》第1章
"这种高标准的育人理念,孕育了哈佛人的灵魂,滋养了哈佛人的思想,造就了哈佛人与众不同的气质,也使得哈佛大学成为群英荟萃、人才辈出的世界一流的著名学府。有了内在的涵养,人就不再拘泥于外在的修饰,而会由内而外散发出迷人的精神气质,这也是哈佛大学给世人的最宝贵财富。本书为你揭开哈佛气质的秘密,从修养、形象、谈吐、自信、担责、精细、坚韧、胆识、气度方面,深入浅出地解析了哈佛气质的内涵,提供了修炼哈佛气质的方法和途径,让你由内而外提升自我,获得脱胎换骨的蜕变,成为一个人人欢迎的、气质出众的人。
2025-02-09 16:16:59
38
原创 Film&Music
五朵金花》《沉睡魔咒》《三国之见龙卸甲》《灰姑娘》《正义联盟》《沉睡魔咒2》》《秦时明月之夜尽天明》《秦时明月之诸子百家》《秦时明月之万里长城》《毒液2》《小马王》《
2025-01-14 18:48:46
484
原创 跳表(Skip List)
跳表(Skip List)是一种随机化的数据结构,它结合了链表和二分查找的优点,能够在保持较低空间复杂度的同时,提供高效的插入、删除和查找操作。跳表的全称是跳跃表,它的基础是有序链表,在有序链表的基础上,增加多级索引,实现快速查找。跳表是一种随机化的数据结构,可以被看做二叉树的一个变种,它在性能上和红黑树、AVL树不相上下,但是跳表的原理非常简单,目前在Redis和LevelDB中都有用到。由于跳表的多级索引结构,这些操作的时间复杂度均为O(log n),其中n为跳表中元素的个数。
2024-12-03 16:19:54
68
原创 二叉堆树结构
下沉操作是将替换后的堆顶元素与其子节点进行比较,如果堆顶元素小于子节点(在最大堆中),则与较大的子节点交换位置,继续向下比较,直到满足堆性质或到达叶子节点。上浮操作是将新插入的元素与其父节点进行比较,如果新元素大于父节点(在最大堆中),则交换两者的位置,继续向上比较,直到满足堆性质或到达堆顶。对于每个节点i,其子节点的值(或关键字)要么都小于等于节点i的值(称为最小堆),要么都大于等于节点i的值(称为最大堆)。堆性质:对于每个节点i,其子节点的值满足最小堆或最大堆的要求。最大堆的最大元素位于堆顶。
2024-11-12 10:31:19
100
原创 SpringBoot自动装配过程
整个J2EE的整体解决方案和自动配置都在springboot-autoconfigure的jar包中,它将所有需要导入的组件以全类名的方式返回,然后被添加到容器中,把当前启动器需要的所有组件都导入进去 , 并配置好这些组件,有了自动配置类(xxxAutoConfiguration),免去了手动编写配置等工作。这些value就是自动配置类的全限定名,它们会被加载到Spring容器中。在这个过程中,会进行环境的准备、Banner的打印、上下文对象的创建、上下文的准备以及上下文的刷新等操作。
2024-11-04 19:32:36
195
原创 配置类如何读取yml文件
application.yml中配置的东西,通常是自动配置类中属性的值,只要存在于spring.factories中的,都可以在application.yml中进行配置。当然并不意味着不存在其中的就不能配置,这些配置类是可以进行自定义的,只要写了配置类,就可以在yml中配置需要的属性值,然后在配置类中直接读取这个配置文件,将其映射到配置类的属性上。在yml中配置的date-format,通过@ConfigurationProperties映射到类中的dateFormat中。
2024-11-04 19:10:44
156
原创 SpringBoot启动器
其中有自动配置相关的依赖、日志相关依赖、还有Spring-core等依赖,这些依赖只需要导入一个spring-boot-starter就可以直接将其全部引入。SpringBoot会将所有的功能场景都封装成一个一个的启动器,供开发人员使用。在官网上找到所需的启动器,直接将其引入。引入spring-boot-starter-web会自动导入web环境下所有必需的依赖。
2024-11-04 19:02:54
423
原创 SpringBoot约定大于配置
若入口类所在的包是cn.objectspace.demo那么自动扫描包的范围是cn.objectspace.demo包及其下面的子包,如果service包和dao包不在此范围,则不会自动扫描。spring的配置文件目录可以放在/config、/(根目录)、resource/config/、resource/,这四个路径从上到下存在优先级关系。译为:file:./config/、file:./、classpath:/config/、classpath:/。
2024-11-04 18:52:01
351
原创 SpringBoot开箱即用
父工程spring-boot-dependencies,存放了SpringBoot的核心依赖。在引入一些SpringBoot依赖jar包时不需要指定版本,正是因为SpringBoot的父依赖已经帮我们维护了一套版本。SpringBoot配置的依赖都在spring-boot-dependencies里面了。点开SpringBoot项目POM文件中父依赖,按住Ctrl+鼠标左键,点进去。出现如下依赖,再点进去。
2024-11-04 18:49:31
120
原创 spring.factories文件的作用
spring.factories文件是Spring Boot自动配置的核心组成部分,通过它可以将不同的自动配置类和后处理器集中在一起,便于Spring Boot在运行时自动进行组件装配。自动配置类:用于指定自动配置类,这些类会在Spring Boot启动时根据类路径下的jar包和配置自动进行bean的创建和配置。自动配置导入过滤器:用于指定自动配置导入过滤器,这些过滤器会用于过滤自动配置类,确保只有满足条件的自动配置类才会被加载。
2024-11-04 15:27:52
690
原创 SpringBoot开箱即用原理
所以在加载自动配置类的时候,并不是将spring.factories的配置全量加载进来,而是通过这个注解的判断,如果注解中的类都存在,才会进行加载。SpringBoot所有自动配置类都是在启动的时候进行扫描并加载,通过spring.factories可以找到自动配置类的路径,不是所有存在于spring.factories中的配置都进行加载,是通过@ConditionalOnClass注解进行判断条件是否成立(只要导入相应的stater,条件就能成立),如果条件成立则加载配置类,否则不加载该配置类。
2024-11-04 15:24:54
422
原创 事物挂起(JTA)
开启一个事务,将当前事务信息存入A类。如果需要进行事务挂起,将A类中的当前事务信息赋值到B类,并创建一个新事务,将新事务信息赋值到A类。如果需要恢复原事务,将A类清空,将B类中的数据信息赋值到A类,此时原事务再次生效。在Spring框架中,事务挂起不是一个直接支持的传播行为,更多依赖于底层资源或特定API来实现这一功能。事务挂起是指在某个事务方法中暂时中断当前事务的执行,以便可以执行另一个不希望受当前事务影响的操作。当需要在不干扰当前事务的情况下执行一些操作或者需要切换到不同的事务上下文时使用。
2024-11-03 11:08:50
111
原创 Mybatis有哪些版本
在选择MyBatis和MyBatis-Spring版本时,需要注意它们之间的版本对应关系。Spring 4.x.x则与MyBatis 3.x.x和MyBatis-Spring 1.2.x配合使用等。MyBatis的版本命名采用了数字递增的方式,每个主版本(如3.x)下可能包含多个次版本(如3.1、3.2等)和修订版本(如3.1.1、3.1.2等)。截至2024年,MyBatis已经发布了多个3.x.x版本,其中最新的稳定版本是MyBatis 3.5.13,该版本发布于2023年3月11日。
2024-10-29 00:40:16
778
原创 Spring Cloud有哪些版本
2023.0.x(Leyton):截至2024年9月,这是Spring Cloud的最新版本,基于Spring Boot 3.x版本研发,具体支持的Spring Boot版本包括3.3.x和3.2.x。2021.x:Spring Cloud在2021年推出的新版本线,支持更新的Spring Boot版本,并引入了更多的新特性和改进。Hoxton:支持Spring Boot 2.2.x和2.3.x,是Spring Cloud在2020年左右的一个稳定版本,提供了丰富的微服务功能和良好的兼容性。
2024-10-29 00:36:13
390
原创 数据库三大范式
Oracle三大范式是数据库设计中的规范化过程,旨在减少数据冗余、提高数据一致性和数据库性能。这三大范式包括第一范式(1NF)、第二范式(2NF)和第三范式(3NF)。
2024-10-29 00:15:14
126
原创 对称加密算法和非对称加密算法
RSA加密算法是一种非对称加密算法。AES算法全称Advanced Encryption Standard,又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。经过五年的甄选流程,高级加密标准由美国国家标准与技术研究院 (NIST)于2001年11月26日发布于FIPS PUB 197,并在2002年5月26日成为有效的标准。2006年,高级加密标准已然成为对称密钥加密中最流行的算法之一。
2024-10-28 23:52:55
196
原创 算法有哪些
算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,代表着用系统的方法描述解决问题的策略机制。也就是说,算法能够对一定规范的输入,在有限时间内获得所要求的输出。算法应该具有有穷性、确切性、输入项、输出项以及可行性这五个重要的特征。一个算法的优劣可以用空间复杂度与时间复杂度来衡量。在各个领域,算法都有着广泛的应用。例如,在数据分析与挖掘中,算法可以帮助开发人员有效地处理和分析海量数据,挖掘数据中隐藏的价值;
2024-10-28 23:22:42
178
原创 栈的实现方式
在编译时就确定了栈的大小,不能在运行时改变。使用一个数组来存储栈中的元素,并使用一个整型变量(如top)来记录栈顶元素的位置。数组来实现栈的进栈(push)和出栈(pop)操作示例。使用一组节点来存储栈中的元素,每个节点包含一个数据域和一个指向下一个节点的指针。链式栈的大小可以动态地根据需要增长。在某些情况下,还可以使用其他数据结构(如队列、树等)来实现栈的功能,但这些实现通常不如基于数组和链表的实现常见。
2024-10-28 22:26:46
84
原创 队列的实现方式
Java中队列(Queue)可以通过多种方式实现,包括使用数组、链表以及Java标准库中的Queue接口及其实现类(如LinkedList、PriorityQueue等)。
2024-10-28 21:21:37
484
原创 线性结构和非线性结构
数据结构是计算机存储、组织数据的一种方式,相互之间存在一种或多种特定关系的数据元素的集合。数据结构研究的内容是如何按一定的逻辑结构把数据组织起来并选择适当的存储表示方法把逻辑结构组织好的数据存储到计算机的存储器里。它分为线性存储结构和非线性存储结构,线性存储结构元素之间的关系是一对一的,如栈、队列,非线性存储结构每个元素可能连接零个或者多个元素,如树、图。线性结构和非线性结构是数据结构的两种基本类型,它们在组织、存储和访问数据元素的方式上有着显著的区别。数据结构和算法。
2024-10-28 19:40:22
94
原创 数据结构分类
数据结构(data structure)是计算机存储、组织数据的方式,是带有结构特性的数据元素的集合。是相互之间存在一种或多种特定关系的数据元素的集合,即带“结构”的数据元素的集合。这种“结构”指的是数据元素之间存在的关系,分为逻辑结构和存储结构。顺序存储结构:数据元素在存储器中是连续存储的,可以借助数据元素在存储器中的相对位置来表示数据元素之间的逻辑关系。链式存储结构:每个数据元素里设置了一个指针用来指向另一个元素的存储地址,以此来表示数据元素之间的逻辑结构。图形结构:数据元素之间存在着多对多的关系。
2024-10-28 17:33:16
148
内容涵盖:Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、 Redis
2024-05-23
SecureCRT9工具
2022-05-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人