首页
学习
活动
专区
工具
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源码中的应用分析

    46720

    《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

    18920

    《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

    27720

    《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

    21620

    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方法,则会导致线程池的线程资源一直不会被释放,并通过源码分析了没有被释放的原因。

    2K10

    Java—编程案例(专题)

    各位同学,前面我们已经学习过很多Java的基础知识了,主要有变量、数组、运算符、流程控制、方法等。...这里所说的编程思维就是使用Java技术解决问题的思维方式;编程能力就是按照编程思维编写代码的能力。...所以同学们在使用Java技术解决问题时,也是先模仿一些特定问题的解决思路,以后遇到同类型的问题,就采用同一种思维模式来做就行。...案例一:买飞机票各位同学,我们先来学习第一个案例《飞机买票》,先仔细阅读一下案例需求我们来分析一下,这个需求该如何实现。...:模拟双色球拓展案例各位同学,接下来我们学习第八个案例《模拟双色球》,我们还是先阅读一下案例需求这个案例我们可以采用方法方法来完成第一个方法,让用户手动投注,产生一注双色球彩票第二个方法,由系统随机产生一注双色球彩票开奖号码第三个方法

    10010
    领券