java
文章平均质量分 66
Listener_code
一心写码,吾心向西
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Windows和服务器Docker搭建Seata1.3(整合nacos当注册中心和配置中心)
Seata环境搭建 中文官方文档搭建以及官方解读可以看这里版本信息: nacos 1.30 seata:1.3.01.简单介绍一下seata的AT模式(数据库隔离级别为: 读未提交)AT模式:一阶段:2个微服务的数据库(Resource Manager 资源管理器,下面2个服务的事务简称为tx1 和tx2),会向seata服务器(Transaction Coordinator,事务协调器)注册一个分支事务会生成一个全局锁以Xid为识别,当双方代码执行完,无异常后,开始申请第二阶段的资原创 2020-09-25 14:51:45 · 777 阅读 · 0 评论 -
apollo集成consul和动态刷新数据源
1.apollo集成consulApollo 本地安装所需要的环境 Java版本要求 1.8+ ; Mysql版本要求 5.6.5+ consul注册中心代码拉取 这里借用一下大佬的阿云仓库,已经将配置中心修改成了consulhttps://gitee.com/pcloud-lucas/apollo-consul集群环境Apollo目前支持以下环境:DEV >...原创 2020-01-06 16:45:26 · 2783 阅读 · 2 评论 -
ouath2+mybatis plus认证搭建认证服务器(代码持续更新)
1.ouath2+jwt+jdbc(spring data jpa)搭建和使用一、简单的介绍一下OAuth2是开放授权的一个标准,允许用户授权B应用不提供帐号密码的方式去访问该用户在A应用服务器上的某些特定资源。说人话就是通过登录微信扫码方式来,登录到csdn而不想注册账号这里使用我先前搭建好的项目环境(如果使用该代码记得改一下数据名和密码)2.1OAuth2四种授权模式(认证服务器)授权码模式(启动码云上面的ouath项目,端口为1200) 授权码模式(authorization原创 2021-02-24 19:23:29 · 685 阅读 · 0 评论 -
JAVA使用 Atomic,Unsafe实现自旋锁(可重入锁)
JAVA使用 Atomic,Unsafe实现自旋锁(可重入)自旋锁(spinlock,忙等锁):是指当一个线程在获取锁的时候,如果锁已经被其它线程获取,那么该线程将循环等待,然后不断的判断锁是否能够被成功获取,直到获取到锁才会退出循环,在多线程情况下可能引起CPU升高,甚至导致系统死锁1.Atomic实现(可重入)import lombok.extern.slf4j.Slf4j;import java.util.concurrent.Executors;import java.util.con原创 2021-03-01 14:13:42 · 698 阅读 · 0 评论 -
分布式事务解决方案之seata集成nacos测试(AT模式)
1.分布式事务解决方案之seata集成nacos测试(AT模式)1.简单介绍一下seata的AT模式(数据库隔离级别为: 读未提交)AT模式:一阶段:2个微服务的数据库(Resource Manager 资源管理器,下面2个服务的事务简称为tx1 和tx2),会向seata服务器(Transaction Coordinator,事务协调器)注册一个分支事务会生成一个全局锁以Xid为识别,当双方代码执行完,无异常后,开始申请第二阶段的资源提交二阶段:此时tx1会优先尝试获取全局锁(拿不到 全局原创 2020-09-25 16:08:29 · 991 阅读 · 0 评论 -
Redis分布式锁之redisson
Redis分布式锁之redisson常用的redis解决方案:redisson官网,官方讲解可以点击这里redisson实现分布式锁原理:线程首先会尝试获取锁,如果获取锁成功,会执行加锁操作并执行业务代码,如果没有成功会使用自旋锁方式不断尝试获取锁redisson为防止死锁方式默认加锁时间为30s,看门狗过30秒查看是否依然持有锁,如果持有会延长时间,当业务执行完毕释放锁1.maven依赖 <dependency> <groupId>or原创 2020-09-25 10:22:45 · 485 阅读 · 0 评论 -
JVM的垃圾收集器,GC日志分析(HotSpot,JDK1.8附上GC思维导图)
JVM的垃圾收集器,GC日志分析(HotSpot)-server与-client参数Server jvm的初始空间会大一些,默认使用的是并行垃圾回收器,启动慢,运行快Client jvm相对保守一些,初始空间会小一些,使用串行垃圾回收器,他的目标是为了让JVM的启动速度更快,但是运行速度会比Server jvm慢一些JVM在启动的时候,会根据硬件和操作系统自动选择使用Server还是Client类型的JVMJVM选择模式:32位操作系统:如果操作系统为windows系统,不论硬件配置如何原创 2020-05-12 14:08:20 · 1066 阅读 · 0 评论 -
JVM的内存结构(堆,栈,方法区)与编译过程
JVM的结构(堆,栈,方法区)与编译过程编译过程java文件通过javac的编译成class文件,由于不同的操作系统识别的机器码不同(机器码为0,1组成。汇编语言在不同的系统上面运行需用编写不同的代码来支持汇编语言的运行),在这个方面java使用了jvm虚拟机来实现一处编译四处运行,是通过对应系统的jvm来编译class文件来让不同的操作系统进行识别。jvm的结构程序在执行之前先要把j...原创 2019-10-10 18:00:22 · 861 阅读 · 1 评论 -
springCloud五大神兽(思维导图)
SpringCloud的五大件服务发现——Netflix Eureka客服端负载均衡——Netflix Ribbon断路器——Netflix Hystrix服务网关——Netflix Zuul分布式配置——Spring Cloud Config1 基于Eureka(服务注册中心)的服务治理Eureka它主要包括两个组件:Eureka Server 和 Eureka Client...原创 2019-09-05 00:05:17 · 1164 阅读 · 0 评论 -
Spring框架Bean与controller安全问题与其作用域
1.Spring框架Bean与controller安全问题 Spring作为一个IOC/DI容器,帮助我们管理了许许多多的“bean”。但是Spring框架创建bean对象,在默认情况却并没有保证这些对象的线程安全,需要由开发者自己编写解决线程安全问题的代码。 Spring框架默认使用单例模式,只有一个共享实例存在,每次对这个bean的请求都会返回这个唯一的实例,并且交给IOC容器帮助我们...原创 2019-09-01 19:00:16 · 1035 阅读 · 0 评论 -
什么是面向对象,以及什么是类和对象
什么是面向对象,以及什么是类和对象1.1面向过程与面向对象的区别 面向对象是一种现在最为流行的程序设计方法 。将面向过程与面向对象进行比较。 首先这两个种都是一种编程思维, 在一些简单的动作看来面向过程可能更加容易实现,它不用创建对象来进行实现,执行几步或一步完成。但是面对复杂动作面向对象来实现可能更加简单。二者之间做项目谁最简单不是绝对的 面向过程(pop):以需要做的事为目标...原创 2019-08-11 19:04:04 · 5500 阅读 · 0 评论 -
Redis有哪几种持久化方式?优缺点是什么
1.1 Redis有哪几种持久化方式?优缺点是什么1.1.2为什么有持久化由于Redis的数据都存放在内存中,如果没有配置持久化,redis重启后数据就全丢失了,于是需要开启redis的持久化功能,将数据保存到磁盘上,当redis重启后,可以从磁盘中恢复数据。Redis提供两种持久化方式,RDB和AOF;与RDB不同,AOF可以完整的记录整个数据库,而不像RDB只是数据库某一时刻的快照;...原创 2019-08-29 19:37:26 · 7001 阅读 · 0 评论 -
springmvc的执行流程
1.1SpringMvc的执行流程①用户通过发送请求到前段控制器(DispatcherServlet )②DispatcherServlet收到请求调用HandlerMapping处理器映射器。③处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找,简单理解就是找到能够执行的controller ),生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherSer...原创 2019-08-30 11:10:08 · 370 阅读 · 0 评论 -
spring的IOC、DI、容器和AOP思想
1 spring的IOC、DI、容器和AOP思想Spring是分层的 Java SE/EE应用 full-stack 轻量级开源框架,以 IoC(Inverse Of Control:反转控制)和 AOP(Aspect Oriented Programming:面向切面编程)为内核 。 DI为依赖注入1.2 spring的ioc(控制反转)与Di(依赖注入)控制反转的简单理解就是将创建对象的...原创 2019-08-30 16:44:18 · 375 阅读 · 0 评论
分享