自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java设计模式 _行为型模式_中介者模式

中介者模式,顾名思义,就是通过中间人的介入完成不同业务之间的解耦行为。主要特点为实体对象和中介者产生关联,消费对象也和中介者产生关联。在代码实现上,一般多通过内置对象的形式,即对象实体内包含中介对象,中介对象内包含实体对象集合等,两者之间可以通过各自的方法去添加彼此。主要通过一个中介类,该类通常处理不同类之间的通信,并支持松耦合,使代码易于维护。李四发送消息到聊天室,聊天室调用了张三的接收方法。(3)、定义中介类,包含实体类对象的集合。(2)、编写实现类,需要内置中介类。需要通过中介接收数据。

2024-05-21 14:22:06 160

原创 Java设计模式 _行为型模式_迭代器模式

迭代器模式主要用来处理数据集合,可以在不关注集合底层类型的情况下获取下一个元素或上一个元素(可以在上面的示例代码中追加规范方法进行扩展)。相对于java本身的Iterator接口来说,非常类似,使用场景目现也比较小,目前大部分的三方工具包都包含对集合的处理方法,可以了解一下。学海无涯苦作舟!!!

2024-05-21 09:51:48 264

原创 Java设计模式 _行为型模式_解释器模式

解释器模式一般用于定义某些新的表达式类型,如:新的运算表达式。也可以是兼容一些语法上的使用,如翻译一些脚本的功能(js,python,shell)等。比较常用的如mybatis-plus中(对象直接操作.eq,.like,.or等方法去解释成对应的sql语言去执行)。一般不同业务场景下用到的还是比较少,具体还是看业务是否需要定义新的表达式规范再来确定是否使用这种设计模式吧。学海无涯苦作舟!!!

2024-05-11 09:52:46 312 1

原创 Java设计模式 _行为型模式_命令模式

命令模式中请求以命令的形式包裹在对象中,即将命令封装为类,从而可以使用不同的请求,队列等操作具体的对象等。命令模式的主要核心就是将命令封装为业务类,通过发送者,命令,接收者三者之间的逻辑关系(发送者能创建发送命令,命令中包含接收者的属性对象),以此关系来完成某些业务场景下的业务要求。(4)、编写命令的实现类(包含接收者对象属性,实例属性的方法(构造或自定义),实现命令的方法)(5)、编写发送者类(内置封装业务的命令,用于统一控制命令的发送,类似遥控器)(1)、命令(包含:抽象和实现类)

2024-05-10 10:43:16 510

原创 Java设计模式 _行为型模式_责任链模式

当多个实现类都可以处理某种类型请求时,可以根据请求的条件来决定最终由哪一个类去处理这个请求,如本例的责任链模式就是一种实现方式。责任链模式的链路生成思路是通过内置了下一个对象的引用来实现的。当条件满足时直接处理业务,不满足就放给下一个接收者去处理,或者某些场景下也可以是处理完业务也放给下一个链路去处理(如:错误日志和全量日志),具体需要根据业务去改造即可。学海无涯苦作舟!!!

2024-05-09 16:51:36 429

原创 Java设计模式 _结构型模式_代理模式(静态,动态)

代理的作用就是在不改变原代码的同时,对原代码的功能做业务扩展。分为静态和动态两种代理方式,静态代理需要我们在开发过程中就先创建好代理的类,直接使用代理类完成原始类的功能,思路和设计也都比较简单。动态代理则是在运行时段,基于反射生成代理类的源码,主要用到了两个对象(Proxy和InvocationHandler接口),相对静态代理而言,代码编写上难度大一点,但是动态代理方式无需大量编写代理对象,如果原始类放生变动,静态代理则是比较奔溃的局面,代理类往往也需要改动,动态代理则相对改动较少。

2024-05-07 10:27:45 838

原创 Java设计模式 _结构型模式_享元模式

主要套路就3步,创建接口,创建实例,创建工厂。主要解决有大量对象时,有可能会造成内存溢出,我们把其中共同的部分抽象出来,如果有相同的业务请求,直接返回在内存中已有的对象,避免重新创建。享元模式通过缓冲池的思路来实现,从而减少大量相同数据的产生,这样的数据要求内部状态不易变化,如游戏中的子弹,象棋中的棋子等。一副中国象棋通常有很多棋子,每一个棋子的作用固定不发生变化,棋子存在一定的重复情况,如有多个炮,多个卒等。(3)、编写享元工厂类(缓冲池如HashMap,获取享元对象的方法,其他处理缓冲池对象的方法)

