自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Spring5第四篇:Spring工厂创建复杂对象的3种方式

简单对象:指的就是可以直接通过new构造方法的方式创建的对象比如: User UserDao UserService . . .复杂对象:不能直接通过构造方法创建的对象Spring中用于创建复杂对象的一种形式,也是Spring原生提供的,当Spring整合其他框架的时候,会大量用到FactoryBean。`getObject`方法:用于书写创建复杂对象的代码,并返回工厂所管理的对象的实例。 - `getObjectType`方法:返回由`FactoryBean`创建的对象的类型。 - `isSingle

2023-10-18 20:40:50 130 1

原创 孙帅sunsNetty学习笔记(持续更新中)

本文内容来自于B站孙帅suns的netty应用视频,该笔记由本人根据视频学习整理而成。内容有什么是Netty?为什么用Netty,什么是NIO?传统网络开发和NIO的区别。Channel和Buffer,NIO的基本开发!ByteBuffer的实现以及核心结构。NIO当中字符串的操作,粘包与半包。

2023-10-18 11:43:45 261 1

原创 Netty应用第五篇:NIO字符串操作,粘包与半包

通过源码得知,当通过encode方法创建ByteBuffer之后,buffer此时已经处于了读状态下,此时三个状态为中的position是0,此时再调用了flip方法,会将三个状态中的limit方法同时置为0,再这个状态下进行读取操作的时候,buffer发现limit为0,就会立即停止读取操作,因为limit为0表示没有能够进行读取的数据。通过结果发现,当我们将写入的内容从英文修改成中文之后,在buffer当中读出来的数据出现了乱码,这是因为我们没有手动设置字符集导致的。

2023-10-16 17:45:17 151 1

原创 Spring5第三篇:Spring当中的注入分析

通过Spring工厂以及配置文件,为所创建的对象的成员变量赋值。

2023-10-15 12:00:00 62 1

原创 Netty应用第四篇:通过ByteBuffer了解Buffer的一系列内容

我们知道,Buffer当中存在很多种类,但是大多都是相通的,所以这一篇我们通过ByteBuffer来了解一下Buffer的获取和实现,以及它的一些核心API。在Buffer当中,其实最重要的就是三个状态,对Buffer的操作基本上都跟这三个状态有关,所以,只需要我们能够熟练掌握这三个状态,基本上就能够熟练的运用Buffer了。指的是因为部分原因,导致可提供的内存大小并不是真实的内容容量。注意:每次进行读写的时候需要检查和控制position的位置,确保不会越界访问缓冲区当中的数据。

2023-10-13 14:45:00 84

原创 Java设计模式之责任链模式(Chain of Responsibility Pattern)笔记

责任链模式的核心思想是将请求沿着一个链条传递,每个处理者负责判断自己是否能够处理请求,如果能够处理就处理之,如果不能处理就将请求传递给下一个处理者,直到请求被处理为止。:即使一个处理者无法处理请求,责任链仍然可以继续传递请求给下一个处理者,提高了系统的容错性。每个处理者根据请假天数决定是否能够批准请求,如果不能批准,就将请求传递给下一个处理者,直到被批准或者到达责任链的末尾。:如果责任链中的最后一个处理者也无法处理请求,那么请求将被忽略,客户端可能不会得到任何响应,这可能是一个潜在的问题。

2023-10-11 11:15:00 115 1

原创 Java设计模式之装饰器模式(Decorator)笔记

这种模式通过创建一个包装器类来实现,在这个包装器类中包含了原始类的实例,并且可以在不改变原始类的接口的情况下,增加额外的行为或功能。:装饰器模式使得每个装饰器类专注于一个特定的责任或功能,这有助于代码的可维护性,因为每个装饰器类都只关心它自己的功能,而不需要了解整个对象的复杂性。:在GUI开发中,装饰器模式可用于添加各种UI组件的装饰,比如按钮、文本框等,以增加额外的功能,如边框、滚动条、提示等。装饰器模式可能会导致类的数量增加,特别是在有多个装饰器的情况下,这可能会增加代码的复杂性和理解难度。

2023-10-10 15:13:06 179 1

原创 Spring5第二篇:开发一个简单的Spring程序

XML的id属性值命名要求:必须以字母开头,后续可以接字母、数字、下划线、连字符,不能以特殊字符开头,而name属性的值没有要求所以name属性会应用在特殊命名的场景下,但是XML发展到现在,这个对于id属性的限制已经不存在了。ctx.getBean("")里面既可以写name的值也可以写id的值,都可以获取bean对象;等效于作用:Spring提供的ApplicationContext这个工厂,用于对象的创建。

2023-09-30 14:30:00 39 1

原创 Netty应用第三篇:什么是Channel和Buffer?NIO的基本开发!

这一篇主要介绍了Channel和Buffer,以及NIO当中基本开发的方式,通过这一篇我们已经知道了其实在NIO开发当中,Buffer在通信当中是极其关键的一部分。NIO编程中,通常是将数据从一个Buffer写入到Channel,然后通过从Channel读取数据到另一个Buffer,最终将数据从Buffer传递给程序。ServerSocketChannel,监听新进来的TCP连接,像Web服务器那样,对每一个新进来的连接都创建一个SocketChannel。FileChannel,读写文件当中的数据。

2023-09-28 14:15:00 101 1

原创 Java设计模式之外观模式(Facade)笔记

外观模式的主要目的是简化复杂系统的接口,提供一个更高级别的接口,以便客户端可以更容易地与系统进行交互,而不需要了解系统内部的复杂性。当系统具有多个复杂的子系统或组件,而客户端需要与这些子系统进行交互时,外观模式可以用来提供一个简化的接口,使客户端更容易使用系统。这取决于系统的设计和外观类的实现。当需要提供一个高层次的接口,以便客户端能够执行常见的操作,而不需要了解底层的实现细节时,可以使用外观模式。客户端是使用外观模式的代码部分,它通过外观类来访问系统的功能,而不需要直接与系统的复杂子系统进行交互。

2023-09-26 20:25:44 340 1

原创 Java设计模式之中介者模式(Mediator)笔记

它了解各个对象的接口,并能够根据接收到的消息来决定如何协调对象之间的交互。中介者模式通过引入中介者对象,降低了系统中对象之间的耦合度,促进了对象之间的协作与通信。中介者模式的主要作用是降低系统中对象之间的耦合度,同时促进对象之间的松散耦合,从而提高系统的可维护性、可扩展性和可复用性。如果系统中存在多个对象之间的复杂多对多关系,中介者模式可以提供一个统一的中心点,管理这些对象之间的交互,如社交媒体平台。在测试类中,创建中介者对象和各个同事对象,然后注册同事对象到中介者,并通过中介者来进行消息的发送和接收。

2023-09-25 09:00:00 193 1

原创 Java设计模式之抽象工厂模式(Abstract Factory)笔记

如果您的产品对象可以分为不同的族群,每个族群都有一组相关的产品,例如不同操作系统下的界面元素、不同风格的家具等,抽象工厂模式是一个有用的设计模式。:如果您的应用程序需要支持多个不同的产品族,并且这些产品族之间的切换要求是相对频繁的,抽象工厂模式可以提供一种灵活的方式来支持这种切换。:当您的应用程序需要同时创建多个相关的对象,这些对象通常一起使用,并且具有一定的关联性,抽象工厂模式可以帮助您管理这些对象的创建。:确保创建的产品对象都满足一组共同的接口,创建的对象在整个系统中保持一致性,属于同一产品族。

2023-09-24 15:15:00 1005 1

原创 Netty应用第二篇:什么是NIO?传统网络开发和NIO的区别

NIO全称:None Blocking IO (非阻塞IONIO是Java编程语言中的一种输入/输出(I/O)模型,用于处理非阻塞I/O操作。它是Java标准库中java.nio包的一部分。NIO提供了一种更高效的I/O处理方式,特别适用于需要处理大量并发连接或大量数据传输的应用程序,如网络服务器或文件处理工具。

2023-09-22 15:00:00 73

原创 Spring5第一篇:Spring的出现以及Spring的本质

Spring介绍Spring介绍Spring的出现在2002年,Rod Johnson撰写了一本名为《J2EE设计和开发》的书,概括了当时Java企业应用程序开发的现状并指出了JavaEE规范当中,并在书中基于普通Java类和设计模式推出了更简单的解决方案(interface21),同年进一步拓展了其代码,最终衍生成了一个。EJB介绍及其缺陷。

2023-09-19 14:33:25 43 1

原创 Netty应用第一篇:什么是netty?为什么用netty?

Netty的设计是经过精心设计的,其经验来自于许多协议的实施,如FTP、SMTP、HTTP以及各种基于二进制和文本的遗留协议。:假如我和我朋友是打电话联系的,那么在这个通话阶段,我俩必须时刻聆听和回应对方,否则就会出现沟通问题,这就是同步通信,因为通信的两端必须同步工作,一方的行动取决于另一方的行动。同时,它也有一个活跃的社区,不断更新和维护,确保了其在不断发展的网络环境中的稳定性和可靠性。首先,Netty已经是行业内网络通信的编程的标准,广泛用于通信领域和很多其他的中间件技术的底层。

2023-09-17 21:42:01 111 1

原创 Java设计模式之工厂方法模式(Factory Method)笔记

目录什么叫工厂方法模式工厂方法模式作用工厂方法模式特征工厂方法模式应用场景工厂方法模式的实现抽象产品接口创建具体产品类定义抽象接口创建具体工厂类测试工厂方法总结参考文献 工厂方法模式(Factory Method Pattern)是一种常用的创建型设计模式,它提供了一种将对象的创建逻辑抽象出来的方式,让子类决定实例化哪个具体类。这样可以使得一个类的实例化延迟到其子类,从而达到解耦的目的。将对象的创建和使用分离:工厂方法模式将对象的创建过程封装到工厂类中,客户端代码不需要直接实例化具体产品对象,

2023-09-17 18:44:13 59

原创 Java设计模式之策略模式(Strategy)笔记

策略模式将算法的具体实现与算法的使用分离开来,使得客户端代码不需要关心具体的算法细节。这样,客户端代码可以专注于高层逻辑,而不会受到底层算法的影响。

2023-09-14 11:05:40 279

原创 Java设计模式之单例模式(Singleton)笔记

关于单例模式实际上并不复杂,并且也不要求全部掌握,实际上仍需根据实际情况使用不同的方式,这篇文章也仅是我自己的学习笔记加上一点理解,希望能对大家有所帮助。

2023-09-10 21:03:54 173

空空如也

空空如也

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

TA关注的人

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