自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 传统车道线检测-canny边缘检测-霍夫变换-完整代码(python)

文章目录前言一、什么是霍夫变换二、边缘检测算法三、实验环境四、传统车道线检测流程前言常见的车道线检测的方法大致可以分为三类:传统方法利用传统图像处理基数从摄像机拍摄的图像中提取车道线特征。传统图像处理与深度学习相结合的方法深度学习提取的特征信息不能直接使用,采用传统图像处理的方式对直线特征点进行聚类与拟合。端到端的深度学习的方法直接从输入图像中学习到车道线特征,无需复杂的预处理、手工特征提取和后处理,并结合车道线的各种几何先验知识,设计损失函数监督网络训练,提高车道线检测的鲁棒性和准确性。

2020-10-23 14:22:09 14687 6

原创 解决IDEA卡顿问题

解决IDEA卡顿问题首先,我们要明白卡顿的原因是分配给Idea的内存不足,所以解决的办法就是需要给其分配更大的内存找到idea的安装目录,对应找到idea.exe.vmoptions和idea64.exe.vmoptions两个配置文件。分配更大的内存空间1.idea.exe.vmoptions配置文件2.idea64.exe.vmoptions配置文件...

2021-07-22 18:02:18 1161

原创 传统车道线检测之黄白线、虚实车道线检测(附python代码)

文章目录前言一、虚实线的检测二、黄白线的检测前言针对传统图像处理方法的车道线检测,提出黄白、虚实车道线的区别。之前的算法流程及代码参考:https://blog.csdn.net/m0_46988935/article/details/109234900一、虚实线的检测车道线的线形主要有虚线和实线,但大多数车道线检测算法对这两者并不进行区分。然而在对道路环境进行感知中,虚线和实线的区分具有非常重要的作用,区分两者有利于车辆进一步推断自身所在环境,比如在车道保持算法中对虚线和实线的偏离预警应有不同

2021-07-20 18:25:34 4592 4

原创 Vue之参数传递、 v-on的简化写法、事件处理函数的简化写法

文章目录回顾一、vue事件参数传递二、vue事件的简化语法总结回顾vue中绑定事件的基本语法之总结:在vue中绑定事件是通过v-on指令来完成的,语法为----v-on:事件名在v-on:事件名的赋值语句中是当前事件触发调用的函数名在v-on中事件的函数统一定义在vue实例的methods属性中在vue定义的事件中this指的就是当前vue实例,日后可以通过this获取实例中的相关数据或调用methods中相关方法一、vue事件参数传递<!DOCTYPE html>&lt

2021-07-20 17:59:37 497

原创 Vue之中定义复杂数据、{{}} 、V-text、V-html的区别、 v-on指令

文章目录前言一、如何在data属性中定义对象、数组等复杂数据二、1.引入库2.读入数据总结前言一、如何在data属性中定义对象、数组等复杂数据<!DOCTYPE html><html lang="en"> <head> <meta charset="UTF-8"> <title>vue系列课程之基础入门</title> </head> <body>

2021-07-20 15:50:00 402

原创 Vue之下载、创建一个Vue实例

文章目录前言一、vue简介二、vue的下载三、导入vue的步骤四、vue入门案例总结前言学习vue的前置知识。一、vue简介官方定义:渐进式JavaScript框架,即意味着vue是一个JS框架,之前我们学过jQuery也是一个js框架,它们都是为了简化页面中js开发的。渐进式的含义:易用: vue.js 上手快灵活: 生态系统非常强大高效: vue体积小,超快虚拟dom vue底层深度优化通俗的来讲,vue的出现可以让我们在页面中完成特别复杂操作,可以简化dom编程甚至可

2021-07-20 12:03:16 170

原创 利用Github Pages,免费修改CSDN博客域名

前言有时候我们需要提供个人csdn博客的链接,但是该类平台所提供的url非常的长,比如我的就是https://blog.csdn.net/m0_46988935?spm=1000.2115.3001.5343,放在简历上十分的不美观,所以本文主要是教大家如何利用github提供的github pages作为自己的个人博客站点,该方法免费且实用。1.新建仓库创建仓库填写信息点击 create repository2. 更新github仓库中的内容clone该项目到本地

