自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

李永志的博客

用程序来描绘生活。

  • 博客(95)
  • 收藏
  • 关注

原创 数据库DELETE数据使用IN很慢

Delete连表删除很慢,需要好几百秒?那是你SQL写错了

2024-04-25 12:31:41 750

原创 Zookeeper入门及使用

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是典型的分布式一致性解决方案。Zoookeeper是通过共享存储的方式来实现分布式协调的,就像是电脑上面的共享文件夹。可以实现发布订阅、负载均衡、命名服务、集群管理、分布式锁等功能。

2022-05-13 16:15:49 2144 6

原创 Redis常见问题及解决方案

前面简单的讲解了下Redis的入门知识,我们使用缓存数据库的目的是让一些查询可以直接走缓存从而减轻数据库压力,但是框架中每增加一个中间件就会产生一些对应的问题,这些问题要怎么解决呢?本篇文章对Redis的一些常见问题及解决方案做一下简单的介绍,这也是面试的时候经常会被问到的题。

2022-05-09 21:56:05 1784 7

原创 Redis入门简介

随着时代的发展,产品的要求不再局限于能不能做到某事,而是更好的实现某事。当技术稳定后,用户对于产品的使用体验也越来越重要,产品速度性能更好、使用起来更简单就越受到用户的喜爱,占有的市场就越多。要想系统的请求速度更快当然离不开缓存,对于后台我们使用做多的缓存就是Redis,今天就为大家系统的讲解一下Redis需要掌握的知识点。

2022-05-07 20:00:00 836

原创 十大排序算法入门(JAVA版)

算法是程序设计的灵魂,我们最先接触的算法就是排序算法了,尤其是冒泡排序估计大家闭着眼都能写出来,对于其它的排序算法你还了解哪些?本文就带大家回顾一下算法界的十大排序算法

2022-04-23 16:26:40 1979 26

原创 数据结构(一)

在大学的时候大家就学过数据结构和算法,当时学的时候感觉挺难的,到了工作的时候可能发现一直在做CURD操作,感觉数据结构和算法用处不大。其实你想错了,数据结构和算法是一个优秀代码的基础,尤其对于大数据量处理方面,CURD大家都会,写出来的代码的好坏往往是依赖于那些像数据结构和算法、设计模式、代码规范等基础,这也是互联网公司面试的一大重点。本文就简单的介绍一下常用的数据结构。

2022-04-17 17:17:29 775 16

原创 Mysql性能优化

在实际开发中经常遇到页面打不开,页面加载慢,尤其汇总统计页面后台请求时间都变成了秒级的了,这对用户来说是绝对不能忍的,那么怎么提高数据库的执行效率呢?本文将简单的讲解一下Mysql性能优化的内容。

2022-04-14 22:46:04 1070 2

原创 Mysql分库分表

当前互联网发展速度越来越快,很多应用的用户量也越来越多,很多大的互联网项目的用户量甚至破亿,日活跃用户也在几千万,用户的活动信息一般都记录到了数据库中,那么Mysql怎么存放这些数据才能有更好的性能呢?本文简单讲解了一下Mysql中的分库分表方案。

2022-04-13 22:00:19 2720 5

原创 Mysql主从模式

随着科技的进步和互联网行业的发展,上网的人越来越多,所以我们开发的项目访问量越来越多,数据也越来越多,为了针对这个问题很多项目都搭建了集群,同样对于数据库也搭建了集群,本文就简单的对Mysql搭建主从模式做了简单的说明和配置。

2022-04-09 21:30:00 4582 1

原创 Tomcat性能调优-演示分析

前面咱们对Tomcat有了一个大体的认知,对其工作流程也了解了,下面开始干实事了。咱学习tomcat最主要的目的是可以根据情况对tomcat进行专门的配置,让其发挥更优的性能,更好的为我们工作。本文就通过实际配置演示来看一下tomcat的各种优化以及优化后的效果。

2022-04-05 15:06:59 750

原创 Tomcat源码之Tomcat的执行流程

前面简单的介绍了Tomcat的框架架构,大家应该对tomcat有了一个简单的了解,但是作为技术人员还是需要亲自的去分析代码的执行流程,然后跟着debug断点走一遍才会心理踏实。对于一些初级的程序员来说对tomcat有一个了解认知就可以了,但是对于中级程序员来说还是要深入跟进代码才能感觉到别人写的完整架构的魅力。本文就简单的介绍了tomcat源码的构建,然后又debuger跟了tomcat的执行流程走了一遍,感兴趣的可以看着介绍跟着自己走一遍断点了解下。

2022-04-04 21:46:29 2734 7

原创 Tomcat架构入门

在一个项目中永远离不开tomcat,你对tomcat了解多少呢?对于大多数初级程序员来说对于tomcat的了解可能只有怎么部署tomcat,怎么去运行项目,其实tomcat对于我们开发来说还是很重要的,大多数项目的部署运行都是依赖于tomcat的,所以有必要对tomcat有一个深入的了解,本文就简单地介绍一下tomcat。

2022-04-03 21:58:23 566 1

原创 MySQL中的事务和锁

