L_D_Y_K
码龄8年
求更新 关注
提问 私信
  • 博客:77,219
    77,219
    总访问量
  • 116
    原创
  • 2,351
    粉丝
  • 20
    关注
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:北京市
加入CSDN时间: 2017-07-27
博客简介:

L_D_Y_K的博客

查看详细资料
个人成就
  • 获得23次点赞
  • 内容获得16次评论
  • 获得85次收藏
  • 博客总排名1,594,776名
创作历程
  • 3篇
    2023年
  • 29篇
    2022年
  • 62篇
    2021年
  • 5篇
    2020年
  • 2篇
    2019年
  • 8篇
    2018年
  • 9篇
    2017年
成就勋章
TA的专栏
  • Netty
    4篇
  • Spring
    12篇
  • Alibaba
  • Spring Cloud
    11篇
  • Spring Cloud Alibaba
    5篇
  • Java
    29篇
  • Redis
    7篇
  • MySQL
    13篇
  • RabbitMQ
    4篇
  • 分布式
    1篇
  • 算法与数据结构
  • 设计模式
    7篇
  • Default
    13篇

TA关注的专栏 1

TA关注的收藏夹 0

TA关注的社区 0

TA参与的活动 0

创作活动更多

王者杯·14天创作挑战营·第2期

这是一个以写作博客为目的的创作活动,旨在鼓励码龄大于4年的博主们挖掘自己的创作潜能,展现自己的写作才华。如果你是一位热爱写作的、想要展现自己创作才华的小伙伴,那么,快来参加吧!我们一起发掘写作的魅力,书写出属于我们的故事。 注: 1、参赛者可以进入活动群进行交流、分享创作心得,互相鼓励与支持(开卷),答疑及活动群请见https://bbs.csdn.net/topics/619735097 2、文章质量分查询:https://www.csdn.net/qc 我们诚挚邀请你们参加为期14天的创作挑战赛!

78人参与 去参加
  • 最近
  • 文章
  • 专栏
  • 代码仓
  • 资源
  • 收藏
  • 关注/订阅/互动
更多
  • 最近

  • 文章

  • 专栏

  • 代码仓

  • 资源

  • 收藏

  • 关注/订阅/互动

  • 社区

  • 帖子

  • 问答

  • 课程

  • 视频

搜索 取消

十五、函数式编程

Terminal操作的执行,才会真正开始流的遍历,并且会生成一个结果。在对一个Stream进行多次转换操作Intermediate操作,每次都对Stream的每个元素进行转换,转换操作都是lazy的,多个转换操作只会在Terminal操作的时候融合起来,一次循环完成。函数接口的抽象方法可以是从超级接口继承而来,但继承而来的方法应该是覆写等效的,这种情况,在逻辑上,代表一个方法。如果值存在,就对该值执行提供的mapping函数调用,返回一个Optional类型的值,否则就返回一个空的Optional对象。
原创
发布博客 2023.08.16 ·
186 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

十四、Java SPI

大多数开发人员可能不熟悉,因为这个是针对厂商或者插件的。①、当服务提供者提供了接口的一种具体实现后,在jar包的META-INF/services目录下创建一个以“接口全限定名”为命名的文件,内容为实现类的全限定名。a、SrviceLoader只能通过遍历全部获取,也就是接口的实现类全部加载并实例化一遍,如果有扩展实现初始化很耗时,但如果没用上也加载,会很浪费资源。③、系统里抽象的各个模块,往往有很多不同的实现方案,在面向的对象的设计里,一般推荐模块之间基于接口编程,模块之间不对实现类进行硬编码。
原创
发布博客 2023.08.16 ·
212 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

十三、Java Agent

java.lang.instrument.Instrumentation是instrument包中定义的一个接口,也是这个包的核心部分,集中了其中几乎所有的功能方法,例如类定义的转换和操作等。在程序运行后加载,是不可能在主程序A中编写加载的代码,只能另写程序B,A、B程序之间的通信会用到attach机制,它可以将JVM B连接至JVM A,并发送指令给JVM A执行,JDK自带常用工具如jstack,jps等就是使用该机制来实现的。MANIFEST.MF文件用于描述Jar包的信息,例如指定入口函数等。
原创
发布博客 2023.08.16 ·
474 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Nacos源码解析流程图

发布资源 2023.03.02 ·
zip

2、适配器模式

①、适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。通过增加一个新的适配器类来解决接口不兼容的问题,使得原本没有任何关系的类可以协同工作。②、适配器继承或依赖已有的对象,实现想要的目标接口。③、角色 a、源角色:原有的接口,也是希望被适配的接口,例:VlcPlayer类或AdvancedMediaPlayer接口。
原创
发布博客 2022.09.13 ·
540 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

1、代理模式

代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象。这样做的好处是:在不改动原有代码的前提下,在已有代码基础上添加新的功能,从而增强原功能。这里使用到编程中的一个思想:不要随意去修改别人已经写好的代码或者方法,如果需改修改,可以通过代理的方式来扩展该方法。
原创
发布博客 2022.09.13 ·
255 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

