上一页 1 2 3 4 5 6 7 ··· 32 下一页

2023年11月22日

Java JMH 基准测试 使用小结

摘要: 在学习完 Java 的单元测试后,趁热打铁,作为有追求的程序开发人员,不顺便再学个基准测试、性能测试吗? 目录1.示例2.JMH的使用引入依赖注解@BenchmarkMode@OutputTimeUnit@State@Warmup@Measurement@Fork@Threads@Benchmark 阅读全文

posted @ 2023-11-22 15:15 进击的davis 阅读(110) 评论(0) 推荐(0) 编辑

2023年11月21日

Java JUnit5 使用小结

摘要: 在我们的日常开发中,代码一边编码一边自测是常有的事,做好单元测试也是一名开发应该掌握的技能,不说测试搞得多么强,至少会基本的,会功能测试,会性能测试。今天来学习下 单元测试。 1.JUnit5介绍 现在主要版本是 JUnit5,所以后面的内容也都是基于 JUnit5 做相关的介绍。JUnit5 是 阅读全文

posted @ 2023-11-21 17:39 进击的davis 阅读(59) 评论(0) 推荐(0) 编辑

2023年11月20日

log4j2 配置详解小结

摘要: 日志框架 log4j2 功能强大,了解配置信息对于我们使用 log4j2很有必要,今天学习下相关的配置。 目录ConfigurationPropertiesAppendersAppenderAppender-ConsoleAppender-FileAppender-RollingFileLogger 阅读全文

posted @ 2023-11-20 11:23 进击的davis 阅读(386) 评论(0) 推荐(0) 编辑

2023年11月16日

Java 线程池使用小结

摘要: 我们在使用多线程编程的时候,为何要用线程池呢?使用线程池的好处是什么呢?线程池有哪些使用场景? 为何使用线程池? 因为线程资源宝贵,不论创建新的线程还是销毁线程,都有相应的资源开销,比如在数据库连接方面,每个请求过来都是新建连接数据库的线程,请求少,资源开销总体不大,但也架不住请求一直来,线程一直频 阅读全文

posted @ 2023-11-16 10:02 进击的davis 阅读(27) 评论(0) 推荐(0) 编辑

Java 多线程安全的使用小结

摘要: 在使用多线程进行编程的过程中,难免遇到共享资源读写问题,这是为了线程安全,一种思路就是使用 锁 来控制并发读写问题。 在通过锁来实现并发安全中,常用的有以下几种: synchronized,对象锁 ReentrantLock,重入锁 ReentrantReadWriteLock,读写锁 今天从使用的 阅读全文

posted @ 2023-11-16 10:00 进击的davis 阅读(9) 评论(0) 推荐(0) 编辑

Java 创建多线程的三种方法

摘要: 在Java中创建多线程,往往都要通过Thread类来实现,今天学习下Java中创建多线程的三种方法[1]。 1.继承Thread类 通过继承 Thread类 实现多线程。 主要方法: 1.void run(), 线程开启后,方法将被调用执行 2.void start(), 使此线程开始执行, Jav 阅读全文

posted @ 2023-11-16 09:59 进击的davis 阅读(525) 评论(0) 推荐(0) 编辑

2023年11月8日

Java jackson常用注解汇总

摘要: 提起 jackson,在日常使用中,由于涉及到各种序列化和反序列化的处理,就不能不提 注解,了解注解的常用方式可以极大地方便我们处理序列化,今天分享一些在使用 jackson 中涉及到的注解。 目录1.@JsonProperty - 字段命名2.@JsonPropertyOrder - 字段序列化顺 阅读全文

posted @ 2023-11-08 17:17 进击的davis 阅读(251) 评论(0) 推荐(0) 编辑

2023年9月7日

python3读取ini文件内的字段信息

摘要: 在使用 golang 编码时,遇到 ini 文件的时候,有时候需要解析相关内容,主要就是一些配置信息,我们可能需要解析出来,简单就是用 go-ini 第三方库搞掂,在 python 中,同样我们也可以利用现有库来做解析。 在 python3 中,可以用 configParser 标准库来解析 ini 阅读全文

posted @ 2023-09-07 17:45 进击的davis 阅读(5) 评论(0) 推荐(0) 编辑

2023年6月9日

golang实现设计模式汇总-创建型 | 结构型 | 行为型

摘要: 历时一个多星期的常用设计模式暂告一段落,今天汇总下使用频率较高的几种常见设计模式。 以下个人根据类型分为3种,不喜勿喷: * 创建型 * 结构型 * 行为型 ### 1.创建型 常用如下: * [单例模式](https://juejin.cn/post/7238604003599974456) * 阅读全文

posted @ 2023-06-09 18:21 进击的davis 阅读(89) 评论(0) 推荐(0) 编辑

golang实现设计模式之观察者模式-优缺点,适用场景

摘要: `观察者模式`是一种行为型模式,其定义一种订阅机制, 可在对象事件发生时通知多个 “观察” 该对象的其他对象。 观察者模式常用 `订阅/发布机制`,即发布者持有所有订阅者,当发布者状态变更或者特定行为时,通知所有订阅者。 **结构** * 1.发布者。属性及行为:属性,订阅者列表,行为,添加、删除订 阅读全文

posted @ 2023-06-09 18:20 进击的davis 阅读(103) 评论(0) 推荐(0) 编辑

golang实现设计模式之模板模式-优缺点,适用场景

