自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 解决IDEA2020.1程序运行必须构选Delegate IDE build/run actions to Maven

每次运行代码都要将代码交给maven托管,运行Test方法都需要Build整个项目,搞得心态都崩了。解决方案:首先注释setting文件中的localRepository标签然后在IDEA中手动配置maven仓库地址,使用默认仓库和本地仓库都是可以的。再运行程序,瞬间清爽了许多。...

2021-07-12 10:07:11 2859 4

转载 Dos命令查看端口占用及关闭进程

1. 查看端口占用在windows命令行窗口下执行:netstat -aon|findstr "8080" TCP 127.0.0.1:80 0.0.0.0:0 LISTENING 2448端口“8080”被PID(进程号)为2448的进程占用。查看端口“8080”被哪个应用占用,,继续执行下面命令:tasklist|findstr "2448"notepad.exe 2016 Conso

2021-05-25 16:55:34 267

原创 力扣:两数之和

暴力方法:时间复杂度O(n^2)空间复杂度O(1) public int[] twoSum(int[] nums, int target) { for (int i = 0; i < nums.length; i++) { for (int j = i + 1; j < nums.length; j++) { if (nums[j] == target - nums[i]) {

2021-04-30 14:31:46 130

原创 详解Quartz中的注解:@DisallowConcurrentExecution和@PersistJobDataAfterExecution

@PersistJobDataAfterExecution:告诉Quarta在成功执行了Job实现类的execute方法后(没有发生任何异常),更新JobDetail中的JobDataMap的数据。使得该JobDetail实例在下一次执行的时候,JobDataMap中的是更新后的数据,而不是更新前的旧数据。@DisallowConcurrentExecution:告诉Quartz不要并发执行同一个JobDetail实例tip:如果使用了@PersistJobDataAfterExecution.

2021-03-02 11:08:06 1176

原创 MySql中CAST函数

mysql中cast用法语法:CAST(x AS type)描述:转换数据类型type的类型:value描述DATE日期,格式为 ‘YYYY-MM-DD’DATETIME日期加具体的时间,格式为 ‘YYYY-MM-DD HH:MM:SS’TIME时间,格式为 ‘HH:MM:SS’CHAR字符串SIGNEDintBINARY二进制型DECIMALfloat类型实例:select cast(20.1436 as decimal

2021-02-03 17:23:58 447

原创 Linux命令持续打印日志文件输出情况

tail -f 文件名

2021-01-29 09:39:06 3417

原创 Map computeIfAbsent方法理解

// HashMap方法定义default V computeIfAbsent(K key, Function<? super K, ? extends V> mappingFunction) { ...}// jdk8之前。从map中根据key获取value操作可能会有下面的操作Object key = map.get("key");if (key == null) { key = new Object(); map.put("key", key);}

2021-01-27 10:08:54 141

原创 可重入读写锁ReentrantReadWriteLock的使用详解

可重入读写锁ReentrantReadWriteLock的使用详解一、性质1、可重入如果你了解过synchronized关键字,一定知道他的可重入性,可重入就是同一个线程可以重复加锁,每次加锁的时候count值加1,每次释放锁的时候count减1,直到count为0,其他的线程才可以再次获取。2、读写分离我们知道,对于一个数据,不管是几个线程同时读都不会出现任何问题,但是写就不一样了,几个线程对同一个数据进行更改就可能会出现数据不一致的问题,因此想出了一个方法就是对数据加锁,这时候出现了一个问题:

2021-01-27 09:31:31 173

原创 热点面试题汇总

1.SpringBoot面试题1.1.简单聊聊SpringBoot的作用是什么?知识背景:SpringBoot采用默认配置,帮助我们快速的构建和运行Spring项目:简化spring初始搭建和开发过程提供了大量的starter,集成了spring及大量第三方应用的自动配置允许使用配置文件(properties或者yml文件)覆盖默认配置创建独立的spring应用程序,使用main方法运行内嵌Tomcat无需部署war包,直接打成jar包,用nohup java -jar – & 启

2021-01-11 23:30:21 1514

原创 热点面试题之springBoot、springCloud

1.SpringBoot面试题1.1.简单聊聊SpringBoot的作用是什么?知识背景:SpringBoot采用默认配置,帮助我们快速的构建和运行Spring项目:简化spring初始搭建和开发过程提供了大量的starter,集成了spring及大量第三方应用的自动配置允许使用配置文件(properties或者yml文件)覆盖默认配置创建独立的spring应用程序,使用main方法运行内嵌Tomcat无需部署war包,直接打成jar包,用nohup java -jar – & 启

2020-12-23 14:22:32 448

原创 OpenResty学习总结

3.OpenResty使用Nginx来完成静态页面模板的渲染,之前学习过Nginx的web容器功能、反向代理功能、负载均衡功能。但是如何利用Nginx查询Redis缓存?如何利用Nginx完成页面模板渲染?nginx中有一个模块叫做ngx_lua,可以将Lua嵌入到Nginx中,从而可以使用Lua来编写脚本,这样就可以使用Lua编写应用逻辑,操作Redis、MySQL等等;这样就可以使用Lua语言开发高性能Web应用了。那么OpenResty是什么呢?3.1.介绍OpenRestyOpenRes

2020-12-21 09:42:41 524 1

原创 StringRedisTemplate和RedisTemplate的区别及使用方法

StringRedisTemplate继承了RedisTemplate,所以两者对Redis的操作方法具有相同之处两者的数据是不共通的;也就是说StringRedisTemplate只能管理StringRedisTemplate里面的数据,RedisTemplate只能管理RedisTemplate中的数据。其实他们两者之间的区别主要在于他们使用的序列化类:    RedisTemplate使用的是JdkSerializationRedisSerializer ,存入数据会将数据先序列化成字节数组然

2020-12-20 10:16:09 198 1

原创 HTTP状态码常见状态码汇总

HTTP状态码当浏览者访问一个网页时,浏览者的浏览器会向网页所在服务器发出请求。当浏览器接收并显示网页前,此网页所在的服务器会返回一个包含HTTP状态码的信息头(server header)用以响应浏览器的请求。HTTP状态码的英文为HTTP Status Code。下面是常见的HTTP状态码:200 - 请求成功301 - 资源(网页等)被永久转移到其它URL404 - 请求的资源(网页等)不存在500 - 内部服务器错误HTTP状态码分类HTTP状态码由三个十进制数字组成,第一个十

2020-12-13 19:27:07 133

原创 Field ‘spu_id‘ doesn‘t have a default valu 解决办法

问题: Field 'spu_id' doesn't have a default valu在写添加的方法的时候,出现Field 'id' doesn't have a default value 这个错误方法1:修改你的数据库,打开设计表,看下面自增递增是否勾选上了,如果没有勾上再去执行 就可以了。方法2:如果数据库中的id需要手动输入,只需在实体类中添加@TableId(type = IdType.INPUT)...

2020-12-12 20:32:00 688

原创 MybatisPlus的学习总结

2.MybatisPlusmybatis作为持久层框架,其优势是灵活,我们可以灵活定制sql。但凡事有利有弊,灵活的带来的缺点是,很多单表的简单CRUD,依然需要我们自己来写,非常浪费时间。因此我们接下来要学习一个mybatis的插件:MybatisPlus,可以大大提高Mybatis的开发效率。2.1.介绍MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。官网:https://mp.baomidou.c

2020-12-09 22:53:38 636

原创 JDK8新特性学习总结

JDK1.8的新特性1. 前言JDK1.8已经发布很久了,在很多企业中都已经在使用。并且Spring5、SpringBoot2.0都推荐使用JDK1.8以上版本。所以我们必须与时俱进,拥抱变化。Jdk8这个版本包含语言、编译器、库、工具和JVM等方面的十多个新特性。在本文中我们将学习以下方面的新特性:Lambda表达式函数式接口方法引用接口的默认方法和静态方法OptionalsStreams并行数组2. Lambda表达式函数式编程Lambda 表达式,也可称为闭包,它是推动

2020-12-09 22:41:38 182

原创 SpringCloud Config分布式配置中心

1 SpringCloud Config分布式配置中心当项目上线部署时,往往会部署到数十台甚至数千台服务节点,如果我们需要修改某个配置文件中的内容,就需要逐个服务器去修改,工作量太大而且容易出错。而统一配置中心就是解决这个问题的。1.1 SpringCloud Config简介Spring Cloud Config为分布式系统中的配置管理提供服务器和客户端支持。它包含两部分:Config Server:是一个可横向扩展、集中式的配置服务器,它用于集中管理应用程序各个环境下的配置,默认使用Git存

2020-12-05 22:00:47 106

原创 SpringCloud Gateway路由网关的学习

3 SpringCloud Gateway路由网关3.1 SpringCloud Gateway简介Gateway网关是我们服务的守门神,所有前端访问微服务的统一入口。Spring Cloud Gateway 是 Spring Cloud 的一个全新项目,该项目是基于 Spring 5.0,Spring Boot 2.0 和 Project Reactor 等响应式编程和事件流技术开发的网关,它旨在为微服务架构提供一种简单有效的统一的 API 路由管理方式。在SpringCloudGateway之前,

2020-12-03 22:08:39 650

原创 Hystrix熔断器、Feign客户端

1 Hystrix熔断器1.1 分布式系统面临的问题1.1.1 服务雪崩微服务中,服务间调用关系错综复杂,一个服务的业务,有可能需要调用多个其它微服务,才能完成。如图,如果说,我们需要访问的某个服务,Dependency-I发生了故障,此时,我们应用中,调用Dependency-I的服务,也会故障,造成阻塞。此时,其它业务似乎不受影响。例如微服务I发生异常,请求阻塞,用户不会得到响应,则tomcat的这个线程不会释放,于是越来越多的用户请求到来,越来越多的线程会阻塞:服务器支持的线程和并发数有

2020-12-03 22:04:55 245

原创 初识SpringCloud以及Eureka、Rabbon的学习

4 初识SpringCloud微服务是一种架构方式,最终肯定需要技术架构去实施。微服务的实现方式很多,但是最火的莫过于Spring Cloud了。为什么?后台硬:作为Spring家族的一员,有整个Spring全家桶靠山,背景十分强大。技术强:Spring作为Java领域的前辈,可以说是功力深厚。有强力的技术团队支撑,一般人还真比不了群众基础好:可以说大多数程序员的成长都伴随着Spring框架,试问:现在有几家公司开发不用Spring?SpringCloud与Spring的各个框架无缝

2020-12-03 22:01:24 159

原创 系统架构演变、服务调用方式(学习springCloud所需的前置知识内容)

1 系统架构演变随着互联网的发展,网站应用的规模不断扩大。需求的激增,带来的是技术上的压力。系统架构也因此也不断的演进、升级、迭代。从单一应用,到垂直拆分,到分布式服务,到SOA,以及现在火热的微服务架构,还有在Google带领下来势汹涌的Service Mesh。我们到底是该乘坐微服务的船只驶向远方,还是偏安一隅得过且过?其实生活不止眼前的苟且,还有诗和远方。所以我们今天就回顾历史,看一看系统架构演变的历程;把握现在,学习现在最火的技术架构;展望未来,争取成为一名优秀的Java工程师。1.1 集中

2020-12-03 21:52:08 164

原创 DO、VO、DTO 区别

VO:视图对象,主要用于前端返回页面参数的使用DO:数据库对象,主要用于数据库层传递DTO:数据传输对象,主要用于外部接口参数传递封装,接口与接口进行传递使用DTO转DO:接口接收参数将参数转化为数据库实体操作数据库使用。DO转DTO:将数据库层实体转化为DTO返回给客户端。...

2020-11-20 16:07:35 447

转载 B树与B+树简明扼要的区别

看了很多讲B树和B+树的文章,大多都是围绕各自的特性讲的,第一,树中每个结点最多含有m个孩子(m>=2);第二,……我也是从这些文章里弄懂了各种树的联系与区别,要真写,我可能还不如人家写得好。所以就在这里简明扼要的用几张图记录一下主要区别吧。为了便于说明,我们先定义一条数据记录为一个二元组[key,data],key为记录的键值,key唯一;data为数据记录除key外的数据。B树每个节点都存储key和data,所有节点组成这棵树,并且叶子节点指针为null。B+树只有叶子节点存储data

2020-11-15 08:35:37 424

原创 idea建立springBoot项目时出现Artifact contains illegal characters的解决方法

idea建立springBoot项目时出现出现Artifact contains illegal characters的解决方法Artifact的命名大小写混写,改为小写即可

2020-11-03 09:32:25 298

原创 snowflake算法(雪花算法)

snowflake算法(雪花算法)1.snowflake算法介绍Snowflake算法产生是为了满足Twitter每秒上万条消息的请求,每条消息都必须分配一条唯一的id,这些id还需要一些大致的顺序(方便客户端排序),并且在分布式系统中不同机器产生的id必须不同。2.snowflake算法组成snowflake是Twitter开源的分布式ID生成算法,结果是一个long型的ID。其核心思想是:使用41bit作为毫秒数,10bit作为机器的ID(5个bit是数据中心,5个bit的机器ID),12bit

2020-10-27 18:07:27 7289

原创 关于数据库(mybatis)基础面试题整理

1.事务的基本特征原子性(atomicity):一个事务必须视为一个不可分割的最小工作单元,整个事务中的所有操作要么全部提交成功,要么全部失败回滚,对于一个事务来说,不可能只执行其中的一部分操作,这就是事务的原子性。一致性(consistency):数据库总数从一个一致性的状态转换到另一个一致性的状态。隔离性(isolation):一个事务所做的修改在最终提交以前,对其他事务是不可见的。持久性(durability):一旦事务提交,则其所做的修改就会永久保存到数据库中。此时即使系统崩溃,修改的数据也

2020-10-24 23:51:46 134

原创 Mybatis逆向工程(Idea实战)

Mybatis逆向工程逆向工程介绍​ MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息。当数据库表比较多的时候,重复的创建pojo对象和简单的数据库表的(CRUD)操作的mapper,效率低,官方给出了使用mybatis Generator用来根据数据库表逆向生成pojo和mapper文件,极大的方便开发。实现过程​ 1.在idea中创建一个maven工程​ 2.在pom.xml文件中添加如下配置。以引入mybatis.geneator <dependencies

2020-10-23 16:45:19 105

原创 spring框架_03

Spring-day03目录文章目录目录第一章 AOP概述1、什么是AOP?【1】AOP定义【2】具象化理解2、AOP的优势及使用场景【1】优势【2】使用场景3、AOP实现原理第二章 代理模式1、代理模式概念2、代理模式分类3、静态代理(1)【1】目标【2】实现【2.1】创建项目【2.2】定义HouseAgencyCompany【2.3】定义HouseOwner、HouseProxy【2.4】定义Customer【3】静态代理小结4、动态代理【1】思考【2】动态代理概述【3】jdk动态代理(2)【3.1

2020-10-23 11:38:16 243

原创 spring框架_02

目录文章目录目录第一章 spring-jdbcTemplate【了解】1、jdbcTemplate概述2、jdbcTemplate入门案例(1)【1】需求【2】目标【3】实现【3.1】搭建数据库环境【3.2】创建项目【3.3】pom.xml依赖配置【3.4】poje层【3.5】dao层【3.6】service层【3.7】controller层【3.8】配置bean.xml【3.9】添加ClientControllergTest测试【4】优化配置【5】入门案例小结3、jdbcTemplate实现完整CRUD

2020-10-22 22:26:39 241

原创 spring框架(IOC)_01

1.spring的介绍spring的2大核心思想:ioc: 控制反转,就是工厂模式。 将对象的创建和销毁交给了springaop:面向切面的编程,就是动态代理。 在不修改源码的情况下,对功能进行增强。2.spring的ioc2.1 工厂模式2.1.2 反射解耦基于多个实现类需要进行功能切换,我们只需要修改配置文件,不需要改java代码,所以不需要重新编译。UserServletpackage com.itheima.web;import com.itheima.service.Us

2020-10-20 21:02:11 154

原创 lombok插件的安装与使用

typora-root-url: imglombok插件JAVA面向对象编程中的封闭性和安全性​ 封闭性即对类中的域变量进行封闭操作,即用private来修饰他们,如此一来其他类则不能对该变量访问。这样我们就将这些变量封闭在了类内部,这样就提高了数据的安全性。​ 我们可以通过两种方法操作这些域变量,第一种即通过public方式的构造器(或称构造函数),对象一实例化就对该变量赋值。第二种就是通过set和get方法进行赋值和取值,这样就能提高域变量的安全性,同时又保证了域变量的封装型。​ .

2020-10-20 20:55:29 308

原创 解决Mybatis的xml文件无法被Maven加载到targe文件

异常:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.XXX.dao.UserMapper.queryLikeUserName是因为Dao包里的xml文件,没有加载到target文件中,只需要在porm文件的Build标签中添加如下代码段,即可解决 <resources> <resource>

2020-09-24 09:43:36 271

原创 史上最简洁、标准mybatis_config.xml核心配置,可以直接添加为模板使用(附:核心配置文件总结)

Mybatis核心配置文件总结:一、全局配置:如果需要配置多个,必须按照以下顺序 1.properties(属性) 2.settings(设置) 3.typeAliases(类型别名) 4.typeHandlers(类型处理器) 5.environments(环境配置) 5.1 environment(环境变量) 5.2 transactionManager(事务管理器) 5.3 dataSource(数据源) ...

2020-09-05 20:31:03 245

原创 Mybatis自定义框架

花了一天的时间,完成手写MyMybatis自定义框架。重新温习了以下技术,加深自己对Mybatis框架的深层次理解。使用到的技术有整个自定义框架分成三部分功能 解析XML文件封装成实体类对象 Mapper用于封装UserMapper.xml中元素 Configuration用于解析并封装mybatis-config.xml中元素 通过JDK动态代理,生成UserMapper接口的代理对象 SqlSession:运行XML中的S..

2020-09-05 20:13:45 173

原创 mybatis:#{} 与 ¥{} 的区别以及各自的作用

#{}是预编译处理,${}是字符串替换。Mybatis在处理#{}时,会将sql中的#{}替换为?号,调用PreparedStatement的set方法来赋值;Mybatis在处理${}时,就是把${}替换成变量的值。使用#{}可以有效的防止SQL注入,提高系统安全性。...

2020-09-04 21:10:35 1874

原创 SQL:java.sql.SQLException:Before start of result set

当运行结果出现:此时问题表明错误出现在:结果集开始前解决问题的方法:对结果集ResultSet进行操作之前,一定要先用ResultSet.next()将指针移动至结果集的第一行ResultSet.next()是指在游标每次向下移动一行,在关闭ResultSet之前都是继续有效的。当第一次遍历ResultSet.next()的时候,游标位置在表的最上方,即处于一个空的位置。但是如果没有ResultSet.next(),游标的位置则为空,所以ResultSet.getString("..

2020-09-04 19:21:28 252

原创 力扣:爬楼梯(假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?)

做题过程中第一时间想到的是使用递归思想,在提交代码后,发现在数据较大的时候,会出现数据溢出。class Solution { public int climbStairs(int n) { if (n<=1){ return 1; } if (n<3){ return n; } return climb...

2020-08-11 21:30:03 1879

原创 力扣:回文数( 判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。)

力扣:回文数题目: 判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。思路: 首先将数字转换为字符串,之后使用StringBuilder中的reverse方法来反转字符串;最后使用equals方法判断是否相等代码:class Solution { public boolean isPalindrome(int x) { String rev = new StringBuilder(x + "").r...

2020-08-11 18:22:43 819

原创 Mysql安装、配置、优化

Mysql安装1、安装下载Mysql安装包http://test.hexin.cn/software/mysql-5.7.9.tar.gz -P /usr/local/src/http://test.hexin.cn/software/cmake-3.4.0.tar.gz -P /usr/local/src/2、配置环境变量1.打开cmd(可以使用win + R 键快捷打开),...

2019-12-17 22:42:22 110

原创 防火墙和系统安全防护和优化

防火墙1、简介防火墙技术是通过有机结合各类用于安全管理与筛选的软件和硬件设备,帮助计算机网络于其内、外网之间构建一道相对隔绝的保护屏障,以保护用户资料与信息安全性的一种技术。2.功能1、入侵检测功能2、网络地址转换功能3、网络操作的审计监控功能4、强化网络安全服务3、主要类型(1)过滤型防火墙过滤型防火墙是在网络层与传输层中,可以基于数据源头的地址以及协议类...

2019-12-17 16:43:01 140

空空如也

空空如也

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

TA关注的人

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