自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 huggingface accelerate出现Pytorch: RuntimeError: Expected to have finished reduction in the prior iter

单卡没有问题,在使用accelerate多卡训练时出现RuntimeError: Expected to have finished reduction in the prior iteration before starting a new one. This error indicates that your module has parameters that were not used in producing loss. You can enable unused parameter detec

2022-04-17 10:55:34 2064 1

原创 设计模式梳理

设计模式分类Creational Patterns(创建型模式) Factory MethodStructural Patterns(结构型模式) Adapter,DecoratorBehavioral Patterns(行为类模式) Strategy,TemplateMethod,Iterator,Visitor意义使用设计模式的意义可复用性可维护性可扩展性设计模式更强调多个类/对象之间的关系和交互过程,比接口/类复用的粒度更大decorator-装饰器模式-Structural Pa

2021-07-07 18:39:02 154

原创 try-catch语句中catch和finally同时含有return的问题

return在try-catch-finally语句中的使用,若在 try或catch语句里面有return语句,finally语句和return语句的执行顺序问题:1、若有finally语句,则无论如何,都会执行该语句,在try或catch中的return语句会将它的返回值压入栈内,然后执行finally语句,当finally执行完成后,若finally语句里有return语句,则执行return语句并结束。2、若finally没有return语句,则返回被保存的栈里的return语句,再执行。然而,

2021-07-06 09:34:48 1044

原创 Comparable和Comparator比较

Comparable和ComparatorComparableComparable 是排序接口。若一个类实现了Comparable接口,就意味着“该类支持排序”。 即然实现Comparable接口的类支持排序,假设现在存在“实现Comparable接口的类的对象的List列表(或数组)”,则该List列表(或数组)可以通过 Collections.sort(或 Arrays.sort)进行排序。此外,“实现Comparable接口的类的对象”可以用作“有序映射(如TreeMap)”中的键或“有序集

2021-07-05 19:34:55 85

原创 Collections.sort 详解

这个函数具体老师上课并没有讲解,但是考试的时候直接考了,感觉还是有点慌。所以整理一下Collections.sort 介绍首先注意Collections和Collection的区别。Collection是一个集合类顶级接口,直接继承他的有List和Set。具体如下Collection├List│├LinkedList│├ArrayList│└Vector│ └Stack└SetCollections是Java.util中的一个工具类,里面提供了一系列的静态方法用来操作Collection

2021-07-05 19:33:59 3921

原创 Type of an object vs. Type of a reference 对象类型和引用类型区别

一个引用类似于一个指针,引用指向某个对象,通过这个引用调用对象中的方法。一个引用的类型就是指针的类型,这个引用可以指向任意被定义的类型的子类型。比如定义Object类型的引用Object a = null;a = new Integer(2);这样是完全可以的,但是后续对引用的使用,就只能使用Integer中的方法。除非更改引用的指向,使引用指向另一个对象。...

2021-07-04 13:58:48 163

原创 行为子类型详解

PPT上对于行为子类型的描述很模糊,并且有很多问题没有答案子类型多态:客户端可以用统一的方式处理不同类型的对象。这一条件是基于LSP法则的基础上的。即我们定义一个父类型的对象,然后通过为其实例化来决定执行哪个子类型。因为子类型完全可以替代父类型,所以这样是完全没有问题的。子类型需要满足以下性质1.1子类型可以增加方法,但是不可删。1.2子类型需要实现抽象方法。1.3子类型不能具有更强的前置条件。1.4子类型不能具有更弱的后置条件。1.5参数类型逆变。1.6返回值、异常协变。1.7不变量保持

2021-07-04 13:41:24 158

原创 Java中final关键字详述

HIT Software Construction中关于final的描述模糊不清。final可以修饰引用(reference),方法(method),类(calsses)final修饰引用当final修饰引用时,实质上是强制引用只能指向这个地址空间。所以当final修饰的引用指向Immutable类型时,这个值只能在声明时确定,其余时间都不可更改。(基本数据类型和部分对象数据类型)。而当final修饰的引用指向mutable类型的变量时,这个变量本身的内容是可以更改的,但是引用所指向的位置是不可以更改的

