- 博客(120)
- 收藏
- 关注
原创 关于mysql的索引
索引的由来我们都知道InnoDB引擎是以页为单位进行增删改查的,各个页可以组成一个双向链表,而页中的记录会按照主键大小组成一个单向链表。所以我们要定位到某条记录的话要先定位到页,再定位到具体的记录。如何定位到页?InnoDB采用了一种叫B+树的数据结构。叶节点存储真实有效的数据,非叶结点用来定位,存放‘主键’+‘页号’(类似于目录的功能,这个目录就是索引)。如何定位到某条记录?由于页内的每条记录都是按照主键大小排列的,所以采用二分查找就可以在页内快速的定位到某条记录。聚簇索引
2021-07-03 09:32:55
297
1
原创 创建线程的几种方法
创建线程的四种方式继承Thread类实现Runnable接口实现Callable接口Callable和Runnable的异同点使用线程池Executors继承Thread类(1)创建一个类继承Thread类,重写run()方法,将所要完成的任务代码写进run()方法中;(2)创建Thread类的子类的对象;(3)调用该对象的start()方法start()方法表示启用该线程,之后会自动调用run()方法,程序打印的就是Thread;如果直接调用run方法,那程序打印的就是main实例代码pub
2021-05-06 20:26:08
365
原创 docker中修改mysql密码
docker修改mysql密码有一点需要注意host后面要跟’%’连接上mysql的前提下,执行一下语句USE mysql;UPDATE USER SET authentication_string=PASSWORD('123') WHERE USER='root' AND HOST='%';FLUSH PRIVILEGES;
2021-04-17 14:14:05
572
原创 Springboot中redisTemplate空指针
跟着b站狂神学习redis,代码都一样但是,我代码的就报这样的错误网上看了很多解决办法,千篇一律都是让加@RunWith(),但是加上之后还是会报错@SpringBootTest(classes = TestredisApplication.class)最重要的是需要在SpringBootTest后面加上自己的启动类,也就是项目名...
2021-02-15 21:58:58
984
2
原创 Jeecg-boot新增模块出现“静态资源未找到”
最近通过jeecg-boot快速开发框架开发项目,自己新建了一个模块生成代码后提示“静态资源未找到”,查看浏览器控制台,发现是404错误。分析登录接口都可以正常访问,那为什么自己新增的接口会出现404呢?涉及到 模块间相互依赖的问题,自然的就想到了maven查看pom文件发现,忘记依赖了解决1、自建包需要导入基础模块,不然一些类无法使用2、parent包需要将自己新建的模块加入到其中3、module-system这里也需要加入自建的模块OK,到这里问题就解决了有其他问题也
2021-02-14 18:14:43
2483
3
原创 manjaro安装向日葵远程
yay -Sy sunloginclient安装后无法打开?需要启动向日葵服务systemctl start runsunloginclient.service
2021-01-20 17:47:11
6389
3
原创 manjaro安装虚拟机没网
sudo modprobe vmnet && sudo vmware-networks --startsudo systemctl start vmware-networks.service
2021-01-20 11:13:02
460
原创 manjaro使用vmware没有网络
报错如下:Could not connect ‘Ethernet0’ to virtual network ‘/dev/vmnet8’. More information can be found in the vmware.log file.处理方法:sudo touch /etc/vmware/xsudo vmware-networks --migrate-network-settings /etc/vmware/xsudo rm /etc/vmware/x使用下面的命令添加vmnet8,选
2021-01-13 12:52:37
1388
1
原创 红黑树介绍
红黑树红黑树是一种可以自平衡的二叉查找树。它必须满足如下5条性质:性质1:每个节点要么是黑色,要么是红色。性质2:根节点是黑色。性质3:每个叶子节点(NIL)是黑色。性质4:每个红色结点的两个子结点一定都是黑色。性质5:任意一结点到每个叶子结点的路径都包含数量相同的黑结点。从性质5又可以推出:性质5.1:如果一个结点存在黑子结点,那么该结点肯定有两个子结点如图就是一棵红黑树,004是他的根节点。红黑树并不是完美平衡二叉树,就如图中那样。红黑树所谓的平衡其
2020-12-12 12:03:15
208
原创 Mysql查询语句练习
mysql基础mysql 语法规范:不区分大小写,但建议关键字大写,表名、列名小写;每条命令最好用分号结尾;每条命令根据需要,可进行缩进或换行注释#单行注释 --单行注释 /* */多行注释测试表/* Navicat Premium Data Transfer Source Server : mysql0815 Source Server Type : MySQL Source Server Version : 50562 Source H
2020-12-12 11:58:00
643
原创 List<Integer> list = new ArrayList<>()里面可以放String类型的数据吗?
可以通过反射将String放入List中。那什么是反射呢?在运行过过程中获取类的名称,方法,属性,注解,类型等。获取任意对象的方法,属性等。并且可以改变对象属性判断一个对象所属的类实例化任意一个类的对象其实就是java提供的reflect包回到一开始的那个问题,List list = new ArrayList<>()里面可以放String类型的数据吗?很显然是可以的,因为list是一个对象,而反射可以获取对象的属性方法,并且改变对象属性。那我们就可以通过list.getM
2020-10-08 21:00:43
1542
转载 JQuery.jqGrid()入门
jQuery("#grid_id").jqGrid({ //<table id="grid_id"></div> url: "UserServlet?method=getList", // 加载数据时访问的url 具体的返回可以是xml,json datarype:"json" //返回的数据类型,后台需要返回一个json字符串 json,xml,xmlstri
2020-09-24 19:26:03
2336
原创 BIO/NIO/AIO
面试官:聊聊BIO、NIO、AIO我:emmm......我只知道IO虽然IO流是Java基础部分学习的内容,而且用起来也是比较简单的;但是,如果让你系统的说一下IO,还是比较困难的。这篇博客通过各方面对比,来聊一聊这几个IO。一些概念在学习Java的IO流之前,我们必须要知道一些关键词。同步与异步:(关注的是消息通信机制) 同步(Synchronous):代码按顺序执行,执行到同步方法时,不管方法有没有返回值都要执行完,才能往下执行。 异步(Asynchronou.
2020-09-20 22:07:53
174
原创 阿里云镜像加速
开启容器镜像服务sudo mkdir -p /etc/dockersudo tee /etc/docker/daemon.json <<-'EOF'{ "registry-mirrors": ["https://gubiabci.mirror.aliyuncs.com"]}EOFsudo systemctl daemon-reloadsudo systemctl restart docker
2020-09-17 16:44:12
144
原创 Linux下安装Docker
1、确定环境安装官方文档https://docs.docker.com/engine/install/centos/卸载Docker,即使以前没有安装过也要执行一下使用仓库安装配置镜像仓库(使用国内的阿里云镜像地址),这里不要使用官方推荐的,会比较慢yum-config-manager \ --add-repo \ http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce...
2020-09-16 20:54:57
188
转载 @JsonIgnoreProperties和@JsonIgnore
https://www.cnblogs.com/yangzhixue/p/12262680.html
2020-09-12 17:57:45
156
原创 Spring事务入门
什么是事务?理解事务其实就是一句话要么做完,要么不做要么做完:方法正常执行结束要么不做:方法中某个环节出现异常,方法就会回滚,该方法就相当于没有被执行事务代码步骤给方法上标注@Transactional表示当前方法是一个事务方法。@EnableTransactionManagerment开启基于注解的事务管理功能配置事务管理器来控制事务代码:Dao@Repositorypublic class UserDao { @Autowired JdbcTemplat
2020-09-11 16:34:14
109
原创 MySQL的Driver和URL
MySQL8URL:jdbc:mysql://localhost:3306/test?characterEncoding=utf8&useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=trueDriver:com.mysql.cj.jdbc.DriverMySQL5URL:jdbc:mysql://localhost:3306/testDriver:com.mysql.jdbc.Driver连接过程中可能出现的
2020-09-11 16:13:24
4365
原创 SpringAop入门
Aop面向切面编程,在方法执行的前中后等加入指定的操作。底层动态代理代码MyCalculator方法类public class MyCalculator { public int div(int i,int j){ return i/j; }}切面类AspectJ@Aspectpublic class AspectJTest { // 切入点表达式 @Pointcut("execution(public int com.spirng.aop.My
2020-09-10 11:40:15
227
转载 Eclipse设置编码格式
https://blog.youkuaiyun.com/lanmuhhh2015/article/details/79366872
2020-09-09 17:29:04
133
原创 Spring自动装配细节
/ 这里不能getBean(BookDao.class),因为容器中注册了两个BookDao,通过类名寻找会报错NoUniqueBeanDefinitionException// 应该通过getBean(BookService.class)才有意义。// 通过Qualifier或者Primary来指定优先级,选择使用哪一个bean对象。...
2020-09-01 21:19:53
122
原创 Spring给属性赋值
在Spring中,我们给属性赋值一般使用@Value注解。按功能分可以将@Value分为三类基本数值@Value("张三")private String name;SpEl表达式#{}@Value("#{20-2}")private int age; // 这里赋值18配置文件${}@Value("${person.clName}")private String clName;#cName.propertiesperson.clName=张三// 配置类@Co
2020-08-31 19:49:28
267
原创 Spring中常用的几个注解及其作用
刚开始学Spring,觉得一些用到过的注解需要统一的记录一下,不断更新哦组件注解@Component添加组件@Service添加组件@Controller添加组件@Repository添加组件@ComponentScan包扫描@Bean添加一些未加注解的类的组件@Import(要导入到容器中的组件/Selector/IBDR)快速添加组件。2)、自定义ImportSelector类(SpringBoot底层用的非常多),返回全类名字符串
2020-08-27 20:47:29
397
原创 求求别再问Spring中Bean的生命周期了!!!
构造(对象创建)单实例:在容器启动的时候创建对象多实例:在每次获取的时候创建对象初始化对象创建完成,并赋值好,调用初始化方法。。。销毁单实例:容器关闭的时候多实例:容器不会管理这个bean,当容器关闭的时候,容器不会调用销毁方法。...
2020-08-27 20:43:47
275
原创 给Ioc容器中添加组件的几种方式
给容器中添加组件的几种方式1、添加自定义的组件@Component@Controller@Service@Repository@ComponentScan2、添加第三方jar包@Bean3、快速个容器中添加一个组件@Import
2020-08-26 16:59:49
466
原创 AnnotationConfigApplicationContext@51016012 has not been refreshed yet
在使用Spring获取Person的实例时出现了未刷新的错误错误代码AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext();String[] forType = applicationContext.getBeanNamesForType(Person.class);正确代码AnnotationConfigApplicationContext applicat
2020-08-26 16:43:23
2405
原创 Linux安装Redis和连接测试
必备环境:服务器联网环境1、下载压缩包(1.8M)Redis官网,直接点击下载即可。通过远程工具xftp将下载的安装包移动到自己的服务器在远程工具XShell中,将redis解压在当前文件夹。Linux常用命令tar -zxvf redis-5.0.7.tar.gz,这里直接按tab键会提示输入。打开解压后的文件夹:安装基本的环境进入解压后的文件夹后,输入指令yum install gcc-c++执行完毕后,通过gcc -v查看是否安装成功。进入解压文件目录使用make
2020-08-23 22:06:55
1293
原创 Redis是什么?能干嘛?【菜】
文章目录是什么?Redis与其他key-value存储有什么不同?优势?是什么?百度百科:Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。菜鸟教程: Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。Redis是一种NoSql、Key-Value、支持多种语言型数据库。并且优势多多,要想找工作
2020-08-23 10:26:08
197
原创 什么是NoSql?为什么要用NoSql?NoSql/MySQL区别【菜】
为什么会有NoSql?持久层的发展:单MySQL时代,用户量少。用户量大了,多个Mysql数据库提高效率添加缓存WHy NoSql?照片,博客,视频等一些数据信息,不需要固定的数据库格式,真正在公司中的实现,NoSql+关系型数据库...
2020-08-23 09:57:22
725
原创 JVM七大垃圾回收器下篇G1(Garbage First)【尚】
文章目录G1回收器:区域化分代式为什么名字叫做Garbage First (G1)呢?G1垃圾回收器优势G1缺点G1参数设置G1回收器的常见操作步骤G1适用场景分区region,化整为零G1回收器垃圾回收过程记忆集与写屏障G1回收过程详解过程1年轻代GC过程2年轻代GC+并发标记过程过程3混合回收过程4Full GCG1回收器优化建议7种经典的垃圾回收器总结怎么选择垃圾回收器关于面试G1回收器:区域化分代式既然我们已经有了前面几个强大的GC,为什么还要发布Garbage First (G1)GC?
2020-08-21 21:41:33
244
原创 JVM七大垃圾回收器上篇Serial、ParNeW、Parallel Scavenge、 Serial Old、 Parallel Old、 CMS、 G1【尚】
JVM并没有明确指出要使用哪种垃圾回收器,也就是说可以使用不同厂商,不同版本的垃圾回收器。文章目录评估GC的性能指标吞吐量暂停时间高吞吐与低暂停对比经典垃圾回收器发展7款经典的垃圾收集器7款经典的垃圾收集器与垃圾分代之间的关系垃圾收集器的组合关系Serial回收器:串行回收Serial Old收集器Serial回收器的优势Serial回收器总结ParNew回收器:并行回收ParNew收集器效率Parallel回收器:吞吐量优先Parallel Old收集器Parallel垃圾回收器参数配置CMS回收器:
2020-08-21 19:56:24
413
原创 Java四种引用总结,强引用、软引用、弱引用、虚引用【尚】
文章目录JVM引用强引用: 不回收软引用: 内存不足即回收弱引用: 发现即回收虚引用: 对象回收跟踪终结器引用JVM引用我们希望能描述这样一类对象: 当内存空间还足够时,则能保留在内存中;如果内存空间在进行垃圾收集后还是很紧张,则可以抛弃这些对象。【既偏门又非常高频的面试题】强引用、软引用、弱引用、虚引用有什么区别?具体使用.场景是什么?在JDK 1.2版之后,Java对引用的概念进行了扩充,将引用分为强引用(Strong Reference)、软引用(Soft Reference) 、弱引
2020-08-21 13:26:20
210
原创 JVM垃圾回收安全点Safe Point【尚】
GC安全点程序执行时并非在所有地方都能停顿下来开始GC,只有在特定的位置才能停顿下来开始GC,这些位置称为“安全点(Safepoint) ”Safe Point的选择很重要,如果太少可能导致GC等待的时间太长,如果太频繁可能导致运行时的性能问题。大部分指令的执行时间都非常短暂,通常会根据“是否具有让程序长时间执行的特征”为标准。比如:选择些执行时间较长的指令作为Safe Point, 如方法调用、循环跳转和异常跳转等。如何在GC发生时,检查所有线程都跑到最近的安全点停顿下来呢?抢先式中断: (
2020-08-21 11:06:27
197
原创 JVM垃圾回收的并行与并发【尚】
文章目录程序的并行和并发并发并行二者对比垃圾回收的并发与并行程序的并行和并发一皇两后是并发,两皇一后是并行并发在操作系统中,是指一个时间段中有几个程序都处于己启动运行到运行完毕之间,且这几个程序都是在同一个处理器_上运行。并发不是真正意义上的“同时进行”,只是CPU把一个时间段划分成几个时间片段(时间区间),然后在这几个时间区间之间来回切换,由于CPU处理的速度非常快,只要时间间隔处理得当,即可让用户感觉是多个应用程序同时在进行。并行当系统有一个以上CPU时,当一个CPU执行一个进程时
2020-08-21 11:03:28
356
原创 JVM-STW-stop the world
Stop一the一World,简称STW,指的是Gc事件发生过程中,会产生应用程序的停顿。停顿产生时整个应用程序线程都会被暂停,没有任何响应,有点像卡死的感觉,这个停顿称为STW。➢可达性分析算法中枚举根节点(GC Roots)会导致所有Java执行线程停顿。.停顿的原因分析工作必须在一个能确保一致性的快照中进行一致性指整个分析期间整个执行系统看起来像被冻结在某个时间点上如果出现分析过程中对象引用关系还在不断变化,则分析结果的准确性无法保证例子被STW中断的应用程序线程会在
2020-08-21 10:34:25
193
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人