- 博客(83)
- 资源 (4)
- 收藏
- 关注
原创 生产故障:系统根目录空间异常占满
根据客户反馈的现象,我们首先想到的是程序bug导致在/tmp目录下写入了大量的临时文件,没有删除造成的,但是我们在/tmp目录下计算完空间发现/tmp目录下才20K,虽然有点质疑但是目前没有证据,换个思路继续排查。从系统日志中确定了mysql的方向之后,我们查看系统中已删除的但是未释放空间的文件都是那个进程造成的,排查发现都是mysql进程产生的临时表文件已删除但未释放空间,终于定位到问题。目前定位到问题是mysql临时表文件产生的,就需要从应用系统中查找具体使用临时表的地方,考虑优化方案。
2024-04-18 18:08:20 427
原创 .NET 三大编程思想:POP、OOP、AOP
POP是面向过程编程(Procedure Oriented Programming), 面向过程编程是以功能为中心来进行思考和组织的一种编程方式,它强调的是功能(即:系统的数据被加工和处理的过程),在程序设计中主要以函数或过程为程序的基本组织方式,系统功能是由一组相关的过程和函数序列构成,面向过程更强调细节,忽视了整体性和边界性。OOP是面向对象编程(Object Oriented Programming),面向对象编程是以对象为中心,是一种新型的程序设计方法。
2024-04-17 10:56:49 212
原创 .NET 设计模式—解释器模式(Interpreter Pattern)
解释器模式(Interpreter Pattern),给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。使用了解释器模式,可以很容易地改变和扩展文法,因为该模式使用类来表示文法规则,可以使用继承来改变或扩展该文法。也比较容易实现文法,因为定义抽象语法树中各个节点的类的实现大体类似,这些类容易直接编写。
2024-04-17 07:00:00 849
原创 .NET 设计模式—中介者模式(Mediator Pattern)
中介者模式(Mediator Pattern)是用来降低多个对象和类之间的通信复杂性。这种模式提供了一个中介类,该类通常处理不同类之间的通信,并支持松耦合,使代码易于维护。中介者模式属于行为型模式。简单来说,就是用一个中介对象来封装一系列的对象交互,使各个对象不需要显式地互相引用,从而达到了减少耦合的目的,同时也能让它们之间交互独立地变化。
2024-04-16 07:00:00 191
原创 .NET 设计模式—命令模式(Command Pattern)
命令模式(Command Pattern)是一种数据驱动的设计模式,它属于行为型模式。请求以命令的形式包裹在对象中,并传给调用对象。调用对象寻找可以处理该命令的合适的对象,并把该命令传给相应的对象,该对象执行命令。
2024-04-16 07:00:00 446
原创 .NET 设计模式—备忘录模式(Memento Pattern)
备忘录模式,又称之为快照模式(Snapshop Pattern),是一种行为型设计模式,,它允许在不破坏对象封装性的前提下,捕获并保存一个对象的内部状态,以便在需要时恢复该对象到原先的状态。备忘录模式可以为我们提供一种“后悔药”的机制,它通过存储系统中各个历史状态的快照,使得我们可以在任一时刻将系统回滚到历史状态。
2024-04-15 07:00:00 686
原创 .NET 设计模式—访问者模式(Visitor Pattern)
在访问者模式(Visitor Pattern)中,我们使用了一个访问者类,它改变了元素类的执行算法。通过这种方式,元素的执行算法可以随着访问者改变而改变。这种类型的设计模式属于行为型模式。根据模式,元素对象已接受访问者对象,这样访问者对象就可以处理元素对象上的操作。
2024-04-15 07:00:00 1021
原创 .NET 设计模式—迭代器模式(Iterator Pattern)
迭代器模式(Iterator Pattern)是一种行为型设计模式,它允许我们通过提供一种方法来访问聚合对象中的元素,而不需要暴露聚合对象的内部实现。在迭代器模式中,我们通过创建一个迭代器对象来遍历聚合对象中的元素,而不直接访问聚合对象本身。这使得我们可以更加灵活地处理聚合对象,而不需要改变聚合对象的内部结构。
2024-04-14 20:42:48 493
原创 .NET 设计模式—模板方法模式(Template Method Pattern)
模板方法模式(Template Method Pattern),又叫模板模式(Template Pattern),是一种行为设计模式,它定义了一个操作中的算法框架,将某些步骤的具体实现留给子类。通过模板方法模式,我们可以在不改变算法结构的情况下,允许子类重新定义某些步骤,从而实现代码复用和扩展。在软件开发中,我们经常会遇到需要定义一组相似操作的场景。这些操作可能在整体上有着相同的结构,但在细节上有所差异。如果每次都重复编写这些操作的通用结构,会导致代码的冗余性,同时也增加了后期维护的难度。
2024-04-14 20:29:36 599
原创 .NET 设计模式—观察者模式(Observer Pattern)
在.NET中,观察者模式是一种设计模式,它允许对象之间进行一对多的依赖关系。当一个对象的状态发生变化时,所有依赖于它的对象都会收到通知并自动更新。这种模式在事件驱动的设计中非常常见。在.NET中实现观察者模式,通常涉及到定义一个抽象的观察者接口和一个可被观察的对象。这个可被观察的对象维护一个观察者的列表,并在状态改变时通知所有观察者。
2024-04-14 20:21:34 622
原创 .NET 设计模式—状态模式(State Pattern)
状态模式(State Pattern),当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。状态模式主要解决的是当控制一个对象状态装换的条件表达式过于复杂时的情况。把状态的判断逻辑转移到表示不同状态的一系列类中,可以把复杂的判断逻辑简单化。状态模式在工作流或游戏等各种系统中大量使用。
2024-04-13 07:00:00 266
原创 .NET 设计模式—职责链模式(Chain of Responsibility Pattern)
责任链模式是一种对象的行为模式。在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递, 直到链上的某一个对象决定处理此请求。发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求,这使得系统可以在不影响客户端的情况下动态地重新 组织链和分配责任。
2024-04-13 07:00:00 804
原创 .NET 设计模式—策略模式(Strategy Pattern)
策略模式是一种行为设计模式,它允许在运行时选择算法的行为。这种模式定义了一系列算法,并将每个算法封装到一个对象中,使得它们可以互相替换。策略模式使得算法可以独立于使用它的客户端而变化,提供了灵活性、可扩展性和复用性。
2024-04-12 15:10:07 418
原创 .NET 设计模式—享元模式(Flyweight Pattern)
享元模式(Flyweight Pattern)是一种结构型设计模式,它旨在减少系统中相似对象的内存占用或计算开销,通过共享相同的对象来达到节省资源的目的。享元模式提供了一种高效地共享对象的方式,从而减少了内存占用和提高了性能,但需要注意的是,使用享元模式会增加系统的复杂性,因为它需要维护共享对象池。
2024-04-12 14:51:39 607
原创 .NET 设计模式—组合模式(Composite Pattern)
组合模式是一种结构型设计模式,它允许将对象组合成树形结构以表示“整体/部分”层次结构。该模式可以让客户端通过统一的方式处理单个对象和对象组合,从而使得代码更加简洁、灵活。
2024-04-11 06:00:00 318
原创 .NET 设计模式—外观模式(Facade Pattern)
外观(Facade)模式又叫作门面模式,是一种为多个复杂的子系统提供一个一致的接口,而使这些子系统更加容易被访问的模式。该模式对外有一个统一接口,外部与其中子系统的通信必须通过一个统一的外观对象进行,外部应用程序不用关心内部子系统的具体细节,这样会大大降低应用程序的复杂度,使得这一子系统更加容易使用,提高了程序的可维护性。外观模式是一种对象结构型模式。
2024-04-11 06:00:00 369
原创 .NET 设计模式—桥接模式(Design pattern)
桥接模式(Bridge Pattern) 也称为桥梁模式、接口模式或者柄体模式,是将抽象部分与它的具体实现部分分离,使它们都可以独立地变化,属于结构型模式。桥接模式主要目的是通过组合的方式建立两个类之间的联系,而不是继承。但又类似于多重继承方案,但是多重继承方案往往违背了类的单一职责原则,其复用性较差,桥接模式是比多重继承更好的替代方案。桥接模式的核心在于解耦抽象和实现。
2024-04-10 10:55:46 478
原创 .NET 设计模式—装饰器模式(Decorator Pattern)
装饰者模式(Decorator Pattern)是一种结构型设计模式,它允许你在不改变对象接口的前提下,动态地将新行为附加到对象上。这种模式是通过创建一个包装(或装饰)对象,将要被装饰的对象包裹起来,从而实现对原有对象功能的增强和扩展。
2024-04-08 23:32:52 1331
原创 .NET 设计模式—代理模式(Proxy Pattern)
代理模式:为一个对象提供- 一个替身,以控制对这个对象的访问。即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能。被代理的对象可以是远程对象、创建开销大的对象或需要安全控制的对象代理模式有不同的形式,主要有三种静态代理、动态代理(JDK代理、接口代理)和Cglib代理(可以在内存动态的创建对象,而不需要实现接口,他是属于动态代理的范畴)。
2024-04-07 06:00:00 781 4
原创 .NET 设计模式—适配器模式(Adapter Pattern)
适配器模式(Adapter Pattern):就是将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。在计算机编程中,适配器模式(有时候也称包装样式或者包装)将一个类的接口适配成用户所期待的。一个适配允许通常因为接口不兼容而不能在一起工作的类工作在一起,做法是将类自己的接口包裹在一个已存在的类中。适配器有类适配器和对象适配器两种类型,二者的意图相同,只是实现的方法和适用的情况不同。
2024-04-06 21:37:48 523
原创 .NET 设计模式—建造者模式(Builder Pattern)
建造者模式(Builder Pattern)使用多个简单的对象一步一步构建成一个复杂的对象。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。建造者模式的核心思想就是将一个复杂对象的构建与其表示分离,让用户只需要关注需要构造的对象的属性即可。这样用户不需要知道对象的内部实现细节,只需要通过Builder提供的接口方法来设置对象属性,就可以得到一个完整的对象。抽象建造者类(Builder):这个接口规定要实现复杂对象的那些部分的创建,并不涉及具体的部件对象的创建。
2024-04-06 06:00:00 478
原创 .NET 设计模式—工厂方法模式(Factory Method Pattern)
工厂方法模式(Factory Method Pattern):定义一个用于创建对象的接口,让子类决定将哪一个类实例化。这种模式使得对象的创建延迟到子类,从而实现了对扩展开放、对修改关闭的原则。工厂方法模式又简称为工厂模式(Factory Pattern),又可称作虚拟构造器模式(Virtual Constructor Pattern)或多态工厂模式(Polymorphic Factory Pattern)。工厂方法模式是一种类创建型模式。
2024-04-05 06:00:00 741
原创 .NET 设计模式—抽象工厂模式(Abstract Factory Pattern)
抽象工厂模式(Abstract Factory Pattern): 抽象工厂模式提供一个接口,用于创建一系列相关或相互依赖的对象。客户端通过使用抽象工厂及其产品接口来创建对象,从而将客户端与具体的产品实现解耦。总体而言,简单工厂模式适用于只有一个工厂类负责创建所有产品的场景;工厂方法模式适用于每个产品对应一个具体工厂的场景;抽象工厂模式适用于需要创建一系列相关产品的场景。根据具体的需求和系统设计的复杂度,选择适合的工厂模式可以提高代码的灵活性和可维护性。
2024-04-05 06:00:00 1941 2
原创 .NET 设计模式—简单工厂(Simple Factory Pattern)
简单工厂模式(Simple Factory Pattern)属于类的创建型模式,又叫静态工厂方法模式(Static FactoryMethod Pattern),是通过一个工厂类来创建对象,根据不同的参数或条件返回相应的对象实例。这种模式隐藏了对象的创建细节,客户端只需通过工厂类获取对象而不需要直接实例化对象。
2024-04-04 22:05:09 740
原创 .NET 设计模式—原型模式(Prototype Pattern)
原型模式(Prototype Pattern)是用于创建重复的对象,同时又能保证性能。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式,当每次都新创建一个对象的代价比较大时,可以采用这种模式,它用于创建当前对象的克隆。Singleton模式解决的是实体对象个数的问题。除了Singleton之外,其他创建型模式解决的都是new所带来的耦合关系。而Prototype则是通过原型(一个特殊的工厂类)来克隆“易变对象”。(其实原型就是一个特殊的单例)。
2024-04-04 20:30:22 665
原创 .NET 设计模式—单例模式(SingletonPattern)
单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在。当你希望在整个系统中,某个类只能出现一个实例时,单例对象就非常适合。
2024-04-03 23:59:13 797 1
原创 .NET MD5加密算法实现
MD5(Message Digest Algorithm 5)是一种单向散列函数,由美国密码学家罗纳德·李维斯特(Ronald Linn Rivest)于1991年发明。它主要用于将任意长度的消息映射成固定长度的摘要,从而实现消息的完整性验证、数字签名等功能。MD5加密技术在我国网络安全领域有着广泛的应用,但近年来也暴露出一定的局限性。在.NET中,您可以使用命名空间下的MD5类来进行MD5加密。MD5作为一种经典的加密技术,在我国网络安全领域具有重要地位。
2024-03-31 06:00:00 465
原创 .NET DES加密算法实现
DES(Data Encryption Standard)加密算法作为一种历史悠久的对称加密算法,自1972年由美国国家标准局(NBS)发布以来,广泛应用于各种数据安全场景。本文将从算法原理、优缺点及替代方案等方面,对DES加密算法进行全面解析。在.NET中,可以使用类来实现DES加密。DES加密算法作为一种历史悠久的对称加密算法,在数据安全领域具有广泛的应用。然而,随着计算机技术的发展和攻击手段的多样化,DES加密算法逐渐暴露出一些安全隐患。
2024-03-31 06:00:00 428
原创 .NET RSA加密算法实现
RSA算法是第一个能同时用于加密和数字签名的算法,也易于理解和操作。RSA是被研究得最广泛的公钥算法,从提出到现在已近二十年,经历了各种攻击的考验,逐渐为人们接受,普遍认为是目前最优秀的公钥方案之一。RSA的安全性依赖于大数的因子分解,但并没有从理论上证明破译RSA的难度与大数分解难度等价。即RSA的重大缺陷是无法从理论上把握它的保密性能如何,而且密码学界多数人士倾向于因子分解不是NPC问题。在.NET中,RSA加密算法是一种常见的密钥算法,用于提供非对称加密,其中公钥用于加密,私钥用于解密。
2024-03-31 06:00:00 727
原创 .NET Path类库的特殊方法
在.NET中Path类库是非常常用的一个类库,包含很多我们常用的方法,常用的方法这里就不详细说明了,这里记录下几个非常规的方法。
2024-03-30 18:00:50 214
原创 .Net 对象与对象之间的映射转换的6中方式以及性能对比
我们在.Net开发的过程中,经常会遇到一个实体对象与另一个实体对象之间的映射转换,接下来我们将依次去实现6个对象间映射转换的方式,并对他们进行性能测试,找出其中效率最高的方式。
2024-03-28 23:13:18 1181
原创 欧拉操作系统 ISO
链接:https://pan.baidu.com/s/1FX1y97k653xcra5MEHGwLw。链接:https://pan.baidu.com/s/18PMZ0pSIfrN55DyYBH5xzA。
2024-03-07 13:47:19 919
原创 设计模式—迪米特原则(LOD)
迪米特法则(Law of Demeter)又叫作最少知识原则(The Least Knowledge Principle),一个类对于其他类知道的越少越好,就是说一个对象应当对其他对象有尽可能少的了解,只和朋友通信,不和陌生人说话。英文简写为: LOD。
2023-11-28 06:00:00 580
原创 设计模式—接口隔离原则(ISP)
接口隔离原则(Interface Segregation Principle,ISP)要求程序员尽量将臃肿庞大的接口拆分成更小的和更具体的接口,让接口中只包含客户感兴趣的方法。
2023-11-27 06:00:00 1180
原创 设计模式—依赖倒置原则(DIP)
依赖倒置原则(Dependence Inversion Principle)是程序要依赖于抽象接口,不要依赖于具体实现。简单的说就是要求对抽象进行编程,不要对实现进行编程,这样就降低了客户与实现模块间的耦合。
2023-11-26 19:30:28 881
原创 设计模式—里氏替换原则
LSP是继承复用的基石,只有当衍生类可以替换掉基类,软件单位的功能不受到影响时,基类才能真正被复用,而衍生类也能够在基类的基础上增加新的行为。
2023-11-25 06:00:00 972
wic-x86-64.zip
2024-05-30
中科方德V4.0Server操作系统镜像文件和安装手册
2024-04-03
中科方德桌面操作系统V5.0(X86)镜像文件和安装手册
2024-04-03
中科方德桌面操作系统V4.0(X86)镜像文件和安装手册
2024-04-03
银河麒麟服务器端操作系统镜像,SP3-V10-2023-X86版本
2024-04-03
谷歌浏览器98-120版本免安装包
2024-03-28
WPF和WinForm集成MiniBlink49版本
2023-09-14
TortoiseSVN-1.9.4.27285-x64.rar
2020-01-06
ReidisView V1.6.7.zip
2020-01-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人