Mysql中的事务和隔离级别是面试经常被问到的知识,本文简单的讲解了Mysql中的事务以及Mysql中的锁。

2022-04-01 22:35:58 1482

原创 Mysql索引与优化

我们使用数据库都希望数据库的查询效率快一点好,这个时候一般都是增加索引,MySQL中的索引有哪些?怎么判断一个SQL语句的好坏?如何去优化SQL语句,本文将进行简单的讲解。

2022-03-30 22:20:52 1281

原创 InnoDB存储引擎架构

Mysql中提供了多种存储引擎,其中使用最常用的就是InnoDB和MyISAM,因为MyISAM不支持事务,所以在Mysql8的时候被移除了,我们使用Mysql大多数情况下没有选择存储引擎而是使用了默认的InnoDB,本文简单介绍了InnoDB存储引擎。文章对官方文档进行了简单的摘要讲解,有对InnoDB感兴趣的可以直接看官方文档。

2022-03-30 20:00:00 3728

原创 Mysql深入学习之Mysql架构分析

对于大多数中小企业来说Mysql可能是他们最倾向的数据库,包括大公司也有很多使用的是Mysql,因为Mysql是免费开源的、体积小使用简单,而且拥有易扩展等特性。但是你对Mysql的了解有多少呢?仅仅是几个SQL语句吗?如果想要自己搭建的数据库的性能更进一步肯定需要对Mysql的底层逻辑有一些简单的认知的,这样才能根据项目情况搭建更加优秀的数据库系统,本文简单的讲解了Mysql的一些基本架构情况,让大家对Mysql有个系统性的认知。

2022-03-29 21:31:21 2608

原创 Mybatis源码SqlSession源码分析

前面简单的写了个mybatis的demo运行,并且根据demo运行了解了mybatis的执行流程,其实mybatis的源码还是很简单的,看过Spring之后就会感觉看其他框架的源码就是福利啊,在mybatis的执行流程中有很多经常听到或者面试被问到的几个类,尤其是SqlSession,本文将对SqlSession的执行进行简单的分析。

2022-03-27 21:39:04 2979

原创 Mybatis执行流程分析

对于Mybatis大家应该都很熟悉了,记得刚开始学Java的时候持久层两大框架Mybatis和Hibernate,当时我就比较喜欢Mybatis,Hibernate使用的不多,因为Mybatis的SQL语句比较自由,条理性比较清晰,当然不是说Hibernate不好,而是个人比较喜欢那种文件SQL清晰的风格,本文带大家简单回顾一下Mybatis。

2022-03-24 22:41:07 1630

原创 JDK动态代理与CGLIB动态代理

最近准备写Spring的AOP源码的,结果看了看源码发现思想逻辑设计都比较简单,本来想要从开始注入到后面的方法执行都跟下来走一遍的,但是忘了JDK动态代理和CGLIB动态代理是怎么实现的了,所以写了这篇文章来介绍回忆一下JDK动态代理与CGLIB动态代理。

2022-03-23 22:30:00 777

原创 Spring AOP中的责任链设计模式

前面简单的写了下Spring AOP中是怎么实现动态代理的,简单的来说是通过bean对象的后置管理器对实例化的bean对象做判断后使用不同的动态代理方式,下面来看一下生成的动态代理是怎么执行的。

2022-03-23 22:10:00 1430

原创 Spring源码分析之AOP源码分析

Spring框架的两大核心思想IOC和AOP,IOC在我们开发中可能除了注入之外真正涉及到的内容不多,大多数是原理性的,而AOP在开发过程中实际用到的就多了,例如常用的事务操作、权限框架、日志记录等,本文简单的就AOP的实现原理做出简单的介绍。

2022-03-23 20:52:41 1086

原创 Spring源码分析之Bean的循环依赖问题

对于高级开发来说以后可能需要做架构,所以需要对部分常用优秀框架的底层原理有一定的了解,Spring是其中的重中之重,在面试的过程中肯定会问许多Spring源码的知识,Spring中Bean的循环依赖也是中高级开发面试的高频问题,本文就讲解一下Spring的循环依赖问题。

2022-03-20 23:03:54 947

原创 Spring源码分析之Bean的生命周期(二)

前面我们简单的讲解了一下Spring中Bean的生命周期,并且写了测试代码测试了一下,没有深入的去研究Bean的生命周期在源码中怎么实现的,今天就写个文章来说明下Bean的生命周期在源码中的实现。

2022-03-18 23:32:32 764

原创 Spring源码分析之Bean的生命周期(一)

相信大多数初级程序员在面试的时候都面试过Spring中bean的生命周期,大多数人对其不太了解,认为周期一般都是: 初始化->使用->销毁就行了,Spring对bean的管理增加了很多操作,所以Spring中bean的生命周期上涉及的内容就比较多了,本文写个简单的例子来说明一下。

2022-03-18 20:30:00 791

原创 Spring框架之BeanDefinition源码分析

在分析Spring IOC中bean的创建执行流程的时候,遇到了这么一个对象BeanDefinition,其实呢这个也挺重要的,bean工厂创建对象就是根据这个来的,这里面记录了装配到容器中所有的bean对象信息,由于篇幅过长就单独提出来写了一篇文章来介绍。

