自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 JAVA中Process和Runtime的基础使用

类是Java平台的一部分,用于提供与当前运行的Java应用程序相关的环境信息和操作方法。这个类主要用于执行与系统相关的一些任务,如执行外部程序、获取系统属性等。

2024-09-27 10:28:47 624

原创 JUC学习笔记-线程

当前线程sleep()方法结束、其他线程join()结束、等待用户输入完毕、线程拿到对象锁。

2024-09-25 16:56:40 716

原创 spring学习笔记-手动实现IOC和依赖注入、AOP原理

根据得到的路径信息可以看到实际扫描的是编译后的class文件,我们实际要找的是该路径下的server,dao等文件,所以这里我们把这个公共的前缀路径给截掉(为了后续的操作方便)1、得到包下所有类的完整的类名(绝对路径去掉公共前缀),如:“com.yhf.spring.server.UserServerImpl”,记为allName。4、有注解,则拿到该属性的类,根据类到beanFactory中找到bean的实例化,把实例化注入。3、判断这些属性上是否有依赖注入的注解(我这里使用自定义的@Di注解)

2024-05-31 11:10:05 332

原创 设计模式学习-单例模式-JAVA

单例模式是一种创建型设计模式, 让你能够保证一个类只有一个实例, 并提供一个访问该实例的全局节点。

2024-05-29 16:32:16 960

原创 设计模式学习-代理模式-JAVA

表示需要被添加额外功能的原始方法的参数列表,比如 login() 方法有两个参数,那个 args[0] 就表示其第一个参数,args[1] 表示其第二个参数。:表示需要被添加额外功能的原始方法,比如我需要给 login()方法添加额外功能,那么 method 就表示 login() 方法;在invoke() 方法中我们需要重复静态代理的步骤:即拿到真实对象,做功能增强,调用真实对象提供服务。代理模式的要点是:代理要获得和目标对象(被代理的对象)一样的方法,这样就能在对外提供方法的同时做到。

2024-05-24 11:26:39 733

原创 设计模式学习-工厂模式-JAVA

如果侧重于生产不同品牌的一种产品时,采用工厂模式最合适如果侧重于生产不同品牌的多种产品时,采用抽象工厂模式会更加合适。

2024-05-21 11:31:35 966 1

原创 设计模式学习-模板方法模式-JAVA

模板模式,初识时感觉一头雾水,很高大上,现在准备写笔记时仔细一想发现这是最见文生意的一集。把大象关进冰箱要几步?答:打开冰箱门、把大象放进去、关上冰箱门。课程论文要交了,有没有模板?答:封面、正文、结尾不同编程语言代码的执行过程?答: 保存代码、编译代码、执行代码、输出结果通过这些例子,发现这确实很“模板”,每个步骤都给抽象了出来,对外只暴露要做什么;但没说怎么做,颇有一种:“模板已经发给你了,你就照着做自己去实现” 的感觉。

2024-05-15 18:47:01 176

原创 设计模式学习-策略模式-JAVA

策略,也可以说是方法比如:出去吃顿饭选择步行还是驾车,付款时选择用支付宝还是微信,餐具用筷子还是刀叉等等诸如此类。总之我们的。

2024-05-15 11:59:11 228

原创 消息队列初识-RabbitMq的使用

因为是直接在springboot项目中使用,所以选用了spring封装好的SpringBoot RabbirMQ Starter。这个最简单,也是后面加到具体业务代码里的,比如订单下单后,调用sendMessage传入单号,之后再到消费者代码中进行逻辑处理。简单讲就是把交换机和队列进行关联,指定交换机把什么样的消息发给哪个队列,而routingKey就是把消息转发给指定的队列。关于"my_exchange"和"my_routingKey",这里我使用的是Direct交换机模式。可以看到创建的队列和交换机。

2024-04-22 16:29:22 363 2

原创 Redission限流功能使用

按CTRL+shift+T创建RedisLimitManager 的测试类测试一下。里面创建一个限流doRateLimit方法,注入RedissonClient 类。用户的操作来后,请求一个令牌,并判断是否获得,没获得就是请求太频繁了。首先用redissonClient创建一个限流器,并设置几秒几次。好了,用在实际类似与用户下单这类调用方法中,一行代码就行。场景:一秒内用户最多访问n次某个功能。导入redission的pom依赖。创建一个RedisLimit的类。

2024-04-15 20:46:06 301 2

原创 学习笔记1-业务逻辑之excel转csv

multipart/form-data 规范打包这些文件及其相关信息,形成一个多部分(multipart)的 HTTP 请求发送到服务器。MultipartFile 是 Spring Framework 提供的一个接口,用于处理 web 应用程序中通过 HTTP 请求以。multipart/form-data 格式上传的文件。当用户在网页表单中选择一个或多个文件,并点击提交按钮时,浏览器会按照。场景:上传一个excel文件,把其转化成csv。使用EasyExcel(这个一个开源工具)读。

2024-04-13 18:10:54 174

原创 学习笔记-分布式锁

/锁的名称。不能写死,由调用者提供//静态代码块中对其初始化static {//获取线程标识//获取锁//这里的Boolean.TRUE.equals(success)是为了防止success为null的情况,因为Boolean是包装类,返回boolean类型的时候会自动拆箱,如果success为null,会报空指针异常//调用lua脚本。

2024-03-01 19:32:18 413

原创 neo4j可web可视化中Uncaught TypeError: Cannot set properties of undefined (setting ‘dataIndex‘)。

问题:数据量太大后会有不同的节点类拥有相同的name,此时在web界面的控制台会报出错误:Uncaught TypeError: Cannot set properties of undefined (setting ‘dataIndex’)。解决方案:建议获取节点的唯一标识符id放入node中并转换成字符串类。关系links中也同理。

2023-10-28 17:58:43 1221 1

原创 C语言数据结构:带头结点的的单链表的插入,删除,查找

C语言数据结构:带头结点的的单链表的插入,删除,查找C语言数据结构:带头结点的的单链表的插入,删除,查找首先是创建一个空的线性表先上链表部分的定义typedef struct LNode *PtrToLNode;struct LNode { ElementType Data; PtrToLNode Next;};typedef PtrToLNode Position;typedef PtrToLNode List;typedef的作用是可以自定义类型的名字,例如 type

2021-03-24 19:25:44 2733

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除