自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 从头实现的MVC模式的JSP增删改查

这里实现的是用户信息的增删改查。包括分页查询合条件查询。实现的技术有:前端:Bootstrap后端 : JSP数据库:Druid连接池、Spring的JDBCTemplate、MySQL1、数据库的简单实现CREATE DATABASE selecttest;USE selecttest;CREATE TABLE USER ( id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(32) NOT NULL, gender VARCHAR(

2021-08-03 21:33:52 672

原创 数据结构与算法(字符串)

Leetcode 30.串联所有单词的子串解答以及注释:class Solution { // 使用滑动窗口 public List<Integer> findSubstring(String s, String[] words) { // 这里是创建返回的List List<Integer> res = new ArrayList<>(); if (s == null || s.length() =

2021-07-31 11:52:03 130

原创 JavaWeb的Servlet&Request&Response

关于Request部分,我们来完成一个登陆案例。首先需要下载解压好Tomcat,并且在IDEA中配置好。关于Web有关的包javax都是在Tomcat中。需求:使用Druid和Servlet实现用户名和密码的登陆案例。解决:1、IDEA中新建一个Module,模板为JavaEE的Web Application。这里需要注意的是lib一定要放在WEB-INF中。目录如下:2、需求分析 :一个User对象对应数据库table中的一条记录。需要用到查询语句。3、先建立数据库。CREATE

2021-07-30 11:40:14 187

原创 前端高级部分

JQuery 基础:概念: 一个JavaScript框架。简化JS开发jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架)。jQuery设计的宗旨 是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优 化HTML文档操作、事件处理、动画设计和Ajax交互。JavaScript框架:本

2021-07-23 22:38:08 128 1

原创 前端基础部分

JavaWeb:使用Java语言开发基于互联网的项目软件架构:C/S: Client/Server 客户端/服务器端在用户本地有一个客户端程序,在远程有一个服务器端程序如:QQ,迅雷…优点:用户体验好缺点:开发、安装,部署,维护 麻烦B/S: Browser/Server 浏览器/服务器端只需要一个浏览器,用户通过不同的网址(URL),客户访问不同的服务器端程序优点:开发、安装,部署,维护 简单缺点:如果应用过大,用户的体验可能会受到影..

2021-07-23 21:55:03 56

原创 Java反射

反射是框架设计的灵魂。自己使用框架其实不需要用到反射。* 获取Class对象的方式: 1. Class.forName("全类名"):将字节码文件加载进内存,返回Class对象 * 多用于配置文件,将类名定义在配置文件中。读取文件,加载类 2. 类名.class:通过类名的属性class获取 * 多用于参数的传递 3. 对象.getClass():getClass()方法在Object类中定义着。 * 多用于对象的获取字节码的方式 * 结论: 同一个字节码文件(*.class

2021-07-23 11:42:31 58

原创 JDBC(Java和数据库最基本的用法)

1. 概念:Java DataBase Connectivity Java 数据库连接, Java语言操作数据库 * JDBC本质:其实是官方(sun公司)定义的一套操作所有关系型数据库的规则,即接口。各个数据库厂商去实现这套接口,提供数据库驱动jar包。我们可以使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的实现类。2. 快速入门: * 步骤: 1. 导入驱动jar包 mysql-connector-java-5.1.37-bin.jar 1.复制mysql-conne.

2021-07-22 21:40:27 75

原创 UAVDT目标检测数据集格式转化以及训练集验证集划分教程(原格式转化为Json(COCO)格式)

UAVDT目标检测数据集格式转化教程(原格式转化为Json(COCO)格式)无人机目标检测数据集目前主要有两个,一个是VisDrone19/18,还有一个就是UAVDT。UAVDT数据集不是COCO格式的,但是目标检测一般使用COCO或者VOC格式的。我找了一圈,博客和Github上都没有相关的转化数据集代码。(以前转数据集网上一搜都有别人提供的,但是这个数据集可能用的人少吧,我没找到)。所以只能自己来写了。以后其他人用这个数据集需要转化格式的时候就可以参考了。1、下载数据集,了解数据集格式。官网

2021-07-22 17:46:01 9291 46

原创 用PyTorch实现CIoU NMS,DIoU NMS和GIoU NMS

在目标检测的后处理阶段我们需要用到NMS算法。而在NMS算法里有一个步是需要计算当前score最大的框和其他框的IoU大小的。针对这一步,我们可以进行优化,改变IoU的计算方式。目前经典的IoU计算方式有GIoU,DIoU和CIoU。我们可以在传统的NMS算法中进行修改实现CIoU NMS,DIoU NMS和GIoU NMS。先看下传统的NMS算法的代码: def ori_nms(self, scores, boxes, iou_thres): if boxes.shape

2021-07-21 21:50:30 4232 1

原创 数据结构与算法(二叉树的遍历算法)

定义节点class ListNode{ ListNode left; ListNode right; int val; public ListNode(int value){ this.val=value; }}实现深度优先遍历这里其实有三种前序中序后序,而且可以使用递归和非递归的方法。递归的话在深度遍历一般需要用栈。public void dfs(ListNode node){ if(node=

2021-07-21 21:45:12 117

原创 Java注解

问题:编写一个Check注解,检查运算是否出错。解答:Check.javapackage com.annotationtest;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;@Retention(RetentionPoli

2021-07-21 16:02:51 51

原创 MySQL数据库基础

SQL语言的分类DDL:操作数据库、表1. 操作数据库:CRUD 1. C(Create):创建 * 创建数据库: * create database 数据库名称; * 创建数据库,判断不存在,再创建: * create database if not exists 数据库名称; * 创建数据库,并指定字符集 * create database 数据库名称 character set 字符集名; * 练习: 创建db4数据库,判断是否存在,并制定字符集为gbk

2021-07-21 16:01:16 108

原创 Java集合框架

1、实现ArrayList,并向其中加入int,String,和Person对象解答:package com.collectiontest;import java.util.Objects;public class Person { private String name; private int age; public Person() { } public Person(String name, int age) { this.n

2021-07-20 22:10:43 65 1

原创 Java数据结构与算法(数组)

1、给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。请必须使用时间复杂度为 O(log n) 的算法。解答:一个for循环就可以。返回索引只要判断是否相等就可以了。但是如果不存在的话需要返回其插入的位置,这里可以理解为插入比它大的地方。所以我们要使用大于等于。最后如果都没有,就插入最后就可以了。class Solution { public int searchInsert(int[] nums, int target

2021-07-20 21:31:57 49

原创 Java多线程

问题1:一个账户,甲乙两个人进行存钱,实现多线程。解答:package com.threadtest;//账户类class Account{// private 里是存钱的 private double balance;// 初始化 public Account(double balance) { this.balance = balance; } //存钱 同步 不发生异步问题 public synchronize

2021-07-20 10:31:23 64

原创 Java高级

Java高级部分除了之前的基础语法,面向对象,这里在对之前的Java高级部分进行一个总结多线程API中实现线程的两种方式1、继承Thread类。重写run()方法,启动的话使用start()2、实现Runnable接口线程的同步:买卖票的问题要实现同步(同一个数据只能一个线程进行更改)用synchronized修饰符实现死锁:多个线程都等待对方占用的资源才可以进行JDK5.0后有Lock更加方便使用线程之间的通信例题:生产者和消费者的问题JDK5.0新增加的线程创建方式1

2021-07-17 15:53:52 58

原创 Java基础

Java基础部分的笔记总图语法基础1、JDK包含JRE2、变量3、编码(Unicode != UTF-8)Unicode为世界上所有字符都分配了一个唯一的数字编号,这个编号范围从 0x000000 到 0x10FFFF(十六进制)它是一种规定。Unicode本身只规定了每个字符的数字编号是多少,并没有规定这个编号如何存储。UTF-8就是使用变长字节表示,顾名思义,就是使用的字节数可变,这个变化是根据 Unicode 编号的大小有关,编号小的使用的字节就少,编号大的使用的字节就多。使用的字节

2021-07-15 10:54:53 54

原创 如何给一个二维的Tensor添加一列或者一行呢

PyTorch的使用学习问题:如何给一个二维的Tensor添加一列或者一行呢?解答:用torch.unsqueeze和torch.cat例:import torchn = torch.randn([6,4])p = torch.ones(n.shape[0])p = p.unsqueeze(1)print(n)print(p)n = torch.cat((n,p),1)print(n)因为不同维度的Tensor没有办法进行cat操作。所以这里要用unsqueeze拓展成二维,

2021-07-14 18:12:04 13590

原创 将mmdetection产生的coco(json)格式的测试结果转化成VisDrone19官网所需要的txt格式文件(还包括无标签测试图片产生mmdet所需要的test.json方法)

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2021-07-05 17:52:31 2211 8

转载 用C语言制作简单通讯录系统(功能包括增查改删)

来源参考:https://blog.csdn.net/qq_43512497/article/details/89200330几点说明:1、我稍微精简了一下,而且改正了一些错误。2、代码其实仍旧不完善,由于对文件的操作还不是很熟,一开始如果contact.txt中没有内容的话,一开始读取记录的时候会出现一个无用的联系人记录。3、代码是可以编译运行的#include<s...

2019-08-04 14:05:25 686

空空如也

空空如也

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

TA关注的人

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