后端
未读
Java设计模式之建造者模式
建造者模式的灵活性和扩展性使其成为一个非常实用的设计模式,可以根据具体需求进行调整和扩展,以满足不同的场景和需求。在软件开发中,建造者模式可以帮助开发人员更好地组织和管理复杂对象的创建过程,提高代码的可维护性和可扩展性。通过合理运用建造者模式,可以优化代码结构,提高代码的重用性,从而提升软件开发的效率和质量。#Java设计模式 #建造者模式
后端
未读
Java设计模式之适配器模式
本文介绍了适配器模式(Adapter)在Java设计模式中的应用。适配器模式的核心思想是将一个类的接口转换成客户端希望的另一个接口,以解决因接口不兼容而导致无法一起工作的问题。文章详细介绍了适配器模式的定义、特点以及类结构和实现方式,包括类适配器模式和对象适配器模式。此外,通过一个模拟新能源汽车发动机的例子展示了适配器模式的实际应用和代码实现。最后,介绍了适配器模式的应用场景和扩展,包括双向适配器模式。适配器模式是一种实用且广泛应用的设计模式,能够在现有系统中复用组件并解决接口不兼容的问题。
后端
未读
Java设计模式之单例模式
本文介绍了Java设计模式中的单例模式,单例模式指一个类只有一个实例,并且该类能自行创建这个实例。文章详细阐述了单例模式的定义、特点、优缺点、应用场景、结构与实现方法。通过懒汉式和饿汉式单例模式的实例演示,展示了如何实现单例模式。此外,还介绍了单例模式的应用实例,如模拟产生美国总统和猪八戒对象。最后,扩展了单例模式为有限多例模式,能生成有限个实例并保存在ArrayList中以供随机获取。希望读者通过本文对单例模式有更深入的理解,提升在面试和实际开发中的应用能力。
后端
未读
Java设计模式之责任链模式
责任链模式是一种常见的设计模式,用于解决一个请求需要经过多个对象处理的场景。在现实生活和计算机领域中都有应用,例如请假审批流程、数据传输、异常处理等。责任链模式的优点包括降低耦合度、增强系统的可扩展性和灵活性,简化对象间的连接等,而缺点则包括无法保证每个请求一定被处理、性能影响和责任链的建立需要客户端保证等。
在责任链模式中,通过创建一个处理者链,请求会自动传递到链中的处理者进行处理,直到有处理者处理该请求为止。职责链模式的结构主要包含抽象处理者角色、具体处理者角色和客户端角色。应用场景包括多个对象可以处理一个请求、动态指定处理者和不明确指定请求处理者情况下向多个处理者提交请求。通过责任链模式,可以方便地实现复杂的请求处理流程。
后端
未读
Java岗大厂面试百日冲刺【Day33】—— 手撸算法2
本栏目Java开发岗高频面试题主要出自以下各技术栈:Java基础知识、集合容器、并发编程、JVM、Spring全家桶、MyBatis等ORMapping框架、MySQL数据库、Redis缓存、RabbitMQ消息队列、Linux操作技巧等。
后端
未读
Java岗大厂面试百日冲刺【Day13】—— 网络编程2
本栏目Java开发岗高频面试题主要出自以下各技术栈:Java基础知识、集合容器、并发编程、JVM、Spring全家桶、MyBatis等ORMapping框架、MySQL数据库、Redis缓存、RabbitMQ消息队列、Linux操作技巧等。
后端
未读
Java岗大厂面试百日冲刺【Day26】—— Spring框架3
本栏目Java开发岗高频面试题主要出自以下各技术栈:Java基础知识、集合容器、并发编程、JVM、Spring全家桶、MyBatis等ORMapping框架、MySQL数据库、Redis缓存、RabbitMQ消息队列、Linux操作技巧等。
后端
未读
Java岗大厂面试百日冲刺【Day36】—— 实战那些事儿1
本栏目Java开发岗高频面试题主要出自以下各技术栈:Java基础知识、集合容器、并发编程、JVM、Spring全家桶、MyBatis等ORMapping框架、MySQL数据库、Redis缓存、RabbitMQ消息队列、Linux操作技巧等。
后端
未读
Java岗大厂面试百日冲刺【Day47】— 并发编程4
本文主要介绍了Java中线程池的创建方式、参数设置、工作队列类型和任务提交流程等内容。线程池可以通过Executors工具类自动创建,也可以通过ThreadPoolExecutor类手动创建,设置核心线程数、最大线程数、队列类型等参数。线程池提交任务经过判断线程数、队列状态、拒绝策略等步骤,最后关闭线程池可以使用shutdown()和shutdownNow()方法。对于线程池的工作队列和拒绝策略也进行了详细说明。
后端
未读
Java岗大厂面试百日冲刺【Day45】— 实战那些事儿
本篇文章是Java岗大厂面试百日冲刺系列的第45天,主要介绍了线程阻塞的概念以及导致线程阻塞的几种情况,包括睡眠状态、等待状态、礼让状态、自闭状态等,还回答了线程阻塞是否会导致进程阻塞的问题。此外,文章还解释了阻塞和非阻塞的区别,以及并发和并行的概念。通过生动的比喻和图示,深入浅出地解释了这些概念,有助于读者更好地理解和区分它们。