自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 springmvc 异常处理

Spring MVC在处理器方法执行过程中出现了异常,可以采用异常处理器进行应对。一句话概括异常处理器作用:处理器方法执行过程中出现了异常,跳转到对应的视图,在视图上展示友好信息。SpringMVC为异常处理提供了一个接口:HandlerExceptionResolver核心方法是:resolveException。该方法用来编写具体的异常处理方案。返回值ModelAndView,表示异常处理完之后跳转到哪个视图。

2024-05-23 09:21:16 87

原创 SpringMvc-restful设计风格

RESTFul是什么RESTFul是WEB服务接口的一种设计风格。RESTFul定义了一组约束条件和规范,可以让WEB服务接口更加简洁、易于理解、易于扩展、安全可靠。

2024-05-22 11:05:01 172

原创 springboot错误

IDEA创建SpringBoot项目时出现:Initialization failed for ‘https://start.spring.io’ Please check URL, network and proxy settings.翻译中文:'https://start.spring.io’的初始化失败 请检查URL,网络和代理设置。错误信息: 无法下载“ https://start.spring.io”:连接超时。于是我又使用原来的,可以连接上了,具体为啥我也不知道…

2024-05-19 09:02:37 335

原创 SpringMvc(2)RequestMapping注解

RequestMapping注解1 、RequestMapping的作用2、RequestMapping的出现位置3、类上与方法上结合使用4、RequestMapping注解的value属性4.1 value属性的使用4.2 Ant风格的value4.3 value中的占位符(重点)5、RequestMapping注解的method属性5.2衍生Mapping5.3web的请求方式6 、RequestMapping注解的params属性6.1 params属性的理解6.2params属性的4种用法6.3 测

2024-04-20 16:37:27 967

原创 机器学习基础-PR\ROC\F1

PC曲线就是精准率与召回率曲线,精准率与召回率是相爱相杀的,比如,当我们阈值很高的时候,精准率就会很高,精准率就是预测出来的阳性有多少是真阳性,阈值高,我们测出来的阳性一般都是真的,此时召回率就低,召回率是真的阳性中有多少被预测出来的,因为阈值变高了,我们预测出来的阳性很少。如图,就是根据阈值不同,我们看我们的二分类器的结果,根据结果算出TPR(真阳性)与FPR(假阳性),最好的情况就是如图,我们的ROC曲线越靠近左上角,越好,当然,有一条基准线,就是y=x。,我们更需要关注的是 FP而不是FN。

2024-04-20 10:06:39 288

原创 Cloning into ‘mmdetection‘... fatal: unable to connect to github.com: github.com[0: 20.205.243.166]:

git clone遇到的error: RPC failed;

2024-04-17 10:37:47 142

原创 webIDE jupyternotebook中添加虚拟环境

但是有一些错误,就是我添加我的虚拟环境时显示权限不够。我又卸载重装了 然后添加上去了!我就在这一步前面加上了sudo。重启 jupyternoter。好吧一波三折 接着又显示。此时我的命令就变成了。

2024-04-16 20:00:58 362

原创 SpringMVC (1)第一个程序

MVC是一种软件架构模式(是一种软件架构设计思想,不止Java开发中用到,其它语言也需要用到),它将应用分为三块:M:Model(模型)V:View(视图)C:Controller(控制器)MVC将应用分为三块,每一块各司其职,都有自己专注的事情要做,他们属于分工协作,互相配合:Model:负责业务处理及数据的收集。View:负责数据的展示Controller:负责调度。它是一个调度中心,它来决定什么时候调用Model来处理业务,什么时候调用View视图来展示数据。

2024-04-16 09:31:38 478

原创 spring 集成 mybatis

○ Account,属性私有化,提供公开的setter getter和toString。○ mybatis-spring:mybatis提供的与spring框架集成的依赖。○ 该文件可以没有,大部分的配置可以转移到spring配置文件中。○ 如果遇到mybatis相关的系统级配置,还是需要这个文件。● 第九步:编写mybatis-config.xml配置文件。○ 在配置文件中配置命名空间,以及每一个方法对应的sql。● 第十一步:编写测试程序,并添加事务,进行测试。● 第六步:编写mapper配置文件。

