自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

姜皓的博客

胸藏文墨怀若谷,腹有诗书气自华

原创 重学数据结构与算法(04)--如何完成线性表结构下的增删查
原力计划

如何完成线性表结构下的增删查?1)什么是数据结构?2)什么是线性表3)线性表对于数据的增删查处理4)线性表案例5)总结 数据在代码中被处理和加工的最小单位动作是增、删、查。它们是深入学习数据结构的根基,通过“增删查”的操作,我们可以选择更合适的数据结构来解决实际工作中遇到的问题。例如,几个客户端分...

2020-06-02 20:40:03 17 0

原创 mysql学习(01)-- SQL排序/聚合函数/分组
原力计划

SQL排序/聚合函数/分组1)排序2)聚合函数3)分组 1)排序 排序:order by 字段 asc : 从小到大排序,即升序 desc:从大到小排序,即降序 建表语句:students.sql SET FOREIGN_KEY_CHECKS=0; -- ------------------...

2020-05-28 21:14:47 21 0

原创 重学数据结构与算法(03)--增删查:掌握数据处理的基本操作
原力计划

掌握数据处理的基本操作1)代码对数据的处理2)数据处理的基本操作3)数据操作与数据结构的案例4)总结 要想灵活使用数据结构,需要先弄清楚数据在代码中被处理、加工的最小单位动作,也就是数据结构的基本操作,有了这些动作之后,就可以基于此去选择更合适的数据结构了,下面介绍数据处理的基本操作。 1)代码对...

2020-05-26 12:24:28 163 0

原创 JavaWeb学习(15)--Filter快速入门
原力计划

Filter快速入门1)Filter(过滤器)简介概念快速入门2)Filter(过滤器)细节web.xml配置过滤器执行流程过滤器生命周期方法过滤器配置详解过滤器链(配置多个过滤器) 1)Filter(过滤器)简介 概念 web中的过滤器:当访问服务器的资源时,过滤器可以将请求拦截下来,完成一些特...

2020-05-23 16:36:33 41 0

原创 JavaWeb学习(14)--EL表达式和JSTL

EL表达式和JSTL1)EL表达式2)EL的使用EL运算符 1)EL表达式 概念:Expression Language 表达式语言 作用:替换和简化jsp页面中java代码的编写 语法:${表达式} 注意:jsp默认支持el表达式的,如果要忽略el表达式: 1)设置jsp中page指令中:is...

2020-05-22 21:04:24 34 0

原创 重学数据结构与算法(02)--将时间复杂度转换成空间复杂度
原力计划

将时间复杂度转换成空间复杂度1)时间昂贵、空间廉价2)数据结构连接时空3)降低复杂度的案例例一例二4)总结 面试的过程中,常常会遇到考察手写代码的场景,通常面试官会追问:“这段代码的时间复杂度或者空间复杂度,是否还有降低的可能性?”如果没有经过专门的学习或训练,应聘者只能在各种漫无目的的尝试中去寻...

2020-05-22 11:05:23 314 0

原创 重学数据结构与算法(01)--复杂度:如何衡量程序运行的效率?
原力计划

复杂度:如何衡量程序运行的效率?1)复杂度是什么2)计算复杂度3)时间复杂度与代码结构的关系4)降低时间复杂度的必要性5)总结 当你在大数据环境中开发代码时,你一定遇到过程序执行好几个小时、甚至好几天的情况,或者是执行过程中电脑几乎死机的情况: 如果这个效率低下的系统是离线的,那么它会让我们的开...

2020-05-22 10:18:33 252 0

原创 JavaWeb学习(13)--JSP快速入门
原力计划

JSP快速入门1)JSP快速入门指令注释内置对象2)MVC:开发模式jsp演变历史MVC 1)JSP快速入门 指令 作用:用于配置JSP页面,导入资源文件; 格式:<%@ 指令名称 属性名1=属性值1 属性名2=属性值2 … %>; 分类: 1)page:配置JSP页面 conten...

2020-05-20 18:19:27 40 0

原创 JavaWeb学习(12)--Session快速入门
原力计划

Session快速入门1)Session快速入门2)Session细节2.1 当客户端关闭后,服务器不关闭,两次获取session是否为同一个?2.2 客户端不关闭,服务器关闭后,两次获取的session是同一个吗?2.3 session什么时候被销毁? 1)Session快速入门 代码:http...

2020-05-19 14:46:34 51 0

原创 JavaWeb学习(11)--JSP改造Cookie案例
原力计划