2021-07-03 11:27:14 66

原创 Java设计模式梳理

装饰器模式又名包装(Wrapper)模式。装饰器模式以对客户端透明的方式拓展对象的功能,是继承关系的一种替代方案。类图角色抽象构件(Component)角色:给出一个抽象接口,已规范准备接收附加责任的对象。具体构件(ConcreteComponent)角色:定义一个将要接收附加责任的类装饰(Decorator)角色:持有一个构件(Component)对象的实例,并定义一个与抽象构件接口一致的接口。具体装饰(ConcreteDecorator)角色:负责给构件对象“贴上”附加的责任。示例组件接

2021-06-27 15:30:06 82

原创 等价性梳理

摘要本文以“程序hello的一生“为一条线,对本门课程的内容进行了回顾,并深化了对课本知识点的理解。首先,本文给出了对于hello程序”P2P”和”020”的解读。然后,本文从程序处理的角度,对hello的预处理,编译,汇编,链接过程进行了分析和总结。对于汇编代码和重定位过程进行了深入解读。除此之外,本文从进程管理的角度,对在命令行加载运行hello的过程以及异常与信号处理进行了分析。在对hello的处理和运行的分析结束后,本文又落脚于hello的存储管理,对于linux下存储空间的管理进行了总结

2021-06-27 15:18:41 292

原创 《深入理解计算机系统》堆和栈的初始化

第三版p609写到不能假设堆的内存被初始化为零。但是这一条是针对windows系统来说的,在linux下,堆和栈的内存都是会被初始化为零的。请求二进制零

2021-06-26 20:29:39 294

原创 异常和类型检查

11111

2021-06-20 14:34:29 103

原创 Java程序设计中的mutable和immutable

get和set方法我们在使用java编写类时,通常需要使用set和get方法,本文对使用set和get方法的意义进行了介绍。为什么使用set和get

2021-06-18 15:22:14 311

原创 进程和线程的联系与区别

在Lab3中涉及了线程的概念,与进程的概念容易混淆,特此总结如下背景首先需要明确,CPU执行的速度和在寄存器中读取数据的速度存在着数量级的差距,因此在等待读取数据的期间,需要让CPU做一些其他的事情。进程我们都知道计算机的核心是CPU,它承担了所有的计算任务,而操作系统是计算机的管理者,它负责任务的调度,资源的分配和管理,统领整个计算机硬件;应用程序是具有某种功能的程序,程序是运行于操作系统之上的。进程是一个具有一定独立功能的程序在一个数据集上的一次动态执行的过程,是操作系统进行资源分配和调度的

2021-06-09 18:14:10 97

原创 selenium+python debug模式和run模式执行结果不一致问题解决

错误出错函数如下:#判断当前页面是否出现弹窗def alert_is_present(driver): try: alert_box = driver.switch_to.alert return alert_box except: return False该函数在debug模式下可以正确执行并返回相应结果,但是在run模式下则只会返回False原因分析由于浏览器的渲染需要耗费一定的时间,而在程序执行时几乎是瞬间完成,那么aler

2021-03-14 12:20:00 1436 1

原创 数组循环左移/右移问题

循环左移/右移k位可以使用三段反转算法,但是需要注意的是,在使用前需要k%nn为数组长度

2020-10-28 19:28:42 180

原创 c++动态申请指针数组

c++中动态申请指针数组遇到的问题当动态申请指针数组时需要用到二级指针,比如int** a = new int*[n];这个时候,指针数组中的每一个单指针还没有申请空间,因此需要用一个循环来为单指针分配空间for(int i = 0;i < n;i ++){a[i] = new int;}...

2020-10-27 21:24:24 2330

空空如也

空空如也

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

TA关注的人

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