2024-04-13 20:59:21 839

原创 mybatis(9)-逆向工程+PageHelper+注解方式开发

使用注解来映射简单语句会使代码显得更加简洁,但对于稍微复杂一点的语句,Java 注解不仅力不从心,还会让你本就复杂的 SQL 语句更加混乱不堪。因此,如果你需要做一些很复杂的操作,最好用 XML 来映射语句。所谓的逆向工程是:根据数据库表逆向生成Java的pojo类,SqlMapper.xml文件,以及Mapper接口类等。当然,使用注解式开发的话,sql语句是写在java程序中的,这种方式也会给sql语句的维护带来成本。mybatis中也提供了注解式开发方式,采用注解可以减少Sql映射文件的配置。

2024-04-13 09:53:35 674

原创 mybaits(8)-缓存机制

mybatis的缓存:将select语句的查询结果放到缓存(内存)当中,下一次还是这条select语句的话,直接从缓存中取,不再查数据库。第二种:第一次查询和第二次查询之间,执行了增删改操作。● 或者集成其它第三方的缓存:比如EhCache【Java语言开发的】、Memcache【C语言开发的】等。第二次并没有执行sql,而是从二级缓存中读取了,因为一级缓存关闭,会将其内容保存在二级缓存中。进行了增删改的操作,就会导致二级缓存清空,二级缓存此时会失效。缓存的作用:通过减少IO的方式,来提高程序的执行效率。

2024-04-12 11:27:41 1086

原创 mybatis(7)--高级关系映射

开启全局延迟加载之后,所有的sql都会支持延迟加载,如果某个sql你不希望它支持延迟加载怎么办呢?select 是我们接下来要执行的语句,而column 是我们传给sql语句的参数,column是我们查询出来的列名。● 第三种方式:两条SQL语句,分步查询。优点二是支持懒加载。多对一 所以 多的那个表为主表,一的那个为副表,即在Student主表中添加Clazz副表。● 第二种方式:一条SQL语句,association。此时班级是主表,学生是副表。● 第一种方式:一条SQL语句,级联属性映射。

2024-04-12 09:33:05 854

原创 mybatis-动态sql

需求:先根据品牌查询,如果没有提供品牌,再根据指导价格查询,如果没有提供指导价格,就根据生产日期查询。比如我们只更新提交的不为空的字段,如果提交的数据是空或者"",那么这个字段我们将不更新。主要使用在update语句当中,用来生成set关键字,同时去掉最后多余的“,”如果让第一个为空,此时不会出现错误,会自动帮我们去掉多余的and。● 所有条件都为空时,where标签保证不会生成where子句。● 自动去除某些条件前面多余的and或or。可以自动增加前缀,后缀,删除前缀,删除后缀。只有一个分支会被选择!

2024-04-10 20:55:01 1249

原创 mybatis(5)参数处理+语句查询

使用了param注解,底层也是帮我们封装成了map集合,但是是将我们自己定义的名字封装为key,且这里argx不能再用,但是paramx仍可以使用。比如 char 类 我们可以通过parameterType 来告诉mybatis 参数类型是什么,其他基本数据类型都一样,不在举例。注意:如果我们传的是实体类,则#{},{}里应该是实体类的属性名,不能是其他。传入多参数时,其实mybatis底层是帮我们封装成了map集合。我们也可以显示标注类型,省去mybatis的类型匹配。就相当于帮我们封装成。

2024-04-10 09:54:55 487

原创 mybatis(4) 代理机制以及小技巧

此时当我们插入时,就会将自动生成的主键值赋给id,如果为false,则我们输出时car的id为null,虽然数据库中car的id是有值的,但是由于没有回显,输出就为null。在上一篇mybtis的web项目中,我们最后有一个问题没有解决,就是dao的实现类,其代码很类似,只是具体执行的sql语句不同,那么我们是否可以只编写dao的接口,而不用编写其具体实现类呢?虽然我们插入的car id为null,但是当我们再次获取输出car时我们可以看到其id是有值的,当需要进行sql语句关键字拼接的时候。

2024-04-09 17:16:06 620

原创 spring(7)-事务

