- 博客(29)
- 收藏
- 关注
原创 设计模式——装饰者模式(8)
一、定义指在不改变现有对象结构的情况下,动态地给该对象增加一些职责(即增加其额外功能)的模式。我们先来看一个快餐店的例子。快餐店有炒面、炒饭这些快餐,可以额外附加鸡蛋、火腿、培根这些配菜,当然加配菜需要额外加钱,每个配菜的价钱通常不太一样,那么计算总价就会显得比较麻烦。使用继承的方式存在的问题:扩展性不好如果要再加一种配料(火腿肠),我们就会发现需要给FriedRiceFriedNoodles分别定义一个子类。如果要新增一个快餐品类(炒河粉)的话,就需要定义更多的子类。产生过多的子类
2024-10-17 17:14:20 365
原创 设计模式——适配器模式(7)
如果去欧洲国家去旅游的话,他们的插座如下图最左边,是欧洲标准。而我们使用的插头如下图最右边的。因此我们的笔记本电脑,手机在当地不能直接充电。所以就需要一个插座转换器,转换器第1面插入当地的插座,第2面供我们充电,这样使得我们的插头在当地能使用。生活中这样的例子很多,手机充电器(将220v转换为5v的电压),读卡器等,其实就是使用到了适配器模式。将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类能一起工作。
2024-10-16 14:18:27 422
原创 设计模式——代理模式(6)
由于某些原因需要给某对象提供一个代理以控制对该对象的访问。这时,访问对象不适合或者不能直接引用目标对象,代理对象作为访问对象和目标对象之间的中介。Java中的代理按照代理类生成时机不同又分为静态代理和动态代理。静态代理代理类在编译期就生成,而动态代理代理类则是在Java运行时动态生成。动态代理又有JDK代理和CGLib代理两种。
2024-10-15 09:41:11 523
原创 设计模式——建造者模式(5)
当需要创建的对象具有复杂的内部结构,且包含多个属性时,建造者模式可以将对象的构建和表示分离,使得客户端只需要关心最终的产品,而无需了解具体的构建步骤。当对象的创建过程涉及多个步骤,且这些步骤的顺序对最终对象有影响时,可以通过建造者模式来灵活控制构建顺序。当需要创建的产品具有多种表示,且这些表示可能由不同的属性组合而成时,可以使用建造者模式来创建不同的表示。通过定义多个具体的建造者,客户端可以选择不同的建造者来构建不同表示的对象。
2024-10-13 10:06:00 402
原创 设计模式——原型模式(4)
用一个已经创建的实例作为原型,通过复制该原型对象来创建一个和原型对象相同的新对象原型模式的克隆分为浅克隆和深克隆。浅克隆:创建一个新对象,新对象的属性和原来对象完全相同,对于非基本类型属性,仍指向原有属性所指向的对象的内存地址。深克隆:创建一个新对象,属性中引用的其他对象也会被克隆,不再指向原有对象地址。Java中的Object类中提供了 clone() 方法来实现浅克隆。
2024-10-12 09:31:43 308
原创 设计模式——工厂方法模式(2)&抽象工厂模式(3)
为什么要工厂模式?工厂就像一个黑盒一样,所以用工厂模式来创建对象,所以最大的好处是能实现解耦工厂模式有三种:简单工厂模式(不属于23种)工厂方法模式抽象工厂模式。
2024-10-11 20:35:52 321
原创 设计模式——单例模式(1)
单例模式是指一个类只能创建出一个对象,比如数据库连接池、日志记录。在开发中用到的很多单例设计模式分类成两种:饿汉式:类加载就会导致该单实例对象被创建懒汉式:类加载不会导致该单实例对象被创建,而是首次使用该对象时才会创建在使用单例模式时,要明确或注意以下几点(1)将构造方法写成私有的,防止外部调用构造方法(2)应该在类的属性中修饰成static,我一开始觉得这只是为了确保实例能通过类名在全局访问,但是在研究了Java虚拟机。
2024-10-10 21:26:33 966
原创 设计模式88
例如一台电脑需要很多零件,我们可以使用零件来创造一台电脑,由于解耦合,例如我们可以修改主板,这样就能装出不一样的主机。浅克隆:创建一个新对象,新对象的属性和原来对象完全相同,对于非基本类型(如引用)属性,仍指向原有属性所指向对象的内存地址。用一个已经创建的instance作为原型,通过复制该对象来创建一个和原型对象相同的新对象。将同一个具体工厂所生产的位于不同等级的一组产品称为产品族,例如(衣服+鞋子+帽子)深克隆:创建一个新对象,属性中引用的其他对象也会被克隆,不再指向原有对象地址。
2024-03-29 22:20:46 641
原创 【无标题】
vuex是状态管理库,在多个组件之间共享数据,并且共享的数据是响应式的,即数据的变更能及时渲染到模板。actions:类似于mutation,可以包含异步操作,通过调用mutations来改变共享数据。双向绑定:表单输入项和data方法中的属性进行绑定,任意一方绑定都会同步给另一方。mutations:类似于一个事件,用于修改共享数据,要求必须是同步函数。vue是单页面应用,本质上是根据路径不同,用不同的组件替换这个页面。在路由视图中动态渲染视图组件,有一个路由表。data:请求体数据,常见的是JSON。
2024-03-23 00:00:38 282
原创 量子物理物理
我们已经知道,温度为T的黑体在它的电磁辐射中包含有各种波长的电磁波,而不同波长的电磁波的单色辐出度也不尽相同,这就是说,单色辐出度M与波长存在着一定的关系,实验发现,黑体的单色辐出度与波长之间的关系曲线如图所示,即黑体的辐出度M与黑体的T的四次方成正比。显然,单色辐出度是T和入的函数,用M(T,入)表示。在单位时间内,从温度为T的黑体的单位面积上,所辐射出的各种波长的电磁波的能量总和,称为辐射出射度,简称辐出度,它只是黑体的热力学温度T的函数,用M(T)表示,可用积分求得。(1)斯特凡-玻尔兹曼定律。
2023-12-02 20:41:28 695
原创 UML之活动图(Activity Dirgram()
对象流有两种表示方法,一种是将控制流一分为二,中间加上传送的对象或数据。例如图像数据传输/传递时看作一个整体,而解析时又看作是一个一个的单元。在活动图中实现这种整体到单元,单元到整体的观点转换的手段就是扩展区域。而Fork Node结点是并发时的分岔结点,都要进行下去。基本的组织单元,代表一个活动,通常情况下无条件转换(无需触发,而状态机图通常有出触发过程)。(7)Fork Node and Join Node(分岔和汇合,表示并发流)2、活动图的初始结点一般只有一个,而结束结点可以有很多个。
2023-11-10 15:47:47 285 1
原创 数据结构学习
二叉树是一种特殊的树,非空树有且仅有一个根节点,也存在前驱(除了根节点)和后继(除了叶子结点)的概念。2、基本术语(1)结点之间的关系描述祖先结点:有很多祖先节点子孙结点:有很多子孙结点双亲结点(父结点):除了根结点,只有一个父节点,即前驱。孩子结点:除了叶子结点,只有一个孩子结点,即后继兄弟结点堂兄弟结点:主要为了表述他们在同一层。两个结点之间的路径:只能从上往下路径长度:即经过几条边(2)属性表述结点的层次:从上往下数结点的高度:从下往上数树的高度:总共多少层。
2023-10-26 04:20:32 132
原创 物理实验课程记录
(2)计时器上调/下调设置成90次,按复位进行初始化,按执行进行计时。(3)气泵的打开和计时器在一套系统,需提前逆时针旋转气泵旋钮。(4)调整气泵,保证小球以光电门小孔位中心做振动。(1)直接按照讲义中来。一、空气绝热系数测定。
2023-10-23 18:46:34 78
原创 Java课程记录
请注意,具体的JVM参数和值可能因应用程序的需求和可用资源而异。在设置JVM参数时,请参考Java虚拟机的文档和应用程序的要求,以确保选择适当的参数和值。二、JVM设置参数-Xmx 1000m,是限制JVM内存最多1000MB,默认为5MB。函数来获取当前时间的毫秒数,然后通过对两个不同时间点的毫秒数进行相减,就可以计算出两个时间点之间的秒数差。要在命令行窗口中设置JVM参数,可以在启动Java应用程序的命令中添加相应的参数。替换为你要运行的实际Java应用程序的名称。在Java中,可以使用。
2023-10-10 18:06:37 53 1
原创 Java基础API集合
在实际开发中,我们常用API(Application Programming Interface,应用程序编程接口)进行开发,API就是别人写好的一段程序。
2023-10-06 21:44:33 45 1
原创 testtest
EEG分为EEG(静息态,啥也不做,自发脑电)和ERP(任务态,事件相关电位)在头皮上通过电极收集到的脑电信号是大脑内部同步活动产生的脑电信号混合叠加而成。时域分析——横坐标是时域,纵坐标是幅度。频域分析——横坐标是频率,纵坐标是幅度。时域分析通过傅里叶变换变成频域分析。
2023-09-28 10:09:51 214
原创 MySQL数据库
(1)概述数据库(DB,DataBase)是存储数据的仓库,数据是有组织的进行存储。数据库管理系统是操纵和管理数据库的大型软件。SQL是操作关系型数据库的编程语言。主流的关系型数据库管理系统有很多,例如Oracle、MySQL,Oracle并不是开源的,收费很高。而MySQL是开源的,原属于Sun公司,后来Sun公司被Oracle公司收购。即便使用不同的关系型数据库管理系统,都会使用SQL语言。SQL语言是一套标准安装完MySQL之后,有两种方法启动或停止MySQL。在cmd命令行窗口输入。
2023-09-19 18:15:16 53
原创 Java基础语法
IntelliJ IDEA(简称IDEA)是一种集成开发环境(IDE,Intergrated Develop Environment),常用的IDE有Eclipse,MyEclipse等。但目前IDEA是最先进的集成开发环境。IDEA是捷克公司JetBrains的产品,开发人员以严谨著称的东欧程序员为主。数组就是一个用来存储一批同种类型的数据。/*一般写法*//*简化写法*/数组在计算机中的存储原理是:计算机在内存中开辟一块连续区域用来存放数组的数据,数组名用来存放数组第一个元素的地址。
2023-09-06 05:51:59 99 1
原创 设计模式之UML——类图
UML(统一建模语言)是一种面向对象的可视化建模语言。UML提供9种视图:类图、对象图,用例图,序列图、协作图,状态图、活动图,构件图和部署图。在这里重点介绍UML语言中的类图。
2023-09-04 17:55:03 2445 1
原创 项目管理工具之Maven
Maven的本质是用一个Java语言构建的项目管理工具。Maven将项目开发和管理过程抽象成一个项目对象模型(POM,项目对象模型)。POM中用到的资源由(Depen dency)实现。依赖管理调用的资源通过(本地——私服——中央)获取,即依赖管理的资源是从中央仓库获取。Maven中已经内置了无数个插件,使用这些插件可以将项目中文件产出不同的产物。
2023-09-03 00:21:24 54
原创 设计模式之单例模式
懒汉式设计模式的缺点时:线程不安全,如果多个线程在同一时间第一次调用getInstance()接口,会同时发现intance为空指针,这时多个线程就会同时触发intance的构建,与我们需要的单例模式初衷相违背。饿汉式设计模式的核心在于:在定义类的时候,已经将实例化对象创建好。饿汉式设计模式的缺点是:无法进行懒加载,无论是否使用该实例化对象,都要在内存中开辟一块空间,可能会导致内存的浪费。饿汉式设计模式的优点是:线程安全,类的创建过程就已经声明好了多个线程所共同使用的实例化对象。①类的构造函数私有化。
2023-09-02 11:27:30 69
原创 Ajax基础介绍
当用户在客户端输入信息后,客户端需要向服务器发送请求,在服务器处理的过程中,若客户端仍能进行其他操作,则改机制为异步交互,否则为同步交互。原生的Ajax在实际开发中往往存在语法繁琐的问题,Axios则对原生的Ajax进行封装,能够简化书写,快速开发。2.创建XMLHttpRequest对象,用于和服务器交换数据。2.使用Axios发送请求,并获取响应结果。1.引入Axios的js文件。4.获取服务器响应数据。3.向服务器发送请求。
2023-08-29 23:06:43 63 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人