自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 jvm笔记

jvm总结

2021-01-20 20:18:50 369

原创 springboot尚硅谷

文章目录1.POM文件1.1版本号1.2启动器2.主程序类,主入口类3.使用Spring Initializer快速创建Spring Boot项目3.1配置文件3.2 YAML语法:1、基本语法2、值的写法字面量:普通的值(数字,字符串,布尔)对象、Map(属性和值)(键值对):数组(List、Set):@Value获取值和@ConfigurationProperties获取值比较@PropertySource&@ImportResource&@Bean1.POM文件1.1版本号&lt

2020-11-11 18:57:09 190

原创 【宜搭】编辑状态、提交状态和浏览状态

宜搭低代码

2022-11-04 15:18:48 1157 1

原创 【宜搭】报表与报表之间的跳转

宜搭

2022-10-25 14:20:06 1316

原创 宜搭问题总结

钉钉宜搭学习

2022-07-08 15:22:25 8767 7

原创 java的重写和重载

重载:名字相同但是参数列表不相同 (参数类型数量,类型不同/参数类型的顺序不同)返回值类型不同不属于重载,还有带不带static修饰,也不属于重载,包装类换成基本数据类型,属于重载。重写:重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。...

2022-05-18 08:23:21 140

原创 mysql建表优化

文章目录避免null数据类型禁止外键水平分表时严禁使用自增主键雪花算法避免null表字段尽量避免null的出现,因为null值无法走索引,若想使用,可以用0或特殊的值或空字符串;数据类型1尽量使用int而不是bigint,如果是非负的话还可以UNSIGNED,因为符号也会占一位,加上他的话可以扩大两倍;2.char和varchar的选择,若想要查询速度快一些的话就用char,若想要省一些空间的话就用varchar,如果字段的长度确定,那就选择char,不确定就用varchar3.小数尽量用精确值

2021-12-05 12:49:17 366 2

原创 如何保证数据库和缓存一致性