2024-05-06 15:48:51 481 1

原创 Java设计模式 _结构型模式_外观模式

当客户端与多个子系统之间存在大量的交互时,有助于减少客户端与子系统之间的耦合,提高系统的可扩展性。同时保护了子系统的内部实现,提高系统的安全性。外观模式的套路,就是将多个相关业务的类都放在一个类中,作为成员去管理。(4)、定义外观需要的各种方法,可以是调用某一个实现类的方法,或者是组合多个实现类的方法。(3)、在外观类中,通过构造方法或者自定义方法,去创建成员变量的实例。通过形状的超市去获取各种形状,而不是通过每一个形状的实例去获取。(2)、编写外观类,将各种实现类都内置为外观类的成员变量;

2024-05-06 11:52:04 490

原创 Java设计模式 _结构型模式_装饰器模式

装饰器模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能。定义的装饰类为抽象类,需要实现原抽象类且包含原抽象类的成员属性。通过构造或者自定义的方法,将原实体对象放入装饰类的实体中,这样通过装饰类就可以获取原对象处理后的实体类。代码套路和适配器模式比较类似,适配器模式相当于对原功能的转接,装饰者模式相当于对原功能的进一步加强。(3)、定义装饰抽象类,需要实现抽象类,同时定义包含抽象类的成员属性(如:配料)(4)、定义装饰抽象类的实体类(如:珍珠,可可,椰果等)

2024-04-30 11:53:49 815 1

原创 Java设计模式 _结构型模式_组合模式

即:创建了一个包含自己对象组的类,该类提供了修改相同对象组的方式。如,总经理直接下级包含多个总监,每个总监下包含多个负责人,每个负责人下包含多个具体员工。本例仅展示了一个子节点的信息,如果需要定义兄弟节点等多个维度的信息,则需要定义多个属性实例及对应的增删方法。可以看到当完整的构建了组合模式的时候,能够根据其中的一个节点获取到相关子节点的信息。(1)、实体类中,定义包含自身对象或者自身对象集合的属性。(3)、定义展示或操作自身及孩子节点的具体业务方法。(2)、定义添加和删除自身集合属性方法。

2024-04-30 11:00:59 821 1

原创 Java设计模式 _结构型模式_过滤器模式

过滤器模式是对一组数据进行过滤,从而达到我们希望数据的设计模式。首先需要定义统一过滤方法,之后就是根据需要编写各种实现类,对需要的场景搭配不同的过滤器链路,让数据经过这些过滤器链路后获取我们需要数据的过程。过滤器,顾名思义,就是对一组数据进行过滤,从而最终获取到我们预期的数据。(3)、封装类中定义过滤器类的集合,添加过滤器到封装类中,定义和实现数据过滤的具体方法。(1)、定义过滤器的规范接口(生明接口,定义统一的过滤方法)。(2)、定义过滤器实现类,实现规范接口的过滤方法。运行结果可以看出实现了过滤效果。

2024-04-28 16:03:21 522 1

原创 Java设计模式 _结构型模式_桥接模式

(1)、定义次维度规划抽象和实例方式(支付方式为抽象(接口),密码支付,扫脸支付,指纹支付为三种实例(接口实现类))。使用桥接模式,一定要找到这个类中两个变化的维度:如支付功能中(平台类型,支付方式)或带颜色形状(形状,涂色)。(4)、在主维度抽象类中,定义次维度的抽象属性,通过构造方法实例化该属性,定义统一的抽象方法(支付方法);(3)、定义主维度抽象类和实现类(支付渠道(抽象类),微信,支付宝(抽象类的实现类))(5)、在主维度实现类中,通过自身方法和次维度属性的实现方法封装各自具体的业务方法。

2024-04-28 11:54:19 793 1

原创 Java设计模式 _结构型模式_适配器模式

编写扩展的实例类,通过注入适配器,将适配器注入原始类的方法,实现原始类可以调用自身方法或者适配器方法的多种情形。(1)、创建适配器类(Adapter),实现和业务类(Computer)相同的功能接口(Abilities)(4)、在业务类(Computer)中,注入适配器类(Adapter)的属性类,重写构造方法实例化适配器。上图可以看出,虽然实现的是电脑的实例对象,调用的确实内存卡的业务实现方法。(3)、适配器类实现功能接口(Abilities)的抽象方法,通过自身的属性类去实现调用。

