自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 The server time zone value ‘Öйú±ê׼ʱ¼ä‘ is unrecognized or represents more than one time zone

数据库url 时区

2023-08-29 10:33:45 111

原创 Access to DialectResolutionInfo cannot be null when ‘hibernate.dialect‘ not set

数据库方言配置

2023-08-29 10:21:23 352

原创 启动maven项目时报错提示某类或某包XXX不存在和已经存在的类在其他类中无法被inport引用问题

左上角打开file --> invalidate caches/Restart…--> invalidate and Restart。检查一下每个maven子模块中的imi文件是否存在,我项目中出现此问题是某个imi不知道何时被删掉了,恢复了imi文件项目则正常运行,2.已经编写好的java类在其他类中无法被inport引用问题。1.报错提示某类或某包XXX不存在。

2023-03-13 16:26:57 409

原创 设计原则之里氏替换原则详解

一、里氏替换原则定义定义: 如果对每一个类型为T1的对象O1,都有类型为T2的对象O2,使得所有以T1定义的所有程序P在所有的对象O1都替换成O2时,程序P的行为没有发生任何变化,那么类型T2是类型T1的子类型。通俗理解就是:子类可以扩展父类的功能,但不能改变父类原有的功能。有以下几个引申含义:子类可以实现父类的抽象方法,但不能覆盖父类的非抽象方法。子类中可以增加自己特有的方法。当子类的方法重载父类的方法时,方法的前置条件(方法的输入,入参)要比父类的入参更宽松。当子类的方法实现父类的方法时(

2022-04-13 11:12:39 5137 3

原创 设计原则之迪米特法则详解

一、迪米特法则定义一个对象应当对其它对象有尽可能少的了解,也被成为最少知道原则。意思就是一个类中只与与它有直接关联的类联系,出现在这个类的成员变量、方法的输入,方法参数的类被成为朋友类,其他无直接关联的类尽量少知道这些类。所以迪米特法则强调只和最亲的朋友类有联系,对其他类不交流二、举例理解老师想从学生那里知道假期一共留了几门作业,所以Teacher–>StudentA 是直接关系,老师调用学生,StudentA–>homework 是直接关系,但老师和课程Teacher–>h

2022-04-12 10:30:25 575 1

原创 设计原则之接口隔离原则详解

接口隔离原则定义用多个专门的接口分别定义方法,而不是使用一个总的接口定义一堆方法一个类对应一个类的依赖应该建立在最小的接口上尽量细化接口,接口中的方法尽量少不要建立庞大臃肿的接口类意思就是我们定义接口时候一个接口内定义的方法不能太臃肿 不能太多,一个接口中应该尽量少的贴合实际的去定义方法,避免在不同场景使用接口的时候实现一些根本用不到的方法,造成代码臃肿,可读性差,设计接口时候应该多思考,尽可能多考虑到不同的情况优点:符合我们常用的高内聚低耦合的思想,使我们的类具有很好的可读性,可扩展性

2022-04-11 17:36:31 550

原创 设计原则之单一职责原则详解

单一职责原则定义一个类、接口、方法只负责一项职责,不要存在多于一个导致类变更的原因这个原则指出对象不应该承担太多职责,如果一个对象承担了太多的职责,会至少存在以下两个缺点:一个职责的变化可能会削弱或者抑制这个类实现其他职责的能力;当客户端需要该对象的某一个职责时,不得不将其他不需要的职责全都包含进来,从而造成冗余代码或代码的浪费。优点:使用好单一职责原则,可以降低类的复杂度,提高类的可读性,提高系统的可维护性,降低因变更参数引起的风险等。但使用单一职责原则也不是任何情况下都追求完全的遵守。该

2022-04-11 17:08:43 468

原创 设计原则之依赖倒置原则详解

依赖倒置原则定义高层模块不应该依赖低层模块,二者都应该依赖其抽象。程序要依赖于抽象接口,不要依赖于具体实现意思是应该面向接口编程,不应该面向细节编程。如果编写的程序是上层代码直接调用下层代码,当下层代码需要修改的时候,上层调用的代码也需要跟着变,会导致模块的复用性降低而且大大提高了开发的成本。如果建立抽象类,上层代码和下层代码都依赖抽象类,抽象类只要不变,细节再变化也不会影响调用代码。降低了耦合度,增加了程序的复用性。我们以以下例子来说明:直接调用下层代码例子如下:先写一个靓仔类,定义靓仔在

2022-04-11 15:52:52 646

原创 设计原则之开闭原则详解

一、开闭原则定义:一个软件实体如类、模块、函数应该对扩展开放,对修改关闭。用抽象构建框架,用实现实现细节。也就是说我们如果想实现某种变化,不应该修改原类或模块实现相应的功能细节,而是对原类或模块实体进行扩张 继承来具体实现某一变化。一个软件实体在使用过程中许多模块都会不断发生变化,以修改某商品价格为例,如果频繁修改原功能模块,则需要频繁打包上架重启,开闭原则可以提高软件系统的可复用性、灵活性和可维护性。下面我们用一个例子来理解开闭原则:先写一个课程接口,定义公共使用的方法/** * 定义个

2022-04-11 11:11:37 1538

原创 1071 - Specified key was too long; max key length is 767 bytes

今天优化公司项目时候创建索引时报了:1071 - Specified key was too long; max key length is 767 bytes错误,意思就是“索引字段长度太长,超过了767bytes”。查了一下 mysql的varchar主键只支持不超过767个字节或者768/2=384个双字节 或者767/3=255个三字节的字段 而GBK是双字节的,UTF8是三字节的。innodb存储引擎,多列索引的长度限制如下:每个列的长度不能大于767 bytes;所有组成索引列的长度和

2021-06-25 10:06:21 16298 1

转载 MySQL主从复制最全面理解笔记(原因 原理 步骤 同步模式 GTID)

简介网络上关于 MySQL 主从复制的文章很多都是讲解如何实现,以及部分实现原理,缺乏对 MySQL 主从复制的全面介绍。例如主从复制的模式(半同步模式和异步同步模式)、同步的原理(binary log+position,GTID)、主从复制的常见问题都缺乏一个全面的总结。本文针对这些部分内容做一个全面的分析与总结。本文主要的内容有 MySQL主从复制的原因、实现原理、实现步骤、半同步模式、异步同步模式、GTID 同步、常见问题与解决方案等内容。模式优势在了解主从复制之前,我们先了解一下什

2021-06-16 15:54:24 188

原创 Springboot整合shiro爆小错误-日常粗心小记录

org.springframework.context.ApplicationContextException: Unable to start web server; nested exception is org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat at org.springframework.boot.web.servlet.context.ServletWebServ

2021-04-25 10:21:00 339

原创 Mybatis源码阅读学习笔记(一)之Executor子类BaseExecutor源码超详细解析

Executor是一个大管家,核心功能包括:缓存维护、获取动态SQL、获取连接、以及最终的JDBC调用等。BaseExecutor 是个很重要的抽像类,是基础执行器,包括一级缓存逻辑也在此实现,BaseExecutor是Executor的一个子类,其实现了接口Executor的部分方法,与其子类关系如下:BaseExecutor抽象类的源码及详解注释如下,源码较多,请耐心看/** * @author Clinton Begin */public abstract class BaseEx.

2021-04-13 10:20:25 547

原创 179. 最大数

给定一组非负整数 nums,重新排列每个数的顺序(每个数不可拆分)使之组成一个最大的整数。注意:输出结果可能非常大,所以你需要返回一个字符串而不是整数。示例 1:输入:nums = [10,2]输出:“210”示例 2:输入:nums = [3,30,34,5,9]输出:“9534330”示例 3:输入:nums = [1]输出:“1”示例 4:输入:nums = [10]输出:“10”提示:1 <= nums.length <= 1000 <= nums[

2021-04-12 10:05:58 78

原创 627. 变更性别

给定一个 salary 表,如下所示,有 m = 男性 和 f = 女性 的值。交换所有的 f 和 m 值(例如,将所有 f 值更改为 m,反之亦然)。要求只使用一个更新(Update)语句,并且没有中间的临时表。注意,您必只能写一个 Update 语句,请不要编写任何 Select 语句。例如:idnamesexsalary1Am25002Bf15003Cm55004Df500运行你所编写的更新语句之后,将会得到以下表:

2021-04-09 17:20:25 91

原创 1672. 最富有客户的资产总量

给你一个 m x n 的整数网格 accounts ,其中 accounts[i][j] 是第 i​​​​​​​​​​​​ 位客户在第 j 家银行托管的资产数量。返回最富有客户所拥有的 资产总量 。客户的 资产总量 就是他们在各家银行托管的资产数量之和。最富有客户就是 资产总量 最大的客户。示例 1:输入:accounts = [[1,2,3],[3,2,1]]输出:6解释:第 1 位客户的资产总量 = 1 + 2 + 3 = 6第 2 位客户的资产总量 = 3 + 2 + 1 = 6两位客

2021-04-09 17:02:28 104

原创 771. 宝石与石头

给定字符串J 代表石头中宝石的类型,和字符串 S代表你拥有的石头。 S 中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。J 中的字母不重复,J 和 S中的所有字符都是字母。字母区分大小写,因此"a"和"A"是不同类型的石头。示例 1:输入: J = “aA”, S = “aAAbbbb”输出: 3示例 2:输入: J = “z”, S = “ZZ”输出: 0注意:S 和 J 最多含有50个字母。 J 中的字符不重复。这是一道简单的入门题,解题思路如下:题

2021-04-09 16:34:53 57

原创 Quartz定时任务调度框架从入门到掌握--持续更新

1.Quartz简介Quartz是一个企业任务日程调度管理组件,无论是互联网公司还是传统的软件行业都是必不可少的,Quartz是好多优秀的定时任务开源框架的基础,很有必要去掌握,只需要掌握少量参数,就可以掌握企业中的定时任务处理。2.Quartz概念Quartz是OpenSymphony开源组织在Job scheduling领域的一个开源项目,它可以与J2EE和J2SE应用程序结合也可以单独使用,Quartz是开源且具有丰富特性的“任务调度库”,能够集成于任何的java应用,小到独立的应用,大到电子商

2021-04-06 14:07:07 466

原创 git项目中提交代码到远程库忽略无用文件,只提交代码文件的项目下.gitignore中常用配置

.gitignore文件常用忽略配置*.class*.log*.lock# Package Files*.jar*.war*.eartarget/#idea.idea/*.imi*velocity.log*# STS .apt_generated.factorypath.springBeans# IntelliJ IDEA*.iml*.ipr*.iws.idea.classpath.project.settings/bin/*.logtmp

2021-03-28 15:22:42 115

原创 一系列问题:fatal: unable to access XXX : Failed to connect to github.com port 443: Timed out

在你项目中创建分支后,你在分支上push代码到远程仓库时你可能会遇到如下的问题:E:\Javaexample\Zorio>git pushfatal: The current branch dev2 has no upstream branch.To push the current branch and set the remote as upstream, use git push --set-upstream origin dev2dev2分支没有和远程仓库关联此时你输入g

2021-03-28 15:13:32 889

原创 数字在排序数组中出现的次数

时间限制:1秒 空间限制:32768K 热度指数:324022本题知识点: 数组算法知识视频讲解题目描述统计一个数字在排序数组中出现的次数。这道题比较简单,直接for循环取出每个int数组中的数和k进行比较,相等就count++实现如下:public class Solution { public int GetNumberOfK(int [] array , int k) ...

2019-11-28 12:47:05 79

原创 两个链表的第一个公共结点

时间限制:1秒 空间限制:32768K 热度指数:287346本题知识点: 链表算法知识视频讲解题目描述输入两个链表,找出它们的第一个公共结点。我们可以先遍历一遍找出两个链表的长度,长的一方先让指针指向与另一个链表在同一个节点上,使两个链表的后续长度相同,然后同时推动两个链表的指针前进,如果相等就返回该节点。实现代码如下:/*public class ListNode { ...

2019-11-27 13:11:00 78

翻译 数组中的逆序对

时间限制:2秒 空间限制:32768K 热度指数:437553本题知识点: 数组算法知识视频讲解题目描述在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007输入描述:题目保证输入的数组中没有的相同的数字数据范围:对于%50的数据,si...

2019-11-26 13:42:11 83

原创 第一个只出现一次的字符

时间限制:1秒 空间限制:32768K 热度指数:346162本题知识点: 字符串算法知识视频讲解题目描述在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写).思路:我们可以先把给定的字符串转为字符数组,把每个字符放入map集合中,重复的就把value值加1,最后遍历,遇到第一个...

2019-11-25 12:54:23 124

原创 丑数

时间限制:1秒 空间限制:32768K 热度指数:364582本题知识点: 穷举算法知识视频讲解题目描述把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。首先从丑数的定义我们知道,一个丑数的因子只有2,3,5,那么丑数p = 2 ^ x * 3 ^ y * ...

2019-11-23 13:01:34 116

原创 把数组排成最小的数(剑指offer)

时间限制:1秒 空间限制:32768K 热度指数:327747本题知识点: 数组算法知识视频讲解题目描述输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。刚看到这个题目小伙伴是不是有点蒙圈呢我们来分析一下解题思路,我们看下题目中的例子,题目是把数组中每个坐标上...

2019-11-20 13:11:37 79

原创 一篇文章让你彻底搞懂设计模式之单例模式

1.什么是单例模式单例模式就是确保一个类在任何情况下只有一个实例,并对外提供一个全局访问点,打个比喻来说 :单例模式就是你,我只有你这一个对象,你是独一无二的。全世界就一个,每个人要的时候都抢的是同一个,这是单例的概念单例模式同时也是23种设计模式中最简单的一种设计模式2.单例模式的介绍及实现方式在我们对单例模式有基本的想法和概念之后,我们来逐步深入的领略一下单例模式的魅力。既然单例模...

2019-11-18 21:31:53 461

原创 整数中1出现的次数(从1到n整数中1出现的次数)

时间限制:1秒 空间限制:32768K 热度指数:243838本题知识点: 查找 数学算法知识视频讲解题目描述求出1-13的整数中1出现的次数,并算出100-1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数(...

2019-11-12 12:52:13 127

原创 连续子数组的最大和(利用循环和动态规划思想解题)

时间限制:1秒 空间限制:32768K 热度指数:316034本题知识点: 数组算法知识视频讲解题目描述HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,...

2019-11-09 13:27:14 167

原创 输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。

最小的K个数时间限制:1秒 空间限制:32768K 热度指数:585563本题知识点: 数组 高级算法算法知识视频讲解题目描述输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。这个题是要在给出的数组中找出随意定义的数字数量,找出数组中从小到大的数到规定的数量为止既然找出最小的N个数,那么意味着可以先把数组中的数添...

2019-11-08 12:49:11 2075 1

原创 跨域问题详解及配置代码

用官方一点的话说:跨域:浏览器对于javascript的同源策略的限制什么意思呢以下情况都属于跨域:跨域原因说明示例域名不同www.jd.com 与 www.taobao.com域名相同,端口不同www.jd.com:8080 与 www.jd.com:8081二级域名不同item.jd.com 与 miaosha.jd.com如果域名和端口都相...

2019-11-08 08:02:13 739

原创 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在

时间限制:1秒 空间限制:32768K 热度指数:445397本题知识点: 数组题目描述数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。首先题目告诉我们要我们要找出一个数字在数组中出现的次数超过数组的一半的数,我们知道这样的数字不...

2019-11-07 13:00:18 184

原创 关于Nginx配置反向代理后无法通过配置的域名访问,但可以ping通域名问题

如果你的项目是vue构建的前端,那么打开build里面的webpack.dev.conf.js 如下图:进去找到host和port的地方,查看你的host状态,如下图:如果host的指向为localhost或127.0.0.1host:'127.0.0.1'则只可以代理本机127.0.0.1下的开放的你的服务端口如果nginx在不同服务器不在本地,则需要将host改为host:...

2019-11-06 08:19:19 3322

原创 输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。

本题我们首先想到的就是递归方式解答,我们先把输入的字符串转为字符数组,然后固定第一位数交换除第一位数的其他位数,两两交换,把每组交换过后的字符串与集合中其他交换遍历生成的字符串进行比较,不相同则放入集合,然后交换一二位,重复进行递归遍历,直到第一个数与最后一个数交换结束,把所有字符串按照字母排序输出下面我们看一下例子:import java.util.ArrayList;import jav...

2019-10-31 13:35:06 542

原创 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。

输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。时间限制:1秒 空间限制:32768K 热度指数:337124本题知识点: 链表 树算法知识视频讲解本题解析:首先我们先看一下二叉搜索树和双向链表各自定义:在二叉搜索树中,每个结点都有两个分别指向其左、右子树的指针,左子树结点的值总是小于父结点的值,右子树结点的值总是大于父...

2019-10-30 13:38:16 616

原创 初识ActiveMQ到进阶实战 消息中间件知识值得你一看

目录一、消息中间件概述1.消息中间件产生的背景2.什么是消息中间件?二、JMS介绍1.什么是JMS?2.点对点Point-to-Point(P2P)3.发布订阅Publish/Subscribe(Pub/Sub)三、MQ产品的分类1.RabbitMQ2.Redis3.ZeroMQ4.ActiveMQ5.Jafka/Kafka四、 ActiveMQ使用1.window...

2019-10-27 18:16:07 227

原创 从0学Redis到精通 看这一篇两万多字文章就够了

目录一、redis简介1.什么是redis?2.redis使用场景3.Redis优势4.Redis与其他key-value存储有什么不同?二、Redis安装1.windows 安装redis2.linux 安装redis 及启动 修改文件 连接 停止等命令三、Redis的基本数据类型1.字符串类型(String) 示例及相关的基本命令2.列表类型(List)示例及相关的基...

2019-10-26 13:38:13 332

原创 如何从一个大项目中,迅速的定位执行速度慢的语句. (定位慢查询)

先说一下怎么查看MySQL服务器状态信息吧使用show status查看MySQL服务器状态信息mysql数据库启动了多少时间:show status like 'uptime';显示数据库的查询,更新,添加,删除的次数:show stauts like 'com_select' show stauts like 'com_insert' ...类推 update del...

2019-10-24 07:54:50 824

空空如也

空空如也

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

TA关注的人

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