自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Servlet第一个程序

文章目录Servlet是什么?Hello_Servlet 程序1. 创建项目2. 引入依赖3. 创建目录结构4. 编写代码5. 打包程序6. 部署程序7. 验证程序Smart Tomcat = 5+6Servlet是什么?Servlet是一种实现动态页面的技术。是Tomcat提供给程序员的一组API,使程序员更高效的开发wepapp。Hello_Servlet 程序1. 创建项目创建项目需要用到IDEA,但由于我们写的代码不是在本地上上跑,我们想让它在服务器上运行,所以需要对该程序进行打包部

2022-03-09 17:35:37 1132 5

原创 Tomcat服务器使用详解

文章目录Tomcat是什么下载安装目录结构启动服务器访问Tomcat部署静态页面部署单个HTML部署HTML到单独目录中Tomcat是什么Tomcat 是基于Java 实现的一个开源免费, 也是被广泛使用的 HTTP 服务器,用来处理网络传输过来的一些请求。简单来说Tomcat就是一个web服务器,我们开发网站主要基于Tomcat进行二次开发,实现其他用户也可网络访问的功能(同一局域网下)。下载安装前提条件:Tomcat自身是基于Java实现的,所以运行Tomcat的前提,需要先装好JDK~

2022-03-05 17:31:15 1709 6

原创 HTTPS加密过程详解

文章目录HTTPS协议加密的相关概念HTTPS工作过程对称加密非对称加密中间人攻击引入证书机制HTTPS协议HTTPS协议也是应用层的一种网络协议,与HTPP协议报文格式都一样,仅在HTTP协议的基础上,引入了加密层。由于HTTP协议内容的明文传输,导致其传输过程十分不安全,所以加密的HTTPS可以简单理解为HTTP的安全版。明文传输时非常不安全的操作,可能会面临运营商劫持篡改信息以及黑客劫持窃取用户隐私等隐患。HTTPS就是在HTTP的基础上进行了加密操作,进一步保障用户信息的安全性。加密的相

2022-03-03 17:48:57 5135 11

原创 HTTP响应协议格式详解

文章目录响应协议格式1. 首行状态码 + 状态码描述2.响应协议格式1. 首行首行 = 版本号 + 状态码 + 状态码描述状态码 + 状态码描述状态码用于表示该次请求的结果如何~状态码大类状态码状态码单元格单元格单元格单元格2....

2022-03-02 15:03:59 1799 4

原创 HTTP请求协议格式详解

文章目录一、请求协议格式1.1 首行URL方法GET方法POST方法版本号1.2 请求头1.3 空行1.4 正文二、响应协议格式1.1 首行版本号状态码状态码描述1.2 响应头1.3 空行1.4 正文一、请求协议格式HTTP请求协议由首行、请求头(header)、空行、正文(body)组成。通过空行来区别header和body,body可有可无,若body存在,则在header中会定义一个content-length属性来标识body的长度。1.1 首行首行 = 方法 + URL + 版本号URL

2022-02-28 20:45:57 14055 2

原创 HTTP协议概述

文章目录HTTP是什么?HTTP功能HTTP工作过程请求报文格式响应报文格式HTTP是什么?超文本传输协议(Hypertext Transfer Protocol,简称HTTP协议)是OSI七层模型中的应用层协议,也是互联网上因公用最为广泛的一种网络协议。我们知道,在Web开发中,要想开发一个完整的网页必要同时具有前端和后端。一般Web的客户端 / 用户端就是浏览器(PC或移动设备),进行网页资源的请求,服务器(后端)响应之后返回数据,再进行后续操作。简单理解为客户端就是面向程序员的操作,比如程

2022-02-28 11:35:48 2328 4

原创 HTML+CSS+JS 简单应用小案例

猜数字<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title&gt

2022-02-22 16:02:09 2963

原创 [JavaScript] 常见WebAPI用法

文章目录一、WebAPI是什么?二、事件2.1 概念2.2 事件三要素三、获取元素四、操作元素4.1 获取/修改元素内容4.1.1 innerText4.1.2 innerHTML4.2 获取/修改元素属性4.3 获取/修改表单元素属性4.3.1 value:input标签的值4.4 获取/修改样式属性4.4.1 行内样式操作4.4.2 类名样式操作五、操作节点5.1 新增节点5.1.1 创建元素节点5.1.2 插入节点到 DOM 树中5.2 删除节点一、WebAPI是什么?上一篇讲JS基础语