2022-03-15 22:53:22 1666

原创 常见安全漏洞

平常项目上线的时候大家都进行过漏洞扫描,漏洞扫描主要针对哪些漏洞呢?这些漏洞都是怎么处理的呢?本文就介绍几个常见的安全漏洞

2022-03-12 17:37:27 9545 1

原创 一文了解Https

大家都听说过Http和Https,这两者有什么区别呢?为什么要使用Https呢,本文对Https协议做了简单的讲解。

2022-03-11 00:14:08 11835

原创 一文了解CDN应用加速

随着网络的发展,产生了很多大型的互联网公司,例如阿里、京东、腾讯等,假设某公司的总部在北京,他们的服务器部署在了北京,北京的用户访问肯定是比较快的,而广州、海南等地区访问存在着一定的延时,甚至达到延时达到秒级别,这种情况用户就不能接受了,怎么提高不同地区用户的访问速度呢?这就是本章讲解的内容 -- CDN应用加速。

2022-03-09 23:28:44 1305 1

原创 基于JDK8的HashMap源码分析

目前使用的JDK版本基本都是1.8或者以上的,大多数面试的情况下都会问到JDK7和JDK8版本的HashMap有什么不同点,HashMap在JDK1.8的时候将其底层在数组+链表的基础上增加了红黑树,这样做有什么好处呢?本文就简单的对JDK1.8版本的HashMap做一下简单的分析。

2022-03-08 23:45:00 710 2

原创 简单认识红黑树

上面两篇文章简单的讲解了ArrayList和LinkedList,他们的底层结构使用的是数组与链表,比较简单。下面要讲解HashMap,由于使用的为JDK8,HashMap采用了数组+链表+红黑树的底层结构了,可能有部分人对红黑树不太了解,本文就先对红黑树进行下说明。

2022-03-07 22:27:13 1864 2

原创 LinkedList集合源码分析

链表结构大家应该都清楚,LinkedList就是基于双向链表实现的,前面文章对ArrayList进行了简单的分析,ArrayList是基于数组实现的;本文将对LinkedList进行简单的分析,只要了解链表结构源码看起来非常简单,只是节点之间的绑定解绑操作。

2022-03-07 20:15:00 433

原创 ArrayList集合源码分析

集合是Java的基础知识,在面试过程中经常被问到集合相关的知识,在工作中我们经常用到List和Map,List又分为ArrayList、LinkedList和Vector,本文简单的对ArrayList集合进行了讲解。

2022-03-06 23:07:56 431

原创 JVM性能优化之JVM调优

通过前面的文章对JVM已经进行了简单的了解了,也知道了各种垃圾收集器以及其配置,那么这篇文章我们就简单地进行实例讲解了,如何进行JVM调优?JVM调优我们具体调整什么?为什么要调整这部分?怎么调整?

2022-03-06 00:09:28 2468 2

原创 JVM性能优化之GC日志分析

任何项目日志都是一个非常重要的部分,同样GC日志也是在垃圾回收中相当重要的,我们想要对JVM优化,首先要知道优化哪个地方,怎么找到需要优化的部位就需要读懂GC日志,通过GC日志来分析当前应用再某些情况下的缺点。

2022-03-05 11:14:35 983

原创 JVM性能优化之JVM调试工具

前面文章简单的对JVM进行了简单的讲解,又说了几个在JVM调试过程中用到的操作指令,但是我们还是喜欢用可视化界面去看数据,这样简洁直观。本文就简单的说两个常用的JVM可视化调试工具。

2022-03-04 20:00:00 1545

原创 JVM性能优化之JVM调试命令

前面文章简单的对JVM进行了简单的讲解,本文来简单讲解一下一些在JVM调试过程中使用到的操作命令。

2022-03-03 22:03:51 903

原创 JVM性能优化之类加载机制

我们写的Java代码都是编译为.class文件后再交给虚拟机运行的,类的加载就是虚拟机运行的第一步,类加载器负责从文件系统或者网络中加载class文件,加载后的类的信息我们在前面也说了是放在方法区的(JDK8之后的元空间),而具体的执行则交给了执行引擎去操作的。

2022-02-26 13:23:25 1020

原创 JVM性能优化之JVM的内存结构

我们平常开发的时候肯定遇到过两个异常内存溢出(OutOfMemoryError)和栈溢出(StackOverflowError),这两个异常是怎么出现的?为什么会出现?怎么解决呢?这就需要我们对JVM的内存结构有个详细的认知了。

2022-02-24 19:16:25 1140

原创 JVM性能优化之初识JVM

我们知道JAVA程序是跨平台的,可以一次编译到处运行,编译完成之后不管是windows、Linux还是Mac都可以直接运行,JVM就在这里起到了重要的作用。

2022-02-22 21:41:18 609

原创 深入理解并发编程之手写消息中间件实战

大多数人应该都知道MQ,消息中间件都有生产者、队列和消费者,如下图我们就使用线程手写一个类似于消息队列来加深对并发编程的理解。

2022-02-22 20:22:48 778

空空如也

空空如也

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

TA关注的人

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