2021-07-15 17:26:06 286 2

原创 什么是SQL注入?如何解决SQL注入?Statement和PreparedStatement的比较

文章目录前言一、模拟用户登录功能的实现代码1.代码实现2.什么是SQL注入二、解决sql注入1.代码实现2.PreparedStatement3.Statement 和PreparedStatement的比较总结前言首先我们通过一个模拟用户登录功能的demo,复习JDBC编程的6个步骤,然后分析当前程序存在的问题,引出SQL注入,并提出解决的办法。一、模拟用户登录功能的实现代码1.代码实现package org.xx.JDBC02;import java.sql.*;import java

2021-04-15 20:53:32 196

原创 详解JDBC编程六步附模板代码

文章目录前言一、注册驱动二、获取数据库连接三、获取数据库操作对象四、执行SQL语句五、处理查询结果集六、关闭连接七、模板代码总结前言本文详细介绍了JDBC的编程的六个步骤。首先来回顾一下JDBC的六步:注册驱动获取数据库连接获取数据库操作对象执行SQL语句处理查询结果释放资源一、注册驱动需要掌握注册驱动的常用的两种方式Class.forName("com.mysql.jdbc.Driver");该方法最常用,因为参数是字符串,字符串可以写在xxxx.properties中

2021-04-15 14:45:20 232

原创 JDBC本质详解

文章目录JDBC1.JDBC是什么?2.JDBC的本质是什么?3.为什么SUN制定一套JDBC接口呢?4.JDBC开发前的准备工作5.JDBC编程六步JDBC1.JDBC是什么?Java DataBase Connectivity(Java语言连接数据库)2.JDBC的本质是什么?JDBC是SUN公司制定的一套接口(interface)java.sql.*; (这个软件包下有很多接口。)接口都有调用者和实现者。面向接口调用、面向接口写实现类,这都属于面向接口编程。为什么要面向接

2021-04-14 19:53:11 346 1

原创 JavaWeb的预备知识及web项目结构介绍

文章目录前言一、什么是Web二、Web项目结构介绍三、一个基础Web项目的构建每层的具体介绍前言我们进入到javaweb开发的学习中,首先要了解什么是C/S架构,B/S架构,通俗的来讲,C/S架构,客户端/服务器,比如QQ或者一些大型游戏,用户需要先下载软件的客户端,然后才能使用B/S架构,浏览器/服务器,我们上网时候所访问的网站基本上全是该模式的项目,用户不需要下载任何东西,只需要浏览器就可以访问到这个项目。我们在javaweb阶段要学习的web项目就是基于B/S架构的项目。一、什么是W

2021-04-14 15:55:04 2173

原创 如何在IDEA中配置Tomcat,解决配置时No Artifacts Configured问题

文章目录一、在idea中配置tomcat二、解决没有可配置artifacts的问题一、在idea中配置tomcatrun-----> edit configurations点击+号添加基础配置,找到tomcat并选择local服务器设置tomcat的一些配置,见图所示注意:这时候会有一个警告,显示没有可配置的artifacts,我们必须解决该问题!二、解决没有可配置artifacts的问题点击Fix,进入Deployment,点击右侧加号,发现没有artifacts可以添

2021-04-14 14:18:28 15562 8

原创 Maven的下载及安装、Maven配置阿里云镜像、Maven创建本地仓库

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录一、Maven的下载二、配置环境变量3.修改配置3.1 修改镜像为阿里云镜像3.2 配置本地仓库一、Maven的下载官网:https://maven.apache.org/2. 点击下载,下载完毕,解压即可二、配置环境变量配置环境变量M2_HOME maven目录下的bin目录MAVEN_HOME maven maven目录在系统中path中配置 %MAVEN_HOME%\bin测试是否

2021-04-08 12:00:21 317

原创 下载安装Tomcat9.0.44,并解决控制台乱码问题

