自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

PUPPET4的博客

一只可爱的菜鸡程序员

  • 博客(54)
  • 资源 (4)
  • 收藏
  • 关注

转载 C++中char和int转换

1 整数转化字符串  sprintf 在头文件 #include<stdio.h>中语法: int sprintf(string format, mixed [args]...);返回值:字符串长度(strlen)转换字符   =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-  %% 印出百分比符号,不转换。  %c 整数转成对应的 ASCII 字元。  %d 整数转成十进...

2018-05-28 20:32:33 15530

原创 ~scanf是什么意思,为什么scanf前加~

scanf函数返回成功读入的数据项数,读入数据时遇到了“文件结束”则返回EOF。scanf("%d%d",&a,&b);函数返回值为int型。如果a和b都被成功读入,那么scanf的返回值就是2;如果只有a被成功读入,返回值为1;如果a和b都未被成功读入,返回值为0;如果遇到错误或遇到endoffile,返回值为EOF。endoffile为Ctrl+z或者Ctr...

2018-05-26 21:22:54 38285 8

原创 IDEA Shelve Silently 静默搁置

IDEA Shelve Silently 静默搁置为什么要用这个?项目代码当前分支改动暂不提交,放一边,需要切换到其他分支看问题的时候。默默地搁置,Shelve Silently 静默搁置这部分改动,等会再拿回来 Unshelve Silently 取消静默搁置,恢复到当前分支继续调试。简而言...

2022-02-28 17:05:20 12780 2

原创 设计模式---装饰者模式

装饰者模式定义:动态地给对象添加一些额外的职责或者行为,装饰器模式相比于生成子类更为灵活使用场景:1.用于拓展一个类的功能或者给一个类添加附加职责2.动态的给一个对象添加功能,这些功能可以再动态的撤销。3.需要为一批的兄弟类进行改装或加装功能。介绍:装饰器模式组成:抽象组件角......

2022-02-22 19:48:49 179

原创 设计模式---代理模式

代理模式定义: 代理模式的定义: 代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。通俗的来讲代理模式就是我们生活中常见的中介。为什么要用代理模式?一是保护目标对象,二是增强目标对象中介隔离作用: 在某些情况下,一个客户类不想或者不能直接引用一个委托对象,而代理类对象......

2022-02-21 09:35:41 191

原创 设计模式---责任链模式

责任链模式行为型设计模式,与结构型设计模式不同的是,其主旨在于优化流程。在实际开发中,如果遇到多个对象可以处理一个请求的时候,就可以考虑责任链模式。责任链模式的定义:使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系,将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理......

2022-02-20 15:21:06 852

原创 设计模式---中介模式

中转作用:通过中介者提供的中转作用,各个同事对象就不再需要显式引用其他同事,当需要和其他同事进行通信时,可通过中介者来实现间接调用。该中转作用属于中介者在结构上的支持。协调作用:中介者可以更进一步的对同事之间的关系进行封装,同事可以一致的和中介者进行交互,而不需要指明中介者需要具体怎么做,中介者根据封装在自身内部的协调逻辑,对同事的请求进行进一步处理,将同事成员之间的关系行为进行分离和封装。...

2022-02-18 09:17:46 165

转载 Java8 中 List 转 Map(Collectors.toMap) 使用技巧

在实际项目中我们经常会用到 List 转 Map 操作,在过去我们可能使用的是 for 循环遍历的方式。举个例子:先定义类:// 简单对象 @Accessors(chain = true) // 链式方法 @lombok.Dataclass User { private String id; private String name;}然后有这样一个 List:List<User> userList = Lists.newArrayList( ne

2022-02-17 16:48:21 1634

原创 设计模式---迭代器模式

「这是我参与2022首次更文挑战的第22天,活动详情查看:2022首次更文挑战」。迭代器模式一. 迭代器模式1.1意图迭代器模式是行为型模式的一种,设计的意图就是在不暴露数据表现形式(列表,栈或者树等)的情况下遍历集合中的所有元素。1.2 问题在代码中,我们无可避免的需要面对数据。而数据就需要相应的存储容器,而在各式各样的容器中,集合就是其中最为常用的数据类型之一。集...

