自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Redis缓存穿透和缓存雪崩以及解决方法

Redis缓存穿透和缓存雪崩以及解决方法Redis缓存穿透以及解决方法一、缓存穿透1.当用户查询的key在redis中不存在,对应的id在数据库也不存在,此时被非法用户进行攻击,大量的请求会直接打在db上,造成宕机,从而影响整个系统,这种现象称之为缓存穿透。2.解决方案一:把空的数据也缓存起来,比如空字符串,空对象,空数组或list,代码如下if (list != null && list.size() > 0) { redisOper...

2021-03-03 16:11:54 249 1

原创 解决zookeeper占用8080端口

解决zookeeper占用8080端口Jeseva2020-08-04 19:41:45310收藏分类专栏:zk占用端口8080端口zookeeper占用端口文章标签:java后端centos版权安装zookeeper后, 发现端口8080被占用, 分享如何解决.zookeeper部署后, 3.5以后的版本, 会自动占用8080端口. 需要修改配置文件.1 2 a,查看端口占用 netstat -nap|grep 8080 b,查看端...

2020-11-18 16:12:45 9513

原创 springboot拦截器的使用

创建目录interceptor——MyInterceptor.java文件,该文件实现HandlerInterceptor 接口MyInterceptor.java文件实现HandlerInterceptor接口代码如下:代码案例:(已验证cookie为案列) import org.springframework.beans.factory.annotation.Value;import org.springframework.web.servlet.HandlerInt...

2020-10-30 14:42:21 147

原创 Java 接口与抽象方法

Java中的接口在Java 9+版本中,接口的内容可以有:成员变量其实是常量,格式:[public] [static] [final] 数据类型 常量名称 = 数据值;注意:常量必须进行赋值,而且一旦赋值不能改变。常量名称完全大写,用下划线进行分隔。接口中最重要的就是抽象方法,格式:[public] [abstract] 返回值类型 方法名称(参数列表);注意:实现类必须覆盖重写接口所有的抽象方法,除非实现类是抽象类。从Java 8开始,接口里允许定义默认方法,格式:[pu

2020-10-28 14:30:24 362

原创 Java继承,super,this,抽象方法

Java继承继承:就是子类继承父类的属性和行为,使得子类对象具有与父类相同的属性、相同的行为。子类可以直接 访问父类中的非私有的属性和行为好处提高代码的复用性。类与类之间产生了关系,是多态的前提。继承的格式通过 extends 关键字,可以声明一个子类继承另外一个父类,定义格式如下先创建一个父类package cn.itcast.day09.demo02;public class Fu { int numFu = 10; int num = 100;

2020-10-28 14:30:00 274 1

原创 转发重定向的语法

1.重定向代码:response.sendRedirect("/test/error1");请求转发代码:request.getRequestDispatcher("/test/error1").forward(request, response);forward(),转发的时候携带请求头和响应头的参数需要。重定向是告诉浏览器重新发送一个新的请求。转发是服务器内部 通过视图解析器 转发到指定的页面中。...

2020-10-28 14:17:00 561

原创 yml配置文件

YAML Ain't Markup Language 这是一个递归写法 ;YAMLA Markup Language:是一个标记语言 YAMLisn't Markup Language:不是一个标记语言;标记语言: 我们以前用的配置文件,大多都使用 xxxx.xml 文件 ;YAML : 是一种以数据为中心的配置文件, 比json,xml 等更适合做配置文件举个栗子:以 修改端口为例 : yml : server: port: 8081...

2020-10-27 20:01:08 1498

原创 springboot 整合 阿里Druid数据源 连接mysql数据库

引入依赖:(注意 : 根据实际情况来 有些依赖文件中 已经依赖了 mybatis-spring-boot-starter.jar(似乎是需要JDBC的驱动包的依赖 , 具体可以自行查一下) 比如:pagehelper-spring-boot-starter.jar 依赖 具体的可以参考源码) <!--数据库驱动--> <dependency> <groupId>mysql</groupId> ...

2020-10-27 15:20:36 361 1

原创 关系型数据库和非关系型数据库的区别

关系型数据库和非关系型数据库的区别待会总结,先自我学习先一 关系型数据库 有我们只需要 记住常用的几个:mysql /oracle/sql server/sqlite 几个即可我还有一篇文章 介绍了 关系型数据库和非关系型数据的数据结构 –红黑树-二叉树-B树1.首先了解一下 什么是关系型数据库?关系型数据库最典型的数据结构是表,由二维表及其之间的联系所组成的一个数据组织。优点:1、易于维护:都是使用表结构,格式一致;2、使用方便:SQL语言通用,可用于复杂查询;3、复杂操作:支持SQL

2020-10-23 09:41:11 99

原创 Cookie和Session是什么?它们的区别是什么?

什么是Cookie?Cookie实际上是一小段的文本信息。客户端请求服务器,如果服务器需要记录该用户状态,就使用response向客户端浏览器颁发一个Cookie。客户端会把Cookie保存起来。当浏览器再请求该网站时,浏览器把请求的网址连同该Cookie一同提交给服务器。服务器检查该Cookie,以此来辨认用户状态。服务器还可以根据需要修改Cookie的内容。信息保存的时间可以根据需要设置.如果没有设置Cookie失效日期,它们仅保存到关闭浏览器程序为止. 如果将Cookie对象的

2020-10-23 09:33:03 102

原创 关闭浏览器后再次访问session 保证是同一个sessionid

关闭浏览器后再次访问session 保证是同一个sessionid我们知道在正常情况下,发送http请求时,消息头中会自动携带cookie信息,这其中就会包括SESSIONID信息,所以只要我们没有关闭浏览器,消息头中都会自动携带这个信息,以供服务器访问相应的session。但是如果我把浏览器关闭了呢?这样的话,我该如何再次访问相应的session呢?我们可以这样做,来实现这个需求(结合cookie)//在servletA中设置cookiepublic void doGet(HttpSe.

2020-10-22 14:52:15 304

原创 Session 记录登陆状态

package com.java.contorller;import org.springframework.http.HttpRequest;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RestController;import javax.servlet.http.HttpServletRequest;import java.

2020-10-22 14:14:43 353

原创 Mybatis 查询一个对象包含多个子对象 (List 包含 List)

Mybatis 查询一个对象包含多个子对象 (List 包含 List)功能:查询一个数据列表 且每个数据中包含各自的子数据集合使用场景:1. 当需要查询多订单数据且同时订单数据中需要包含订单明细数据时 2. 当需要查询多评论数据且同时评论数据中需要包含评论回复数据时功能效果概述图:1. Dao层定义package com.ljw.dao;import java.util.List;import com.ljw.vo.Order;...

2020-10-16 17:04:19 2471 1

原创 Postman上传json数据

第一步:第二步:

2020-10-16 15:59:56 237

原创 HashMap和HashSet的区别

HashMap和HashSet的区别是Java面试中最常被问到的问题。如果没有涉及到Collection框架以及多线程的面试,可以说是不完整。而Collection框架的问题不涉及到HashSet和HashMap,也可以说是不完整。HashMap和HashSet都是collection框架的一部分,它们让我们能够使用对象的集合。collection框架有自己的接口和实现,主要分为Set接口,List接口和Queue接口。它们有各自的特点,Set的集合里不允许对象有重复的值,List允许有重复,它对集合中的对

2020-10-15 17:12:42 97

原创 mybatis的动态SQL

动态 SQL动态 SQL 是 MyBatis 的强大特性之一。如果你使用过 JDBC 或其它类似的框架,你应该能理解根据不同条件拼接 SQL 语句有多痛苦,例如拼接时要确保不能忘记添加必要的空格,还要注意去掉列表最后一个列名的逗号。利用动态 SQL,可以彻底摆脱这种痛苦。使用动态 SQL 并非一件易事,但借助可用于任何 SQL 映射语句中的强大的动态 SQL 语言,MyBatis 显著地提升了这一特性的易用性。如果你之前用过 JSTL 或任何基于类 XML 语言的文本处理器,你对动态 SQL .

2020-10-15 10:19:57 216

原创 springboot使用mybatis注解版查询数据库

contorller→service(创建接口user表的业务逻辑接口)→(创建一个实现类实现userservice)→mapper(创建接口连接数据库)→配置YML文件连接数据库1.创建项目导入依赖2.创建yml配置文件spring: datasource: username: root password: root# 端口后面接数据库名 url: jdbc:mysql://127.0.0.1:3306/springboot_jdbc?useUnico

2020-10-14 09:33:09 1528 3

原创 项目打包成war包

如何SpringBoot项目改为外置Tomcat启动正常情况下,我们开发 SpringBoot 项目,由于内置了Tomcat,所以项目可以直接启动,部署到服务器的时候,直接打成 jar 包,就可以运行了 (使用内置 Tomcat 的话,可以在 application.yml 中进行相关配置)有时我们会需要打包成 war 包,放入外置的 Tomcat 中进行运行,步骤如下 (此处我用的 SpringBoot 版本为 2.1.1,Tomcat 的版本为 8.0)一、排除内置 Tomcat<dep

2020-10-12 17:40:04 406

原创 关于Spring Boot 启动后访问404

controller与config 和启动器不在同一级目录

2020-09-30 11:02:42 60

原创  SpringBoot 热部署 

SpringBoot 热部署1.第一步:关于模板引擎 在 Spring Boot 开发环境下禁用模板缓存 #开发环境下关闭 thymeleaf 模板缓存,thymeleaf 默认是开启状态 spring.thymeleaf.cache=false 2.第二部添加热部署依赖<dependency> <groupId>org.springframework.boot</groupId> &l...

2020-09-30 09:59:43 84

原创 配置logback日志

引入依赖spring-boot-starter 中引入了 spring-boot-starter-logging 日志启动器 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-logging</artifactId> <version>2.2.5.REL

2020-09-29 14:24:35 62

原创 Windows系统中,如何用cmd命令终止占用8080端口的tomcat

在Windows操作系统中,我们在启动一个tomcat服务器时,经常会发现8080端口已经被占用的错误,而我们又不知道如何停止这个tomcat服务器。本文将通过命令来强行终止这个已经运行的tomcat进程如下:1、首先查找到占用8080端口的进程号PID是多少CMD>netstat -ano | findstr 8080这个命令输出的最后一列表示占用8080端口的进程号是多少,假设为12342、kill掉这个进程CMD>taskkill /F /PID 1234这样8080端口就是

2020-09-28 15:32:35 98

原创 数据库 mysql

1.安装mysql2.连接本地mysql数据库 mysql -u root -p3.查看数据库服务器的所有数据库 命令:show databases;+--------------------+| Database |+--------------------+| information_schema || mysql || performance_schema || sys |+-------...

2020-09-24 19:18:36 39

原创 java字节流read方法

package com;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;import java.net.URL;import java.util.Arrays;public class TestIO { public static void main(String[] args)throws IOException {// 读数据

2020-09-23 15:43:49 249

原创 遍历目录

遍历目录package com.test5;import sun.awt.im.InputMethodWindow;import java.io.File;public class Demo5 { public static void main(String[] args) { String url = "D:\\homework\\basefile";//创建目录地址 File file = new File(url); listD

2020-09-22 22:42:42 78

原创 Java StringBuffer

当对字符串进行修改的时候,需要使用 StringBuffer 和 StringBuilder 类。和 String 类不同的是,StringBuffer 和 StringBuilder 类的对象能够被多次的修改,并且不产生新的未使用对象。StringBuilder 类在 Java 5 中被提出,它和 StringBuffer 之间的最大不同在于 StringBuilder 的方法不是线程安全的(不能同步访问)。由于 StringBuilder 相较于 StringBuffer 有速度优势,所以多

2020-09-22 17:20:13 93

原创 不通过Maven导入fastjson

首先下载fastjson,通过访问https://mvnrepository.com/来进行下载搜索fastjson点击进入点击下载即可下载到本地导入当前包内导入fastjson后测试package com.java;import com.alibaba.fastjson.JSON;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;impor

2020-09-22 16:35:50 1047 2

原创 JAVA基本结构

java基本结构package com.java;public class Demo {//类的名字Demopublic static void main(String[] args) {//public方法,static静态块, // 返回值void(表示没有任何返回值) // main方法名 System.out.println(

2020-09-19 15:32:40 41

原创 LinkedList中的链表结构

LinkedList****类似链表结构,查询慢,增删快,线程不安全。**双链表实现了List和Deque接口。 实现所有可选列表操作,并允许所有元素(包括null )。所有的操作都能像双向列表一样预期。 索引到列表中的操作将从开始或结束遍历列表,以更接近指定的索引为准。请注意,此实现不同步。 如果多个线程同时访问链接列表,并且至少有一个线程在结构上修改列表,则必须在外部进行同步。 (结构修改是添加或删除一个或多个元素的任何操作;仅设置元素的值不是结构修改。)这通常通过在自然封装列表的对象上进行同

2020-09-19 15:14:57 307

原创 java文件传输基础——Java IO流----File类的使用

File类的使用查看API文档: File 实现了 Serializable 序列化接口.序列化作用:• 提供一种简单又可扩展的对象保存恢复机制。• 对于远程调用,能方便对对象进行编码和解码,就像实现对象直接传输。• 可以将对象持久化到介质中,就像实现对象直接存储。• 允许对象自定义外部存储的格式。File类只用于表示文件(目录)的信息(名称、大小等),不用于文件内容的访问package com.java.entity;import java.io.File;import java.i

2020-09-18 16:36:07 252

原创 数据类型转换

自动转换(隐式)1.特点:代码不需要进行特殊处理,自动完成2.规则:数据范围从小到大.public class Demo{public static void main(String[ ] args ){//左边是long类型,右边int类型//一个等号代表赋值,右边int常量交给左侧 long变量进行存储;//int- ->long符合数据范围从下到大的要求long num1 = 100;System.out.println( num1);//100}}强制转换1.代

2020-06-22 16:24:12 228 1

原创 MS-DOS(Microsoft Disk Operating Sytem)--命令提示符(cmd)

启动: Win+R切换盘符 盘符名称:进入文件夹 cd 文件夹名称|进入多级文件夹 cd文件夹1\文件夹2…返回上一级 cd…直接回根目录 *cd*查看当前内容 dir清屏

2020-06-19 15:24:42 185

原创 java中的变量

java中变量两种:基本类型的变量引用类型的变量.基本类型使用变量必须先定义再使用,一般定义变量的时候会给初始值:int a =1 ;(int a =1; 定义了一个整型int类型的变量,a 初始值为1)//定义并打印变量public static void main (String[ ] args){int a = 122; //定义a的类型变量为int 并赋值122System.out.println(a)

2020-06-19 15:13:41 77

空空如也

空空如也

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

TA关注的人

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