JSP改造Cookie案例1)JSP入门学习2)JSP改造Cookie案例 1)JSP入门学习 代码:https://gitee.com/jianghaok/Login.git 概念:Java Server Pages,java服务器端页面; 可以理解为:一个特殊的页面,其中既可以指定定义html...

2020-05-19 13:51:15 40 0

原创 JavaWeb学习(10)--Cookie快速入门
原力计划

Cookie快速入门1)会话技术2)Cookie入门3)Cookie细节4)Cookie的特点和作用5)Cookie案例 1)会话技术 代码:https://gitee.com/jianghaok/Login.git 会话:一次会话中包含多次请求和响应; 一次会话:浏览器第一次给服务器资源发送请...

2020-05-18 21:12:30 47 0

原创 JavaWeb学习(09)--Response对象与ServletContext对象
原力计划

HTTP&&Response对象&&ServletContext对象1)HTTP协议2)Response对象功能3)案例完成重定向特点路径写法服务器输出字符数据到浏览器服务器输出字节数据到浏览器验证码4)ServletContext对象5)文件下载案例需求分析步骤问...

2020-05-16 17:05:10 39 0

原创 JavaWeb学习(08)--用户登录案例实战

用户登录案例实战1)用户登录案例需求2)开发步骤分析 1)用户登录案例需求 1.编写login.html登录页面 :username & password 两个输入框 2.使用Druid数据库连接池技术,操作mysql,day14数据库中user表 3.使用JdbcTemplate技术封装...

2020-05-06 20:52:23 45 0

转载 搞懂left join、join、right join的区别

搞懂 left join、join、right join的区别1)概述2)left join3)right join4)join 1)概述 就是left join、join、right join和inner join等等各种join的区别。网上搜,最常见的就是一张图解图,如下: 真的是一张图道清...

2020-05-05 18:09:13 74 0

原创 JavaWeb学习(07)--HTTP&Request学习笔记
原力计划

HTTP&Request学习笔记1)HTTP 概念2)Request [请求消息]数据格式请求行请求头请求空行请求体(正文)3)Request [请求消息] 原理4)Request [请求消息] 体系结构 1)HTTP 概念 概念:Hyper Text Transfer Protocol...

2020-05-04 17:57:16 60 0

原创 JavaWeb学习(06)--Servlet学习笔记
原力计划

Servlet学习笔记1)Servlet 概念2)Servlet 快速入门3)Servlet 执行原理4)Servlet 执行原理5)Servlet3.0 注解配置6)Servlet的体系结构7)Servlet的相关配置 1)Servlet 概念 概念:运行在服务器端的小程序 Servlet就是...

2020-05-04 16:30:25 38 0

原创 JavaWeb学习(05)--Tomcat学习笔记
原力计划

Tomcat&Servlet学习笔记1)web相关概念回顾2)web服务器软件:3) Servlet: server applet4) IDEA与tomcat的相关配置 1)web相关概念回顾 1. 软件架构 1. C/S:客户端/服务器端 2. B/S:浏览器/服务器端 2. 资...

2020-05-04 14:12:17 73 0

原创 Java算法(02) -- 最小栈的实现
原力计划

最小栈的实现1、题目分析方法一【错误】方法二【正确】2、代码实现 1、题目分析 实现一个栈,该栈带有出栈(pop)、入栈(push)、取最小元素(getMin)3 个方法,保证这3个方法的时间复杂度都是O(1)。 方法一【错误】 方法流程: 创建一个整型变量min,用来存储栈中的最小元素;当第...

2020-04-08 19:46:59 62 0

原创 Java算法(01) -- 如何判断链表有环
原力计划

如何判断链表有环1、题目分析方法一方法二方法三【双指针】2、代码实现 1、题目分析 有一个单向链表,链表中有可能出现“环”,就像下图这样。如何用程序来判断该链表是否为有环链表呢? 方法一 方法流程: 从头节点开始,依次遍历单链表中的每一个节点; 每遍历一个新节点,就从头检查新节点之前的所有节点...

2020-04-07 19:56:31 47 0

原创 图解排序算法(06) -- 桶排序
原力计划

桶排序1、初识桶排序2、桶排序代码实现时间复杂度分析3、排序总结 1、初识桶排序 每一个桶(bucket)代表一个区间范围,里面可以承载一个或多个元素,假设有一个非整数数列如下: 4.5,0.84,3.25,2.18,0.5 桶排序的工作原理: 第1步,创建桶,并确定每一个桶的区间范围 具体需...

2020-04-02 20:49:36 51 0

原创 图解排序算法(05) -- 计数排序
原力计划