2024-04-26 17:08:15 713

原创 Java设计模式 _创建型模式_原型模式(Cloneable)

1、原型模式(Prototype Pattern)是用于创建重复的对象,同时又能保证性能比较好。一般对付出较大代价获取到的实体对象进行克隆操作,可以提升性能。(2)、复写clone方法(当前对象本身可以不复写,如果当前对象被继承,需要clone子类,则必须要复写)(1)、需要克隆的实体类实现Cloneable接口。可以看出,完整的复制了属性,且并不是同一个对象。

2024-04-26 11:55:53 533 1

原创 Java设计模式 _创建型模式_建造者模式(Builder)

如上的代码示例中,在静态内部类Builder中,每一个set方法中通过return this,实现了设备值的同时,返回房前Builder对象,可以继续调用set方法,进而实现了链路设置的方式。(2)、定义静态内部类Builder,Builder类包含和实体类相同的属性,以及每个属性的set方法,以及build()方法去调用实体的构造。(3)、构建实例对象时,通过静态内部类Builder进行设值在build()进行实例对象的创建。(2)、相对于构造方法的方式,建造者模式套路更优,无需定义更多的构造方法。

2024-04-26 10:57:25 593

原创 Java设计模式 _创建型模式_单例模式(懒汉式,饿汉式)

一个类负责创建自己的对象,同时确保只有1个对象被创建,这个类提供了一种访问其唯一的对象的方式,不需要在实例化该类的对象。存在问题:会在类装载的时候就占用一定的内存空间,如果该类的方法没有用到,就造成一定的内存浪费。(3)、提供public的方法获取实例对象(如果有实例直接返回,没有实例,创建实例后在返回)特点:先不创建该类的实例,在获取实例的方法中,根据判断,如果不存在才生成和返回。特点:在加载这个类的时候就创建了这个类的实例,在获取的方法中直接返回。(1)、该类中定义该类的实例属性,私有化。

2024-04-26 09:50:45 685 1

原创 Java设计模式 _创建型模式_工厂模式(普通工厂和抽象工厂)

但是普通工厂模式违反了单一职责的原则(一个类只干一种事情),且随着花的实例品种越来越多,每一次都要修改工厂类才能添加新的花品种,相对而言是改动是比较大的也比较麻烦的。抽象工厂模式,很好的规避了普通工厂的这两个缺点,新增花的品种,只要添加新的花品种的工厂类即可,但是这种方式会造成有非常多的类需要维护,不方便于代码的管理和维护。需要定义一个抽象工厂,和每一种花的实例工厂用于创建自身的实例(相当于知道了花店的地址,这个花店只卖这一种花的情况)。(3)、创建工厂的示例,使用工厂的创建方法创建需要的对象。

2024-04-25 20:37:39 312

原创 Java设计模式_概述(设计模式类型和基本原则)

通过合成,可以将已有的类组合成新的类,达到复用的目的,同时保持类的简单和清晰。设计模式(Design pattern)代表了最佳的实践,是软件开发人员在软件开发过程中面临一般问题的解决方案,是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。但不推荐刚入门的开发者学习,哪怕把代码搞的一塌糊涂,也要先将功能完成,初学者,迈过坑是必然的,只有对自己编写的代码不满意,你才会体会到设计模式的重要性,也才能更加理解。也就是说,一个类应该尽量减少与其他类的耦合度,只与它直接相关的类进行交互。

2024-04-25 17:04:56 867

原创 java算法 递归运算优化(备忘录模式)

从运行结果看,常规递归和备忘录算法递归都可以得到正确的结果,不过相对而言,备忘录算法的耗时和运行次数都要更优于常规递归操作。原因很简单,备忘录模式就是借助临时空间,把已经运算过的结果存储到临时空间中,下一次发现为相同运算时,就不需要再次进行逻辑运算,只需要从临时空间中取出值即可。也是一种典型的以空间换时间的想法。其一,相邻的数据存在一定的逻辑关系,其二、必须存在出口的值,如第一个元素或者最后元素的值能轻松计算出来。1、题目:斐波那契数列: 指的是这样一个数列:1、1、2、3、5、8、13、21、34、……

2024-04-24 15:18:29 532

原创 Java算法 空间换时间(找重复)