● 什么是事务○ 在一个业务流程当中,通常需要多条DML(insert delete update)语句共同联合才能完成,这多条DML语句必须同时成功,或者同时失败,这样才能保证数据的安全。○ 多条DML要么同时成功,要么同时失败,这叫做事务。○ 事务:Transaction(tx)● 事务的四个处理过程:○ 第一步:开启事务 (start transaction)○ 第二步:执行核心业务代码。

2024-04-05 09:12:25 871

原创 spring(6)-AOP

将与核心业务无关的交叉业务代码独立的抽取出来,形成一个独立的组件,然后以横向交叉的方式应用到业务流程当中的过程被称为AOP。AOP的优点:● 第一:代码复用性增强。● 第二:代码易维护。● 第三:使开发者更关注业务逻辑。

2024-04-02 11:30:13 901

原创 spring6-代理模式

它既可以代理接口,又可以代理类,底层是通过继承的方式实现的。通过引入一个新的对象来实现对真实对象的操作或者将新的对象作为真实对象的一个替身,这种实现机制即为代理模式,通过引入代理对象来间接访问一个对象,这就是代理模式的模式动机。并且这种方式要为每一个接口都实现一个类,如果我们的接口很多,就会导致类爆炸,使用动态代理可以解决这个问题,动态代理不要求我们写出代理类,而是会在内存中自动生成且实例化一个对象。在程序运行阶段,在内存中动态生成代理类,被称为动态代理,目的是为了减少代理类的数量。解决代码复用的问题。

2024-04-01 09:59:45 785

原创 mybatis(2)核心配置文件

这样就有了自己的数据源比如你可以写一个属于自己的数据库连接池(数据库连接池是提供连接对象的,所以数据库连接池就是一个数据源)。: 这是一个底层设置,如果获取连接花费了相当长的时间,连接池会打印状态日志并重新尝试获取一个连接(避免在误配置的情况下一直失败且不打印日志),默认值:20000 毫秒(即 20 秒)。:即我们的连接池中最多会有几个活跃连接数量,超过该连接数量之后,之后的连接就要等待之前的连接释放。连接池的优点:1每次链接都从池中拿,效率高2.每次只能从池中拿,连接对象的创建数量是可控的。

2024-03-31 17:06:43 576

原创 Mybatis(3) web项目

实现一个转账系统。

2024-03-31 16:49:29 603

原创 Mybatis (1)

如果我们有多个mapping.xml文件,且sql语句的id是一致的,此时命名空间就很重要了,因为我们将这个xml文件都配置到mybatis-config.xml文件中,此时如果我们只写id名来找该sql语句的话,就会出错,因为不知道是哪一个。我配置文件也没有开启驼峰式映射,不知道为什么我没有起别名,但是也是对的,他自动帮我匹配到了我的类属性名,好像是会自动开启驼峰式映射?如果我们使用的是一个对象传值,则#{},{}里填写的是getXxx,去掉get第一个字母变小写后的名字,而不是说就是属性名。

2024-03-29 15:44:51 602

原创 spring6(4) 注解开发

Spring IoC容器的实现原理:工厂模式 + 解析XML + 反射机制。

2024-03-29 11:48:31 777

原创 spring(3)

但是这种情况是两个对象都是propotype时才会出现的问题,只有一个时singleton,循环依赖就不会出现问题,因为比如上述例子,妻子是singleton,丈夫是propotype的,妻子在创建时只会创建一个,给妻子赋值时会去创建丈夫对象,此时丈夫对象又会去找妻子对象,由于妻子对象是单例的,只有一个所以该丈夫对象可以创建且成功赋值,妻子对象便也可以成功赋值。因为我们无法提前曝光,在构造时,就需要给属性赋值才能实例化,而由于依赖另一个对象,另一个对象又依赖于当前对象,无法进行实例化,会出现。

2024-03-28 17:23:05 815

原创 spring6 (2)

