自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 收藏
  • 关注

原创 笨蛋学C++【C++基础第八弹】

通过继承exception ,重写exception方法//函数体表示返回值类型what是函数名称()是参数列表const表示该成员函数不能修改成员变量throw()是异常规格说明符。括号内写该函数可抛出的异常类型const throw() 是异常规格说明,表示 what 函数可以抛出异常的类型,类型说明放到 () 里,这里面没有类型,就是声明这个函数不抛出异常,通常函数不写后面的 throw() 就表示函数可以抛出任何类型的异常//////重写what方法try {

2024-04-28 22:07:09 752

原创 笨蛋学C++【C++基础第七弹】

有virtual修饰的函数,有实现,就是虚函数有virtual修饰的函数,没有实现,就是纯虚函数。

2024-04-28 22:04:26 966

原创 笨蛋学C++【C++基础第六弹】

定义类需要用到关键字 class,然后指定类的名称,类的主体是包含在一对花括号中,主体包含类的成员变量和成员函数class 类名{访问修饰符(public/protected/private):成员变量;成员函数();

2024-04-24 15:15:48 946

原创 笨蛋学C++【C++基础第五弹-C++Demo练习题】

对所学的C++,进行小小的Demo练习!

2024-04-24 15:10:21 382

原创 笨蛋学C++【C++基础第四弹】

访问结构的成员时使用点运算符,而通过指针访问结构的成员时,则使用箭头运算符。给创建的类型取一个别名,然后使用typedef 来定义对应的结构体类型。C++ 继承了 C 语言用于日期和时间操作的结构和函数。C++结构体允许自定义可存储的不同类型数据项的变量。C/C++数组允许定义可存储相同类型数据项的变量。可以定义指向结构的指针,方式与定义指向其他类型。需要在 C++ 程序中引用 头文件。typedef来定义非结构类型。

2024-04-22 22:16:20 609

原创 笨蛋学C++【C++基础第三弹】

7.2.2初始化固定大小数组7.2.3指定大小并初始化数组7.2.4动态数组7.2.5标准库容器std::array7.2.6标准库容器std::vector7.3访问数组元素获取数组的元素个数:整个数组所占内存空间:每个元素所占内存空间:通过数组名查看数组首地址:查看数组种第一个元素的地址:通过数组名称加索引进行访问,元素的索引放在方括号内,跟在数组名称的后边7.4C++数组详解概念描述多维数组C++ 支持多维数组。多维数组最简单的形式是二维数组。

2024-04-22 22:13:53 375

原创 笨蛋学C++【C++基础第二弹】

返回类型 函数名(参数列表){函数体代码块;返回类型,一个函数可以返回一个值,若不需要返回,则返回类型设为void函数名,函数的实际名称,与参数列表构成了函数签名参数,参数是可选的,当函数被调用时,就向参数传递一个值,这个值被称为实际参数,参数列表包含函数参数的类型、顺序、个数函数体代码块,包含一组该函数需要执行的代码块////// 数字定义short s;int i;long l;float f;double d;// 数字赋值s = 10;i = 1000;

2024-04-19 21:55:03 1077

原创 笨蛋学C++【C++基础第一弹】

整数类型(Integer Types):int:用于表示整数,通常占用4个字节。short:用于表示短整数,通常占用2个字节。long:用于表示长整数,通常占用4个字节。long long:用于表示更长的整数,通常占用8个字节。浮点类型(Floating-Point Types):float:用于表示单精度浮点数,通常占用4个字节。double:用于表示双精度浮点数,通常占用8个字节。:用于表示更高精度的浮点数,占用字节数可以根据实现而变化。

2024-04-19 21:50:11 684

原创 笨蛋学习MySQL1.0

查询所有数据库#查询当前数据库#创建create database [IF NOT EXISTS] 数据库名 [DEFAULT CHARSET 字符集] [COLLATE 排序规则];IF NOT EXISTS:如果不存在就执行,如果存在不执行任何操作IF EXISTS:如果存在就执行,如果不存在就不执行任何操作#删除drop database[IF EXISTS] 数据库名;#使用use 数据库名;概述:从多表中进行查询数据(在多表查询时,需要消除无效的笛卡尔积)

2024-02-27 10:35:39 819

原创 十大设计模式总结版

主要是对前面的设计模式进行一个总结,主要掌握以下十大设计模式,其他的设计模式后面的在慢慢熟悉。

2024-02-04 21:57:59 1470

原创 笨蛋总结JVM

(主要用于回顾JVM)

2024-01-29 20:05:34 801

原创 笨蛋学Lambda表达式

lambda 表达式相当于是一种匿名函数,它可以在需要一个简单函数的地方快速定义一个函数,而不必专门为这个函数取名字。

2024-01-28 11:25:41 1085

原创 笨蛋学JUC并发编程-共享模型之不可变

- 属性用 final 修饰保证了该属性是只读的,不能修改 - 类用 final 修饰保证了该类中的方法不能被覆盖,防止子类无意间破坏不可变性

2024-01-27 17:51:00 624

原创 笨蛋学JUC并发编程-共享模型之无锁

volatile 可以用来修饰成员变量和静态成员变量,可以避免线程从自己的工作缓存中查找变量的值,必须到主存中获取它的值,线程操作 volatile 变量都是直接操作主存。即一个线程对 volatile 变量的修改,对另一个线程可见。

2024-01-27 08:38:58 991

原创 笨蛋学JUC并发编程-共享模型之内存

JMM 即 Java Memory Model,它定义了**主存**(所有线程都共享的数据,可以认为对应着物理内存)、**工作内存**(每个线程私有的数据,可以认为对应着缓存)抽象概念,底层对应着 CPU 寄存器、缓存、硬件内存、CPU 指令优化等。

2024-01-26 19:38:04 903

原创 笨蛋学JUC并发编程-共享模型之管程

synchronized即俗称的【对象锁】,它采用互斥的方式让同一时刻至多只有一个线程能持有【对象锁】,其它线程再想获取这个【对象锁】时就会阻塞住。这样就能保证拥有锁的线程可以安全的执行临界区内的代码,不用担心线程上下文切换。

2024-01-25 20:57:10 1128

原创 笨蛋学设计模式行为型模式-中介者模式【24】

在生活中,可以看到不少网红在直播卖货,也可以看出中介者模式。在主播卖货的过程中,由于设计到多个对象,比如商品、观众、平台等,每个对象都有自己的任务和职责,但是它们之间需要相互协调和交互才能顺利完成卖货的过程。其中主播可以充当中介者的角色,负责协调和调度各个对象的交互。

2024-01-22 21:58:50 1613

原创 笨蛋学设计模式行为型模式-解释器模式【23】

例如编译器将源代码作为输入,通过词法分析和语法分析,构建抽象语法树(AST)。然后编译器使用解释器模式来遍历和执行这个抽象语法树,将源代码转换为机器码,并执行该机器码。

2024-01-22 21:08:42 1138

原创 笨蛋学设计模式行为型模式-备忘录模式【22】

在现代办公场景中,备忘录模式可以应用于文档编辑工具中。以Office工具为例,当用户在云文档中进行编辑时,系统会自动将当前的文档内容保存在一个备忘录对象中,并将备忘录对象存储在云端的服务器上。每隔一段时间,系统会判断是否需要保存文档的状态,如果需要,则将当前的备忘录对象保存为一个快照,以便日后恢复文档的状态。

2024-01-22 17:35:21 1233

原创 笨蛋学设计模式行为型模式-访问者模式【21】

我们可以将一个购物商场中的商品类作为元素类,不同的销售人员可以作为访问者类。当销售人员需要对商品进行销售操作时,可以创建一个具体的访问者对象,然后通过商品类的接受访问者的方法将访问者对象传入。然后商品类再根据传入的访问者对象调用相应的访问者方法,从而实现对商品的不同销售策略,如打折、促销等。

2024-01-22 14:53:34 1307

原创 笨蛋学设计模式行为型模式-状态模式【20】

比如在设计一个电梯系统时,可以使用状态模式来管理电梯的不同状态,如开门、关门、上升、下降等。将电梯的这几种状态封装成一个独立的状态类,并定义了该状态下的具体行为,通过将状态切换的逻辑分布到各个状态类中,可以使得电梯的状态切换更加清晰、易于维护和扩展。

2024-01-22 12:55:43 1208

原创 笨蛋学设计模式行为型模式-命令模式【19】

在餐饮业中,命令模式可以用于实现订单的处理流程。例如在餐厅中,当我们在客户端或者小程序上进行点单,客户端 / 小程序会将我们在上面下的订单请求封装成为一个对象,通过发送命令给后厨的工作人员上,而他们就会根据我们下的具体订单进行菜品备菜、菜品制作、菜品上菜等一系列操作。

2024-01-22 11:34:21 1117

原创 笨蛋学设计模式行为型模式-责任链模式【18】

在我们公司内部审批流程中,若某个员工提交了请假申请,需要经过上级的一系列的审批过程,例如小组长审批、部门经理审批、人事部审批、总经理审批等。这些审批过程可以采用责任链模式来实现,将每个审批者看作一个处理器,若某个处理者无法处理该申请,则将该申请传递给下一个处理者,直到有一个处理者同意或拒绝该申请为止。

2024-01-22 08:24:04 1441

原创 笨蛋学设计模式行为型模式-模板方法模式【17】

在我们进行的烹饪的过程中,有些菜肴的制造步骤是固定的,比如炒菜之前要先热锅冷油、加入姜蒜葱爆香,然后加入要炒的备菜,最后放入调料调味进行翻炒,然后出锅。不同的菜肴可能只需要在某些步骤上有所差异,比如加入的调料不同,要炒的备菜不同。这种情况下,就可以使用模板方法模式,先定义一个基本的烹饪流程(模板方法),然后让不同的菜肴根据需求实现不同的细节(抽象方法)。

2024-01-22 07:03:33 831 1

原创 笨蛋学设计模式行为型模式-策略模式【16】

在购物平台上,我们需要实现一个促销活动功能。可以通过使用策略模式来实现不同类型的促销策略,比如折扣、满减、赠品等,每个促销策略可以被封装成一个独立的策略类,客户端根据不同的促销需求来选择不同的策略进行结算。

2024-01-21 05:58:28 1114 1

原创 笨蛋学设计模式行为型模式-迭代器模式【15】

例如在操作系统中的文件夹结构可以使用迭代器模式实现,通过迭代器模式,可以实现对文件夹中文件和子文件夹的遍历,从而无需暴露文件夹的内部实现细节,这样用户就可以方便地浏览文件夹的内容,并执行相应的操作,如复制文件、删除文件、打开文件

2024-01-20 08:54:05 1071

原创 笨蛋学设计模式行为型模式-观察者模式【14】

在我们生活中,用户可以在音乐播放平台关注多个歌手,而当有歌手发布新的歌曲时,可以将歌曲发布到音乐播放平台,而平台会将新的歌曲详细信息发送给关注该歌手的用户。而此时歌手就相当于是观察者模式的主题对象,每个关注的用户则是观察者模式中的观察者对象,通过该模式,用户可以很及时的听到歌手的新歌曲,而歌手也可以很轻松的通知用户新歌曲的发布。

2024-01-19 11:05:11 1219 1

原创 笨蛋学设计模式结构型模式-享元模式【13】

在棋类游戏中,棋子可以看作是享元对象,因为棋子与棋子之间有着相同的属性和方法,例如在颜色、大小、移动规则上都有着相同的特质。因此在棋类游戏中,可以使用享元模式来共享相同的棋子对象,避免创建大量的棋子对象,从而提高游戏性能。

2024-01-18 11:08:04 1392 1

原创 笨蛋学JUC并发编程-进程与线程

用Runnable更容易与线程池等高级API配合用Runnable让任务类脱离了Thread继承体系,更灵活。

2024-01-17 21:02:03 990

原创 笨蛋学设计模式结构型模式-组合模式【12】

在文件系统中,比如目录和文件就形成了一个树形结构,目录可以包含文件以及子目录,而子目录同样的也可以包含文件以及子目录的子目录。

2024-01-17 20:01:30 1359

原创 笨蛋学设计模式结构型模式-桥接模式【11】

比如在路上随处可见的汽车,汽车和引擎之间可以使用桥接模式。抽象部分可以是一个汽车的抽象类,实现部分可以是不同类型的汽车,如轿车、SUV等。而引擎可以是抽象部分的扩展类,实现部分可以是不同的引擎类型,如电动、燃油、混油引擎等。而我们可以创建多个引擎和汽车,而每个引擎和汽车之间都是独立的,通过桥接模式将不同类型的汽车和引擎进行组合,实现灵活的汽车配置。

2024-01-16 20:02:55 1247

原创 笨蛋学设计模式结构型模式-外观模式【10】

当我们想看电视时,在电视上或者电视遥控器上都有一个电源启动 / 关闭按钮,这个按钮掩盖了电视机内部的所有复杂性,当我们想看电视时按下遥控器上的电源启动按钮,或者想调整电视音量时,又或者想调换电视节目等,也是通过电视遥控器上的某一个按钮来控制电视机,完成对应的电视复杂操作。

2024-01-15 19:06:35 1214

原创 笨蛋学设计模式结构型模式-装饰者模式【9】

当我们去一家咖啡店时,点了一杯咖啡。这时,你觉得咖啡有点苦,或者说咖啡的味道不够丰富,就可以给店员 / 咖啡师说,希望可以在我们的咖啡中添加糖、牛奶等不同的食材以此来丰富我们咖啡。这些食物都可以看作是装饰者,然后我们可以根据自己的具体口味,添加不同程度的以及不同风味的食材。

2024-01-14 19:32:31 1014 1

原创 笨蛋学设计模式结构型模式-代理模式【8】

在我们去某个地方旅游时,我们可以报名旅行社,通过旅行社来给我们安排行程、酒店、机票等等一些服务,旅行社就是我们去旅游时的代理对象,他们代表我们与航空公司、酒店、旅游景点等去进行交涉和预订,为我们提供我们在某个地方时的各种旅游服务。

2024-01-13 19:58:59 1435 1

原创 笨蛋学设计模式结构型模式-适配器模式【7】

在我们生活中可以看见的电源转换器,根据不同的国家和地区有着不同的电源标准,比如我国国内使用的是普通的扁平两项或三项插头,而德国使用的是两项圆头的插头。因此,若是在德国使用手机充电器插头无法直接使用上德国的电源插排,就无法给手机供电,生活中有一款电源转换器,就好比一个适配器,其插头既符合德国标准,可以在德国的电源插排中使用。而上面的电源接口也符合国内标准,这样就可以通过电源转换器实现手机充电。

2024-01-12 22:24:13 1063 1

原创 笨蛋学设计模式创建者模式-原型模式【6】

优点:减少对象的创建和初始化开销,提高性能总结:无需再次调用构造函数就能通过复制已有对象来创建新对象场景:适用于频繁创建和销毁大量相似对象的场景。

2024-01-11 16:09:18 967

原创 笨蛋学设计模式创建者模式-建造者模式【5】

将⼀个复杂对象的构建与其表示分离,通过将构建复杂对象的过程抽象出来,可以使客户端代码与具体的构建过程解耦同样的构建过程可以创建不同的表示总结:将复杂对象的构建过程与其表示分离,以使同样的构建过程可以创建不同的表示场景:适用于构建复杂对象的场景,并且希望将构建逻辑与表示分离的情况。

2024-01-10 19:13:50 999

原创 笨蛋学Java-基础复习

throw:在方法中认为抛出一个异常对象,该异常对象可以是自定义的异常,也可以是已存在的异常(用在方法内)throws:在方法的声明中使用,使用该方法时必须处理该异常(用在方法上)自定义异常类用来扩展内置的异常类。主要表示特定于自己的应用程序领域的异常情况// 自定义异常类//抛出自定义异常注解只在源码阶段保留,在编译器进行编译时它将被丢掉注解只被保留到编译进行的时候,它并不会被加载到 JVM 中注解可以保留到程序运行中的时候,它会被加载进 JVM 中,在程序运行中也可以获取到它们。

2024-01-10 16:56:52 1281

原创 笨蛋学设计模式创建者模式-抽象工厂模式【4】

优点:由于简单工厂模式只依赖于产品的接口,添加新产品时就只需要增加相应的实现类和工厂类总结:根据参数的不同返回不同类的实例场景:适用于单一类产品的情况。

2024-01-09 19:58:57 944

原创 笨蛋学设计模式创建者模式-工厂模式【3】

优点:由于简单工厂模式只依赖于产品的接口,添加新产品时就只需要增加相应的实现类和工厂类总结:根据参数的不同返回不同类的实例场景:适用于单一产品的情况。

2024-01-08 19:36:17 848

空空如也

空空如也

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

TA关注的人

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