文章目录前言一、下载安装Tomcat二、配置环境变量三、启动tomcat,解决控制台乱码情况总结前言Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定

2021-04-07 20:02:57 737

原创 数据库-----关系型数据库的设计规则

文章目录前言一、什么是数据库1.数据库(Database)2.数据库的分类二、关系型数据库设计规则1.遵循ER模型和三范式2.读入数据总结前言一、什么是数据库1.数据库(Database)数据库(Database)DB长期存放在计算机内、有组织、可共享的大量数据的几何,是一个数据“仓库”。作用保存、管理数据数据库管理系统(Database Management System)DBMS是一种操纵和管理数据库的大型软件,例如建立、使用和维护数据库。2.数据库的分类关系型数据库(SQ

2021-03-30 10:51:23 511 1

原创 HTML——使用表格制作个人简历

文章目录前言一、表格1.创建表格的基本语法2.表格属性二、练习1.代码2.效果图总结前言初始HTML,能够使用表格完成指定布局。表格是用来展示数据,能够让数据显示整齐规范。学习目标:理解能说出表格用来做什么的表格的基本结构组成应用能够熟练写出n行n列的表格能够简单的合并单元格一、表格表格是一种常见的标签,但不是用来布局的,是用来显示数据,可以使数据显示整齐规范。尤其是在后台展示数据的时候,表格运用是否熟练就显得十分重要。我们今天的主要任务就是,使用表格制作一个个人简

2021-03-09 10:44:24 9897 3

原创 Java中如何复制多级文件夹

public class 复制多级文件夹 { public static void main(String[] args) throws IOException { //封装源文夹 File srcFolder = new File("E:\\xuanxuanaiJava"); //封装目标文件夹 File targetFolder = new File("C:\\Users\\46188\\De

2021-01-28 15:08:57 438

原创 Java中IO流——详解字符流之OutputStreamWriter和InputStreamReader

文章目录前言一、常用字符流的分类二、字节输出输入流1.OutputStreamWriter1.InputStreamReader3.复制小练习前言一、常用字符流的分类二、字节输出输入流1.OutputStreamWriter代码示例:public class 字符流之OutputStreamWriter { //OutputStreamWriter 是字符流通向字节流的桥梁: //可使用指定的 charset //将要写入流中的字符编码成字节。 public

2021-01-28 09:53:44 250

原创 Java中IO流——详解字节流之FileOutputStream和FileInputStream

文章目录前言一、Java流的概述二、常用字节流分类1.字节输出输入流1.FileOutputStream2.FileInputStream3.复制小练习4.异常捕获总结前言我们之前学习了Java中的异常机制和File类,现在正式进入IO流的学习。一、Java流的概述文件通常是由一连串的字节或字符构成。组成文件的字节序列称为字节流。组成文件的字符序列称为字符流。Java中根据流的方向可以分为输入流和输出流。输入流是将文件或其它输入设备的数据加载到内存的过程输出流是将内存中的数据保存到

2021-01-27 15:44:32 525 1

原创 Java中删除单级非空目录、递归删除多级非空目录、更改目录下文件的后缀名

文章目录前言一、练习1二、练习2三、练习3总结前言根据所学知识,完成对文件的常见操作。一、练习1需求:删除单级非空目录public class day19作业0 { public static void main(String[] args) { //将非空目录封装成file File F = new File("C:\\Users\\46188\\Desktop\\悬悬的secrets"); //获取该目录下的所有文件

2021-01-24 10:52:58 211

原创 Java中File类的常用方法

文章目录前言一、File类1.构造方法2.创建1.创建文件2.创建目录3.删除4.重命名5.判断6.获取总结前言一、File类概述File提供了大量的文件操作:删除文件、修改文件、得到文件修改日期、建立目录、列表文件等等。File类可以用来表示文件,也可以用来表示目录。1.构造方法File(String pathname):根据一个路径得到File对象File(String parent, String child):根据一个目录和一个子文件/目录得到File对象File(Fi

2021-01-23 21:22:56 2040 1

原创 详解Java中的异常机制:运行期异常、编译器异常及如何自定义异常

文章目录前言一、异常概述及分类1.异常概述2.异常的继承结构3.异常的继承机构图二、运行期异常-RuntimeException1.JVM如何默认处理异常2.try...catch的方式处理单个异常3.try...catch的方式处理多个异常4.代码示例三、编译期异常-非RuntimeException及其子类1.编译器异常的处理方式一(==抓==)2.编译器异常的处理方式二(==抛==)四、finally关键字和throw关键字1.finally关键字2.throw关键字2.throws与throw的区别

2021-01-23 15:23:19 1103

原创 Java中使用匿名内部类开启线程的实现方式、线程池、定时器

文章目录前言一、线程的状态二、使用匿名内部类开启线程1.实现方式12.实现方式2三、线程池的概念及实现方式1.线程池的概念2.实现线程池的3种方式1.线程池的实现方式一1.线程池的实现方式二1.线程池的实现方式三四、定时器前言通过本文,首先重新明确线程中存在的五种状态,其次使用之前按所学匿名内部类的知识来实现线程,然后介绍多线程中线程池的概念并结合代码介绍三种线程池实现的方式,最后了解多线程中定时器的概念并结合两段代码带大家了解定时器的使用。一、线程的状态五种状态新建:线程被创建出来就绪

2021-01-22 17:44:23 1251

原创 Java多线程中解决内存可见性问题的两种方法:synchronized、volatile 及CAS算法

文章目录前言一、synchronized实现可见性1.synchronized能够实现2.JVM关于synchronized的两条规定3.代码4.synchronized的弊端二、volatile实现可见性1.volatile能够实现2.实现原理3.代码4.volatile的适用场景三、CAS(Compare-And-Swep)算法1.概述2.代码总结前言首先我们简要了解一下Java的内存模型,然后根据一段代码引出内存可见性问题。Java内存模型Java内存模型规定了所有变量都存储在主内存中,

2021-01-21 16:01:34 342 1

原创 Java中多线程间的等待唤醒机制

文章目录前言等待唤醒机制1. 需求:实现生产线与消费线之间的通信,实现效果是生产者生产一个,消费者消费一个。2. Oject类中3. 代码示例4.sleep()方法和wait()方法的区别前言我们根据之前所学知识,能够使用java中多线程机制模拟出电影院买票流程,但是通过下面的图我们可以看出,三个线程是属于同一类型的线程,它们都是在执行买票这个操作。那么java中又是如何处理不同种类线程间的通信问题的呢?那么就涉及到java多线程间的等待唤醒机制。等待唤醒机制1. 需求:实现生产线与消费线之间的

2021-01-21 11:19:00 142

原创 Java中多线程的死锁现象及演示一个死锁案例

文章目录前言一、什么是死锁二、死锁案例1.引入库2.读入数据总结前言Java多线程中死锁是一个重要内容,所以对于死锁的理解非常重要。在面试过程中,经常会让程序员写一个死锁案例。一、什么是死锁我们举一个生活中的例子,中国人和外国人一起吃饭,中国人使用筷子外国人使用叉子才能顺利吃完饭。那么什么是死锁现象呢?就是外国人拿着筷子,中国人拿着叉子,两个人谁都不给谁,那么,就会一直僵持,谁都吃不了饭。死锁现象出现后,不会出现异常,也不会出现提示,只是所有的线程都会出现阻塞状态,无法继续。二、死锁案例

2021-01-20 21:21:15 469 3

原创 Java中解决线程安全问题的三种方法:同步代码块、同步方法、Lock锁

文章目录前言一、同步代码块解决线程安全问题二、同步方法解决线程安全问题三、Lock锁解决线程安全问题前言我们首先使用学习到的多线程知识,模拟电影票售票过程,引出线程安全问题。 /* 需求:某电影院目前正在上映贺岁大片,共有100张票,而它有3个售票窗口 请设计一个程序模拟该电影院售票过程。 使用Thread类实现 分析: 1.三个窗口相当于三个线程 2.100张票属于共享资源 */代码1:采用多线程实现方式1实现publ

2021-01-20 16:44:35 418 3

原创 Java中多线程实现的三种方式及线程的常用操作

文章目录前言一、进程、线程、并行、并发二、多线程的实现方式1.多线程实现的方式一2.多线程实现的方式二3.多线程实现的方式三三、多线程中常用操作1.获取和设置线程对象名称2.线程调度及获取和设置线程优先级3.线程休眠4.守护线程5.中断线程6.线程礼让前言首先我们来看下面一段代码,了解单线程的概念。public class 多线程的引入 { public static void main(String[] args) { System.out.println("程序开始执行了

2021-01-20 12:46:55 305 2

原创 10-Java内部类——成员内部类、局部内部类、匿名内部类

文章目录一.内部类1.成员内部类2.局部内部类3.匿名内部类一.内部类把类定义在其他类的内部,这个类就叫做内部类。根据内部类,定义位置的不同,又分为成员内部类和局部内部类成员内部类:内部类位于外部类的成员位置局部内部类:内部类位于外部类的成员方法内举例:class A{ //成员内部类:位于外部类的成员位置 class B{ } public void show(){ //局部内部类,位于外部类成员方法内 class C{

2020-12-03 19:44:00 192

原创 09-Java中的抽象类、接口及两者之间的区别

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录一.抽象类概念抽象类的特点举例:抽象类的简单定义抽象类的成员特点注意抽象类的成员方法特性:举例:抽象类如何实例化思考练习二. 接口概念接口的特点接口成员的特点举例:接口的简单定义及实现三. 抽象类和接口的区别一.抽象类概念在Java中,一个没有方法体的方法应该定义为抽象方法,而类中如果有抽象方法,该类必须定义为抽象类。抽象类的特点抽象类和抽象方法必须使用abstract关键字修饰抽象类格式:abstract c

2020-12-03 11:38:14 95

原创 Java关键字——this、super、static、final

文章目录一、this关键字1.this概述2.this使用在构造方法中二、static关键字1.static概述2.静态变量3.静态代码块4.静态方法一、this关键字1.this概述this是java语言中的一个关键字,下图为this的内存图。this可以看做一个变量,它是一个引用,存储在Java虚拟机堆内存的对象内部,this这个引用保存了当前对象的内存地址指向自身,任何一个堆内存的java对象都有一个this,也就是说创建100个java对象则分别对应100this。this指当前对象,

2020-11-27 15:05:40 280 1

原创 08-Java继承、多态、super关键字、final关键字

1.继承​ 当多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继承那个类即可。继承的好处:代码的复用代码的扩展让类与类之间产生了关系,可以创建更为特殊的类型。继承的弊端:类的耦合性增强了。开发的原则:高内聚,低耦合。耦合:类与类的关系内聚:就是自己完成某件事情的能力继承的语法格式:【修饰符】 class 子类 extends 父类{ }继承的特点:子类会继承父类的所有的非私有的属性和方法子

2020-11-26 17:41:12 276

原创 07-Java封装、构造方法、static关键字

1.封装封装是面向对象编程的核心思想。将对象的属性和行为封装起来,其载体就是类。类通常对客户隐藏其实现细节,这就是封装的思想。封装的好处:隐藏实现细节,方便使用者使用安全,可以控制可见范围封装通过权限修饰符来实现:修饰符本类本包其他包的子类任意位置private√×××缺省√√××protected√√√×public√√√√权限修饰符可以修饰:类(外部类):public 和缺省属性:4种方法:4种构

2020-11-26 17:39:40 122 1

原创 Java中构造方法、空指针异常现象、基本数据类型和引用数据类型作为参数传递的区别

文章目录一、构造方法Constructor二、空指针异常三、方法调用时参数的传递问题一、构造方法Constructor构造方法的概念构造方法是类中特殊的方法,通过调用构造方法来完成对象的创建,以及对象属性的初始化操作。构造方法的定义【修饰符列表】构造方法名(形式参数列表){构造方法体;}构造方法名和类名一致构造方法用来创建对象,以及完成属性初始化操作构造方法返回值类型不需要写,连void也不能写构造方法的返回值类型实际上是当前类的类型一个类中可以定义多个构造方法,这些构造方法构

2020-11-26 10:47:42 976 1

原创 Java中对象创建和使用的深层次解析

文章目录一、JVM是如何管理内存的?1. 程序计数器2. Java虚拟机栈3. 本地方法栈4. 堆区5. 方法区二、简述创建对象时JVM虚拟机的内存变化总结一、JVM是如何管理内存的?  下图为java虚拟机内存管理图:1. 程序计数器概念:可以看做当前线程所执行的字节码的行号指示器特点:线程私有内存2. Java虚拟机栈概念:描述的是java方法执行的内存模型。(每个方法在执行的时候都会创建一个栈帧,用于存储局部变量表,操作栈帧,动态链接,方法出口等信息。每个方法从调用直至

2020-11-25 21:56:05 152

原创 Java中方法执行过程中内存的变化

文章目录前言一、JVM内存结构二、分析程序的内存变化总结前言  想要真正掌握Java,内存分析是必要的,一旦掌握内存的分配,在程序没有运行之前我们就可以很精准的预测到程序的执行结果。这篇文章要讲解的是程序的内存,例如:代码片段被存储在什么位置?方法调用的时候,在哪开辟内存空间等等。一、JVM内存结构下图是JVM标准内存结构图。  目前,我们只关注“栈”和“方法区”。  Java程序开始执行的时候先通过类加载器子系统找到硬盘上的字节码(.class文件),然后将其加载到J

2020-11-25 16:43:42 461

原创 Java中数据类型转换——基本数据类型转换的6大规则

文章目录前言一、基本数据类型转换二、习题前言通过学习Java中的四类八种数据类型,我们知道一个数据给一个变量赋值的时候存在三种不同的情况:类型一致,不存在类型转换自动类型转换,小容量自动赋值给大容量强制类型转换,大容量赋值给小容量,可能导致的的结果就是精度损失一、基本数据类型转换  基本数据类型之间是存在固定的转换规则的,现总结出以下6条规则。无论是哪个程序,将这6个规则套用进去,问题迎刃而解。八种基本数据类型中,除了boolean类型不能转换,剩下七种类型之间都可以进行转换

2020-11-25 10:37:14 2770

原创 Java的数据类型——基本数据类型和引用数据类型

Java中数据类型  首先我们要明白数据类型的作用就是决定程序运行阶段该给变量分配多大的内存空间。  java中的数据类型包括两大类,一是基本数据类型,二是引用数据类型。1. 基本数据类型  基本数据类型又包括四类八种,如下图所示:  八大基本数据类型的详细信息:2. 基本数据类型和引用数据类型的区别基本数据类型,这类的数据变量在声明之后,java就会立刻分配给她们内存空间引用数据类型,类似于c\c++的指针,它以特殊的方式指向对象实体(具体的值)。注意:“==”作用在引

2020-11-23 16:53:12 138

原创 Java中变量的分类——局部变量、实例变量、静态变量

    Java中变量根据声明位置不同可以分为:局部变量和成员变量,成员变量如果使用static关键字修饰又称为静态成员变量,如果没有static修饰又称为实例成员变量。下面分别阐述一下他们三者之间联系和区别。public class Variable { //静态成员变量(静态变量) static int x=10; //实例成员变量(成员变量) int y=20; public static void main(String[] args) {

2020-11-23 15:14:54 511

原创 Java中制表符\t的使用

Java制表符的使用/* 制表符的使用:\t * 如果\t在行的开头,是4个空格 * 前面的输出内容位数为4的倍数,\t将输出4个空格 * 前面输出内容位数不足4的倍数,\t将补足4位 */public class demo { public static void main(String[] args) { System.out.println("\t"+"第一行");

2020-11-23 11:57:34 7846

空空如也

空空如也

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

TA关注的人

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