您的当前位置:TAGS -> JAVA
  • "树形List"与"扁平List"互转(Java实现)

    后端开发1小时前

    背景:在平时的开发中,我们时常会遇到下列场景 公司的组织架构的数据存储与展示 文件夹层级的数据存储与展示 评论系统中,父评论与诸多子评论的数据存储与展示 ...... 对于这种有层级的结构化数据,就像是一棵树一样。在关系型数据库中,通常将一个个的节点信息存储到表中,通过一个字段(例如,pid),指向其父节点。而在数据展示的时候,我们又希望它是呈现层级的,例如...

  • Java外观模式解读,让你的代码优雅又高效

    后端开发3小时前

    目录 一、引言 1.1 简介 1.2 设计模式的概念 二、外观模式的基础知识 2.1 什么是外观模式 2.2 外观模式的核心概念 2.3 外观模式的角色及职责 三、外观模式的实现方法 3.1 外观模式的实现流程 3.2 外观模式通用代码实现 3.3 外观模式的使用场景 四、外观模式的优缺点 4.1 外观模式的优点 4.2 外观模式的缺点 五、外观模式与其他...

  • Java设计模式中单一职责原则详解

    后端开发4小时前

    目录 前言 一、介绍 二、代码演示 前言 本博主将用CSDN记录软件开发求学之路上亲身所得与所学的心得与知识,有兴趣的小伙伴可以关注博主!也许一个人独行,可以走的很快,但是一群人结伴而行,才能走的更远! 一、介绍 单一职责原则 (SRP) 是软件设计中的一个重要原则,它要求每个类只负责一个职责。 如果类A负责两个不同职责:职责1,职责2。当职责1需求变更而...

  • Java中system.exit(0) 和 system.exit(1)区别

    后端开发5小时前

    目录 system.exit(0) 和 system.exit(1) 区别: 用法 system.exit(0) 和 system.exit(1) java.lang.System源码,方法说明如下: /** * Terminates the currently running Java Virtual Machine. The * argument se...

  • Java定时任务schedule和scheduleAtFixedRate的异同

    后端开发7小时前

    ...

  • Java的枚举类型

    后端开发10小时前

    如果类的对象的数量只有有限个,并且可以确定对象的属性,那么考虑使用枚举类。例如: 性别:Man(男)、Woman(女) 订单状态:Nonpayment(未付款)、Paid(已付款)、Delivered(已发货)、Checked(已确认收货) 定义枚举类型 public enum UserType { // 1.提供枚举类的对象(枚举常量) common(&q...

  • Java中URL的处理方法详解

    后端开发19小时前

    目录 前言 URL 类方法 URLConnections 类方法 方法实例 前言 URL(Uniform Resource Locator)中文名为统一资源定位符,有时也被俗称为网页地址。表示为互联网上的资源,如网页或者 FTP 地址。URL 可以分为如下几个部分: protocol://host:port/path?query#fragment 其中 p...

  • Java文件读写详解

    后端开发23小时前

    目录 读取文件 Java 中可以使用 FileInputStream 和 FileReader 两个类来读取文件: FileInputStream 类:用于读取二进制文件,如图片、视频、音频等文件。 FileReader 类:用于读取字符文件,如文本文件等。 使用 FileInputStream 类读取文件 使用 FileInputStream 类读取文件...

  • 使用Java桥接模式打破继承束缚优雅实现多维度变化

    后端开发前天 16:25

    目录 一、导言 1.1 介绍桥接模式及其应用背景 1.2 提出文章的主要目的和内容概述 二、设计原则和模式分析 1.1 讲解面向接口编程和实现分离的设计原则 2.2 探讨桥接模式的工作原理和使用场景 2.3 分析桥接模式与其他设计模式的区别和优缺点 三、桥接模式的实现 3.1 介绍桥接模式的四个角色 3.2 利用代码示例展示具体的实现过程 四、桥接模式的应...

  • Java并发编程ReentrantReadWriteLock加读锁流程

    后端开发前天 15:31

    目录 正文 属性介绍 加锁成功处理 正文 protected final int tryAcquireShared(int unused) { Thread current = Thread.currentThread(); int c = getState(); if (exclusiveCount(c) != 0 && ...