首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    《23种设计模式(Java版)》| 工厂模式(内附源码案例)。

    专栏推荐:23种设计模式(Java版)系列专栏 2021 年 12 月 25日 百思不得小赵 点击进入博客首页 —— 新时代的农民工 —— 换一种思维逻辑去看待这个世界 ⭐目录...一、概述 二、工厂模式的三种方式 简单工厂 工厂方法 抽象工厂 三、在JDK源码中的应用分析 四、总结Tips 一、概述 工厂模式是我们最常用的实例化对象模式了,是用工厂方法代替new...著名的Jive论坛 ,就大量使用了工厂模式,工厂模式在Java程序系统可以说是随处可见。...⏰需求案例同工厂方法案例,抽象工厂对其进行进一步的优化。...String[] args) { // TODO Auto-generated method stub new OrderPizza(new BJFactory()); } } 三、在JDK源码中的应用分析

    32120

    Java Review - 线程池资源一直不被释放案例&源码分析

    文章目录 概述 问题复现 源码分析 小结 概述 在日常开发中为了便于线程的有效复用,经常会用到线程池,然而使用完线程池后如果不调用shutdown关闭线程池,则会导致线程池资源一直不被释放。...import java.util.concurrent.*; /** * @author 小工匠 * @version 1.0 * @description: TODO * @date 2021...再次执行代码你会发现JVM已经退出了,使用ps -eaf|grep java命令查看,发现Java进程已经不存在了,这说明只有调用了线程池的shutdown方法后,线程池任务执行完毕,线程池资源才会被释放...源码分析 下面看为何会如此?大家或许还记得守护线程与用户线程,JVM退出的条件是当前不存在用户线程,而线程池默认的ThreadFactory创建的线程是用户线程。...小结 我们这里通过一个简单的使用线程池异步执行任务的案例介绍了使用完线程池后如果不调用shutdown方法,则会导致线程池的线程资源一直不会被释放,并通过源码分析了没有被释放的原因。

    1.7K10

    《23种设计模式(Java版)》| 建造者模式(内附源码案例)。

    专栏推荐:23种设计模式(Java版)系列专栏 2021 年 1 月 1 日 百思不得小赵 点此进入播客主页 —— 新时代的农民工 —— 换一种思维逻辑去看待这个世界 ⭐目录...一、概述 二、原理结构图 三、在JDK中的源码分析 四、总结Tips 一、概述 建造者模式是设计模式的一种,将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。...案例需求: 需要建房子:这一过程为打桩、砌墙、封顶 房子有各种各样的,比如普通房,高楼,别墅,各种房子的过程虽然一样,但是要求不要相同的 案例代码: //产品 public class House...Auto-generated method stub //盖普通房子 new HouseDirector(new CommonHouse()).creatHouse(); } } 三、在JDK中的源码分析...继承了AbstractStringBuilder public final class StringBuilder extends AbstractStringBuilder implements java.io.Serializable

    17320

    《23种设计模式(Java版)》| 原型模式(内附源码案例)。

    专栏推荐:23种设计模式(Java版)系列专栏 2021 年 12 月 26日 百思不得小赵 点此进入博客首页 —— 新时代的农民工 —— 换一种思维逻辑去看待这个世界 ⭐目录...浅拷贝 深拷贝 实现深拷贝的两种方式 四、在JDK框架中源码分析 五、总结Tips 一、概述 原型模式是一种创建型设计模式,Prototype模式允许一个对象再创建另外一个可定制的对象,根本无需知道任何如何创建的细节...案例需求: 现在有一只羊tom,姓名为: tom, 年龄为:1,颜色为:白色,请编写程序创建和tom羊 属性完全相同的5只羊....e2) { // TODO: handle exception System.out.println(e2.getMessage()); } } } } 四、在JDK框架中源码分析...public class ArrayList extends AbstractList implements List, RandomAccess, Cloneable, java.io.Serializable

    19820

    《23种设计模式(Java版)》| 单例模式(内附源码案例)。

    专栏推荐:23种设计模式(Java版)系列专栏 目录 一、概述 二、单例模式八种方式 饿汉式(静态常量) 饿汉式(静态代码块) 懒汉式(线程不安全) 懒汉式(线程安全,同步方法) 懒汉式(线程安全...,同步代码块) 双重检查 静态内部类 枚举 三、在JDK源码应用分析 四、总结Tips 一、概述 所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法...在实际开发中,推荐使用这种单例设计模式 三、在JDK源码应用分析 JDK中java.lang.Runtime就是经典的单例模式(饿汉式) public class Runtime { //类内部创建对象实例化...currentRuntime = new Runtime(); /** * Returns the runtime object associated with the current Java...* * @return the Runtime object associated with the current * Java

    26620

    MongoDB 整合Java案例

    # MongoDB 整合Java案例 需求分析 表结构分析 技术选型 mongodb-driver(了解) SpringDataMongoDB 文章微服务模块搭建 文章评论实体类的编写 文章评论的基本增删改查...:不可见;1:可见; parentid 上级ID String 如果为0表示文章的顶级评论 # 技术选型 # mongodb-driver(了解) mongodb-driver是mongo官方推出的java...我们通过一个入门的案例来了解mongodb-driver的基本使用。...官方驱动说明和下载:http://mongodb.github.io/mongo-java-driver/ 官方驱动示例文档:http://mongodb.github.io/mongo-java-driver...文章评论实体类的编写 创建实体类 创建包com.frx01.article,包下建包pojo用于存放实体类,创建实体类 com.frx01.article.pojo.Comment @Data //把一个java

    1K50
    领券