自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java 集合框架

在空间和时间上取得了较好的平衡,大于该值,空间节省了,但是链表就会比较长,影响性能。小于这个值,冲突减少了,但是扩容会更频繁,空间占用也会更多。

2023-08-22 00:15:00 72

原创 JVM总结

继承ClassLoader父类重写findClass方法,注意不是重写loadClass,否则不会走双亲委派的流程读取类的字节码(IO流操作)调用父类(ClassLoader)的defineClass方法加载类使用者调用自定义类加载器的loadClass方法来进行类的加载。

2023-08-21 00:50:01 9383

原创 JUC总结

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nKJgzGLF-1692550109005)(…\Pictures\blog\synchronized_upgrade.png)]偏向锁在无资源竞争的情况下完全消除了同步,提高了线程在单线程下访问同步资源的性能,当出现多个线程竞争时,就会撤销偏向锁,升级为轻量级锁。因此当同步资源一直是被多线程访问的,偏向锁就失去了作用,这时就应该禁用偏向锁,来减少偏向锁撤销升级的性能消耗。适用于单线程的情况。

2023-08-21 00:49:33 182

原创 函数式编程

lambda方法体中只有一行代码,并且这行代码是调用了某个类的静态方法,并且我们把要重写的抽象方法中所有的参数都按照顺序传入了这个静态方法中(函数式接口中方法的形参按照顺序匹配上了静态方法的形参),就可以引用类的静态方法。方法引用的使用前提是在使用lambda时(而使用lambda的前提是函数式接口,也就是只有一个抽象方法的接口),如果lambda的方法体中只有一个方法的调用的话(包括构造方法),就可以使用方法引用进一步简化代码。对流中的元素进行遍历操作,通过传入Consumer接口来指定具体的操作。

2023-08-21 00:48:10 56

原创 Nginx

需要说明一点,Nginx是否缓存是Nginx和上游服务器共同决定的,默认情况下,当从上游服务器中得到的Cache-Control中配置了private,no-cache,no-store或者Set-Cookie中配置了Expires信息时,Nginx不进行缓存,另外,Nginx仅仅缓存客户端的GET和HEAD请求。动静分离的实践中,既可以把静态文件放在其它的静态资源服务器上,不同类型的静态文件可以转发到不同的服务器,也可以根据客户端类型转发到不同地址上,还可以直接将静态文件存放到Nginx服务器上。

2023-08-21 00:22:41 89

原创 设计原则和设计模式

定义提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类结构[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FAHPCtzR-1692548461351)(…\Pictures\blog\designpattern_uml\abstractFactory.png)]优缺点规定了所有可能被创建的产品集合,产品簇中扩展新的产品困难,需要修改抽象工厂的接口;增加了系统的抽象性和理解难度适用场景源码体现。

2023-08-21 00:22:01 43

原创 一文理解MySQL存储引擎、索引、事务及锁原理

1、MySQL中的存储引擎1.1、什么是存储引擎mysql中建立的库===>文件夹库中建立的表===>文件​ 现实生活中我们用来存储数据的文件应该有不同的类型:比如存文本用txt类型,存表格用excel,存图片用png等。数据库中的表也应该有不同的类型,表的类型不同,会对应mysql不同的存取机制,表类型又称为存储引擎。即数据存放、管理的方式。​ 存储引擎说白了就是如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。因为在关系数据库中数据的存储是以表的形式存

2020-09-03 22:59:45 804

原创 一文理解Docker

1、Docker是什么Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。Docker的目标是实现轻量级的操作系统虚拟化解决方案,Docker的基础是Linux容器(LXC)等技术。(摘自《Docker技术入门与实战》)2、容器化和虚拟化下面从部署一个项目的角度来理解一下容器化和虚拟化的区别。首先传统方式部署一个项目,速度慢,成本高,系统资源利用率低,不利于迁移扩展。引入虚拟化技术之后能够提高

2020-09-03 04:58:46 350

原创 一文看懂RabbitMQ

RabbitMQ笔记1、RabbitMQ是什么?1.1、概念:​ MQ(Message Queue)消息队列,是指用高效可靠的消息传递机制进行与平台无关的数据交流,并基于数据通信来进行分布式系统的集成。本质上就是一个存储、转发消息的中间件。1.2、MQ历史发展:​ 最早的消息队列软件TIB(The Information Bus)实现了生产者和消费者的解耦,它的成功引起了IBM的注意,之后IBM研发了自己的IBM Websphere,微软也研发了MicroSoft Message Queue,

2020-09-02 01:02:30 301

原创 ZooKeeperClientTimeoutException

kafka.zookeeper.ZooKeeperClientTimeoutException: Timed out waiting for connection while in state: CONNECTING报错原因1、kafka配置文件server.properties中的配置zookeeper.connect的zookeeper服务地址是否正确?2、也有可能是防火墙没有关闭,使用systemctl stop firewalld关闭防火墙3、kafka中libs目录下的zookeeper版

2020-08-24 12:32:24 9023 1

原创 一文理解Redis的数据结构

Redis基础篇介绍一下redis的历史、SQL和NoSQL的一些区别、redis的安装、常用的五种数据类型的存储原理,其它4中数据类型只是简单做了一下了解。希望能够从中学习到一些数据结构设计的思想。关于命令的操作文中有链接,其中的命令描述非常详细,这里就不在写了。1、Redis的历史2008年意大利的一个叫做antirez的老哥,搭建了一个可以记录网站访问情况的一个网站LLOOGG.com,最初它最多查看一万条最新的记录,它为每一个网站创建了一个列表,不同网站的访问情况对应不同的列表,这些列...

2020-07-10 00:11:29 251

原创 mybatis的两大配置文件

全局配置 mybatis-config.xmlporperties属性可以配置一些运行参数,可以放一些porperties或者xml文件,比如:<properties> <property resource = "db.properties"></property></properties>settings设置能够配置的内容比较多,能够影响Mybatis底层的运行,一般只修改一些常用的规则,比如自动映射、驼峰命名规则、级联规则、缓存、E

2020-06-15 06:00:50 671

原创 spring注解详细介绍

Spring注解总结Spring 5已经支持全注解开发,spring boot 2 也是基于 Spring 5,注解开发灵活性高,代码可读性高,少了很多繁琐的配置。今天简单总结一下Spring中的注解。@Controller组合注解(组合了@Component注解),应用在MVC层(控制层),DispatcherServlet会自动扫描注解了此注解的类,然后将web请求映射到注解了@RequestMapping的方法上。@Service组合注解(组合了@Component注解),应

2020-06-04 14:03:48 113

空空如也

空空如也

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

TA关注的人

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