自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 资源 (1)
  • 收藏
  • 关注

原创 IDEA自定义创建类和方法时的注释

自定义注释效果图:首先类的注释信息在这里自定义/*** @ClassName ${NAME}* @Description $description* @Author lihengyu* @Date ${DATE} ${TIME}* @Version 1.0*/$ description是我自己加的 加上之后再创建类的时候会弹出一个框让你输入description 如果不想这样可以把$ description 删掉 在创建类之后自己输入类的描述信息然后修改方法的自定义注释1.在

2022-01-06 17:04:14 700

原创 二叉搜索树,平衡二叉树,红黑树。以及Hashmap为什么用红黑树

二叉搜索树二叉查找/搜索/排序树 BST (binary search/sort tree)或者是一棵空树;或者是具有下列性质的二叉树:(1)若它的左子树不空,则左子树上所有结点的值均小于它的根节点的值;(2)若它的右子树上所有结点的值均大于它的根节点的值;(3)它的左、右子树也分别为二叉排序树。优点:构建方便,查找快速缺点:极端状况会退化成链表。平衡二叉树平衡二叉树(Self-balancing binary search tree) 自平衡二叉查找树 又被称为AVL树(有别

2021-03-18 15:40:48 658

原创 java String str = new String(“abc“); Object o = new Objecct();

String str = new String(“abc”); Object o = new Objecct();有什么区别 分别用到了jvm哪些区域。String str = new String(“abc”);首先要了解String其实是一个字符数组常量,是不可变的,然后Java虚拟机中存在一个区域叫常量池,这里存放着所有常量,包括字符串常量 private final char value[];。当我们执行String str = new String(“abc”);的时候可以讲这条语句

2021-03-18 15:31:23 388

转载 JVM相关知识整理整合

JVM作者:Guide哥JVM内存区域(运行时数据区)Java虚拟机在执行Java程序时会把它管理的内存区域划分成若干个区域,JDK1.8和之前的版本略有不同。JDK8之前JDK8线程私有的:虚拟机栈本地方法栈程序计数器线程共有的堆方法区直接内存(非运行时数据区的一部分)程序计数器程序计数器是一块较小的内存空间,它记录着当前线程的字节码文件执行的行号。字节码解释器通过程序计数器来完成程序执行的流程控制,如:循环,分支,跳转,异常处理。每个线程有独立的程序

2021-03-15 15:52:22 109

转载 Spring controller、service的单例模式

spring 中的单例模式在并发的情况下是怎么保证数据不会混乱的??首先我们知道Spring 中controller、service、dao都为单例模式(注:默认状态)。既然是单例,那么在并发的情况下,会发生什么?废话不多说,看代码。后台:@Controller@RequestMapping("/user")public class UserController {@Autowiredprivate UserServiceI userService;private int i;@P

2021-01-13 11:36:05 1406

原创 简单的秒杀逻辑

前置知识要写秒杀业务首先要了解一些概念和技术qpsguava限流mqQPS每秒查询率(Query Per Second)每秒查询率QPS是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准,在因特网上,作为域名系统服务器的机器的性能经常用每秒查询率来衡量。对应fetches/sec,即每秒的响应请求数,也即是最大吞吐能力。 (看来是类似于TPS,只是应用于特定场景的吞吐量)Guava-RateLimiter类实现限流http://ifeve.com/guava-rat

2021-01-11 20:43:44 270

原创 记一次mysql5.7利用.ibd恢复数据

mysql5.7利用.ibd恢复数据首先,在MySQL命令行下执行如下命令可以查看MySQL中存放数据的位置:show global variables like "%datadir%";我这里的执行结果:+---------------+---------------------------------------------+| Variable_name | Value |+---------------+---

2021-01-08 14:29:38 553 1

原创 记一次mysql彻底卸载和重新安装 windows 卸载版本mysql8 安装版本mysql5.7

卸载参考:https://www.cnblogs.com/banma/p/10040114.htmlWindows系统下如何卸载干净mysql一、在控制面板中卸载mysql软件二、卸载过后删除C:\Program Files (x86)\MySQL该目录下剩余了所有文件,把mysql文件夹也删了三、windows+R运行“regedit”文件,打开注册表四、删除注册表:HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Applic

2021-01-07 17:55:18 1657

原创 shell脚本 sed替换shell脚本某一行内容的用法

今天接到这样的一个需求 要求开发和生产环境执行的start和stop脚本不一样 (开发脚本带上skywalking和jvm监控 产品环境不带)sed -i ‘s/oldString/newString’ filepathsed -i ‘s/oldString/newString/g’ filepath分别是 第一个:替换filepath的oldString为newString 第二个:替换filepath的每一个oldString为newStringoldSring可以正则匹配 例如p

2021-01-06 09:27:55 6123 1

转载 Linux运行shell脚本或者用sed修改其他shell脚本,提示No such file or directory错误的解决办法

Linux执行.sh文件,提示No such file or directory的问题:原因:在windows中写好shell脚本测试正常,但是上传到 Linux 上以脚本方式运行命令时提示No such file or directory错误,那么一般是文件格式是dos格式的缘故,改成unix 格式即可。一般有如下几种修改办法。1)在Windows下转换:利用一些编辑器如UltraEdit或EditPlus等工具先将脚本编码转换,再放到Linux中执行。转换方式如下(UltraEdit):File

2021-01-06 09:20:33 1856

原创 记一次阿里云无法使用ssh连接 表现为xshell和navicat都不好用

今天在使用xshell连接阿里云的时候发现怎么连也上不去 经过一番排查后发现是sshd坏掉了修复方法方法1:接着做如下操作(local@localhost ~)# chmod 600 /etc/ssh/ssh_host_rsa_key(local@localhost ~)# chmod 600 /etc/ssh/ssh_host_ecdsa_key(local@localhost ~)# service sshd star方法2:或者尝试操作如下chown -R root.r

2021-01-05 11:07:28 142

转载 已解决 There are unfinished transactions remaining. You might consider running yum-complete-transaction

安装 yum-complete-transaction(这是一个能发现未完成或被中断的yum事务的程序)yum -y install yum-utils清除yum缓存yum clean all运行 yum-complete-transaction,清理未完成事务yum-complete-transaction --cleanup-onlyps:yum会把下载的软件包和header存储在cache中,而不会自动删除.可用yum clean headers清除header,yum clean p

2021-01-05 09:16:55 1960

原创 SkyWalking8.2.0使用说明

SkyWalking8.2.0使用说明无持久化使用确保如下端口可用:11800:和Skywalking通信的gRPC端口12800:和Skywalking通信的HTTP端口8080:UI所占用的端口window启动下载后解压,运行bin里面的start.bat修改项目启动配置-javaagent:C:\java\apache-skywalking-apm-bin\agent\\skywalking-agent.jar 记得改成自己的路径SW_AGENT_NAME=webco

2021-01-05 09:15:36 3066 1

原创 wiki草稿

整理2.0当前登录认证实现过程过滤链JwtAuthenticationTokenFilter -> LicenseExpireFilter -> 接口中的过滤器JwtAuthenticationTokenFilter首先从请求的header中获取token如果token存在并且是以指定的前缀开头那么开始判断token是否正确首先把token的前缀去掉,然后获得token中的Claims[^6] 然后从claims的subjiect获得username,如果当前用户名不为空并且安全

2020-12-01 09:19:58 273

原创 InnoDB和MyISAM的区别

常规使用操作:MyISAM 节约空间 速度较快InnoDB 安全性高,事务的处理,多表多用户操作

2020-06-17 15:37:32 81

原创 TCP三次握手

传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议。三次握手(客户端与服务器建立连接)服务器开启监听端口 从closed状态变为listen客户端发送TCP报文 SYN=1(报文不携带数据但消耗一个序号) , seq=x(序号位一共随机数),客户端从closed状态变为SYN-SENT状态服务器监听到报文,如果服务器同意建立连接就向客户端发送一个TCP报文 SYN=1,ACK=1(确认),seq=y,ack=x+1

2020-06-17 15:27:10 6383

转载 git

git版本控制本地版本控制集中版本控制svn分布式版本控制gitgit与svn的区别版本控制由于这种情况的出现 我们就需要一个版本控制的工具除此之外git这种版本控制工具还有以下优点本地版本控制集中版本控制svn分布式版本控制gitgit与svn的区别...

2020-05-25 12:08:52 98

原创 JVM探究

JVM探究JVM的位置JVM的体系结构类加载器双亲委派机制沙箱安全机制Nativepc寄存器方法区栈三种JVM堆新生区,老年区永久区堆内存调优GC常用算法JMM总结JVM的位置在操作系统和java程序之间JVM的体系结构jvm调优大部分时间在堆的部分类加载器作用:加载lass文件 new Student();双亲委派机制沙箱安全机制Nativepc寄存器方法区栈三种JVM堆新生区,老年区永久区堆内存调优GC常用算法JMM总结...

2020-05-24 21:33:40 105

原创 已解决:Uncaught ReferenceError: $ is not defined

Uncaught ReferenceError: $ is not defined检查jquery。js是否导入成功 ,有可能路径写错

2020-04-20 15:16:59 6206

原创 已解决:GET http://localhost:8080/statics/js/jquery-3.4.1.js net::ERR_ABORTED 404

导入js包后clean项目

2020-04-20 15:16:06 12699 2

原创 SSM框架中pom常用配置

SSM框架中pom常用配置<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocat...

2020-04-14 14:23:38 352

原创 MyBatis

MyBatis简介什么是 MyBatis?相关资源持久化持久层为什么需要mybatis简介什么是 MyBatis?MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain O...

2020-04-09 16:10:32 256

原创 bug解决:org.xml.sax.SAXParseException; lineNumber: 2; columnNumber: 6; 不允许有匹配 "[xX][mM][lL]" 的处理指令目标。

今天在写mybatisDemo是出现错误org.xml.sax.SAXParseException; lineNumber: 2; columnNumber: 6; 不允许有匹配 “[xX][mM][lL]” 的处理指令目标。查询后发现xml中需要有<?xml version="1.0" encoding="UTF-8"?>的头 并且前面不能有空行或者其他内容 删除第一行的空白...

2020-04-02 13:23:12 1620

原创 bug解决: com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: 1 字节的 UTF-8 序列的字节

今天在写mybatisDemo的时候出现了这个错误Cause: com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: 1 字节的 UTF-8 序列的字节 1 无效。查询后发现xml文件中含有中文注释可能会导致这个问题...

2020-04-02 13:20:59 1461 1

原创 注解和反射

注解和反射注解如何自定义注解反射动态语言与静态语言Class对象java内存注解内置注解@Override //重写@Test //单元测试@Deprecated //废弃的,不推荐使用的方法@SuppressWarnings("all") //镇压警告元注解 :描述注解的注解@Target : 描述注解适用范围@Retention :表示需要在什么界别保存该注释信...

2020-04-01 22:42:27 76

原创 Java多线程

Java多线程线程简介线程实现(重点)线程创建继承Thread类(该类实现了runnable接口)实现Runnable接口线程状态线程同步(重点)线程通信问题高级主题线程简介操作系统中运行的程序就是一个进程(Proceess),进程中可以有多个线程(Thread),如音频,视频,弹幕进程是系统资源分配的单位,多线程都是cpu快速切换模拟出来的线程就是独立的执行路径main()称之为主线...

2020-04-01 16:38:37 93

原创 IO流

IO流FileFile类概述和构造方法File类创建功能File类判断和获取功能FileFile类概述和构造方法File:它是文件和目录路径名的抽象表示文件和目录是可以通过File封装成对象的对于File而言,其封装的并不是一个真正存在的文件,仅仅是一个路径而已。它可以是存在的,也可以是不存在的,将来是要通过具体的操作把这个路径的内容转换为具体存在的。File类创建功能...

2020-03-31 10:37:21 116

原创 JavaWeb

JavaWebTomcat下载Tomcattomcat启动和配置配置我们是如何访问一个网站的配置环境变量(可选)发布一个web网站HTTP什么是HTTP两个时代Http请求Http响应Maven创建一个Maven项目解决找资源导出Tomcat下载Tomcathttp://tomcat.apache.org/tomcat启动和配置启动 关闭 tomcat:bin目录下的start up和...

2020-03-26 21:16:14 346

原创 为什么使用Maven

Maven使用Maven得目的目前的技术在开发中存在的问题以及Maven解决的痛点Maven是什么安装Maven核心程序Maven的核心概念使用Maven得目的目前的技术在开发中存在的问题以及Maven解决的痛点一个项目就是一个工程一个项目过于庞大就不适合用package来划分模块,最好是每一个模块对应一个工程,利于分工协作。借助Maven可以将一个项目拆分成多个工程项目中需要...

2020-03-19 21:21:57 158

原创 集合Collection

集合体系结构单列集合(Collection)(接口)创建对象使用多态的方法例如:Collection<String> strArr= new ArrayList<String>();Collection集合常用方法 boolean add(E e) //添加元素 boolean remove(Object o) //从集合中移除指定元素 void c...

2020-03-19 16:10:58 170 3

原创 JAVA的异常

Java虚拟机中有自己的异常处理机制,但是会在异常处中止程序,为了让程序继续执行下去我们需要使用try{}catch(){}来捕获异常案例有如下代码:public static void main(String[] args) { System.out.println("开始"); method(); System.out.println("...

2020-03-18 16:53:02 137

原创 JAVA一些基本规则

1.一些基本规则1.1 标识符的命名规则1标识符要在26个英文字母和10个数字以及下划线美元符号中选择,2并且不能使用关键字符和保留字符(可以包含),3不能以数字开头,4严格区分大小写,5不能包含空格。1.2标识符的命名规范包名:xxxyyyzzz类名接口名:XxxYyyZzz 大驼峰变量名,方法名:xxxYyyZzz 小驼峰常量名:XXX_YYY_ZZZ1.3JAVA变量的数据类...

2020-03-18 16:02:17 115

原创 JAVA常用API

MathMath继承自Object 并且被final修饰 无法被继承Math的构造方法为Private,成员变量和方法都为Static,所以此类无法创建对象,直接用类名调用方法Math得常用方法SystemSystem继承自Object 并且被final修饰 无法被继承System的构造方法为Private,成员变量和方法都为Static,所以此类无法创建对象,直接用类名调...

2020-03-18 16:01:17 71

原创 IDEA常用快捷键

Alt+Enter智能提示的 万能键双击Shift快速搜素可以根据自己的喜好自定义快捷键IDEA中默认缩写psvm=main函数sout = printlnsoutv = 自动格式化得printlnfori = 自动创建for循环模板...

2020-03-17 15:48:59 97

原创 IDEA调试器使用

如何进入调试器调试器常用工具单步执行 可以查看程序得执行顺序 一句一句得执行跳转到方法中跳出方法设置断点条件执行表达式 例如查看字符串长度等跳转到对象得类得源代码...

2020-03-17 15:00:01 360

原创 抽象类与接口

接口也是一种抽象类接口中得成员变量默认为 public final static接口没有构造方法而抽象类有构造方法(为了让子类初始化父类得成员变量)接口中不能有非抽象方法而抽象类可以有(为了提高代码复用性方便子类继承使用)类只能继承一个类但是可以实现多个接口接口可以多实现同时也可以多继承...

2020-03-17 11:39:25 105

原创 java多态

多态概念同一个对象,在不同时刻表现出的不同形态叫做多态多态得前提条件有继承/实现关系有方法重写有父类引用指向子类对象有如下代码//定义了一个动物类public class Animal{ public int age=40; public void eat(){ sout("动物吃肉"); } }//定义了一个猫类继承动物类public class cat e...

2020-03-17 11:23:59 64

原创 java修饰符

finalfinal修饰成员方法,成员变量,类被final修饰的方法不可被重写被final修饰的变量不能改变,即常量被final修饰的类为最终类,无法继承final修饰引用变量final Student s = new Student();s.age=100;System.out.println(s.age);//上述代码不会报错s = new Student();//此...

2020-03-16 16:31:14 76

转载 java中四种权限符

2020-03-16 16:11:33 175

原创 集合基础(ArrayList)

集合概述集合类的额特点:提供一种存储空间可变的存储模型,存储的数据容量可以发生改变ArrayList</E/>ArrayList是一种可调整大小的数组/</E/>是一种特殊的数据类型,泛型(ArrayList</String/>,ArrayList</Student/>)ArrayList构造方法和添加方法ArrayList常用方法...

2020-03-16 16:03:51 147

使用javaGUI实现的贪吃蛇小游戏

使用javaGUI实现的贪吃蛇小游戏,使用了javagui,timer,actionlistener,keylistener等函数

2020-03-15

空空如也

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

TA关注的人

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