如下图可以看到,因为出现了两次2,就会在新数组的第3个位置进行两次自增,而不重复的值,只会在自己值对应的下标处自增1次。所以可以新数组值为2的地方,下标就是数组1中的重复值。生成空间数组0 0 0 0 0 实际上就是记录重复值出现的次数(第1个记录0的出现次数,第2个记录1的出现次数,第3个记录2的出现次数…1、题目:题目:0-999的数组中,添加一个重复的元素,打乱后,找出这个重复元素。空间换时间算法,是算法中最常见的一种,以牺牲一定空间为代价,换得时间的耗时更少。

2024-04-24 15:04:58 279

原创 Java算法 异或^运算(找重复,交换值)

当对两个布尔表达式运算时,两个结果不同(一个true,一个false),返回true;两个结果相同(同为true,同为false),返回false。异或运算满足交换律和结合律,即a ^ b ^ a = b ^ a ^ a = b ^ (a ^ a) = b ^ 0 = b。// 输出: 6,二进制表示: 0110。当对两个二进制位进行比较:如果两个位相同,则结果为0;任何数和0做异或运算,结果仍然是原来的数,即a ^ 0 = a。任何数和其自身做异或运算,结果是0,即a ^ a = 0。

2024-04-24 09:23:39 175

原创 运维 kubernetes(k8s)基础学习

通常开发会有很多项目,也会有很多环境(开发,测试,预生产环境)等,当机器足够的话,可以在不同的机器进行部署不同的项目已经环境,但是如果机器不足的话,可以使用k8s集群的命名空间(namespace)来实现开发测试环境的隔离。容器管理工具可以完成容器的基础管理,对于完成企业中更加复杂的应用部署,如需要对多应用的系统进行部署时,就需要更加复杂的工具来完成对容器运行应用的编排,这就是我们所说的容器编排部署工具。可以理解pod就是一个容器的壳子,docker部署的容器服务是一粒花生米,pod是容器外部的花生壳。

2024-04-23 16:53:15 1398 1

原创 Java JNI调用本地方法1(调用C++方法)

1、JNI(Java Native interface):sun公司提供的JNI是Java平台的一个功能强大的接口,实现java和操作系统本地代码的相互调用功能,系统本地代码通常是由其他语言编写的,如C++。说明:TestJni指的是TestJni.class文件,不是TestJni.java文件,一定要先编译。2、使用jdk的javah工具,生成包含native方法类的C/C++头文件(.h)。3、按照生成的C/C++头文件(.h),来写C/C++源文件(.cpp)。如果还有路径层级,使用.连接。

2024-04-20 12:00:16 459

原创 中间件学习--InfluxDB部署(docker)及springboot代码集成实例

(2)、写入性能极优,时序数据库通常都是采用LSM Tree 的变种,顺序写磁盘来增强数据的写入能力。通常,关系型数据库采用 B+树数据结构,在数据写入时,有可能会触发叶裂变,从而产生了对磁盘的随机读写,降低写入速度。数据特点就是冷热差别明显,一般近期产生的数据为热数据,产生时间较远的数据为冷数据,冷数据被压缩放到磁盘里去来节省空间。下图为配置界面,具体本人配置如上面的文字描述,下面的界面仅第一次会出现,之后就没有,所以无法截图了。非关系型数据库,以时间作为数据主键,专门用来存储时序数据。

2024-03-26 11:52:45 1345

原创 Java Spring创建bean流程及自定义构造方法示例

是Spring框架中非常强大的一个接口,它允许开发者在Spring容器创建和初始化Bean的过程中插入自定义的逻辑。(3)、系统定义了实现BeanPostProcessor接口的类,会在创建每一个bean之前执行(postProcessBeforeInitialization)和之后执行(postProcessAfterInitialization)方法等等。如果类中存在@Autowired或有参的构造方法,会先从单例池获取对象,如果单例池没有对象则会创建对象,之后在放入单例池中。2、找到类的构造方法。

2024-03-25 17:14:17 1166

原创 java 事件驱动模型(事件发布和监听@EventListener)

Spring 容器在创建 bean 的过程中,会检查 bean 是否实现了某些特定的 Aware 接口,如果实现了,则会在合适的时机调用相应的 setter 方法,将相关的对象注入到 bean 中。本例的事件驱动模型是一种典型的观察者设计模式,它使得组件之间的解耦更为容易,也使得代码更加灵活和可扩展。1、解耦:观察者设计模式实现了观察者与被观察者之间的解耦,降低了两者之间的耦合关系。3、事件驱动:观察者设计模式基于事件驱动,当被观察者状态发生改变时,会自动通知所有注册的观察者。2、定义事件的发布方法。

2024-03-23 16:41:55 673 1

原创 Linux docker7--私有镜像仓库registry和UI搭建及使用

但是企业内对于自己的研发产品不可能往公共仓库去发布镜像的,一般都会搭建私有的镜像仓库,保证产品镜像对内可用,外部是无法获取的。使用joxit/docker-registry-ui:static镜像,指定宿主机8092端口映射容器内的80端口,指定环境变量(标题,仓库服务的地址为仓库服务的5000端口),ui服务依赖于registry服务的运行。如上完成了,私有镜像仓库的搭建,已经推送和拉取镜像的过程,验证了拉取到的镜像可以正常运行。1、推送到仓库前,目标镜像需要打tag,即指定仓库地址和镜像版本。

2024-03-19 17:42:14 926

原创 Linux docker5--docker-compose快速部署多个项目

通过一个配置文件来管理多个Docker容器,在配置文件中,所有的容器通过services来定义,然后使用docker-compose脚本来启动,停止和重启应用,和应用中的服务以及所有依赖服务的容器,非常适合组合使用多个容器进行开发的场景。实际工作中,我们的微服务项目部署时往往有几十甚至几百个服务,虽然单个部署很简单,但是几百个部署起来还是挺费劲的,今天我们来演示一下使用docker-compose是如何快速部署多个服务的。以上的步骤,正常完成1,2或者3,4,5都可以。

2024-03-19 14:55:13 1174

原创 Linux docker4--本地jar包生成镜像和docker部署运行

如果你打出的jar包不是这个名字,则需要在如下的Dockerfile中将boot.jar(一共3处)修改成你的jar包名称。(2)、上传jar和Dockerfile到安装了docker的服务上。创建Dockerfile文件,将如下的代码内容粘贴进去即可。以上完成了jar包生成镜像,和使用docker部署的过程。(7)、使用postman访问部署的boot服务。(5)、指定端口,启动boot的镜像服务。(1)、创建Dockerfile文件。二、将jar包生成docker镜像。(3)、将jar生成镜像。

2024-03-18 20:56:29 284

原创 Linux docker3--数据卷-nginx配置示例

本例介绍的数据卷作用就是将容器内的配置和宿主机文件打通,之后修改宿主机的配置文件就相当于修改了docker进程的配置文件,不用在进入容器内修改。注:nginx我们一般需要修改配置文件,html的文件页,日志目录。以上完成了数据卷的创建,以及使用数据卷打通容器和宿主机的文件隔离,方便修改配置和重启的过程。注:通过详情我们可以查看难道数据卷挂载到宿主机的实际路径(Mountpoint)。(1)、通过上诉的详情命令,可以查看到挂载点下面已经出现了nginx的配置文件。6、查看和修改数据卷的挂载配置。

2024-03-18 20:43:24 526

原创 Linux docker2--镜像及容器操作-nginx部署示例

docker默认拉取镜像是国外的仓库,很慢,这里切换成阿里云的仓库,可以优化速度。上一篇有一个配置yum源的方法(yum是下载安装软件的),这里是配置docker镜像源的方法(下载docker镜像用的),不要搞混了。通过上面的stop 命令仅可以停止运行进行,但不会删除运行的容器(可以理解停止tomcat服务,但是没有删除tomcat)。使用上面的仓库地址,可以查询组件版本,获取镜像拉取命令,获取如何使用和启动镜像以及修改配置和配置说明等信息。–name指定容器的名称(后面很多命令都是基于这个容器名称的)

2024-03-18 20:25:45 766

原创 Linux docker1--环境及docker安装

s/download.docker.com/mirrors.aliyun.com/docker-ce/g是一个sed的替换命令,它将文件中所有的download.docker.com替换为mirrors.aliyun.com/docker-ce。这确保了从yum仓库中获取的Docker CE相关资源都是从阿里云镜像源获取的,而不是从原始的Docker官网。这样,当你使用yum或dnf(CentOS 8及之后的版本)来安装或更新软件包时,它将从这个新添加的仓库中获取Docker CE的相关软件包。

2024-03-18 19:54:05 672

原创 VMware 配置虚拟机网络

初次完成时,虚拟机的网络服务虽然已经启动,但是和宿主机的网络还没有打通,所以还需要经过以下的步骤,将宿主机和虚拟机的网络打通。(1)、下载和安装VMware-Workstation-Pro.exe软件,推荐16.0版本。(3)、VM创建一个虚拟机,并且使用本地已下载centOS7镜像完成一个环境的搭建。(2)、下载centOS7镜像,可以在阿里云下载。(2)、网络选择NAT共享模式,之后确定即可。2、通过VM软件配置网络。(1)、点击编辑虚拟机。

2024-03-15 17:30:39 595

原创 Java 常用注解

一般post/json的请求,后台会使用 @RequestBody 注解来自动将请求体绑定到对应的 Java 对象上(即调用了request.getInputStream()方法),该方法获取请求体后,其他方法不能在获取请求体,因为request.getInputStream()流中的数据已经不在了,所以在上面示例代码handleAllExceptions中使用request.getReader()或request.getInputStream()都会报错。实际上Class2也包含@Anno1的这个注解。

2024-03-14 17:57:20 462

原创 Java 容器启动执行指定任务

实现CommandLineRunner接口,注意做初始化任务的类需要放在扫描路径下,使用@Component注入到spring容器中。实现InitializingBean接口,复写afterPropertiesSet方法。1、实现CommandLineRunner接口。2、实现InitializingBean接口。3、通过@PostConstruct注解定义。

2024-03-11 19:48:37 313

原创 Java 拦截器Interceptor详解

在实际应用中,拦截器的执行顺序是根据它们在InterceptorRegistry中的注册顺序来决定的。因此,为了解决这个问题,我们需要调整拦截器在InterceptorRegistry中的注册顺序,确保它们按照预期的顺序执行。(2)、基于AOP,先生成目标Action对象的proxy代理对象,在执行代理方法前,先执行拦截器链的前置方法preHandle。(1)、请求执行Handler之前,生成Action对象,在Action方法执行之前,校验是否有当前Action的拦截器,有的话先走拦截器处理。

2024-03-11 12:03:27 371

原创 java EMS表单套打功能

在实际场景中,对于一些固定面单的套打,往往需要我们在打印的时候设定固定的格式。例如:我们系统填好相关的业务信息,直接调用打印,可在EMS快递单上打印出业务相关的信息,就不需要用户再次手填。实现java自带的Printable接口,重写print方法。定义一个打印按钮,设置打印方法为打印。前端写一个页面,将要打印的内容写到。2、客户端实现(浏览器)

2023-12-26 09:44:01 601

原创 freemarkEngine文件ftl的可视化编辑

在做导出word文件功能时,需要准备ftl模板,设置一些通配符,之后通过相关编码,即可以实现业务数据渲染后导出word的功能。但是ftl文件一般我们看不太懂,所以可视化创建和修改就非常合适。之后可以根据自己的需求去创建模板,需要替换业务的场景,使用${}定义通配符的方式。1、安装office2016版本(wps,2007office都不行)2、使用office2016word打开ftl文件。

2023-12-22 14:50:36 835

原创 百度网盘资源下载慢解决方法

选择一个文件,点击神速Down(因为这个脚本只支持一个文件下载,如果有其他需求,可以下载其他百度网盘的脚本,篡改猴上还有很多百度网盘的脚本)进入网址后,搜索百度网盘,如下图为亲测可用的脚本(建议找近期的,因为很早的脚本可能已经被百度网盘给修复了导致无法使用)篡改猴的脚本可以自己在找找合适的,因为案例的仅支持一个文件下载,也有没有效果的,自己在篡改猴面板关闭即可。下载油猴的谷歌浏览器插件,因为谷歌的商店没有该插件,所以这里需要自己去网址下载。在获取链接的时候,可以看到需要配置下IDM的代理。

2023-12-22 14:37:25 11870

原创 远程桌面无法复制粘贴文件

本地通过mstsc连接到远程说面后,无法把本地文件复制到远程桌面上或者远程桌面的文件无法复制到本地机器修改。2、win+R打开运行,输入rdpclip.exe,点击确定,启动服务。查看到rdpclip.exe程序,如果存在就关闭掉,不存在就跳过。3、再次打开任务管理器可以看见程序已经启动。4、尝试复制文件到远程桌面问题是否解决。思路:重启rdpclip服务。1、远程说面打开任务管理器。

2023-10-23 11:11:49 561

空空如也

空空如也

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

TA关注的人

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