摘要:
一张好图胜过千言万语!!! Kafka 的角色以及他们之间的关系。 Kafka 工作流程-偏移量。 Kafka 如何快速查询数据。 Kafka 如何分区存放数据。 阅读全文
摘要:
真的,Kafka 入门一篇文章就够了 优秀文章推荐:https://juejin.cn/post/6844903495670169607。 阅读全文
摘要:
最近项目中用到了分表,记录一下学习思考实践过程。--真情妙悟铸文章!!! 为什么要分表 项目开发中,我们的数据库数据越来越大,随之而来的是单个表中数据太多。以至于查询变慢,而且由于表的锁机制导致应用操作也搜到严重影响,出现了数据库性能瓶颈。 当出现这种情况时,我们可以考虑分表,即将单个数据库表进行拆 阅读全文
摘要:
传统的web项目,一般都将静态资源存放在 webroot的目录下,这样做很方便获取静态资源,但是如果说web项目很大,用户很多,静态资源也很多时,服务器的性能 或许就会很低下了。这种情况下一般都会需要一个静态资源的服务器。 搭建nginx服务器首先得安装nginx服务,关于nginx服务的安装可以参 阅读全文
摘要:
ApplicationContext Spring的核心,Context我们通常解释为上下文环境。ApplicationContext则是应用的容器。 Spring把Bean(object)放在容器中,需要用就通过get方法取出来。在ApplicationContext接口的众多实现类中,有3个是我 阅读全文
摘要:
BeanPostProcessor 是Spring框架核心接口之一。 了解这个接口的作用对于我们详细了解Spring框架bean加载顺序十分重要。 Spring中Bean的实例化过程图示 BeanPostProcessor接口源码 public interface BeanPostProcessor 阅读全文
摘要:
数据库有读写锁、Java也有自己的读写锁。 数据库读写锁如下:mysql 共享锁与排他锁 synchronized和ReentrantLock的对比 到现在,看到多线程中,锁定的方式有2种:synchronized和ReentrantLock。两种锁定方式各有优劣,下面简单对比一下: 1、synch 阅读全文
摘要:
1. 引言 当我们点击某个杀毒软件的取消按钮来停止查杀病毒时,当我们在控制台敲入quit命令以结束某个后台服务时……都需要通过一个线程去取消另一个线程正在执行的任务。Java没有提供一种安全直接的方法来停止某个线程,但是Java提供了中断机制。 如果对Java中断没有一个全面的了解,可能会误以为被中 阅读全文
摘要:
JMM即为JAVA 内存模型(java memory model)。 JMM是一个抽象模型,它是建立在不同的操作系统和硬件层面之上,对问题进行了统一的抽象。 因为在不同的硬件生产商和不同的操作系统下,内存的访问逻辑有一定的差异,结果就是当你的代码在某个系统环境下运行良好,并且线程安全,但是换了个系统 阅读全文
摘要:
对象属性初始化 声明属性时初始化 在初始化块中初始化 在构造方法中初始化 执行顺序 : 最先执行的是在定义属性时初始化的内容,再次是初始化块中对属性的初始化,最后是执行在构造方法中属性的初始化。 类属性初始化 声明该属性的时候初始化 静态代码块初始化 执行顺序 :按照编写顺序执行。 final变量的 阅读全文