Spring IoC容器的顶级对象,BeanFactory被翻译为“Bean工厂”,在Spring的IoC容器中,“Bean工厂”负责创建Bean对象。(也就是说在Spring中为Bean对象的创建准备了多种方案,目的是:更加灵活)● 第二类:工厂Bean(记住:工厂Bean也是一种Bean,只不过这种Bean比较特殊,它可以辅助Spring实例化其它Bean对象。FactoryBean:它是一个Bean,是一个能够辅助Spring实例化其它Bean对象的一个Bean。仅限于在WEB应用中使用。

2024-03-27 16:40:27 705

原创 Spring6 (1)

自己的理解:spring其实就是一个容器,也可以说是一个框架,主要是控制反转和面向切面编程。是一种思想,就是把new对象的权力交给了spring,也把两个对象之间关系的连接交给了别人。依赖注入DI:是控制反转的一种实现方式,依赖就是指对象A和对象B之间的关系,注入就是就是一种方式将对象A和对象B关联起来。依赖注入DI,又包括常见的两种方式:第一种:set注入(执行set方法给属性赋值)第二种:构造方法注入(执行构造方法给属性赋值)注意术语:OCP:开闭原则(开发原则)

2024-03-27 10:46:51 831

原创 Java day16 filter

我们可以打断点尝试,在我们访问servlet时,会先经过dofilter方形之前的代码,然后执行我们的目标代码,之后再执行放行之后的代码。startup> 标签,标签中间填写的是整数,正整数表示在服务器加载时创建,值越小优先级越高,负整数或者不填表示第一次访问时创建。在web.xml 配置中 如果有多个多滤器就是按照filter-mapping的顺序执行的,哪个在前,先执行哪个filter。比如F1_filter,F2_filter,则就是F1 这个先执行。而filter 不能选择,都是在项目启动时创建。

2024-03-25 19:33:50 734

原创 Java Day16 Servlet(二)

Servletcontext对象有称呼为上下文对象,或者叫应用域对象(后面统一讲解域对象)。容器会为每个Servlet实例化一个Servletconfig对象,并通过Servlet生命周期的init方法传入给serviet作为属性。先运行UserServlet 设置值,之后运行UserServlet1获得属性值,如果先执行UserServlet1,会获得null。ServletContext 是最大的一个域对象,应用中所有的Servlet共享域对象中的内容。为Servlet提供初始配置参数的一种对象,

2024-03-25 14:55:54 873

原创 Day 15 Servlet(一)

资源包括静态资源和动态资源。对于服务器响应,有时候我们需要根据客户的不同请求返回不同的数据和页面。此时就需要一个java类来接收该请求,但是并不是所有的类都能接收,只有实现Servlet接口的java类才能接收和响应请求。Servlet运行在服务端。每当有请求时,Servlet会在服务端运行对应的java代码生成对应的数据返回给浏览器端。

2024-03-24 16:41:41 603

原创 Tomcat

Tomcat是一款服务器软件,我们的app项目,要在服务器跑起来,首先我们的项目是java写的,需要jre运行环境,其次只有jre运行环境也不行,还需要一个服务器软件,目前这里使用的是Tomcat。去官网里下载,注意解压时一定要配置好jdk,因为tomcat也是java写的,需要java运行环境。项目访问url:http:/[tomcat部署服务器的地址]:端口号/项目名。

2024-03-24 11:23:56 417

原创 Day 14 JDBC

如果我们在Serve层获得一个连接,这个连接还需要传给Dao层来获取,能不能让同一个线程,Serve层和Dao层获取的都是同一个连接,而不用使用参数传递呢?比如转账业务,我们可以在业务层获取一个连接,之后将该连接传入加钱和转钱方法,这样可以确保是一个连接。对于Dao层的封装,写一个基础BaseDao,对语句进行封装,可以分为DQL和非DQl两种。每次都去初始化连接池太麻烦了,我们封装一个工具类,对外提供一个获取连接和回收连接的方法。4、编写sql语句 并且发送sql语句获得结果集。从左到右 索引从1开始。

2024-03-23 17:34:50 972

原创 ONNX

首先将自己训练出来的pth模型转化为ONNX模型。之后将在网站中打开该onnx文件 即可看到网络模型。这是我自己的,改为自己的即可。

2024-03-21 16:42:46 191

原创 Java Day13 高级篇

Target;@Myannotations(aaa="崔",ccc={1,2,3})@Myannotations(aaa="崔",bbb=2,ccc={1,2,3})//只有一个value属性 则value可以省略不写,如果除了value还有其他属性但是都有默认值,value也可以省略注解本质是一个接口,Java中所有注解都是继承了Annotation接口的。

2024-03-21 11:02:03 327

原创 Java Day13 多线程

①子线程一定要调用start方法,而不是run方法,调用run方法,还是相当于在main线程中创建了一个实例对象,在运行她的方法, 而已,是单线程的。pool-1-thread-2-1-200的和为:20100。pool-1-thread-3-1-300的和为:45150。pool-1-thread-3-1-400的和为:80200。此时就需要线程池,线程池可以复用线程,不用经常去创建线程。pool-1-thread-1-1-100的和为:5050。悲观锁:一上来就加锁,线程安全,性能较差。

2024-03-20 16:50:20 728

原创 Java Day12 特殊文件、日志技术

比如我们想要追踪 程序的错误信息,想要查看用户观看浏览器的情况,我们都需要日志,将其保存再一个日志文件中。使用解析器 将xml文件解析成一个文档 然后依次从根元素开始解析。查找 属性文件中 是否有崔 如果有 将年龄改为23。目前都是使用Logback框架,用SLF4J接口。就是限制XML文件只能按照某种格式进行书写。不仅限制标签 还限制标签内的属性值类型。经常利用Dom4j (第三方。只限制 标签 以及标签名。

2024-03-19 20:48:44 305

原创 Dataset与DataLoader、transform

重写transform的目的:可以接受多个参数,可以保证对我们的图像和标注进行同步处理,比如图像分类任务,如果我们对图像及进行了预处理,比如进行了图像裁剪和缩放以及旋转等,其对应的标注框也应该做同步变换,否则就会出错,这时候就需要我们重写transform,对图像和标注做同步处理。数据增强可以增加训练集的样本数量,缓解过拟合,并提高模型的泛化能力,从而有效提升算法的性能。,因为读取的数据包括image和targets,不能直接使用默认的方法合成batch。1、将图像转换成tensor 的数据格式。

2024-03-19 15:04:37 669

原创 Java Day11 IO流(二)

在上边User中,我们对pwd密码这一位加上了transient关键字,这个关键字代表我们在序列化时不需要对这个属性进行序列化,对密码进行序列化,可能有不安全的风险。当字节数组或者缓冲流的大小变大时,速度也会提升上去,但是当变大到一定程度,变化的幅度就很小了。而如果使用字节数组的方式,当字节数组大时,性能也是很好的,与使用缓冲流的效果差不多。首先用字节输入流读取,接着按照一定的编码,将字节输入流的数据,转换为字符流。不论是否用缓冲流,一个一个字节的方式复制都很慢,不推荐使用。输入流读取要和输出流一一对应。

2024-03-18 13:32:09 619

原创 Java Day 10 io流

每个字符一个字节,共128个字符,00000000-01111111(第一位都是0。文件字节输入流,是InputStream 字节输入流这个抽象类的一个实现类,英文,符号数字等仍然是一个字节,每个汉字的第一位都是1。一个中文字符占两个字节,兼容了ASCII编码。汉字占3个字节,数字这些占一个字节。每个字符占四个字节,但是这样太浪费空间了。Java提供了常用的编码和解码方法。close方法被执行。

2024-03-15 16:07:15 689

原创 Java Day9 File操作

【代码】Java Day9 File操作。

2024-03-15 10:39:42 185

原创 Java Day9 Stream流

【代码】Java Day9 Stream流。

2024-03-13 14:51:51 479

原创 java day8 Map集合系列

比如学生类,我们new出不同的对象,即使内容一样,但是由于哈希值不同,也会被认为是不同的对象。如果想要内容一样就去重时,就重写hashcode和equals方法。和Collection集合一样,我们先学习通用接口的方法,该接口的方法对于下面的类都是可用的。我们可以看到,即使name不同,由于我们比较的是age,当age相同时,就会被认为是一样的。,如果比较规则中的内容一样的话,这两条数据也会被认为一样。{巩义=[郑州, 洛阳], 江苏=[南通, 徐州]}巩义—>[郑州, 洛阳]江苏—>[南通, 徐州]

2024-03-13 10:48:09 474

空空如也

空空如也

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

TA关注的人

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