- 博客(45)
- 收藏
- 关注
原创 优雅的代码规范
在软件开发中,优雅的代码规范可以帮助我们写出既美观又实用的代码。力求简洁,避免冗余,用最少的代码行数完成功能。保持项目中命名和编码风格的统一,减少认知负荷。编写清晰的文档,包括 API 文档和项目文档。编写单元测试,确保代码的稳定性和可靠性。创建可复用的函数或模块,避免重复代码。在不牺牲可读性的前提下,优化性能瓶颈。使用描述性强的命名,让代码自我解释。用注释阐明代码意图,但避免过度注释。编写安全的代码,防范常见的安全漏洞。定期重构,提升代码的可读性和性能。合理处理错误,增强程序的健壮性。
2024-05-22 15:43:06
584
原创 java设计模式(二十三)访问者模式
访问者模式是一种行为型模式,它允许你定义一个作用于某个对象结构中的各个元素的操作,而同时又不改变这些元素的类。该模式的核心思想是将数据结构与数据操作分离,从而可以在不改变数据结构的前提下定义新的操作。
2023-06-26 23:31:38
753
原创 java设计模式(二十二)策略模式
策略模式(Strategy Pattern)属于对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。
2023-06-08 01:36:24
544
原创 java设计模式(二十)观察者模式
观察者模式又叫发布订阅模式(Publish/Subscribe),它定义了一种一对多的关系,让多个观察者对象同时监听某一个主题对象,这个主题对象的状态发生变化时就会通知所有的观察者对象,使得它们能够自动更新自己。
2023-06-06 22:42:44
893
原创 java设计模式(十九)备忘录模式
备忘录模式(Memento Pattern)保存一个对象的某个状态,以便在适当的时候恢复对象。在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。备忘录模式属于行为型模式。
2023-06-06 18:33:19
424
原创 java设计模式(十八)中介者模式
中介者模式又称调停者模式,属于行为型模式;中介者模式包装了一系列对象相互作用的方式,使得这些对象不必互相明显引用。从而使它们可以较松散地耦合。当这些对象中的某些对象之间的相互作用发生改变时,不会立即影响到其他的一些对象之间的相互作用。从而保证这些相互作用可以彼此独立地变化。
2023-06-06 18:13:52
473
原创 java设计模式(十七)迭代器模式
迭代器模式(Iterator Pattern)提供一个对象来顺序访问聚合对象中的一系列数据,而不暴露聚合对象的内部表示。迭代器模式是一种对象行为型模式。
2023-06-05 11:04:09
288
原创 java设计模式(十六)命令模式
命令模式(Command Pattern)又叫动作模式或事务模式。指的是将一个请求封装成一个对象,使发出请求的责任和执行请求的责任分割开,然后可以使用不同的请求把客户端参数化,这样可以使得两者之间通过命令对象进行沟通,从而方便将命令对象进行储存、传递、调用、增加与管理。命令模式是一种对象行为型模式。
2023-06-04 23:46:45
655
原创 java设计模式(十五)责任链模式
责任链模式(Chain of Responsibility)使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有对象能够处理它。
2023-06-04 23:08:38
619
原创 java设计模式(十四)模板方法
模板方法模式(Template Method Pattern),又叫模板模式(Template Pattern), 指在一个抽象类公开定义了执行它的方法的模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。简单说, 模板方法模式定义一个操作中的算法的骨架,而将一些步骤延迟到子类中,使得子类可以不改变一个算法的结构,就可以重定义该算法的某些特定步骤。
2023-06-04 19:49:38
1080
原创 java设计模式(十三)解释器模式
解释器模式(Interpreter Pattern)提供了评估语言的语法或表达式的方式,它属于行为型模式。这种模式实现了一个表达式接口,该接口解释一个特定的上下文。这种模式被用在 SQL 解析、符号处理引擎等,是一种类行为型模式。
2023-06-04 15:38:56
960
原创 java设计模式(十一)享元模式
享元(Flyweight)模式:运用共享技术有效地支持大量细粒度对象的复用。系统只使用少量的对象,而这些对象都很相似,状态变化很小,可以实现对象的多次复用。由于享元模式要求能够共享的对象必须是细粒度对象,因此它又称为轻量级模式,是一种结构型模式。
2023-05-06 08:00:00
253
原创 java设计模式(十) 外观模式
外观模式(Facade Pattern):外部与一个子系统的通信必须通过一个统一的外观对象进行,为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。外观模式又称为门面模式,它是一种对象结构型模式。
2023-05-05 22:15:06
336
原创 java设计模式(九)装饰者模式
*装饰器模式(Decorator Pattern)**允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。
2023-04-24 08:00:00
207
原创 java设计模式(八)组合模式
组合模式(Composite Pattern):组合多个对象形成树形结构以表示具有“整体—部分”关系的层次结构。组合模式对单个对象(即叶子对象)和组合对象(即容器对象)的使用具有一致性,组合模式又可以称为“整体—部分”(Part-Whole)模式,它是一种对象结构型模式。
2023-04-19 22:31:12
318
原创 java设计模式(七)桥接模式
桥接模式(Bridge Pattern):将抽象部分与它的实现部分分离,使它们都可以独立地变化。它是一种对象结构型模式,又称为柄体(Handle and Body)模式或接口(Interface)模式。
2023-04-18 18:17:13
253
原创 java设计模式(六)适配器模式
适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。简而言之,将一个类的接口转换成客户希望的另外一个接口。
2023-04-18 15:34:22
319
原创 java设计模式(五)单例模式
单例模式(singleton),属于创建类型的一种常用的软件设计模式,保证一个类仅有一个实例,并提供一个访问它的全局访问点。
2023-04-18 11:19:35
227
原创 java设计模式(四)原型模式
原型模式(Prototype Pattern)是一种对象创建型模式,用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。
2023-04-18 08:30:00
146
原创 java设计模式(二)抽象工厂
抽象工厂模式(Abstract Factory Pattern)指提供一个创建一系列相关或相互依赖对象的接口,无需指定他们具体的类。客户端不需要指定产品的具体类型,创建多个产品族中的产品对象。
2023-04-17 21:00:00
341
原创 java设计模式(一)工厂方法
工厂方法模式(Factory Method Pattern)又叫作多态性工厂模式,指定义一个创建对象的接口,但由实现这个接口的类来决定实例化哪个类,工厂方法把类的实例化推迟到子类中进行。也就是说,工厂方法模式中,不在由工厂类生产对应的产品,而是由工厂类的子类实现具体产品的生产逻辑,解决简单工厂中switch case的臃肿,也符合开闭原则。
2023-04-17 15:50:01
134
原创 java操作es之各种高级查询
目录一、springboot整合es1.1 pom依赖1.2 yml配置1.3 创建索引1.4 创建映射1.5 写入数据二、Java API操作ES2.1 查询全部2.2 精准匹配2.3 全文检索 MatchQuery2.4 多字段联合搜索 MultiQuery2.5 布尔查询 BoolQuery2.6 模糊匹配WildcardQuery2.7 范围匹配RangeQuery2.8 分页查询三、 过滤四、 排序五、 高亮一、springboot整合es本节主要内容是使用ES客户端链接: Java High
2022-01-25 15:47:07
20201
6
原创 elasticsearch批量操作之bulk
文章目录前言一、bulk概述1.1 基础概念1.2 bulk语法1.3 操作类型二、使用示例2.1 批量插入2.2 批量更新2.3 批量删除总结前言本篇文章主要总结如何使用bulk对es进行批量操作,若有不足请教大神门在评论区多多补充。一、bulk概述1.1 基础概念bulk是es提供的一种批量增删改的操作API。1.2 bulk语法bulk对JSON串的有着严格的要求。每个JSON串不能换行,只能放在同一行,同时,相邻的JSON串之间必须要有换行(Linux下是\n;Window下是\r\
2022-01-21 16:54:32
10800
2
原创 elasticsearch优化总结
1.避免脑裂问题2.调大系统的”最大打开文件数“建议32K或者64Kulimit -a(查看)ulimit -n 65536(设置)集群的话都要分别进行设置。3.调整ES的JVM内存大小1)修改es的配置文件中ES_MIN_MEM和ES_MAX_MEM的大小,建议设置一样大,避免怕频繁的内存分配。根据服务器的大小,一般分配60%左右(默认256M)2)内存最大不要超过32G4.设置memory_lock锁定进程的物理内存地址避免内存交换(swapped)
2022-01-17 14:53:58
2632
原创 JDK1.8新特性详细总结
目录一、jdk8简介二、Lambda表达式三、jdk8 内置四大核心函数接口四、对象引用五、StreamAPI六、Optional容器类七、日期时间LocalDateTime一、jdk8简介Oracle甲骨文公司于2015年1月15日发布了新一版JDK8,新版本加入了许多新的特性。这些特性带来了一些改变,可以很大方便Java程序的编写。新特性主要涉及:对于JDK7中Fork/Join并行处理的升级;支持Lambda表达式;添加了Stream API;对于注解的拓展,加入了类型注解、重复注解;在G1回收器
2022-01-12 14:33:41
2694
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人