2022-02-17 09:20:37 269

原创 设计模式---观察者模式

「这是我参与2022首次更文挑战的第21天,活动详情查看:2022首次更文挑战」。观察者模式定义观察者模式(又被称为发布-订阅(Publish/Subscribe)模式,属于行为型模式的一种,它定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态变化时,会通知所有的观察者对象,使他们能够自动更新自己。结构图在观察者模式中有如下角色:...

2022-02-16 10:41:25 105

原创 设计模式---建造者模式

这是我参与2022首次更文挑战的第19天,活动详情查看:2022首次更文挑战」。建造者模式为什么需要建造者模式?现有一场景:在这个资源池配置类中,有以下几个成员变量,也就是可配置项。现在,请你编写代码实现这个 ResourcePoolConfig 类。\只要你稍微有点开发经验,那实现这样一个类对你来说并不是件难事。最常见、最容易想到的实现思路如下代码所示。因为 maxTotal、...

2022-02-11 19:58:40 92

原创 设计模式---备忘录模式

这是我参与2022首次更文挑战的第18天,活动详情查看:2022首次更文挑战」。备忘录模式1.什么是备忘录模式在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存着这个状态。这样以后就可将该对象恢复到原先保存的状态。白话文:简单理解就是备份一个状态用于后期恢复,比如我们编辑文件中的撤销和前进功能,象棋游戏中的悔棋。2.应用场景1、打游戏时的存档。2、Win...

2022-02-10 19:16:28 296

转载 fastjson的值过滤器ValueFilter

fastjson的值过滤器ValueFilter使用fastjson序列化对象时,可以添加 值过滤器(ValueFilter),以此来对序列化出来的值做统一处理,步骤如下:1、实现com.alibaba.fastjson.serializer.ValueFilter接口,实现其Object process(Object object, String name, Object value)方法,根据需要修改返回的值。2、调用fastjson序列化对象时,使用此filter实现ValueFilter接口

2022-02-09 16:17:06 1667

原创 设计模式---状态模式

1.什么是状态模式状态模式允许一个对象在其内部状态改变的时候改变其行为。这个对象看上去就像是改变了它的类一样。2.应用场景1.一个对象的行为取决于它的状态,并且它必须在运行时刻根据状态改变它的行为。2.操作中含有庞大的多分支的条件语句,且这些分支依赖于该对象的状态。3.代码实现举.........

2022-02-09 14:09:03 339

原创 设计模式---工厂模式

这是我参与2022首次更文挑战的第16天,活动详情查看:2022首次更文挑战」。工厂模式定义:工厂模式的主要解决的问题是,将原来分布在各个地方的对象创建过程单独抽离出来,交给工厂类负责创建。其他地方想要使用对象直接找工厂(即调用工厂的方法)获取对象。工厂模式的三种类型工厂模式主要有三种类型\1、简单工厂\2、工厂方法\3、抽象工厂简单工厂:拿泡茶为例,茶叶有好多种...

2022-02-08 23:13:06 93

原创 设计模式---空对象模式

「这是我参与2022首次更文挑战的第15天,活动详情查看:2022首次更文挑战」。空对象模式1、定义在空对象模式(Null Object Pattern)中,一个空对象取代 NULL 对象实例的检查。英文定义如下:Provide an object as a surrogate for the lack of an object of a given type. The Nul......

2022-02-06 19:33:35 1182

原创 设计模式---模板模式

「这是我参与2022首次更文挑战的第14天,活动详情查看:2022首次更文挑战」。模板模式定义:模板模式为定义一个操作中的算法骨架,将算法的一些步骤延迟到子类中,使子类可以不改变该算法结构的情况下重定义该算法的某些特定步骤,是一种行为型模式。使用场景举例:去银行办理业务一般要经过以下4个流程:取号、排队、办理具体业务、对银行工作人员进行评分等,固定步骤: 取号、排队、对银行...

2022-02-05 21:03:33 302

原创 设计模式---抽象工厂模式

「这是我参与2022首次更文挑战的第13天,活动详情查看:2022首次更文挑战」。抽象工厂模式抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显式指定它们的类。每个生成的工厂都能按照工...

2022-02-01 00:00:01 100

原创 设计模式---访问者模式

「这是我参与2022首次更文挑战的第12天,活动详情查看:2022首次更文挑战」。访问者模式带你“发明”访问者模式假设我们从网站上爬取了很多资源文件,它们的格式有三种:PDF、PPT、Word。我们现在要开发一个工具来处理这批资源文件。这个工具的其中一个功能是,把这些资源文件中的文本内容抽取出来放到 txt 文件中。如果让你来实现,你会怎么来做呢?实现这个功能并不难,不同的人有不同的写...

2022-01-31 15:20:13 88

原创 设计模式---单例模式

单例模式(Singleton) ,也叫单子模式,是一种常用的设计模式。在应用这个模式时,单例对象的类必须保证只有一个实例存在。选择单例模式就是为了避免不一致状态,避免政出多头。三要素:私有的构造方法;指向自己实例的私有静态引用;以自己实例为返回值的静态的公有方法。优点:......

2022-01-30 18:01:10 316

原创 leetcode-1-两数之和

「这是我参与2022首次更文挑战的第10天,活动详情查看:2022首次更文挑战」。两数之和题目描述:给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。示例 1:输入:n...

2022-01-28 10:22:31 66

原创 什么是多线程?

「这是我参与2022首次更文挑战的第9天,活动详情查看:2022首次更文挑战」。多线程⭐️多任务多任务处理是指用户可以在同一时间内运行多个应用程序,每个应用程序被称作一个任务。例如,在编辑或下载邮件的同时可以打印文件。Linux、windows就是支持多任务的操作系统,比起单任务系统它的功能增强了许多。多线程程序在较低的层次上扩展了多任务的概念:一个程序同时执行多个任务。通常,每一...

2022-01-27 09:56:54 81

原创 什么是SPI?

「这是我参与2022首次更文挑战的第8天,活动详情查看:2022首次更文挑战」。之前参加华为面试时,面试官问了一个问题,你了解过SPI吗,当时是一脸懵逼。过了很久也没有深入去了解这究竟是一个什么东西。最近有时间就深入研究一下。概述服务提供者接口 (SPI),是Java 6引入的一项功能,用于发现和加载与给定接口匹配的实现。Java SPI 实际上是“基于接口的编程+策略模式+配置文件”...

2022-01-26 09:09:18 667

原创 对话世界上最牛逼的版本控制系统---查看状态

「这是我参与2022首次更文挑战的第7天,活动详情查看:2022首次更文挑战」。Git使用查看状态面试官: 你知道怎么查看仓库的状态吗?码农: 使用git status命令可以查看仓库的状态。之前我们已经添加了readme.md文件,我们现在对内容修改。```$ vi readme.md添加下面内容Git is a distributed version contr...

2022-01-25 09:30:30 76

原创 对话世界上最牛逼的版本控制系统---创建版本库和添加文件

「这是我参与2022首次更文挑战的第6天,活动详情查看:2022首次更文挑战」。Git使用创建版本库面试官: 什么是版本库?码农: 什么是版本库呢?版本库又名仓库,英文名repository。其实你可以理解成一个目录,这个目录厘米啊吗的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,因此可以在任意时刻追踪历史,或者在将来任意时刻进行“还原”。面试官: 你...

2022-01-24 16:27:40 437

原创 对话世界上最牛逼的版本控制系统---安装

「这是我参与2022首次更文挑战的第4天,活动详情查看:2022首次更文挑战」。git安装面试官: Git你使用过吗?码农: 当然是用过啦,每天都在使用。面试官: 不错不错,那你可以在现场给我们演示一下怎么安装吗?码农: No problem,那我们现在开始。码农: 首先介绍一下,大家都知道,Git最初是在Linux系统上开发的,所以很长一段时间Git只能在Linux和U...

2022-01-21 14:59:52 670

原创 对话世界上最牛逼的版本控制系统---简介

「这是我参与2022首次更文挑战的第3天,活动详情查看:2022首次更文挑战」。Git简介面试官: 什么是Git?码农: Git是当今世界上最先进的分布式版本控制系统。(没有之一)面试官: Git有什么特点?码农: 一个字形容就是????,一堆字形容就是高端大气上档次面试官: 那什么是版本控制呢?码农: 如果你写过开发文档,那么你一定有过这种经历。当你对一个段落进行修改后,...

2022-01-20 15:51:27 161

原创 大专生入职大厂Go学习之路---变量(一)

「这是我参与2022首次更文挑战的第1天,活动详情查看:2022首次更文挑战」。变量在数学概念中,变量(variable)表示没有固定值且可变的数。但是在计算机系统实现角度来看,变量实际上是一段或多短用来存储数据的内存。Go作为一种静态类型编程语言,是有固定类型的变量。类型决定了变量的内存空间大小和存储格式。定义关键字var用于定义变量,和C不同的是,类型放在变量名后。运行时...

2022-01-18 15:51:02 140

原创 设计模式---策略模式

策略模式类图:策略模式白话在现实生活中常常遇到实现某种目标存在多种策略可供选择的情况,例如,出行旅游可以乘坐飞机、乘坐火车、骑自行车或自己开私家车等,超市促销可以釆用打折、送商品、送积分等方法。策略模式的定义与特点策略(Strategy)模式的定义:该模式定义了一系列算法,并将每个算法封装起来,使它们可以相互替换,且算法的变化不会影响使用算法的客户。策略模式属于对象行为模式,它通过对算法进行封装,把使用算法的责任和算法的实现分割开来,并委派给不同的对象对这些算法进行管理。策略模式的主要优点如下。

2021-12-31 14:01:17 3769

原创 设计模式---享元模式

一、概念如果在一个系统中存在多个相同的对象,那么只需要共享一份对象的拷贝,而不必为每一次使用都创建新的对象。目的是提高系统性能。上面的概念乍一听好像单例模式其实不是,单例模式只保存一个对象,但是这里可以有很多个不同对象,但是每个对象只有一个实例而已。也就是说享元模式使用了单例模式。例子解释张三去借书,然后阅读完了还回去了,过一段时间发现还是不懂,又去借了同样的书,但是这本书其实和上一次借的书是同一本。李四也去借书,发现书架上没有,就去图书管理员那边拿出来了一本全新的书。这就是享元模式。享

2021-12-31 13:53:15 4121

原创 设计模式---组合模式

装饰者模式什么是装饰者模式?定义:动态地给对象添加一些额外的职责或者行为,装饰器模式相比于生成子类更为灵活使用场景:用于拓展一个类的功能或者给一个类添加附加职责动态的给一个对象添加功能,这些功能可以再动态的撤销。需要为一批的兄弟类进行改装或加装功能。介绍:装饰器模式组成:抽象组件角色(Component): 定义可以动态添加任务的对象的接口具体组件角色(ConcreteComponent):定义一个要被装饰器装饰的对象,即 Component 的具体实现抽象装饰器(Decor

2021-12-31 11:29:58 3959

原创 设计模式---门面模式

门面模式1、产生背景为什么需要门面模式?我是一个辛苦一辈子的农民,攒了几十年钱,现在日子好了,也想建一套属于自己的小洋楼;首先,我要雇一个搬砖的和一个和泥的,还要一个会砌墙的人;可是我到哪里去找这些人,还要一个一个跟他们谈价钱;不知道他们和不和得来,会不会干一半不干了;哎,好烦;要是有一个人什么都会就好,我只要跟他谈,他一个人就能帮我把房子建好;总之,我就是想省心;2、概念门面模式(Facade Pattern)也叫做外观模式,是一种比较常用的封装模式,其定义如下:提供一个统一的接口

2021-12-30 17:37:36 4157

原创 设计模式---命令模式

命令模式命令模式的定义​ 命令模式是一个高内聚的模式,其定义为:Encapsulate a request as an object,thereby letting you parameterize clients with different requests,queue or log requests,and support undoable operations.(将一个请求封装成一个对象,从而让你使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。)​

2021-12-30 17:31:14 4820

原创 Docker从入门到放弃(一)

Docker简介什么是 Docker​ Docker 最初是 dotCloud 公司创始人 Solomon Hykes 在法国期间发起的一个公司内部项目,它是基于 dotCloud 公司多年云服务技术的一次革新,并于 2013 年 3 月以 Apache 2.0 授权协议开源,主要项目代码在 GitHub 上进行维护。Docker 项目后来还加入了 Linux 基金会,并成立推动 开放容器联盟(OCI)。​ Docker 自开源后受到广泛的关注和讨...

2021-12-30 15:51:00 4434

原创 设计模式---适配器模式

设计模式适配器模式1. 介绍1.1 模式说明定义一个包装类,用于包装不兼容接口的对象包装类 = 适配器Adapter;被包装对象 = 适配者Adaptee = 被适配的类1.2 主要作用把一个类的接口变换成客户端所期待的另一种接口,从而使原本接口不匹配而无法一起工作的两个类能够在一起工作。适配器模式的形式分为:类的适配器模式 & 对象的适配器模式1.3 解决的问题原本由于接口不兼容而不能一起工作的那些类可以在一起工作2. 模式原理2.1 类的适配器模式类的适配

2021-11-09 20:11:45 7957

转载 HashMap源码分析(深入理解HashMap)

1. HashMap总览1.1 hashmap底层储存结构图解底层结构其实就是数组+链表+红黑树1.2 HashMap类定义先来看看HashMap的定义:public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, Serializable {}从中我们可以了解到:HashMap<K,V>:HashMap是以key-value形式存

2021-07-09 17:44:07 5427

原创 RabbitMQ实战教程

RabbitMQ实战教程1. MQ引言1.1 什么是MQMQ(Message Quene):翻译为消息队列,通过典型的生产者和消费者模型,生产者不断向消息队列中生产消息,消费者不断的从队列中获取消息。因为消息的生产和消费都是异步的,而且只关心消息的发送和接收,没有业务逻辑的侵入,轻松的实现系统间解耦。别名为消息中间件。通过利用高效可靠的传递机制进行平台无关的数据交流,并基于数据通信进行分布式系统的集成。1.2 MQ有哪些当今市面上有很多主流的消息中间件,如老牌的ActiveMQ、RabbitMQ,

2020-07-27 19:11:44 5092

转载 ECDSA数字签名算法

一、ECDSA概述椭圆曲线数字签名算法(ECDSA)是使用椭圆曲线密码(ECC)对数字签名算法(DSA)的模拟。ECDSA于1999年成为ANSI标准,并于2000年成为IEEE和NIST标准。它在1998年既已为ISO所接受,并且包含它的其他一些标准亦在ISO的考虑之中。与普通的离散对数问题(discrete logarithm problem DLP)和大数分解问题(integer fac......

2020-04-15 10:01:22 5385

转载 Spring Boot面试题(2020最新版)

Java面试总结汇总,持续更新中…序号内容链接地址1Java基础知识面试题(2020最新版)https://thinkwon.blog.csdn.net/article/details/1043906122Java异常面试题(2020最新版))https://thinkwon.blog.csdn.net/article/details/104390689...

2020-02-26 15:07:21 6359

原创 CentOS安装mysql8.0

安装1、配置Mysql 8.0安装源1 | sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpmsdadsaddas

2020-02-26 11:17:11 6508

go-tools.zip

golang

2019-12-11

aiXcoderInstaller-0.5.37.2.exe

aiXcoderInstaller-0.5.37.2插件

2019-11-29

studio-3t-x64.zip

studio-3t-x64.zip,MongoDB远程连接工具

2019-07-12

2022快递鸟接口支持快递公司编码.xlsx

快递鸟最新接口公司编码!!!

2019-07-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除