2022-02-21 14:55:12 1000 13

原创 [JavaScrpt] JS基础语法

文章目录JS是什么?JS组成一、基础语法1.alert2. 变量3. 基本数据类型二、引入方式1. 内嵌式2. 行内式3. 外部式JS是什么?首先需要解释的是,尽管名字相似,但JavaScript和Java没有任何关系;唯一的相似之处在于有大部分相同的语法,所以如果有Java的语法基础,上手JS会比较容易;JS组成ES:JavaScript语法;DOM:页面文档对象,对页面中的元素进行操作;BOM:浏览器对象模型,对浏览器窗口进行操作;一、基础语法1.alertalert用于弹出一

2022-02-20 17:51:24 855 2

原创 【CSS】常见选择器用法

文章目录引入方式1. 行内样式/内联样式2. 内部样式3. 外部样式新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入引入方式1. 行内样式/内联样式通过style属性,来制定某个标签的样式2. 内部样式3. 外

2022-02-15 23:04:47 735 6

原创 Java_toLowercase()方法判断字符串相等

通过toLowercase()方法判断字符串相等,需要考虑该方法底层返回的字符串形式,我们通过一个例子来理解toLowerCase()方法将字符串的所有字符转换为小写字母public static void main(String[] args) { String s1 = "hello"; String s2 = s1.toLowerCase(); System.out.println(s1 == s2); //true Strin

2022-01-24 14:18:32 1896 12

原创 HTML常见标签

文章目录HTML概念HTML常见标签一、基本标签1.1 标题标签1.2 段落标签1.3 换行标签1.4 格式化标签二、图片标签2.1 相关属性2.2 相关路径2.3 例子三、超链接标签3.1 相关属性3.2 链接形式四、表格标签4.1 相关属性4.2 例子五、列表标签5.1 有序列表5.2 无序列表5.3 自定义列表六、表单标签6.1 input标签1> 相关属性2> 文本框3> 密码框4> 单选框5> 复选框6> 普通按钮6.2 label标签6.3 select标签6

2022-01-23 18:52:36 818 8

原创 格雷编码构造

这里写自定义目录标题定义构造方法例题定义在一组数的编码中,若任意两个相邻的代码只有一位二进制数不同,则称这种编码为格雷编码。其中,n位数的格雷编码序列共有2^n个。构造方法格雷编码的计算公式:G(i) = i ^ (i / 2)n=3G(0)G(1)G(2)G(3)G(4)G(5)G(6)G(7)G(i) = i ^ (i / 2)00010=001000=00121=010001=01131=011001=01042=100010=11052=10

2022-01-08 13:57:16 863 1

原创 快速幂详解 递归+迭代

文章目录位运算迭代递归计算系统提供的Math.pow(x,n)方法只能处理较小的数据,而快速幂算法是用于解决大数之间的幂次方运算问题,其时间复杂度为O(log2N),与传统方法使用b个a相乘的O(N)复杂度相比有了较大的提高。位运算迭代算法思想:假设欲求a^b,将指数转化为二进制表示,利用位运算&和>>判别指数的每一位。变量base用来倍增a,如果当前位是1则乘入result,最后返回result。public static int pow(int n, int m){

2021-12-05 16:41:43 632 2

原创 Java String类内存分配

文章目录1. 创建字符串2. 字符串比较2.1 equals()2.2 equalsIgnoreCase()2.3 compareTo()2. 字符串常量池2.1 共享设计模式2.2 内存结构分析2.3 手动入池3. 字符串与字符转换4. 字符串不可变1. 创建字符串//1. 直接赋值String str1 = "Hello world";//2. new对象String str2 = new String("Hello World");//3. 根据字符数组内容构造char[] array

2021-11-27 16:00:51 1218 1

原创 super关键字用法

文章目录super关键字的三种用法:1. super.成员变量2. super.成员方法3. super():调用父类中的构造方法3.1.1 子类的构造方法会默认先调用父类无参数构造方法super()3.1.2 子类的构造方法中调用父类有参数构造方法super(id)super关键字作用:在子类内部调用父类对象基础语法:1.在类的继承中,当子类继承了父类, 在构造子类的时候,一定要先帮助父类进行构造;2.super()必须在第一行,以保证在执行任何动作前,对象已经完成了初始化;首先需要明确的是

2021-11-25 15:37:43 3887 1

原创 JAVA数组的四种拷贝方式

文章目录深拷贝与浅拷贝的区别1. for循环进行拷贝拷贝数值类型拷贝引用类型2. copyof / copyOfRange拷贝数值类型拷贝引用类型3. arraycopy拷贝数值类型拷贝引用类型4. clone拷贝数值类型拷贝引用类型5. 总结深拷贝与浅拷贝的区别假设现在有原数组A以及拷贝后的数组B,若是改变A中的某一个值,B数组随之相应的发生变化的拷贝方式称为浅拷贝,反之B数组不受影响,则称为深拷贝;简单总结一下两者的概念:深拷贝:拷贝后,修改原数组,不会影响到新数组;浅拷贝:拷贝后,修改原数

2021-11-20 17:52:48 816

原创 回溯算法DFS应用

文章目录一、算法思想二、算法模板三、经典例题一、算法思想回溯算法实际上是将多叉树结构的问题,采用类似枚举的方式,把问题的所有可能性全部罗列出来。当在搜索的过程中发现不满足给定条件的选项,就将该分支去掉,这个操作通常被称为“剪枝”,再回退到上一步(回溯),尝试别的路径,直到最后找完所有路径。二、算法模板将问题转化为多叉树结构三、经典例题...

2021-11-13 14:29:23 1325 3

原创 [Github错误]OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 10054Failed to connect to github.

提交Github代码时可能会出现以下报错信息:OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 10054Failed to connect to github可以尝试以下几种解决方案,通常情况下第一种就能解决问题:git_bash 执行 git config http.sslVerify "false" 命令git_bash 执行 git config --global --unset http.proxy 命令或git config --global -

2021-11-04 09:36:35 5124 1

原创 result.add(list)和result.add(new ArrayList<Integer>(list))的深浅拷贝问题

文章目录问题概述深浅拷贝语法代码测试问题概述最近在做Leetcode中一道二叉树算法题 [二叉树中和为某一值的路径] 时遇到了一个小问题,result是符合条件的结果集,list是所有路径和的待选结果集,当判定list中存储的待选结果符合条件,准备存入result时我直接使用的result.add(list);而没有考虑深浅拷贝的问题,导致后续回溯剪枝操作造成result集错误。深浅拷贝语法result.add(list); 属于浅拷贝,当添加一个list后,如果list改变,result值也会随之

2021-11-01 10:57:08 991

原创 [MySQL]insert 三种插入语句

文章目录1.insert into2.replace into3.insert ignore into已创建成功的数据表 b 数据信息如下:filedtypenullkey…idint(10)yes-…namevarchar(20)yes-…user_idint(15)nopri…预先插入一条记录insert into b values(1,'张三',10);下面的操作都在此基础上进行1.insert into插入主键重

2021-10-22 17:54:27 859

原创 [MySQL]创建数据表的三种方式

文章目录1.常规创建2.复制表格3.将tableA的部分数据拿来创建tableB1.常规创建create table <tableB>( # <字段> <类型> id int(10), name varchar(20));2.复制表格# create table 目标表 like 源表create table <tableB> like <tableA>3.将tableA的部分数据拿来创建tableBcr

2021-10-22 17:39:32 1481

原创 [MySQL]数据集面试题

【同程艺龙2020届校招笔试题】有员工表、部门表和薪资表,根据查询条件写出对应的sql【同程艺龙2020届校招笔试题】现在有员工表、部门表和薪资表。部门表depart的字段有depart_id, name;员工表 staff 的字段有 staff_id, name, age, depart_id;薪资表salary 的字段有 salary_id,staff_id,salary,month。问题1):求每个部门’2016-09’月份的部门薪水总额;涉及分组查询(每个部门),聚合查询(薪水总额),多.

2021-10-03 17:21:44 495 1

原创 import torchvision错误提示ImportError: DLL load failed: 找不到指定的模块。

这周在跑一个深度学习的小项目要import torchvision工具包,torchvision是pytorch中专门用来处理图像的库。可是引入的时候会报下面的错。ImportError: DLL load failed: 找不到指定的模块。我查了一下工具包列表,发现torchvision确实下载了,有可能版本问题,所以卸载重下。解决方法卸载torchvisionpip uninstall torchvision重新下安装另一个版本的torchvisionpip3 install torchv

2021-09-24 10:11:17 1732 6

原创 Chrome浏览器设置中文系统语言

打开谷歌浏览器,点击如图所示右上角符号,选择Settings;新页面下拉,点击Advanced;Language选择Chinese,选择使用该语言显示Chrome浏览器;如果列表中没有Chinese,就选择A

2021-09-23 23:12:52 3109

原创 Java判断字符串是否包含某字符

文章目录一、contains二、indexOf三、lastIndexOf四、indexOf 与 lastIndexOf 结合一、containspublic boolean contains(CharSequence s);描述:判断一个子字符串是否存在;当且仅当字符串包含char值序列时返回结果为true。此方法不适合查询单个字符的情况。public static void main(String[] args) {public static void main(String[] args)

2021-09-22 10:53:08 20522 1

原创 [MySQL]如何使用JDBC编程?

文章目录安装教程

2021-09-22 00:18:08 461 5

原创 [MySQL]子查询与合并查询

文章目录子查询in关键字exists关键字合并查询union关键字union all关键字子查询子查询类似于套娃问题,就是用上一层查询的结果作为下一层查询的条件,进行最终的查询,有时候可能会套上很多层,难度不大,但是不太好想,在实际开发中可读性不高,效率比较低,所以尽量不使用子查询为好。Q:如何查询“不想毕业”同学的同班同学?先查询出“不想毕业”同学的班级号class_id再查询哪些同学的class_id与它相同。这是两个简单的查询语句,那么我们把它结合起来就是子查询。先执行第二行的

2021-09-20 17:06:52 524 1

原创 [MySQL]多表查询 / 联合查询

文章目录笛卡尔积内连接外连接左外连接右外连接在前面的小节中我们有总结单表基础查询,但是在实际应用中,我们要查的数据很可能不在同一个表中,而是来自于不同的表,这时就需要使用多表查询操作。多表查询顾名思义是针对多张表进行操作的。下面的案例都是依据已经建好4张表来做操作,分别是classes表,student表,course表以及score表。笛卡尔积笛卡尔积指的是多表查询得到的结果。作为多表查询中一个核心操作,多表查询操作是将两个表每一项排列组合,得到一个大表的过程。将student表和

2021-09-20 15:55:24 1847 2

原创 [MySQL]聚合查询

文章目录1 聚合函数1.1 count1.2 sum1.3 avg1.4 max1.5 min2 分组查询2.1 group by2.2 having聚合查询是更复杂的查询语句,将若干行给合并起来,1 聚合函数count函数可以查询任何类型的数据,但是其他函数只能查询数字,因为它要做基本的数学计算,不是数字就没有意义。聚合函数说明count返回查询到的数据的数量sum返回查询到的数据的总和,不是数字没有意义avg返回查询到的数据的 平均值,不是数字没有意

2021-09-20 10:53:30 2774 1

原创 [MySQL]数据库设计

文章目录数据库设计1. 实体2. 关系2.1 一对一关系2.2 一对多关系2.3 多对多关系Q:某项目中的数据库如何设计的?A:不是让你回答设计的过程,而是注重考察表的结构。回答该项目具体有几张表,每个表是做什么的,每张表中有哪些列,分别都是什么类型,代表了什么含义,有什么约束等等。数据库设计我们采用一个案例来进行说明。假设现在需要设计一个教务系统来管理里很多的学生和班级。1. 实体实体:需求场景中的核心概念 / 重要名词。对于教务系统来说,实体包含学生和班级。2. 关系关系:指

2021-09-14 13:03:29 2177 3

原创 深度学习环境搭建anaconda+pycharm+pytorch

本文将详细介绍一下如何搭建深度学习所需要的实验环境.这个框架分为以下六个模块,显卡简单理解这个就是我们常说的GPU,显卡的功能是一个专门做矩阵运算的部件,用于显示方面的运算,现在神经网络中绝大操作都是对矩阵的运算,所以我们当然可以将显卡的矩阵运算功能应用起来,来提高计算速度.驱动通常指NVIDIA Driver,其实它就是一个驱动软件,而前面的显卡就是硬件cudacuda是一个扩展包,能够使得使用GPU进行通用计算变得简单和优雅,它本质上是一套指令集,我们通过这个指令集来使用显卡的矩阵运算操

2021-09-12 10:00:52 8234 5

原创 MySQL约束类型

文章目录1. not null有无约束对比2. unique有无约束对比3. default4. primary key5. foreign key6. check在向数据表中插入数据时,有的时候对于插入的数据是有特殊要求的,比如学生成绩不能为空,学生学号不能重复等等,这个时候约束就派上用场了。约束类型是通过对表的行或列的数据做出限制,来确保表的数据的完整性、唯一性。这一章我们主要介绍六个常见的MySQL约束类型。1. not null保证指定不能存储NULL值,如果插入NULL则插入失败。有

2021-09-06 14:28:53 256 1

原创 数据结构之队列

文章目录1 概念2 底层继承3 结构定义4 基本方法1 概念只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出FIFO(FirstIn First Out)入队列:进行插入操作的一端称为队尾(Tail/Rear)出队列:进行删除操作的一端称为队头(Head/Front)2 底层继承如下图所示,Java中的Queue接口的底层是一个双向链表LinkedList。3 结构定义结构定义class Node { private int val;

2021-08-28 23:40:45 83

原创 数据结构之栈

文章目录1 概念2 底层继承3 顺序栈4 链栈1 概念一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。出栈:栈的删除操作叫做出栈。出数据在栈顶。2 底层继承如下图所示,Java中的Stack继承于Vctor,但是Vector在Java已经过时了,我们现在用的是栈,他的底层是一个数组,所以由此

2021-08-28 23:28:43 104

原创 解决办法:git错误 error: failed to push some refs to ‘https://github.com/...

问题Github上传代码出现以下问题原因由于远程库与本地库的不一致 引起的,hint: You may want to first integrate the remote changeshint: (e.g., ‘git pull …’) before pushing again,也就是把远程库同步到本地库即可。解决方案使用命令行git pull origin master --allow-unrelated-histories出现上图pull执行成功后,可以成功执行gi.

2021-08-28 01:30:51 2169

原创 平衡二叉树AVL

文章目录一、 相关概念1.1 AVL定义1.2 平衡因子1.3 AVL的作用二、 失衡调整2.1 LL型2.2 RR型2.3 LR型2.4 RL型一、 相关概念1.1 AVL定义平衡二叉树又称为AVL树,它或者是颗空树,或者是具有下列性质的二叉排序树:左右两个子树的高度差值不超过1;它的左右子树也是一颗平衡二叉树;1.2 平衡因子某节点的左子树与右子树的高度差即为该节点的平衡因子BF。按照定义我们可以得到,AVL上所有结点的平衡因子只可能是 -1,0 或 1。下面这张图中标出了每一

2021-08-21 00:20:38 799 6

原创 Java列表List的比较

boolean equals(Object o)直接调用List的equals()方法。此方法用来比较指定的对象与列表是否相等,当且仅当指定的对象也是一个列表,两个列表有相同的大小,并且两个列表中的所有相应的元素对应相等时才返回true,否则返回false。如果说所定义的两个列表以相同的顺序包含相同的元素,那么他们是相等的。list1.equals(list2)若两个列表相等 ,返回true,否则返回false;同时满足以下三个条件,把么两个List对象就是相等的:方法接受的实参也是一个Lis

2021-08-19 23:43:34 2288 1

原创 二叉搜索树BST总结

文章目录1. 概念2. 基本操作2.1 查找2.2 插入2.3 删除3. 性能分析1. 概念二叉搜索树又称二叉排序树,一颗BST应该满足以下特点:若它的左子树不为空,则左子树上所有节点的值都小于根节点的值;若它的右子树不为空,则右子树上所有节点的值都大于根节点的值;上图就是一颗二叉搜索树,对它进行中序遍历后得到的结果是[1,2,3,4,5,6,7,8,9],我们不难发现它是一个递增的序列,注意这是二叉搜索树的一个重要性质:BST中序遍历的结果呈增序排列。在很多涉及BST的问题中都要先考

2021-08-19 17:56:44 273 4

原创 二叉树基础

文章目录一、 树相关概念1. 重要概念2. 了解概念3. 树的表示形式二、 二叉树1. 概念2. 二叉树的性质3. 满二叉树与完全二叉树4. 二叉树的存储5. 二叉树的遍历5.1 递归遍历5.2 非递归遍历6. 二叉树的基本操作一、 树相关概念树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。1. 重要概念以下是树中比较重要的一些概念,需要重点掌握,但无需死记硬背,照着下面的图理解即可;节点的度:一个节点含有的子树的个数;树的度:树中最大的节点的度;

2021-08-18 01:08:06 231 4

空空如也

空空如也

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

TA关注的人

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