- 博客(7)
- 收藏
- 关注
原创 并发之synchronized关键字解析
JAVA操作线程的3种方式直接通过Thread.start()方法在java中我们可以直接通过以下方式进行线程创建运行public static void main(String[] args) { new Thread(()->{ System.out.println("hello word!!"); }).start();}通过实现Runnable接口新建类实现Runnableclass MyRunnable implements Runna
2021-04-26 23:33:27
147
1
原创 记一次登录业务中使用模板方法优化代码
记一次登录业务中使用模板方法优化代码业务背景 在登录中经常会碰到多种方式去登录账号,可能会通过用户名密码、手机验证码、邮箱密码等等登录方式。在后端代码处理的时候常规做法可能是做成多个接口来调用,这大大提高了接口的维护成本。登录流程解析 在登录这个业务需求里面,最核心的就是通过用户输入各种各样的表单,最终要获取的都是一条用户数据。整个业务中变化的也就只是表单的校验、通过表单数据获取用户数据的过程不同。其他的业务逻辑基本上是一样的。所以可以采用模板方法对公共的逻辑进行放在父类抽象类里面去执行,子类在之
2021-04-26 23:32:33
106
原创 总结一下Spring常用的一些东西
总结一下Spring以及SpringBoot出现的一些接口和注解ApplicationContextAware接口类 这个接口是Spring暴露给外面获取ApplicationContext上下文,获取bean实例的一个接口。在项目中一般定义一个工具类,继承这个接口,从而可以直接通过工具类获取Bean实例@Componentpublic class SpringApplicationUtil implements ApplicationContextAware { public stat
2021-04-26 23:28:57
189
1
原创 Kafka常用命令
Kafka常用命令概览脚本概览bin目录下的脚本脚本作用connect-distributed.sh用于启动多节点的Distributed模式的Kafka Connect组件connect-standalone.sh用于启动单节点的Standalone模式的Kafka Connect组件kafka-acls.sh用于设置Kafka权限,比如设置哪些用户可以访问Kafka的哪些TOPIC的权限kafka-broker-api-versions.sh主要用于验
2021-04-26 23:27:41
137
原创 Centos部署java环境
下载并解压jdktar -zxvf jdk-8u251-linux-x64.tar.gz打开 /etc/profile文件vim /etc/profile添加配置信息export JAVA_HOME=/home/toutou/myhome/soft/jdk1.8.0_251export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jarexport PATH=$
2021-04-26 23:25:56
87
原创 Mybatis核心源码解析-SQL执行流程分析
一、Mybatis Mybatis是基于JAVA开发的一款半自动ORM框架,Mybatis相比于JPA这一类全自动ORM框架更加灵活,在面对需求多变复杂的项目时使用Mybatis能够很好的解决相关的问题。这篇文章基于Mybatis3.3.0版本进行解析二、源码解析 分析源码,最先要找到程序入口,Mybatis的入口是在SqlSessionFactoryBuilder 这个类,通过build方法,获取到SqlSessionFactory类,最后获取到SqlSession...
2021-04-26 16:07:28
143
原创 ReentrantLock重入锁解析
一、ReentrantLock ReentrantLock是JUC工具包中的一个核心工具类,相对于Synchronized来说提供了更加细致的锁实现,在ReentrantLock中对锁进行大量的优化过程,使用了大量的CAS操作和自旋操作,尽量避免线程进入阻塞状态避免性能的损耗。这篇文章主要根据jdk源码对ReentrantLock进行一个全面的解析。二、源码解析重入锁的入口是以下方法,当有线程进来时,进入lock方法,lock调用Sync的lock方法,Sync又是继承自Abstra...
2021-04-26 15:00:49
198
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人