自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 7月11日字节后端面试一面

根据毕业年份聊自己的职业经历聊项目:这个大模型这一边你做了哪些工作?我主要回答了这么对接接口和设计模式的应用。但是面试官好像不call。后来又问了一些简单的关于大模型的问题:整个请求的耗时可能跟哪些因素有关?推理的速度跟什么有关系呢?我什么时候推理的快一点?有做过大模型的一些微调或者部署吗?

2024-07-11 17:15:59 317

原创 6.16-6.17学习日记:DI注入的方式

场景1:通过构造函数使用Map来注入:首先这个Map的key值是bean的名字,value是对应接口的实现类,只要实现好了都会依次的注入进来。使用这个Map注入的方式可以很轻松的避免很多if-else,避免了基于用户调用去调用对应的bean对象这个需求的if-else(这么看来,Map这个数据结构就是可以解决这个if-else的编写,因为可以通过key值去获取对应的服务)。场景5:动态构建责任链的时候,每一条‘判断链’的属性都有自己的专属的链,那这个时候这个责任链就不能说单例模式了。+ 一些特定的功能}。

2024-06-17 23:20:52 586

原创 图像处理-入门深度学习案例

选错了,那么你的神经网络可能会永远找不到损失函数的最小值处,即你的神经网络预测得永远不会很准。可以看到,上面其它的代码都是一样的,只有学习率不同,就会导致预测的准确率不同,大家重点要突破如何选择合适的学习率。到此,我们构建一个最简单的神经网络了。为了构建上面的神经网络,我们需要先编写一些工具函数,这些函数会对上面的数据进行特定功能的运算。上面我们已经加载了数据,并且对数据进行了预处理,使其便于进行后面的运算。前面文章我已经介绍过它了,sigmoid函数的作用就是把预测结果转换为0和1之间的值。

2024-04-22 14:39:18 501

原创 五子棋(人人博弈和人机博弈的Java实现)

机器方AI类的定义,该类中使用到的数据结构有两个Map,分别为AttackMap,其中存放的是进攻棋型,以及棋型对应的权值;DefendMap存放的是防守棋型,以及棋型对应的权值。清空权值矩阵,判断是否是Ai的回合,获取一个点的所有棋链(即进攻棋链和防御棋链)。5、棋子下在棋盘的空白点上,棋子下定后,不得向其它点移动,不得从棋盘上拿掉或拿起另落别处。简单来说,如果想两个类共享一个属性,这个属性必须是引用类型,不能是基本数据类型。空白交叉的的权值,然后Ai会下在权值最大的位置。主类FiveChess。

2023-09-09 23:31:50 1388 1

原创 如何在代码中去使用多态

对于病毒来说,存在不同的移动方式,我们很自然的希望定义一个类Virus来描述所有病毒通用的移动行为move(),然后通过某种方式(继承/组合)来为不同的型号的病毒提供不同move()行为。这个virus队列中有各种各样的病毒,把它作为形参,我就可以不改动这行代码就能实现之后所有生成的病毒可以按照自己类中写的move()方法来移动,这就是多态,是不是很方便?而对象的组合由于是通过接口实现的,这样在复用的过程中不会打破其封装。的方法,它接受三个参数:新对象的名称、新对象的年龄和新对象的地址。

2023-09-06 03:14:20 148 1

原创 用Java写一个类似于系统自带的画图工具

功能按钮放一个Jpanel里,变量为jp1,画板放另一个Jpanel里,变量为jp2,画笔Graphics g就从jp2里获取。这样画笔的坐标原点就是以jp2为基础。

2023-07-15 14:52:05 259 1

原创 【ArrayList的扩容机制和源码比普通的数组扩容运行效率更高的原因】

原因是在于,它避免了不必要的数组复制。在一般的代码中,每次扩展数组时,都会调用System.arraycopy,这会创建一个新数组,并从旧数组中复制所有元素。如果数组很大,或者如果添加了许多元素,会导致花费的资源更多。而源码就会对需要的最小容量和原数组的自身容量进行对比才会触发扩容操作。我们自己写的一般是创建一个比原来数组大一位的数组,然后把原来数组的元素全部复制到新数组。但是通过添加十万个数据的运行速度比较来看,源码的运行所需要的时间明显比我们自己的血代码花费的少。

2023-07-10 17:54:37 100 2

原创 【新手必看 Java中子类继承了父类,子类的构造函数需要注意三个方面】

构造函数既然不能像普通函数那样能够被继承,又会默认在子类构造函数的开头加上这行代码来调用父类的无参构造函数。那么怎么让输出结果只出现子类的构造函数这句话呢?在这个示例代码中,我们修改了父类构造函数中的条件判断。使用instanceof运算符判断当前对象是否为Child类的实例,如果不是,则打印父类的无参构造函数的输出。注意看即使没有显式调用,编译器会默认在子类构造函数的开头加上这行代码来调用父类的无参构造函数。子类的带参构造函数也会自动调用父类的无参构造函数。子类构造函数不会被继承示例代码。

2023-06-29 00:59:37 186 1

原创 新手必看:继承和接口的区别和应用场景

区别:a. 继承是指一个类从另一个类继承属性和方法,它建立了类之间的父子关系。父类和子类是继承关系,类似于数学中的包含于被包含关系;可以将接口看作一份合同或协议,而类实现接口则是承诺遵守这份合同或协议,需要提供具体的方法实现。接口定义了一组规范,通过类实现接口,可以使得不同的类根据相同的规范进行设计和实现,提高代码的灵活性和可复用性。b. 类之间的继承关系是单一继承,即一个类只能继承一个父类;而一个类可以实现多个接口。c. 继承关系中,子类可以继承父类的属性和方法,还可以重写或增加新的方法;

2023-06-27 15:26:26 1610 1

原创 【新手必看:Java继承教程】

在Java中,向上转型是将一个子类类型的对象赋值给父类类型的变量,而向下转型正好相反,是将一个父类类型的对象赋值给子类类型的变量。在继承关系中,子类可以重载父类的方法,但方法的访问修饰符不能更严格,返回类型必须兼容,重载时根据参数类型、数量和顺序进行匹配,如果与父类方法完全相同(包括方法名、参数列表和返回类型)则为方法覆盖。2. 子类重载父类的方法时,方法的访问修饰符不能比父类的更严格。这样的好处就是:通过使用不同的引用变量类型,可以在不同情况下灵活地访问父类的属性和方法,以及子类特有的属性和方法。

2023-06-27 15:00:25 254 1

原创 新手必看:面向对象编程中类和对象怎么理解

公共成员是任何人都可以直接访问的结构或类的成员,包括从结构或类外部存在的代码访问。物体有两个主要组成部分:①相关属性的列表(例如重量,颜色,大小,坚固性,形状等),②它们可以表现出的一些行为(例如被打开,使其他东西变热等)。}在上面的代码中,你需要将 "ClassName" 替换为你所创建类的名称,并在花括号内定义类的成员变量、构造方法和成员方法。在上面的代码中,你需要将 "ClassName" 替换为你所创建类的名称,并给对象取一个合适的 "objectName"。有成员是公众无法访问的类的成员。

2023-06-27 11:50:48 96 1

空空如也

空空如也

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

TA关注的人

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