摘要: `模板模式`是一种行为型设计模式,其定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 **特点** * 1.算法结构已确定。 * 2.具体实现交由子类实现。 **结构** * 1.抽象类(Abstract Class)。算 阅读全文

posted @ 2023-06-09 18:20 进击的davis 阅读(295) 评论(0) 推荐(0) 编辑

golang实现设计模式之责任链模式-优缺点,适用场景

摘要: `责任链模式`是一种行为型的设计模式,也叫职责链,定义:在这样的场景中,请求需要经过一系列的处理者,通过列表或者链表将处理者组合起来,请求依次被处理者处理,如果需要中断,也可以及时退出处理。上述的这种的应用场景,典型的就是在 `web` 应用中的 `中间件或者拦截器`,比如 `Gin框架` 的中间件 阅读全文

posted @ 2023-06-09 18:19 进击的davis 阅读(205) 评论(0) 推荐(0) 编辑

golang实现设计模式之策略模式-优缺点,适用场景

摘要: `策略模式`是一种行为型的设计模式,该模式定义了一系列算法,并将每个算法封装起来,使它们可以相互替换,且算法的变化不会影响使用算法的客户,或者认为把使用算法的责任和算法的实现分割开来,并委派给不同的对象对这些算法进行管理。 **结构** * 1.抽象策略(Strategy)类。定义了一个公共接口,各 阅读全文

posted @ 2023-06-09 18:19 进击的davis 阅读(225) 评论(0) 推荐(0) 编辑

golang实现设计模式之适配器模式-优缺点,适用场景

摘要: `适配器模式`是一种结构型设计模式,它是通过接口转换,使得原先接口不被兼容的其他类可以一起工作。 **类型** * 类结构型 特点: \- 程序耦合性高 \- 要求程序员对组件内部结构熟悉 \- 应用相对少些 类适配器模式可以用过继承的方式来实现。 * 对象结构型 特点:可重用性较差。 对象适配器允 阅读全文

posted @ 2023-06-09 18:19 进击的davis 阅读(143) 评论(0) 推荐(0) 编辑

golang实现设计模式之组合模式-优缺点与适用场景

摘要: `组合模式`是一种将对象组合成树状的层次结构的模式,用来表示“整体-部分”的关系,使用户对单个对象和组合对象具有一致的访问性,属于结构型设计模式。 **结构** * `抽象构件(Component)角色`:它的主要作用是为树叶构件和树枝构件声明公共接口,并实现它们的默认行为。在透明式的组合模式中抽象 阅读全文

posted @ 2023-06-09 18:18 进击的davis 阅读(50) 评论(0) 推荐(0) 编辑

golang实现设计模式之代理模式-优缺点,适用场景

摘要: `代理模式`作为一种结构型的设计模式,因为某种原因,需要对访问的对象通过代理访问目标对象,访问对象不适合或者不能直接引用该目标对象,代理就成为访问对象和目标对象的中介。 **结构** * 1.抽象主题(Subject)类。通过接口或抽象类声明真实主题和代理对象实现的业务方法。 * 2.真实主题(Re 阅读全文

posted @ 2023-06-09 18:18 进击的davis 阅读(144) 评论(0) 推荐(0) 编辑

golang实现设计模式之装饰器模式-优缺点,适用场景

摘要: `装饰器模式`是一种结构型设计模式,简单概括就是:不改变先有对象结构下,动态给对象增加一些职责。 装饰器模式通过组合方式实现,与继承的异同: * 使用继承方式,具有静态特征,耦合度高,并且随着扩展功能的增多,子类会很膨胀。 * 使用组合方式,创建装饰对象来装饰真实对象,原对象功能不变,另外扩展。 * 阅读全文

posted @ 2023-06-09 18:17 进击的davis 阅读(289) 评论(0) 推荐(0) 编辑

2023年6月2日

golang实现设计模式之享元模式总结-代码、优缺点、适用场景

摘要: 享元模式是一种结构型的设计模式,通过共享细粒度对象实现对象的复用,从而达到减少对象创建与销毁,减少内存消耗,其本质是本质是缓存共享对象,降低内存消耗。 享元模式的定义提出了两个要求,细粒度和共享对象。因为要求细粒度,所以不可避免地会使对象数量多且性质相近,此时我们就将这些对象的信息分为两个部分:内部 阅读全文

posted @ 2023-06-02 11:01 进击的davis 阅读(59) 评论(0) 推荐(0) 编辑

2023年6月1日

golang实现设计模式之构建者模式总结-代码、优缺点、适用场景

摘要: 构建者模式也是一种创建型的设计模式,该模式将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的对象。大白话就是,构建者模式,从输出角度看依然是创建个对象实例,但是构建者模式更关注创建的细节,或者说一个对象的创建可以拆分为多个步骤,所有的步骤完成才创建出这个对象实例,而对于之前分享的工厂 阅读全文

posted @ 2023-06-01 11:24 进击的davis 阅读(71) 评论(0) 推荐(0) 编辑

2023年5月31日

golang实现设计模式之抽象工厂模式总结-代码、优缺点、适用场景

摘要: 抽象工厂模式也是一种创建型的设计模式,其是在工厂模式的基础上实现更高程度的内聚。我们知道在工厂模式中,一种产品类就需要新建个对应的工厂类生成产品的实例,这会有什么问题呢? 虽然工厂模式解决了简单工厂模式不好扩展的问题,实现了OCP,但一种产品就需要新建一个工厂类,比如有10000种产品,是不是也是新 阅读全文

posted @ 2023-05-31 15:47 进击的davis 阅读(120) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 7 ··· 32 下一页

导航