计数排序1、初识计数排序2、计数排序的代码实现3、计数排序优化4、计数排序优化代码实现5、计数排序局限性 1、初识计数排序 【假设数组中有20个随机整数,取值范围为0~10,要求用最快的速度把这20个整数从小到大进行排序】 考虑到这些整数只能够在0、1、2、3、4、5、6、7、8、9、10这11个...

2020-03-30 20:35:31 57 0

原创 图解排序算法(04) -- 堆排序
原力计划

堆排序1、初识堆排序2、堆排序代码实现3、堆排序总结 1、初识堆排序 二叉堆的特性: 最大堆的堆顶是整个堆中的最大元素 最小堆的堆顶是整个堆中的最小元素 以最大堆为例,如果删除一个最大堆的堆顶(并不是完全删除,而是跟末尾的点交换位置),经过自我调整,第2大的元素就会被交换上来,成为最大堆的新堆...

2020-03-30 00:05:27 42 0

原创 图解排序算法(03) -- 彻底搞懂快速排序
原力计划

快速排序1、初识快速排序使用分治法的优势2、基准元素的选择3、元素的交换双边循环法(递归)双边循环法代码实现单边循环法(递归)单边循环法代码实现 1、初识快速排序 同冒泡排序一样,快速排序也属于交换排序,通过元素之间的比较和交换位置来达到排序的目的。 不同的是: 冒泡排序在每一轮中只把1个元素冒...

2020-03-28 16:02:41 114 1

原创 图解排序算法(02) -- 鸡尾酒排序
原力计划

