- 博客(396)
- 资源 (18)
- 收藏
- 关注
原创 java中左移<<、右移>>、无符号右移>>>的区别
例如,在8位二进制中,使用原码或反码表示时范围为[-127, +127],而使用补码表示时范围为[-128, +127]。负数的补码是在其原码的基础上,符号位不变,其余各位取反,最后+1。负数的反码是在其原码的基础上,符号位不变,其余各个位取反。例如,如果是8位二进制,那么+1的原码为0000 0001,-1的原码为1000 00011。将一个数对应的二进制表示整体右移,考虑符号位,左边的用原有符号位补充,右边超出的部分舍弃。将一个数对应的二进制表示整体左移,不考虑符号位,左边超出的部分舍弃,右边补零。
2023-08-09 14:40:49
998
原创 记牛客月赛的小坑: MoonLight的运算问题
月色哥哥手中有一个数字 x,最初 x=0。给出一个长度为 n 的序列a,月色哥哥会从序列的第一个元素。通过比较 x *= a[i] 和 x += a[i] 的大小,决定下一步的最优操作。请求出 x 的最大值,并输出这个最大值除 998244353 的余数。输入为测试用例组数字, 每组用例第一行为序列长度n, 第二行为n个整数。迭代计算 dp 数组,最终 dp[n] 即为所求最大 x。dp[i] 表示对于前 i 个元素,x 的最大值。时间复杂度 O(N),空间复杂度 O(N)。对于序列的第 i 个元素。
2023-07-14 21:41:04
632
原创 Java输入输出处理(牛客机试)
总的来说,System.out.print() 和 System.out.println() 是基本的输出语句,而 System.out.format() 和 System.out.printf() 则提供了更灵活的格式化输出选项。这个方法用于格式化输出指定的数据,类似于C语言中的printf函数。例如:%s 表示字符串,%d 表示整数等。它使用了固定的输出格式,并且不需要额外的格式化字符串,而是直接在方法参数中指定需要输出的数据。这个方法也用于将指定的数据输出到控制台,但会自动在输出末尾添加一个换行符。
2023-07-06 14:47:55
2332
原创 Java8的Stream怎么使用
Stream(流)是一个来自数据源的元素队列并支持聚合操作元素是特定类型的对象,形成一个队列。Java中的Stream并不会存储元素,而是按需计算。数据源流的来源。可以是集合,数组,I/O channel, 产生器generator 等。聚合操作类似SQL语句一样的操作, 比如filter, map, reduce, find, match, sorted等。Pipelining: 中间操作都会返回流对象本身。这样多个操作可以串联成一个管道, 如同流式风格(fluent style)。
2023-07-04 21:43:31
540
原创 Python什么情况下会延迟对象的销毁
循环引用:如果存在对象之间的循环引用(例如,对象A引用对象B,而对象B又引用对象A),引用计数无法为0,垃圾回收器无法及时回收这些对象。引用计数延迟:Python中的垃圾回收器使用了引用计数来追踪对象的引用情况,当对象的引用计数为0时,垃圾回收器会回收该对象。垃圾回收器会自动检测不再被任何引用所指向的对象,并回收这些对象所占用的内存空间。如 在函数内部引用:如果在函数内部创建了一个对象,并将其赋值给函数外部的变量或其他全局变量,那么即使函数结束,这个对象的引用计数仍然不为0,延迟了对象销毁。
2023-06-29 11:12:04
382
原创 哈希表怎么解决冲突?
可以遍历哈希表的下一个位置,直到找到一个空闲的桶或者达到了某个停止条件(如哈希表已满),然后将冲突的元素插入或查找位置。装填因子用来衡量哈希表的填充程度,即哈希表中已经存储的元素在哈希表容量中所占的比例。当装填因子超过某个阈值时,通常会触发哈希表的扩容操作,重新调整哈希表的容量,以保持装填因子在一个合适的范围内。链地址法(Chainin):即在哈希表中使用链表来存储冲突的元素,同一个哈希值对应的元素被存储到同一个桶中的链表上。如果发生冲突,在哈希表的桶中进行第一次探索,计算第一步探索的步长。
2023-06-28 22:26:39
2527
原创 输入数据时全连接层计算量是多少
eg. 输入有5044个神经元结点,输出有500个结点,则一共需要5044*500=400000个权值参数W和500个偏置参数b。计算大概是这样的一个示意图。那么计算公式是这样的。易得全连接层参数计算。
2023-06-27 16:04:40
425
原创 图解CNN中的卷积(卷积运算、池化、Padding、多通道的卷积)
卷积层是深度学习神经网络中经常使用的一种层。它通过卷积运算来提取输入的特征,常用于图像、语音等信号处理任务中。卷积层有以下几个参数:1. 卷积核:卷积层中包含若干个卷积核,每个卷积核都是一个二维权重矩阵。卷积核的大小通常是奇数,比如3x3、5x5等,以便于有一个中心点,可以更好地提取特征。2. 步长(stride):指卷积核在输入数据上移动的步长。比如,构建一个3x3的卷积核,步长为2,表示每次卷积操作都会跨越2个像素。3. 边界填充(padding):指在输入数据的四周填充一圈像素,以保持卷积
2023-06-27 15:06:22
4620
1
原创 Mybatis Plus代码生成器
mybatisplus_04_generator项目中对于MyBatis的环境是没有进行配置,如果想要运行,需要提取将配置文件中的内容进行完善后再运行。所以我们会发现,做任何模块的开发,对于这段代码,基本上都是对红色部分的调整,所以我们把去掉红色内容的东西称之为。修改以后的好处是,MP已经帮我们把业务层的一些基础的增删改查都已经实现了,可以直接进行使用。至此代码生成器就已经完成工作,我们能快速根据数据库表来创建对应的类,简化我们的代码开发。运行成功后,会在当前项目中生成很多代码,代码包含。
2023-05-21 11:49:39
4097
1
原创 Mybatis Plus实现乐观锁
所以要想实现乐观锁,首先第一步应该是拿到表中的version,然后拿version当条件在将version加1更新回到数据库表中,所以我们在查询的时候,需要对其进行查询。大概分析完乐观锁的实现步骤以后,我们来模拟一种加锁的情况,看看能不能实现多个人修改同一个数据的时候,只能有一个人修改成功。简单来说,乐观锁主要解决的问题是当要更新一条记录的时候,希望这条记录没有被别人更新。你会发现,我们传递的是1,MP会将1进行加1,然后,更新回到数据库表中。乐观锁就已经实现完成了,如果对于上面的这些步骤记不住咋办呢?
2023-05-21 11:33:59
822
原创 Mybatis Plus 使用@TableLogic实现逻辑删除
(1)添加与数据库表的列对应的一个属性名,名称可以任意,如果和数据表列名对不上,可以使用@TableField进行关系映射,如果一致,则会自动对应。如果只删除员工不删除合同表数据,那么合同的员工编号对应的员工信息不存在,那么就会出现垃圾数据,就会出现无主合同,根本不知道有张业绩这个人的存在。可想而知,MP的逻辑删除会将所有的查询都添加一个未被删除的条件,也就是已经被删除的数据是不应该被查询出来的。这是一个员工和其所签的合同表,关系是一个员工可以签多个合同,是一个一(员工)对多(合同)的表。
2023-05-21 10:52:46
1773
原创 Mabatis Plus 之ID生成策略控制(Auto、Input、assign_id、assign_uuid)
主键类型设置为varchar,长度要大于32,因为UUID生成的主键为32位,如果长度小的话就会导致插入失败。不同的业务采用的ID生成方式应该是不一样的,那么在MP中都提供了哪些主键生成策略,以及我们该如何进行选择?因为之前生成主键ID的值比较长,会把MySQL的自动增长的值变的很大,所以需要将其调整为目前最新的id值。:这种生成策略,不需要手动设置ID,如果手动设置ID,则会使用自己设置的值。,在使用该策略的时候一定要确保对应的数据库表设置了ID主键自增,否则无效。
2023-05-20 22:00:26
4078
原创 Mybatis Plus之DQL(条件查询方式、查询投影、查询条件设定、字段映射与表名映射)
Unknown column ‘多出来的字段名称’ in ‘field list’具体的解决方案用到的还是注解,它有一个属性叫exist,设置该字段是否在数据库表中存在,如果设置为false则不存在,生成sql语句查询的时候,就不会再查询该字段了。
2023-05-20 21:33:00
1960
原创 MybatisPlus数据层标准的CRUD(增删改查)的实现与分页功能
我们更想要的是主键自增,应该是5才对,这个是我们后面要学习的主键ID生成策略,这块的这个问题,我们暂时先放放。基础的增删改查就已经学习完了,刚才我们在分析基础开发的时候,有一个分页功能还没有实现,在MP中如何实现分页功能,就是咱们接下来要学习的内容。Lombok只是简化模型类的编写,我们之前的方法也能用,比如有人会问:我如果只想要有name和password的构造函数,该如何编写?代码比较多,我们一个个来学习。Lombok的注解还有很多,上面标红的三个是比较常用的,其他的大家后期用到了,再去补充学习。
2023-05-20 20:45:30
1730
1
原创 MyBatisPlus入门案例
MyBatisPlus(简称MP)是基于MyBatis框架基础上开发的增强型工具,旨在简化开发、提高效率通过刚才的案例,相信大家能够体会简化开发和提高效率这两个方面的优点。
2023-05-20 20:31:43
1215
原创 SpringBoot整合Mybatis
在包下定义实体类Book,内容如下在包下定义BookDao接口,内容如下在test/java下定义包,在该包下测试类,内容如下} }
2023-05-19 22:13:35
800
原创 SpringBoot整合junit
=注意:==这里的引导类所在包必须是测试类所在包及其子包。如果不满足这个要求的话,就需要在使用。注解来指定配置类或者配置文件。属性指定引导类的字节码对象。包,在该包下创建测试类,将。特别简单,分为以下三步完成。注解指定运行器,使用。工程,工程目录结构如下。
2023-05-19 22:01:36
814
原创 SpringBoot配置文件3种格式、配置文件读取方式、多环境配置、配置文件优先级分类
SpringBoot还提供了将配置文件中的数据封装到我们自定义的实体类对象中的方式。具体操作如下:将实体类bean的创建交给Spring管理。在类上添加@Component注解使用注解表示加载配置文件在该注解中也可以使用prefix属性指定只加载指定前缀的数据在中进行注入Enterprisereturn age;return tel;} }} }使用第三种方式,在实体类上有如下警告提示这个警告提示解决是在pom.xml中添加如下依赖即可
2023-05-19 21:44:35
3765
1
原创 SpringBoot入门(构建、打包、启动、起步依赖starter)
SpringBoot是由Pivotal团队提供的全新框架,其设计目的是用来简化Spring应用的初始搭建以及开发过程。大家已经感受了SpringBoot程序,回过头看看SpringBoot主要作用是什么,就是简化Spring的搭建过程和开发过程。原始Spring配置繁琐依赖设置繁琐SpringBoot程序优点恰巧就是针对Spring的缺点自动配置。这个是用来解决Spring程序配置繁琐的问题起步依赖。这个是用来解决Spring程序依赖设置繁琐的问题辅助功能(内置服务器,…)。我们在启动。
2023-05-19 20:39:36
2031
1
原创 Nexus私服搭建与使用
团队开发现状分析(1)张三负责ssm_crm的开发,自己写了一个ssm_pojo模块,要想使用直接将ssm_pojo安装到本地仓库即可(2)李四负责ssm_order的开发,需要用到张三所写的ssm_pojo模块,这个时候如何将张三写的ssm_pojo模块交给李四呢?(3)如果直接拷贝,那么团队之间的jar包管理会非常混乱而且容器出错,这个时候我们就想能不能将写好的项目上传到中央仓库,谁想用就直接联网下载即可。
2023-05-19 16:34:31
2349
原创 Maven多环境配置与使用、跳过测试的三种方法
这种方式最简单,但是有点"暴力",会把所有的测试都跳过,如果我们想更精细的控制哪些跳过哪些不跳过,就需要使用配置插件的方式。虽然已经能够实现不同环境的切换,但是每次切换都是需要手动修改,如何来实现在不改变代码的前提下完成环境的切换呢?excludes:哪些测试类不参与测试,即排除,针对skipTests为false来设置的。skipTests: 如果为true,则跳过所有测试,如果为false,则不跳过测试。Toggle翻译为切换的意思,也就是说在测试与不测试之间进行切换。使用Maven的命令行,
2023-05-19 16:07:18
1630
原创 Maven属性与版本管理
在这一章节内容中,我们将学习两个内容,分别是属性中会继续解决分模块开发项目存在的问题,版本管理主要是认识下当前主流的版本定义方式。讲解内容之前,我们还是先来分析问题:前面我们已经在父工程中的dependencyManagement标签中对项目中所使用的jar包版本进行了统一的管理,但是如果在标签中有如下的内容:你会发现,如果我们现在想更新Spring的版本,你会发现我们依然需要更新多个jar包的版本,这样的话还是有可能出现漏改导致程序出问题,而且改起来也是比较麻烦。问题清楚后,我们需要解决的话,就可以参考咱
2023-05-19 15:52:34
1381
原创 Maven聚合和继承,使用IDEA构建聚合与继承工程
聚合:在 Maven 中,聚合指将多个 Maven 项目组合成一个单一的项目。这通常发生在具有多个项目模块的项目中,每个模块都是单独的 Maven 项目。使用聚合机制,可以在父项目中将所有模块组合在一起,同时也可以独立地构建和测试每个子模块。继承:在 Maven 中,继承指的是定义一个 Maven 项目作为另一个 Maven 项目的基础。这样,可以在父项目中定义一些公共的依赖关系、插件和配置等,然后让子项目继承这些信息。这样做的好处是可以避免在各个项目中编写相同的配置,减少了冗余代码的出现,以及提高了代
2023-05-19 15:35:20
1748
原创 Maven依赖管理
前面我们已经通过可选依赖实现了阻断maven_03_pojo的依赖传递,对于排除依赖,则指的是已经有依赖的事实,也就是说maven_02_ssm项目中已经通过依赖传递用到了maven_03_pojo,此时我们需要做的是将其进行排除,所以接下来需要修改maven_02_ssm的pom.xml。**说明:**在真实使用的过程中,maven_02_ssm中是需要用到maven_03_pojo的,我们这里只是用这个例子描述我们的需求。是指项目依赖的某一个jar包,有多个不同的版本,因而造成类包版本冲突。
2023-05-19 11:44:59
1150
原创 Maven分模块开发
将抽取后的项目进行运行,测试之前的增删改查功能依然能够使用。所以对于项目的拆分,大致会有如下几个步骤:(1) 创建Maven模块(2) 书写模块代码分模块开发需要先针对模块功能进行设计,再进行编码。不会先将工程开发完毕,然后进行拆分。拆分方式可以按照功能拆也可以按照模块拆。(3)通过maven指令安装模块到本地仓库(install 指令)团队内部开发需要发布模块功能到团队内部可共享的仓库中(私服),私服我们后面会讲解。
2023-05-19 11:34:29
1446
原创 SpringMVC的拦截器(Interceptor)
在这个方法中可以通过返回值来决定是否要进行放行,我们可以把业务逻辑放在该方法中,如果满足业务则返回true放行,不满足则返回false拦截。方法,如果返回true,则代表放行,会执行原始Controller类中要请求的方法,如果返回false,则代表拦截,后面的就不会再执行了。(7)如果满足规则,则进行处理,找到其对应的controller类中的方法进行执行,完成后返回结果。拦截器执行的顺序是和配置顺序有关。(5)在找到具体的方法之前,我们可以去配置过滤器(可以配置多个),按照顺序进行执行。
2023-05-18 20:20:17
4997
1
原创 SSM整合(单元测试、结果封装、异常处理)
内容前面我们已经把、和三个框架进行了学习,今天主要的内容就是把这三个框架整合在一起完成我们的业务功能开发,具体如何来整合,我们一步步来学习。(1) 创建工程(2)SSM整合[重点是各个配置的编写](3)功能模块[与具体的业务模块有关]掌握上述的知识点后,接下来,我们就可以按照上述的步骤一步步的来完成SSM的整合。可以使用Maven的骨架创建pom.xml添加SSM所需要的依赖jar包步骤3:创建项目包结构Masked5 / heima_springmvc_codes · GitCode步骤5:创建Jd
2023-05-18 20:15:53
1183
原创 基于REST风格的SpringMVC请求路径设置与参数传递
对于Rest风格,我们需要学习的内容包括:REST(Representational State Transfer),表现形式状态转换, 它是一种软件架构风格当我们想表示一个网络资源的时候,可以使用两种方式:传统方式一般是一个请求url对应一种操作,这样做不仅麻烦,也不安全,因为会程序的人读取了你的请求url地址,就大概知道该url实现的是一个什么样的操作。查看REST风格的描述,你会发现请求地址变的简单了,并且光看请求URL并不是很能猜出来该URL的具体功能所以REST的优点有:但是我们的问题也随之而来
2023-05-18 16:01:18
1657
原创 SpringMVC的请求与响应(请求映射路径、请求参数、日期类型参数传递 、响应json数据)
代码编写完后,我们要想测试,只需要打开浏览器直接输入地址发送请求即可。发送的是GET请求可以直接使用浏览器,但是如果要发送的是POST请求呢?如果要求发送的是post请求,我们就得准备页面在页面上准备form表单,测试起来比较麻烦。所以我们就需要借助一些第三方工具,如PostMan.PostMan是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件。作用:常用于进行接口测试特征简单实用美观大方。
2023-05-18 15:29:45
831
原创 以SpringMVC入门案例分析服务器初始化过程、单次请求流程
学习SpringMVC我们先来回顾下现在web程序是如何做的,咱们现在web程序大都基于三层架构来实现。三层架构浏览器发送一个请求给后端服务器,后端服务器现在是使用Servlet来接收请求和数据如果所有的处理都交给Servlet来处理的话,所有的东西都耦合在一起,对后期的维护和扩展极为不利将后端服务器Servlet拆分成三层,分别是webservice和daoweb层主要由servlet来处理,负责页面请求和数据的收集以及响应结果给前端service层主要负责业务逻辑的处理。
2023-05-18 15:11:49
676
原创 以转账案例说明Spring事务
事务作用:在数据层保障一系列的数据库操作同成功同失败Spring事务作用:在数据层或**业务层**保障一系列的数据库操作同成功同失败数据层有事务我们可以理解,为什么业务层也需要处理事务呢?举个简单的例子,转账业务会有两次数据层的调用,一次是加钱一次是减钱把事务放在数据层,加钱和减钱就有两个事务没办法保证加钱和减钱同时成功或者同时失败这个时候就需要将事务放在业务层进行处理。Spring为了管理事务,提供了一个平台事务管理器commit是用来提交事务,rollback是用来回滚事务。
2023-05-17 19:39:55
565
原创 Spring AOP介绍与使用
前面我们在介绍Spring的时候说过,Spring有两个核心的概念,一个是IOC/DI,一个是AOP。前面已经对IOC/DI进行了系统的学习,接下来要学习它的另一个核心内容,就是AOP。AOP是在不改原有代码的前提下对其进行增强。对于下面的内容,我们主要就是围绕着这一句话进行展开学习,主要学习两方面内容AOP核心概念AOP作用AOP(Aspect Oriented Programming)面向切面编程,一种编程范式,指导开发者如何组织程序结构。
2023-05-17 19:19:57
519
原创 Spring整合Mybatis、Junit
学到这里已经对Spring有一个简单的认识了,Spring有一个容器,叫做IoC容器,里面保存bean。在进行企业级开发的时候,其实除了将自己写的类让Spring管理之外,还有一部分重要的工作就是使用第三方的技术。Junit是一个搞单元测试用的工具,它不是我们程序的主体,也不会参加最终程序的运行,从作用上来说就和之前的东西不一样,它不是做功能的,看做是一个辅助工具就可以了。Mybatis的基础环境我们已经准备好了,接下来就得分析下在上述的内容中,哪些对象可以交给Spring来管理?
2023-05-17 14:35:49
595
原创 IOC/DI注解开发管理第三方bean
前面定义bean的时候都是在自己开发的类上面写个注解就完成了,但如果是第三方的类,这些类都是在jar包中,我们没有办法在类上面添加注解,这个时候该怎么办?遇到上述问题,我们就需要有一种更加灵活的方式来定义bean,这种方式不能在原始代码上面书写注解,一样能定义bean,这就用到了一个全新的注解==@Bean==。这个注解该如何使用呢?咱们把之前使用配置方式管理的数据源使用注解再来一遍,通过这个案例来学习下@Bean的使用。学习@Bean注解之前先来准备环境:Masked5 / heima_spring_co
2023-05-17 11:44:56
301
原创 IOC容器中的核心容器ApplicationContext
这种方式虽能实现,但是当项目的位置发生变化后,代码也需要跟着改,耦合度较高,不推荐使用。从图中可以看出,容器类也是从无到有根据需要一层层叠加上来的,大家重点理解下这种设计思想。前面已经完成bean与依赖注入的相关知识学习,接下来我们主要学习的是IOC容器中的。ApplicationContext是立即加载,容器加载的时候就会创建bean对象。这种方式存在的问题是每次获取的时候都需要进行类型转换,有没有更简单的方式呢?**说明:**大家练习的时候,写自己的具体路径。
2023-05-16 21:23:04
501
原创 IOC/DI配置管理第三方bean(Druid/C3P0)
需求:从properties配置文件中读取key为name的值,并将其注入到BookDao中并在save方法中进行打印。前面所讲的知识点都是基于我们自己写的类,现在如果有需求让我们去管理第三方jar包中的类,该如何管理?在App类中,从IOC容器中获取bookDao对象,调用方法,查看值是否已经被获取到并打印控制台。分析出错误的原因,具体的解决方案就比较简单,只需要在pom.xml把驱动包引入即可。标签会加载系统的环境变量,而且环境变量的值会被优先加载,如何查看系统的环境变量?
2023-05-16 20:09:50
506
原创 DI依赖注入(setter注入、构造器注入、自动装配、集合注入)
IoC容器根据bean所依赖的资源在容器中自动查找并注入到bean中的过程称为自动装配。
2023-05-16 17:25:58
685
原创 Bean基础配置?实例化方式?生命周期?
对于bean的配置中,主要会讲解,,(重点),这三部分内容:对于bean的基础配置,在前面的案例中已经使用过:其中,bean标签的功能、使用方式以及id和class属性的作用,我们通过一张图来描述下这其中需要大家重点掌握的是:bean标签的id和class属性的使用。思考:答案肯定是不行,因为接口是没办法创建对象的。在解决这个问题之前,我们需要准备下开发环境,对于开发环境我们可以有两种解决方案:使用前面IOC和DI的案例重新搭建一个新的案例环境,目的是方便大家查阅代码 代码传送门~对于bean的配置中,主
2023-05-16 15:58:50
1070
原创 Spring实现IOC和DI入门案例(XML版)
需求:基于IOC入门案例,在BookServiceImpl类中删除new对象的方式,使用Spring的DI完成Dao层的注入。(3)被管理的对象交给IOC容器,要想从容器中获取对象,就先得思考如何获取到IOC容器?在BookServiceImpl类中,删除业务层中使用new的方式创建的dao对象。使用Spring提供的接口完成IOC容器的创建,创建App类,编写main方法。对象的new操作,它们之间的耦合度还是比较高,这块该如何解决,就需要用到下面的。1.删除业务层中使用new的方式创建的dao对象。
2023-05-15 21:58:32
548
安徽大学2018-2019、2019-2020数学系密码学期末试卷.zip
2020-07-19
合肥工业大学网络攻防课件.zip
2020-01-13
网络安全概论PPT.zip
2020-01-11
合工大编译原理17级课件全.zip
2019-07-24
密码学课程设计.zip
2019-07-24
合工大信息论课件.zip
2019-06-27
合工大计算机组成原理PPT.zip
2019-06-27
MH编码.zip对一幅BMP格式的灰度图像既考虑 统计规律又考虑相关性编码,并译码。
2019-06-27
对一幅BMP格式的灰度图像进行二元霍夫曼编码和译码。计算编码效率。
2019-06-27
HMAC消息认证(基于MD5)
2019-06-27
2-5.zipNTRU加密与解密
2019-06-27
AES加密与解密
2019-06-27
合工大编译原理实验二语法分析李宏芒
2019-06-27
合工大编译原理实验一词法分析李宏芒
2019-06-27
赵老师PPT.zip
2019-06-27
栈的数据层及界面层实现(Qt )
2018-08-08
课程设计模板
2018-07-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人