4、建造者模式

建造者模式 (1)、概述 将一个复杂的对象的构建与它的表示分离,是的同样的构建过程可以创建不同的表示。为了灵活构造复杂对象,该对象会有多个成员变量,在外部调用的时候,不需要或者不方便一次性创建出所有的成员变量,在这种情况下,使用多个构造方法去构建对象,很难维护,这时候Builder设计模式解决这个问题,进行buid()方法中创建对象,并且将builder传入,该builder中,维护了传入对象的成员变量。 当一个类的构造函数参数个数超过4
原创
发布博客 2022.09.13 ·
625 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

3、抽象工厂模式

抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显式指定它们的类。每个生成的工厂都能按照工厂模式提供对象。(1)、优点:当一个产品族中的多个对象被设计成一起工作时,它能保证客户端始终只使用同一个产品族中的对象。(2)、缺点:产品族扩展非常困难,要增加一个系列的某一产品
原创
发布博客 2022.09.13 ·
143 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

2、工厂模式

工厂模式(Factory Pattern)是Java中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。作为一种创建类模式,在任何需要生成复杂对象的地方,都可以使用工厂方法模式。有一点需要注意的地方就是复杂对象适合使用工厂模式,而简单对象,特别是只需要通过 new 就可以完成创建的对象,无需使用工厂模式。如果使用工厂模式,就需要引入一个工厂类,会增加系统的复杂度。
原创
发布博客 2022.09.13 ·
144 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

1、单例模式

一、创建型模式 1、单例模式 所谓单例,就是整个程序有且仅有一个实例。该类负责创建自己的对象,同时确保只有一个对象被创建。从而避免频繁的创建销毁对象,可以提高性能;避免对共享资源的多重占用;简化访问,为整个系统提供一个全局访问点。因为所属构造方法是私有,所以不支持继承。 众所周知,单例模式是创建型模式,都会新建一个实例。那么一个重要的问题就是反序列化。当实例被写入到文件到反序列化成实例时,我们需要重写readResolve方法,以让实例唯一。单例模式主要应用比如
原创
发布博客 2022.09.13 ·
164 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

一、六大设计原则

一、六大设计原则 1、开闭原则(Open Close Principle) 开闭原则的意思是:对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。简言之,是为了使程序的扩展性好,易于维护和升级。想要达到这样的效果,需要使用接口和抽象类。 2、里氏代换原则(Liskov Substitution Principle) 里氏代换原则是面向对象设计的基本原则之一。 里氏代换原则中说,任何基类可以出现的地方,子类一定可
原创
发布博客 2022.09.13 ·
162 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

6、Selector

6、Selector(1)、特点 Selector(选择器)用于监听多个通道的事件(比如:连接打开,数据到达)。因此,单个的线程可以监听多个数据通道。即用选择器,借助单一线程,就可对数量庞大的活动I/O通道实施监控和维护。①、Netty的IO线程NioEventLoop聚合了Selector(选择器,也叫多路复用器),可以同时并发处理成百上千个客户端连接。②、当线程从某客户端Socket通道进行读写
原创
发布博客 2022.08.25 ·
582 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

5、Channel

通道(Channel)用于源节点与目标节点的连接,在Java NIO中负责缓冲区中数据的传输,Channel本身不存储数据,因为需要配合缓冲区进行传输。Channel是双向的,既可以用来进行读操作,又可以用来进行写操作。NIO把缓冲区的数据写入通道,或者把通道里的数据读到缓冲区。③、在JDK1.7中的NIO.2的Files工具类的newByteChannel()②、在JDK1.7中的NIO.2针对各个通道提供了静态方法open()Java针对支持通道的类提供了getChannel()方法。
原创
发布博客 2022.08.25 ·
713 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

4、Buffer

①、ByteBuffer:存储字节数据到缓冲区 ②、CharBuffer:存储字符数据到缓冲区 ③、ShortBuffer ④、IntBuffer ⑤、FloatBuffer ⑥、LongBuffer ⑦、DoubleBuffer
原创
发布博客 2022.08.25 ·
379 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

1、基本数据类型和引用类型

1、基本数据类型和引用类型
原创
发布博客 2022.08.25 ·
159 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

2、final和static关键字

final和static关键字
原创
发布博客 2022.08.25 ·
168 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

10、String、StringBuilder、StringBuffer的区别

String、StringBuilder、StringBuffer的区别
原创
发布博客 2022.08.25 ·
179 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

11、float、double、BigDecimal的区别

float、double、BigDecimal的区别
原创
发布博客 2022.08.25 ·
1541 阅读 ·
2 点赞 ·
0 评论 ·
2 收藏

12、关系运算符

Java关系运算符
原创
发布博客 2022.08.25 ·
169 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

13、序列化和反序列化

序列化和反序列化
原创
发布博客 2022.08.25 ·
240 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多