鸡尾酒排序1、简述鸡尾酒排序2、鸡尾酒排序代码实现3、鸡尾酒排序优缺点 1、简述鸡尾酒排序 在上一篇博文《你不知道的冒泡排序》中介绍了冒泡排序,而【鸡尾酒排序】可以看做是【升级版的冒泡排序】,相比较而言鸡尾酒排序的元素比较和交换过程是双向的! 例: 8个数字组成一个无序数列{2,3,4,5,6,7...

2020-03-26 20:14:53 55 0

原创 图解排序算法(01) -- 你不知道的冒泡排序
原力计划

冒泡排序1、初识冒泡排序2、冒泡排序的代码实现3、冒泡排序的初步优化4、冒泡排序的进阶优化 1、初识冒泡排序 冒泡排序的英文是bubble sort,它是一种基础的交换排序;冒泡排序每一个元素都可以根据自身大小,一点一点地向着数组的一侧移动。 例: 有8个数字组成一个无序数列{5,8,6,3,9,...

2020-03-25 09:49:40 68 0

原创 图解数据结构(09) -- 优先队列
原力计划

优先队列1、优先队列的特点2、优先队列的实现3、优先队列的代码实现 1、优先队列的特点 队列 的特点是 先进先出, 入队列,将新元素置于队尾: 出队列,队头元素最先被移出: 优先队列不再遵循先入先出的原则,而是分为两种情况: 最大优先队列,无论入队顺序如何,都是当前最大的元素优先出队 最小优...

2020-03-24 08:56:59 72 0

原创 图解数据结构(08) -- 二叉堆
原力计划

二叉堆1、初识二叉堆2、二叉堆的自我调整【1】插入节点【2】删除节点【3】构建二叉堆3、二叉堆的代码实现 1、初识二叉堆 二叉堆本质上是一种完全二叉树,它分为两个类型: 最大堆 最大堆的任何一个父节点的值,都大于或等于它左、右孩子节点的值,如下图所示: 最小堆 最小堆的任何一个父节点的值,都小...

2020-03-16 21:03:04 70 1

原创 图解数据结构(07) -- 广度优先遍历

广度优先遍历 如果说深度优先遍历是在一个方向上“一头扎到底”,那么广度优先遍历则恰恰相反:先在各个方向上各走出1步,再在各个方向上走出第2步、第3步……一直到各个方向全部走完。 下面让我们通过二叉树的层序遍历,来看一 看广度优先是怎么回事: 【层序遍历,就是二叉树按照从根节点到叶子节点的层次关系,...

2020-03-16 20:12:54 53 0

原创 图解数据结构(06) -- 二叉树的遍历

二叉树的遍历1、二叉树的遍历二叉树遍历分类2、深度优先遍历【1】前序遍历【2】中序遍历【3】后序遍历 1、二叉树的遍历 在计算机程序中,遍历本身是一个线性操作,所以遍历同样具有线性结构的数组或链表是一件轻而易举的事情,如下图: 二叉树则是典型的非线性数据结构,遍历时需要把非线性关联的节点转化成一...

2020-01-14 21:07:43 77 0

原创 图解数据结构(05) -- 二叉树

二叉树1、什么是树2、什么是二叉树满二叉树完全二叉树二叉树的物理存储结构链式存储结构数组存储结构3、二叉树的应用【1】查找【2】 维持相对顺序 1、什么是树 在数据结构中,树的定义如下: 树(tree)是 n(n≥0)个节点的有限集,当n=0时,称为空树,在任意一个非 空树中,有如下特点: 有且...

2020-01-02 19:55:18 66 0

原创 图解数据结构(04) -- 哈希表

哈希表1、什么是哈希表2、哈希函数哈希函数的实现3、哈希表的读写操作写操作(put)读操作(get)扩容(resize)4、总结 1、什么是哈希表 哈希表(hash table),这种数据结构提供了键(Key)和值 (Value)的映射关系;只要给出一个Key,就可以高效查找到它所匹配的Value...

2019-12-30 20:18:33 128 0

原创 图解数据结构(04) --队列

队列1、什么是队列2、队列的基本操作【1】入队【2】出队循环队列循环队列代码实现3、队列的应用双端队列优先队列 1、什么是队列 假如公路上有一条单行隧道,所有通过隧道的车辆只允许从隧道入口驶入,从隧道出口驶出,不允许逆行,如下图: 因此,要想让车辆驶出隧道,只能按照它们驶入隧道的顺序,先驶入的车...

2019-12-30 00:15:37 48 0

原创 图解数据结构(03) -- 栈

栈1、什么是栈2、栈的基本操作【1】入栈【2】出栈3、栈的应用 1、什么是栈 假如有一个又细又长的圆筒,圆筒一端封闭,另一端开口;往圆筒里放入乒乓球,先放入的靠近圆筒底部,后放入的靠近圆筒入口,如下图: 如果要想取出这些乒乓球,则只能按照和放入顺序相反的顺序来取,先取出后放入的,再取出先放入的,...

2019-12-29 23:37:37 53 0

原创 图解数据结构(02) -- 链表

链表1、什么是链表单向链表双向链表链表的存储方式2、链表的基本操作【1】查找节点【2】更新节点【3】插入节点【4】删除元素3、数组VS链表 1、什么是链表 单向链表 链表(linkedlist)是一种在物理上非连续、非顺序的数据结构,由若干节点(node)所组成;单向链表的每一个节点又包含两部分,...

2019-12-28 16:02:57 36 0

原创 图解数据结构(01) -- 数组

数组 1、什么是数组 数组对应的英文是 array,是有限个相同类型的变量所组成的有序集合,数组中 的每一个变量被称为元素。数组是最为简单、最为常用的数据结构;以整型数组为例,数组的存储形式如下图所示: 数组中的每一个元素有着自己的下标,只不过这个下标从0开始,一直到数组长度-1;数组的另一个特...

2019-12-26 20:41:37 40 0

原创 1)初识算法

什么是算法 在计算机领域里,算法是一系列程序指令,用于处理特定的运算和逻辑问题 衡量算法优劣的主要标准是时间复杂度和空间复杂度 什么是数据结构 数据结构是数据的组织、管理和存储格式,其使用目的是为了高效地访问和修 改数据。 数据结构包含数组、链表这样的线性数据结构,也包含树、图这样的复杂数据 结...

2019-12-24 19:43:03 32 0

原创 Docker备份迁移

Docker备份迁移 6.1 容器保存为镜像 可以通过以下命令将容器保存为镜像 docker commit 容器名称 myredis 此镜像的内容就是当前容器的内容,接下来可以用此镜像再次运行新的容器 例: docker commit me_redis myredis 6.2 镜像备份 将镜...

2019-11-28 18:44:56 43 0

原创 Docker 应用部署

应用部署 5.1 MySQL部署 5.1.1 拉取MySQL镜像 拉取命令: docker pull mysql 查看命令: docker images 5.1.2 创建MySQL容器 查看容器: docker ps -a 新建容器: docker run -di --name=me_m...

2019-11-28 18:43:19 43 0

原创 Docker容器操作

Docker容器操作 4.1 查看容器 查看正在运行容器: docker ps 查看所有的容器(启动过的历史容器): docker ps -a 查看最后一次运行的容器: docker ps -l 查看停止的容器: docker ps -f status=exited 例: ...

2019-11-28 18:37:51 131 0

原创 Docker镜像操作

Docker镜像操作 3.1 Docker镜像定义 Docker镜像是由文件系统叠加而成(是一种文件的存储形式),最底端是一个文件引导系统,即bootfs,这很像典型的Linux/Unix的引导文件系统。Docker用户几乎永远不会和引导系统有什么交互。实际上,当一个容器启动后,它将会被移动到内存...

2019-11-28 18:31:24 42 0

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