文章目录起因更新缓存的策略问题:当缓存中的内容变化时,是选择修改缓存(update),还是直接淘汰缓存(delete)?淘汰缓存更新缓存若有操作失败情况产生执行顺序的问题:先更新缓存还是先更新数据库?先删缓存,在更数据库先更数据库,再删缓存其他起因在高并发的业务场景下,数据库大多数情况都是用户并发访问最薄弱的环节。所以,就需要使用redis做一个缓冲操作,让请求先访问到redis,而不是直接访问MySQL等数据库。读取缓存步骤一般没有什么问题,但是一旦涉及到数据更新:数据库和缓存更新,就容易出现缓存(R

2021-11-30 23:47:01 608

原创 innodb存储引擎

文章目录innodb引擎特点:innodb体系架构后台线程内存缓存池LRU List ,Free List和Flush ListLRU ListFree List:Flush Listinnodb引擎特点:支持事务(myisam无)支持行锁,表锁(myisam只支持表锁)支持外键(myisam无)通过对版本并发控制(mvcc)来获得高并发性插入缓存(insert buffer)二次写(double write)自适应哈希索引聚集索引innodb引擎在mysql数据库5.5.8版本开始,是

2021-11-29 22:39:12 1253

原创 MVCC原理

文章目录什么是mvcc当前读快照读mvcc的原理什么是mvccmvcc即多版本并发控制。他主要在mysql innoDB中提高数据库并发性能,用更好的方式去处理读写冲突,坐到即使有读写冲突,也可以坐到不加锁,非阻塞并发读当前读读取当前最新版本,读取时还要保证其他并发事务不能修改当前记录,会对读取的记录进行加锁快照读mvcc的原理...

2021-11-27 19:59:12 576

原创 synchronized原理

一个synchronized原理看了好多天,今天终于有了点头绪了synchronized是如何实现的,为什么一个线程拿到锁,别的线程就拿不到了,就可以保证线程安全了synchronized到底锁的是什么可分为三种情况记住:synchronized不可以锁静态代码快1.代码块此时锁的是括号中的变量/类,一般我们习惯写成this,此时锁的是当前类的实例化对象,如果多个线程用的是一个实例化对象,此时就一个县城拿到锁,其他线程无法访问,但是如果是每个线程都用每个线程实例化的对象,此时就不会线程线程同步。

2021-11-19 00:15:30 421

原创 经典排序算法(正在更新)

文章目录交换排序冒泡排序快速排序插入排序直接插入排序折半插入排序希尔排序交换排序冒泡排序比较相邻的两个数越小(大)的元素会经由交换慢慢“浮”到数列的顶端。代码:public class Test { public static void main(String[] args) { int[] a={5, 8, 6, 3, 9, 2, 1, 7}; int len=a.length-1; for (int i = 0; i < len

2021-10-14 20:22:19 80

原创 TCP/IP

文章目录为什么要有OSI七层模型TCP/IP VS OSI为什么要有OSI七层模型1.每层有特定的功能,互不影响2.每层是服务者又是被服务者,TCP/IP VS OSI

2021-09-28 09:33:09 115

原创 HTTP/HTTPS

HTTP协议(HyperText Transfer Protocol,超文本传输协议)是因特网上应用最为广泛的一种网络传输协议,所有的WWW文件都必须遵守这个标准。HTTP是一个应用层协议,由请求和响应构成;工作原理:HTTP协议工作于客户端—服务端架构上。浏览器(作为HTTP客户端) 通过URL向HTTP服务端—发送所有请求客户端请求消息:客户端发送一个HTTP请求到服务器的请求消息包括以下格式:请求行(request line)、请求头部(header)、空行和请求数据四个部分组成;下图给出了

2021-09-21 16:55:34 146

转载 100阶乘后面有几个0

分析:一般类似的题目都会蕴含某种规律或简便方法的阶乘末尾一个零表示一个进位,则相当于乘以10而10 是由2*5所得,在1~100当中,可以产生10的有:0 2 4 5 6 8 结尾的数字,显然2是足够的,因为4、6、8当中都含有因子2,所以都可看当是2,那么关键在于5的数量了那么该问题的实质是要求出1~100含有多少个5由特殊推广到一般的论证过程可得:1、 每隔5个,会产生一个0,比如 5, 10 ,15,20.。。2 、每隔 5×5 个会多产生出一个0,比如 25,50,75,1003

2021-06-11 15:25:13 662

原创 乐观锁悲观锁

乐观锁: 乐观锁是一种思想,具体实现是,表中有一个版本字段,第一次读的时候,获取到这个字段。处理完业务逻辑开始更新的时候,需要再次查看该字段的值是否和第一次的一样。如果一样更新,反之拒绝。之所以叫乐观,因为这个模式没有从数据库加锁。悲观锁: 悲观锁是数据库层面加锁,都会阻塞去等待锁。乐观锁优点程序实现,不会存在死锁等问题。他的适用场景也相对乐观。阻止不了除了程序之外的数据库操作。悲观锁是数据库实现,他阻止数据库写操作。乐观锁和悲观锁的使用场景:1.响应速度:如果需要非常高的响应速度,建议采用乐观锁

2021-06-11 10:00:32 245 1

原创 对java的三大特性的理解

封装也就是说用户是无需知道对象内部的细节,但可以通过该对象对外的提供的接口来访问该对象。一个对象它所封装的是自己的属性和方法,所以它是不需要依赖其他对象就可以完成自己的操作。使用封装有三大好处:1、良好的封装能够减少耦合。2、类内部的结构可以自由修改。3、可以对成员进行更精确的控制。4、隐藏信息,实现细节。继承多态...

2021-06-10 15:09:58 110

原创 剑指 Offer 24反转链表流程图

定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL代码:class Solution { public ListNode reverseList(ListNode head) { ListNode new_head=null,next=null; while(head!=null)

2021-06-09 09:34:03 144

原创 LeetCode21 合并两个有序链表两种解法

将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。迭代法: public ListNode mergeTwoLists1(ListNode l1,ListNode l2){ ListNode res=new ListNode(); ListNode cur=res; while (l1!=null&&l2!=null){ if (l1.val<= l2.va

2021-06-07 13:25:21 73

原创 LeetCode20有效的括号两种解法

给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串 s ,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。当看到题目是,最先相到的是栈,将左边的括号放到栈中push,如果遇到了右边的括号,就将栈顶的元素pop,如果取出来的左括号和有括号不匹配,那么就false:代码: public boolean isValid(String s) { //字符串为空 if(s.length()==0

2021-06-07 09:57:29 101

原创 java如何在方法中交换两个变量的值

在c语言中,交换两个数的值时,可以使用&将地址传入,但是java中不可以。在java中,我们可以将两个变量当做一个对象的两个属性,之后将该对象当做方法的参数,此时再用最平常的方法就可以交换两个数的值了。public class Test { int x,y; public static void main(String[] args) { Test a=new Test(); a.x=1; a.y=2; Syste

2021-06-07 08:09:54 1632

原创 LeetCode02两数相加的两种解法

给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。这里每个节点只能放一位数字,如果两数相加大于10,则取他的个位数放到该节点中,十位数的数待后面两个数相加时再加进去代码:class Solution { public ListNode addTwoNumbers(ListNode l1, ListNode l2) { //这个是相加过后要放入的节点 ListNode listNodeSum=new

2021-06-06 15:02:15 115

原创 LeetCode01两数之和的两种解法

题目:给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。这道题可以使用两种解法1.暴力法:暴力法就是使用两个指针,一个指针指向前面,一个指针指向后面, 如果某个时刻的值符合要求,那么就返回对应的数组下表代码: public int[] Solution(int[] nums, int target){ int[] s=new int[2]; for (int i

2021-06-06 10:05:02 66

原创 leetCode169多数问题,leetCode229众数问题及实际问题

给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。解决方案:一次删掉不同的数,最后如果有多数的话,他会剩下来,反过来不成立如果不确定是否有多数,那么最后剩下来的数不一定就是多数public int test(int[] nums){ int HP=0;//血量 int candidate=0;//候选人 for (int num:nums) { //当血量为0时,此时的候选人就是该变量

2021-06-05 20:53:48 166

原创 SpringBoot原理

SpringBoot中最重要的注解是启动类中的**@SpringBootApplication**,他包含好多个注解,里面最重要的是这三个:@SpringBootConfiguration这个注解又包含@Configuration,他表示的是该类是IOC的组件@ComponentScan他是来扫描包的@EnableAutoConfiguration这个注解是最重要的,他又包含着@AutoConfigurationPackage它里面又包含着下面这个注解@Import(AutoConf

2021-05-07 14:22:54 93

原创 url-pattern配置为“/“和“/*“的区别

??????????

2021-04-28 09:47:52 354

原创 学习路线

文章目录编程基础(掌握)JAVA语法Java基础JVM多线程数据结构算法前端(了解)运维知识(配置)成神之路平稳降落编程基础(掌握)JAVA语法Java基础JVM类加载机制字节码执行机制JVM内存模型GC垃圾回收JVM性能监控与故障定位JVM调优多线程并发编程的基础线程池锁并发容器原子类JUC并发工具类### 数据结构和算法数据结构字符串数组链表堆、栈、队列二叉树哈希图算法排序查找贪心分治动态规划回溯### 计算机网络ARP协议

2021-04-14 07:58:24 38

原创 异或

位运算异或,将数字转换成二进制3^4=011^100=111=7相同得0不同得1由此可以得出:0 ^ n = n 任何数异或0还是本身n ^ t ^ t =n 任何数异或同一个数还是本身异或的用处:1.查找数组中唯一出现一次的数字0^数组中的所有数字,最后得出来数字的就是唯一出现的数字2.不使用额外的空间,交换两个数的值a=a^bb=a^b (实际上就是 a ^ b ^ b=a ^ 0=a)a=a^b (前面的b已经是a 了,a是a ^ b,所以a=a ^ b ^

2021-04-10 13:58:13 91

原创 next(),nextLine(),nextInt()

next()方法是碰到定界符(the delimiter)就会暂停输入,所以它并不能输入空格、Tab键这种“特殊”的字符;但是当第一个字符是空格就可以nextLine()方法是遇到回车才算输入结束,所以就会把空格、Tab键这种”不特殊”的键也包括进去。nextInt()只能够读数字,并且遇到空格会暂停输入注意在next()、nextInt()与nextLine()一起使用时,next()、nextInt()往往会读取部分数据(会留下"\n"或者空格之后的数据)。...

2021-04-03 19:42:05 138

原创 SQL优化

文章目录mysql的体系结构存储引擎索引索引分类索引的设计原则优化SQLexplainIDselect_typetypeextramysql的体系结构存储引擎存储引擎是基于表的,而不是基于数据库的在创建表的时候他会要求你去选择哪一个存储引擎(mysql5.5之后默认是InnoDB),而 创建数据库的时候却不会让你选择InnoDB的优势就在于他支持行锁和外键而MyISAM支持表锁(速度快,业务如果对事务的完整性不做要求,而且允许少量的数据丢失,此时就可以使用MyISAM)索引什么是索

2021-03-28 17:40:14 165

原创 使用jetbrains-agent后idea失效

2021-03-19 10:15:48 3230

原创 ssm项目中jar包版本的要求

mysql-connector-java的版本和mysql的版本要求mybatis,spring,spring-mybatis的版本要求

2020-12-14 19:42:06 174

原创 单例模式懒汉和饿汉

这是饿汉式,不管用不用,先创建一个对象,线程安全public class SingletonTest01 { public static void main(String[] args) { Bank bank1=Bank.getInstance(); Bank bank2=Bank.getInstance(); System.out.println(bank1==bank2); }}class Bank { private B

2020-12-01 11:03:32 113 1

原创 javaee课笔记

小试牛刀:1.char a = 20000;int b = '我';这个有错误么?答:没有当给char赋整数时,需要在0~65535。十进制、八进制、十六进制均可(只能放单个字符),他会对应字符编码表转换成相应的字符①ASCII码中,一个英文字母(不分大小写)占一个字节的空间②UTF-8编码中,一个英文字符等于一个字节,一个中文(含繁体)等于三个字节。③Unicode编码中,一个英文等于两个字节,一个中文(含繁体)等于两个字节。当给int赋值一个字符时,他会对应字符编码表转换成整数2

2020-11-29 20:49:25 581

原创 mybatis-plus

官方文档https://baomidou.com/首先导包:<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.47</version> </dependency> <dependency> <groupId>com.bao

2020-11-29 20:13:39 62

原创 mybatis-plus中遇到org.springframework.jdbc.BadSqlGrammarException

在mybatis -plus中,我们不用自己写sql语句,可以调用mapper集成的类里的函数即可,所以基本上是不会遇到SQL语法错误的,但是我这里怎么就遇到了呢在我进行逻辑删除测试的时候,我在user表中添加了一列,名为delete运行的时候他执行的是这个语句在这里他将我的delete添加到了sql语句中,但是这个时候的delete就不是我列的delete了,在这里系统把他当做了delete关键字,所以我代码会报错总结,在我们进行给表中加列的时候,牢记要避免和sql中的关键字相同...

2020-11-29 18:39:10 1588

原创 redis

Redis

2020-11-28 19:16:59 289

原创 lib文件夹

有时候当我们运行web项目过后会出现classnotfoundexception,这个时候我们要去看看我们的project structure中的模块中的WEB-INT中有没有lib文件夹,若没有则需要我们手动添加,并且把包都添加进去。具体原因未知为什么我的springboot项目中就没有显示模块,更没有lib文件夹。...

2020-11-24 14:57:22 546

原创 前端

开头<!DOCTYPE html>然后首尾`<head></head>中有<meta charset="UTF-8">超链接<a href ="网址"> 文字 </a>若要打开新网页则在网址后加上target="_blank"...

2020-11-23 14:45:06 71

原创 mybatis和spring的整合

版本问题最开始的时候没有spring的mybatis //加载Mybatis配置文件,为了访问数据库 Reader reader = Resources.getResourceAsReader("Mybatis.xml"); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader); //这里的session相当于当时jdbc的connecti

2020-11-20 13:29:28 142

空空如也

空空如也

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

TA关注的人

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