- 博客(12)
- 收藏
- 关注
原创 设计模式——抽象工厂模式
设计模式——抽象工厂模式 概念: 抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 目的: 提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。 应用场景: 系统的产品有多于一个的产品族,而系统只消费其中某一族的产品。 什么是产品族,产品等级? 产品族:一个品牌下面的所有产品;例如华为下面的手机,路由器,电脑称为华为的产品族; 产品等级:多个品牌
2022-05-16 10:50:53 237
原创 设计模式——简单工厂模式
概念 定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。这满足创建型模式中所要求的“创建与使用相分离”的特点。 实现方式 简单工厂模式、工厂方法模式、抽象工厂模式 1.简单工厂模式 定义: 简单工厂模式又称为静态工厂方法模型,它属于类创建型模式。在简单工厂模式中,可以根据参数的不同返回不同类的实例。简单工厂专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。 结构图 Factory:工厂类,内部有是个精通的方法,根据参数选择创建的对象 P
2022-05-13 10:33:13 364
原创 设计模式——单例模式
单例模式 概念: 单例模式保证了一个类仅有一个实例,并提供一个访问它的全局访问点。 常用案例: Windows的回收站、操作系统中的文件系统、多线程中的线程池、显卡的驱动程序对象、打印机的后台处理服务、应用程序的日志对象、数据库的连接池、网站的计数器、Web应用的配置对象、应用程序中的对话框、系统中的缓存等 特点: 单例类只有一个实例对象; 该单例对象必须由单例类自行创建; 单例类对外提供一个访问该单例的全局访问点。 优点: 单例模式可以保证内存里只有一个实例,减少了内存的开销。 可以避免对资源的多重
2022-05-12 14:15:46 136
原创 浅谈动态代理
浅谈动态代理 什么是动态代理? 动态代理就是,在程序运行期,创建目标对象的代理对象,并对目标对象中的方法进行功能性增强的一种技术。在生成代理对象的过程中,目标对象不变,代理对象中的方法是目标对象方法的增强方法。可以理解为运行期间,对象中方法的动态拦截,在拦截方法的前后执行功能操作。 代理类在程序运行期间,创建的代理对象称之为动态代理对象。这种情况下,创建的代理对象,并不是事先在Java代码中定义好的。而是在运行期间,根据我们在动态代理对象中的“指示”,动态生成的。也就是说,你想获取哪个对象的代理,动态代理就
2022-05-10 15:44:25 107
原创 JVM之垃圾回收机制
JVM之垃圾回收机制 1.什么是垃圾回收机制: 垃圾回收(Garbage Collection,GC),即对内存堆中已经死亡的或者长时间没有使用的对象进行清除和回收。 2.JVM什么时候进行回收 ①CPU空闲时 ②堆内存满了,发生了OOM ③手动执行system.gc() 3.JVM如何确定哪些对象需要被回收 ①引用计数法:当一个对象被引用时,计数器加1,当对象不再被引用时,计数器减1,当计数器为0时触发垃圾回收。 缺陷:无法解决循环引用的问题。 ②可达性算法:引用自离散数学中图论的概念。根据对象的引用链是
2021-03-09 17:39:24 781 1
原创 JVM知识一览
JVM知识一览 个人理解: JVM是Java Virtual Machine(Java虚拟机)的缩写。我们都知道Java是一门跨平台的语言,这种特性就得益于JVM,只要有JVM,就可以实现“一次编写,到处运行。”JVM将字节码转化为计算机可以识别的机器码,从而让我们的代码得以运行。 结构及各部分功能: 1程序计数器: 内存空间小,线程私有。字节码解释器工作是就是通过改变这个计数器的值来选取下一条需要执行指令的字节码指令,如果线程正在执行一个 Java 方法,这个计数器记录的是正在执行的虚拟机字节码指令的地
2021-03-09 17:02:08 368
原创 session、cookie、token对比
一、cookie cookie 指的是浏览器里面能永久存储的一种数据,仅仅是浏览器实现的一种数据存储功能。 cookie由服务器生成,发送给浏览器,浏览器把cookie以key value形式保存到某个目录下的文本文件内,下一次请求同一网站时会把该cookie发送给服务器。由于cookie是存在客户端上的,所以浏览器加入了一些限制确保cookie不会被恶意使用,同时不会占据太多磁盘空间,所以每个域的cookie数量是有限的(一般限制为20个)。 二、session 为了区分请求的来源,服务器就要给每个客户端
2020-12-02 10:12:02 492 1
原创 简单比喻帮你理解线程和进程之间的关系
把进程比作是房子,那么线程就是房子里的人,人是要干活的,而房子(进程)给人(线程)提供了内存空间,让人(线程)干活。在一个房子(进程)里可以有多个人(线程)干活,这些干活的人共享房子(进程)里的桌椅板凳(资源),而不同的房子里的资源是不同的。 ...
2020-11-12 17:49:40 621 1
原创 区块链以及蚂蚁开放联盟链初探索
区块链以及蚂蚁开放联盟链初探索一、区块链相关概念二、蚂蚁链相关体验 最近笔者所参与的某个项目二期规划中加入了区块链应用,但笔者和绝大多数开发者一样,对于区块链这个东西,也只是“只闻其名”。尤其是在最近几年,区块链这个概念也是越来越火,通过几天的初步研究,对它大概有了一些认知。 一、区块链相关概念 官方概念: 区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。所谓共识机制是区块链系统中实现不同节点之间建立信任、获取权益的数学算法。 区块链(Blockchain)是比特币的一个重
2020-11-09 15:20:21 2109 1
原创 idea新建spring boot项目使用maven引入依赖失败,pom.xml文件中project标签报错
笔者之前准备做一个MongoTemplate的小demo,建完项目后发现pom.xml一直报错,也没有jar包导入。网上有病乱投医近一天未果,心态微崩,很急很气(之前没有遇到过)。 按照网上的帖子什么清楚缓存重启啦、重新导入啊,皆无功而返。后来想到可能是网络原因,jar包没下完整。然后找到本地仓库,果然很多.lastupdate文件。将其删掉后,reimport依赖,令人抓狂的红线...
2019-09-24 11:50:12 333147 53
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人