自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 用springboot实现旅游后台管理项目

用springboot实现旅游后台管理项目概述步骤效果条件查询添加更新单个删除,批量删除展示缩略图、大图、小图上传路线图更新路线图代码概述本项目分为用户管理模块、旅游公司模块、分类管理模块、旅游路线模块,可以实现图片的上传。技术栈前端:bootstrap、jquery、thymeleaf、fileinput插件后端:springboot、mybatis、mybatis plus数据表的关系步骤创建项目maven的java项目(而不是java web),pom.xml引入依赖创建sprin

2020-12-31 17:13:34 968

原创 用Spring Cloud实现前后端分离的记账项目

用Spring Cloud实现前后端分离的记账项目概述遇到的问题及解决方法前后端分离的项目怎么实现跨页面的数据回显?layui表单的提交按钮,每点击一次,实际会提交两次效果条件搜索删除添加更新分页代码概述这是一个前后端分离的记账系统,分为前端部分和后端部分,后端返回Json数据,前端通过Ajax调用后端接口来接收数据。后端分为4个部分:Eureka注册中心:其他微服务都要注册到eureka(端口号:10086)Spring Cloud Gateway网关:有路由功能,将特定格式的请求(以/api

2020-12-30 16:19:21 682

原创 【Data structure&Algorithm】二叉树相关题目

二叉树相关题目236. 二叉树的最近公共祖先236. 二叉树的最近公共祖先题目二叉树的递归框架:void traverse(TreeNode root) { // 前序遍历 traverse(root.left) // 中序遍历 traverse(root.right) // 后序遍历}套入该题目给的函数: public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNo

2020-12-23 16:27:23 202

原创 【Data structure&Algorithm】做题笔记-二叉搜索树

二叉搜索树知识储备230-二叉搜索树中第K小的元素538-BST 转化累加树98-验证二叉搜索树700-二叉搜索树中的搜索701-二叉搜索树中的插入操作总结知识储备二叉搜索树(Binary Search Tree-BST)的定义:1、对于 BST 的每一个节点 node,左子树节点的值都比 node 的值要小,右子树节点的值都比 node 的值大。2、对于 BST 的每一个节点 node,它的左侧子树和右侧子树都是 BST。(这意味着BTS中没有重复值)重要性质:BST 的中序遍历结果是有序的

2020-12-22 16:53:38 133

原创 Docker应用部署:MySQL,Tomcat,Nginx,Redis

Docker应用部署概述MySQLTomcatNginxRedis概述在vmware的centos7上安装了docker,通过docker来部署几个应用,记录一下部署过程,方便以后查看。端口映射外部机器是无法直接访问到容器的。当容器中的网络服务需要被外部机器访问时,可以将容器中提供服务的端口映射到宿主机的端口上。外部机器访问宿主机的端口,从而间接访问容器的服务。如图所示,容器的3306端口映射到宿主机的3307端口,外部机器访问宿主机的3307端口就能访问容器。数据卷数据卷是宿主机中的一个目

2020-12-22 14:23:45 214

原创 【Data structure & Algorithm】做题笔记-二叉树

二叉树方法论226-翻转二叉树116-填充每个节点的下一个右侧节点指针方法论二叉树的遍历方式是递归,写递归算法的关键是要明确函数的「定义」是什么,然后相信这个定义,利用这个定义推导最终结果,绝不要跳入递归的细节。换句话说,先搞清楚当前 root 节点该做什么,然后根据函数定义递归调用子节点,递归调用会让孩子节点做相同的事情。把题目的要求细化成每个节点(或每几个节点)需要做的事情。如,计算一棵二叉树共有几个节点:// 定义:count(root) 返回以 root 为根的树有多少节点int coun

2020-12-18 16:36:32 147

原创 Spring Cloud Config + Spring Cloud Bus + RabbitMQ 实现配置文件实时更新

Spring Cloud Config + Spring Cloud Bus + RabbitMQ 实现配置文件实时更新概述RabbitMQ的安装与启动改造配置中心微服务config-serverpom.xml依赖包引入配置文件application.yml改造用户微服务bill-servicepom.xml依赖包引入配置文件bootstrap.ymlController测试总结概述demo结构父工程:springcloud-billmanager子工程:用户微服务:bill-servic

2020-12-15 16:17:30 348

原创 Spring Cloud知识梳理

Spring Cloud知识梳理前言架构图Eureka注册中心负载均衡RibbonHystrixFeignSpring Cloud Gateway网关Spring Cloud Config分布式配置中心Spring Cloud Bus服务总线前言刚刚自学完了Spring Cloud,知识点很多,觉得有点杂乱,接下来要写个Spring Cloud的小项目,所以现在来梳理一下知识点,主要说明各个组件是干啥的。可能会有表述不当的地方,欢迎指正。架构图Eureka注册中心实现服务的自动注册、发现、状态监

2020-12-12 13:54:43 99

原创 【踩坑记录】Thyemleaf找不到html文件(报错:Template might not exist or might not be accessible)

问题概述今天做一个Springboot+Thyemleaf的项目,我把几个.html文件放在了resources/templates/bill文件夹下:在controller里的方法,return了一个页面,代码如下: @RequestMapping("/bill/list") public String list(Bill b, Model model){ //获取所有记账类型,并存储在model中供前端使用 List<BillType>

2020-11-29 15:09:42 484

原创 【学习笔记】MongoDB

【学习笔记】mongoDB1.MongoDB介绍1.MongoDB介绍MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝

2020-11-14 15:47:58 324

原创 【学习笔记】Redis

【教程】redis1.NoSql介绍2.Redis介绍3.Linux下安装与启动Redis安装启动客户端访问redis关闭redis可视化工具:Redis Desktop Manager4.Redis数据结构及其对应的常用指令String字符串数字的递增与递减HashListSetZsetHyperLogLog其他指令5.Redis的多数据库6.Redis的事务管理7.Redis发布订阅模式8.通过Java代码连接Redis: JedisJedis连接池访问Redis9.Redis 持久化存储方式RDB持久

2020-11-13 14:26:52 324

原创 【踩坑记录】(报错:找不到程序包和符号)2020.1版本的idea,使用Maven时本地仓库路径的配置

创建了一个Maven Java项目,在pom.xml里引入了Jedis,External Libraries里也显示了Jedis,代码中import了redis.clients.jedis.Jedis,代码也没有任何飘红。运行代码时,报错:找不到程序包和符号Jedis。查了会资料,终于看到了这篇文章:idea2020.1踩坑:找不到程序包和符号(冷门解决)解决办法:idea里配置Maven,Maven所使用的settings.xml(在下图中倒数第二栏User settings file)中不要配置

2020-11-12 18:40:24 358

原创 【教程】Maven

这里写自定义目录标题Maven的2个功能Maven的安装与配置Maven的2个功能1、依赖管理-jar包管理2、项目构建-代码编译、打包、部署Maven依赖管理的原理:Maven的安装与配置官网下载安装包:http://maven.apache.org/download.cgi我下载的是:apache-maven-3.6.3-bin.zip注意点1:我使用的idea版本是2020.1,要注意idea版本和maven版本的兼容性,下载maven之前请查询你的idea版本对应哪个版本的m

2020-11-11 20:19:21 242

原创 【踩坑记录】记第一次部署项目到腾讯云服务器

【踩坑记录】记第一次部署项目到腾讯云服务器1.前言2.踩坑记录踩坑1:服务器上的jdk、tomcat安装哪个版本?踩坑2:代码中的URI使用绝对路径还是相对路径?经验1:发生错误时,请查看tomcat的运行日志5.部署流程5.1 服务器安装Java的jdk5.2 服务器安装tomcat5.3 服务器安装MySQL5.4 将项目打包成war包,并上传到webapps文件夹下5.5 使通过服务器访问项目的url不带项目名5.6 数据库连接池配置文件druid.properties的修改1.前言任务:已知腾讯

2020-11-09 18:35:03 713

原创 【阿里云短信服务SMS】使用阿里云发送短信

使用阿里云发送短信前期准备工作1.添加签名2.添加短信模板3.创建子用户,得到密钥:AccessKeyId和 AccessKeySecret4.给子用户添加权限5.收集好之前步骤中的4个关键参数编程引入相关Jar包代码测试前期准备工作前期准备工作在阿里云官网完成。阿里云官网的试用中心,有100条短信的免费试用,记得薅羊毛。进入阿里云的短信服务官网:阿里云短信服务,点击管理控制台,进入到控制台,在控制台里点击“国内消息”。1.添加签名什么是签名?下方短信中【】里的内容就是签名。【快递e栈】您的取

2020-10-27 17:43:49 2211

原创 AJAX+JSON【练习】实现简易的点赞功能

AJAX+JSON【练习】实现简易的点赞功能1.前言2.AJAX实现前后端数据传递3.JSON与Java对象之间的转换4.数据库相关配置5.jQuery的JS文件,lib中的Jar包6.代码project目录beandaoservicewebClickThumbsupServletSelectServlet7.测试1.前言学习了AJAX之后,为了练练手,用AJAX和JSON实现了简易的点赞功能:数据库中的数据表存储着每篇微博的点赞数,用户点赞1次,对应点赞数就会+1,取消点赞,对应点赞数就会-1,用户不

2020-10-21 19:24:16 1374 3

原创 MVC设计模式+Servlet+Filter【练习】搭建 MVC 架构,实现数据的增删改查

搭建 MVC 架构,实现数据的增删改查前言代码测试前言之前学习了MVC 设计模式、HTML、JSP(EL表达式、JSTL)、JDBC、MySql、Servlet、Filter等,在这个例子中加以巩固练习一下。虽然是一个简单的demo,但由于是初学Java web,写完了代码之后,觉得有必要整理一下思路并记录下来。值得记录的有两个方面:1.如何搭建MVC架构 2.各JSP页面是怎么通过URI、Servlet关联起来的。该例子实现了数据库中表的增删改查,具体的效果见测试一节。代码测试...

2020-10-21 14:36:17 918 1

原创 Java【教程】多表关系

Java【教程】多表关系1.一对多关系,多对一关系表实体类(bean)实体类通过属性来建立两表关系方式1:一方存多方的集合(体现了一对多关系)方式2:多方存一方的对象(体现了多对一关系)2.一对一关系表实体类(bean)实体类通过属性来建立两表关系Dao层的接口Dao层的实现类测试类之前学习了JDBC,请见之前写的一篇教程:Java【教程】Java数据库连接:JDBC在这篇教程里,我们学会了用Java代码操作单表。在学数据库的时候,我们知道多个表之间可能是存在关系的,可以分为:一对多、多对一、一对一和

2020-10-19 13:14:00 1325

原创 根据前序遍历序列、中序遍历序列,重建二叉树

根据前序遍历序列、中序遍历序列,重建二叉树题目知识储备总体思路几点思考代码运行结果画图辅助理解:在数组里划分左子树部分、右子树部分题目来自剑指Offer的第7题。知识储备要完成这道题,对于二叉树的前序遍历和后序遍历一定要理解到位,下方链接是我之前写的文章,请在做该题目之前阅读完以下文章。二叉树前序、中序、后序遍历总体思路二叉树的前序遍历顺序是:根节点、左子树、右子树,每个子树的遍历顺序同样满足前序遍历顺序。二叉树的中序遍历顺序是:左子树、根节点、右子树,每个子树的遍历顺序同样满足中序遍历顺

2020-10-06 17:14:58 1145

原创 【数据结构与算法】二叉树的前序、中序、后序遍历

二叉树的前序、中序、后序遍历概念注意人工得出遍历顺序前序(根-左子树-右子树)中序(左子树-根-右子树)后序(左子树-右子树-根)总结编程实现遍历(递归)概念前序:考查到一个节点后,即刻输出该节点的值(访问该节点),并继续遍历其左右子树。(根-左子树-右子树)。中序:考查到一个节点后,将其暂存,遍历完左子树后,再输出该节点的值(访问该节点),然后遍历右子树。(左子树-根-右子树)后序:考查到一个节点后,将其暂存,遍历完左右子树后,再输出该节点的值(访问该节点)。(左子树-右子树-根)注意3

2020-10-06 12:45:24 475

原创 Java【常见问题】判断String里的各字符是什么类型的字符(数字/字母/空格等)?

判断String里的各字符是什么类型的字符(数字/字母/空格等)?题目方法1方法2代码题目输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。方法1首先,如何得到String里的各个字符?可以通过String的charAt(int index)方法,传入参数:索引index,就可以得到字符串的第index位字符。其次,怎么判断该字符的类别?UTF-8编码表是兼容ASCII编码表的,我们可以查阅ASCII码表,可以看到每个字符都对应着一串8位二进制(所谓编码,就是让二进制串与字符一一

2020-10-02 17:05:15 2835

原创 Java【常见问题】List如何实现排序?

List如何实现排序?方法1假设我们给Student类排序,按照学生的年级(1年级~6年级)来排序,年级从低到高。方法1Student类,实现Comparable<>接口,重写compareTo方法。compareTo方法,规定了比较规则,传入的参数是另外一个Student对象,返回值等于0,表示当前对象=参数对象;返回值>0,表示当前对象>参数对象;返回值<0,表示当前对象<参数对象。return this.getGrade()-o.getGrade()

2020-10-02 13:50:12 243

原创 Java【教程】Java数据库连接:JDBC

Java数据库连接:JDBC简介使用步骤JDBC中常用的类型与方法1. DriverManager-驱动管理器2. Connection-数据库连接对象3. Statement-SQL执行对象4.ResultSet : 结果集对象 (指的是一个select语句的查询结果)案例:创建表,增删改查案例1:创建表案例2:增案例3:删案例4:改案例5:查工厂方法模式与DAO工厂方法设计模式 ( 静态工厂方法模式 )DAO案例数据传递对象(Bean对象)——UserDAO接口——BaseUserDao实现DAO接

2020-09-28 20:32:15 525 1

原创 JavaScript+CSS+html【练习题】用jQuery实现轮播图2.0

JavaScript+CSS+html【练习题】用jQuery实现轮播图2.0题目代码实现效果展示之前,用JavaScript实现了轮播图1.0:JS实现轮播图1.0学习了jQuery之后,我们用jQuery实现轮播图2.0。jQuery实际上是JS代码(大概1万多行JS代码),将许多常见的JS原生操作封装在了一个个函数里,让我们写代码更加简洁高效。注意:要先将jQuery文件放置在代码所在文件夹里,并在html文件的head部分引入jQuery文件,这样才能使用jQuery。关于jQuery的

2020-09-22 12:17:05 384

原创 JavaScript+CSS+html【练习题】JS正则表达式验证表单

JavaScript+CSS+html【练习题】JS正则表达式验证表单题目JS正则表达式使用正则的3种方式修饰符方括号元字符量词RegExp 对象属性RegExp 对象方法支持正则表达式的 String 对象的方法代码实现效果展示题目程序猿小明需要为公司员工的个人信息录入编写前端代码,效果如下图。需求:要保证信息录入格式正确无遗漏(输入有误要给到对应提示)。使用 HTML+CSS 布局出如上图所示页面效果;嵌入 JS 代码,添加表单提交和表单项失去焦点等事件处理;在事件处理中按照表单项后面提示的

2020-09-20 10:55:23 1373 2

原创 javaScript+CSS+html【练习题】随机点名器

javaScript+CSS+html【练习题】随机点名器题目代码实现效果展示题目为了活跃班级气氛,在班级上张老师想通过一个随机点名器来随机抽取学员回答问题,故按排你来使用 HTML+JavaScript 来实现如下图所示的随机点名器,第一张图是随机点名器的初始页面,当点击开始按钮时,JS 程序中提前准备好人员(数组)名单会随机变换跳动显示,开始按钮变成了停止按钮,如第二张图显示,当点击停止按钮时,名字的随机变换跳动停止,显示出的名字即为随机点击出来的姓名,如第三张图所示。代码实现<!DOC

2020-09-18 21:17:22 4378 2

原创 javaScript+CSS+html【练习题】轮播图(踩坑记录:JS循环绑定事件)

javaScript+CSS+html【练习题】轮播图题目代码实现效果展示踩坑记录:JS循环绑定事件题目完成京东官网首页中轮播图效果。点击进入:京东首页具体要求:要求每隔 3 秒图片会自动切换一张,以此类推按照给定图片数量轮番切换播放。当鼠标移入时会自动暂停播放,鼠标移出则会继续。如下图两边有两个左右方向的按钮,点击则会实现手动切换商品图片。左下角会按照图片数量显示对应的灰色圆点,点击会显示对应的图片,并圆点加亮显示。代码实现<!DOCTYPE html><html

2020-09-18 21:05:58 577 1

转载 Java 垃圾回收

Java 垃圾回收概述对象已死?引用计数算法可达性分析算法再谈引用生存还是死亡?回收方法区垃圾收集算法分代收集理论1.弱分代假说(Weak Generational Hypothesis)2.强分代假说(Strong Generational Hypothesis)3.跨代引用假说(Intergenerational Reference Hypothesis)本文摘自:《深入理解Java虚拟机:JVM高级特性与最佳实践(第三版)》第三章 垃圾收集器与内存分配策略概述垃圾收集需要完成的三件事情:·哪

2020-09-16 14:20:56 293

原创 【前端】网页布局

网页布局前言网页布局介绍3种传统PC端网页布局方式1.DIV+CSS布局(最常用)案例2.HTML5语义化标签布局案例3.响应式布局案例前言之前已经学了:HTML与HTML5常用标签、CSS与CSS3美化页面,已经可以做出来网页的一些局部效果,比如导航栏等。要做出一个完整的网页,还需要学习网页布局。网页布局介绍点击查看:网页布局的几种方式固定布局流式布局(Liquid Layout)栅格化布局自适应布局(Adaptive Layout)响应式布局弹性布局(rem/em布局)伸缩布局

2020-09-14 14:19:43 2227

原创 Java【教程】数据格式:XML与JSON

Java【教程】数据格式:XML与JSONXML简介语法格式例子Java解析XML的方式1. SAX解析2.DOM解析3.JDOM解析4.DOM4J解析(最好,用的最多)DOM4J解析XML步骤文档对象 Document的常用方法元素对象 Element的常用方法解析本地文件案例解析网络文件案例XPATH解析XMLJava生成XMLXStream:将Java对象转换成XML字符串JSON简介对象格式数组格式JSON解析(重要,以后用的很多)阿里Jar包:FastJson谷歌Jar包:Gson学习目标:

2020-09-09 21:36:33 459

原创 Java【教程】网络编程

Java【教程】网络编程计算机网络常识什么是计算机网络什么是计算机的IP地址什么是网站的域名什么是计算机的端口号什么是计算机之间的通信协议网络编程程序的分类OSI七层网络模型编写TCP协议的C/S程序ServerSocketSocketDemo1:客户端连接服务器端Demo2:服务器端和客户端互发消息Demo3:在服务器中加入多线程InetAddress 描述IP地址的类UDP 协议(数据报) 程序(仅了解,几乎不会用)URL 类 /统一资源定位符/网址(了解)计算机网络常识什么是计算机网络分布在不同

2020-09-07 14:17:27 322

原创 Java【教程】多线程

Java【教程】多线程进程与线程同步与异步并发与并行创建线程的2种方式方式1:继承Thread方式2:实现Runnable(更好)优势Thread类线程的中断守护线程线程安全线程不安全问题解决方法1:同步代码块解决方法2:同步方法多个同步方法/同步代码块共用一把锁显示锁(公平锁,非公平锁)线程死锁多线程通信线程的六种状态多线程是面试重点。进程与线程进程是指一个内存中运行的应用程序,每个进程都有一个独立的内存空间。线程线程实际上是在进程基础之上的进一步划分,一个进程启动之后,里面的若干执行路径又

2020-09-06 21:55:06 201

原创 Java Calendar类 练习题:为孙工找到当月休息日

Java Calendar 练习题:为孙工找到当月休息日题目难点分析怎么进行格式化输出,达到图中的展示效果?题目某公司软件开发工程师孙工,作息规律为上三天班,休息一天,经常不确定休息日是否周末,为此,请你开发一个程序,当孙工输入年及月,以日历方式显示对应月份的休息日,用中括号进行标记.同时,统计出本月有几天休息,轮到周末休息有几天.(注:首次休息日是 2020 年 2 月 2 日)难点分析怎么进行格式化输出,达到图中的展示效果?制表符:\t目前网络上对于\t的解释都是:\t是补全当前字符串

2020-09-02 21:05:39 859 1

原创 Java 哈希值、哈希表是什么?equals和hashCode方法的关系?为何用自定义对象作为HashMap的键是危险的?

Java 哈希值、哈希表是什么?为何用自定义对象作为HashMap的键是危险的?哈希值与hashCode方法hashCode方法用来计算哈希值哈希值的作用如何计算哈希值Java中的哈希表结构equals和hashCode方法的关系根据哈希值无法判断两个对象是否相等重写equals方法时,必须要重写hashCode方法危险!自定义对象作为HashMap的键哈希值与hashCode方法hashCode方法用来计算哈希值Java的Object类中有一个方法用来计算并返回哈希值:public native

2020-09-02 17:42:55 390

原创 Java【常见问题】得到一个整数的各位数字(多种解法)

Java【常见问题】得到一个整数的各位数字(多种解法)遇到几个题都需要得到一个整数的各位数字,现记录一下,有3种解法:1.末位取余法,2.整除法,3.转字符串法。创建了3个方法,均传入一个整型数,返回存有各位数字的数组。方法名分别为:getDigits1,getDigits2,getDigits3,分别对应3种解法。文章目录Java【常见问题】得到一个整数的各位数字(多种解法)...

2020-08-29 11:00:54 5341 1

原创 Java【常见问题】生成指定范围里的随机数

Java【常见问题】生成指定范围里的随机数最近碰到两个问题(双色球、剪刀石头布)都需要系统生成指定范围里的随机数,这里记录一下。实现一个方法,输入范围的上限和下限,返回随机数,见以下代码中的randomNumber方法。代码很简单,创建Random类的实例,然后调用了nextInt(int bound)方法,生成[0,bound)范围里的随机数,注意:包括0,不包括bound。如果传入的参数:max=5,min=1,random.nextInt(5-1+1)+1,即random.nextInt(5)+1

2020-08-29 10:20:55 213

原创 Java入门必做题:用星星*打印图形(练习循环结构)包教包会!

Java入门必做题:用星星*打印图形(包教包会!)前言打印图形方法概述打印长方形如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入前言每当入门一种编程语言,我们往往都会碰到:给你一个图形,让你编程实现打印出该图形。这种打印图形的题,很适合新手用来入门/练手,通过练习该类型

2020-08-23 15:10:19 4823 3

空空如也

空空如也

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

TA关注的人

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