java专栏
文章平均质量分 93
Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程
林在闪闪发光
你无法平息海浪,但你可以学会冲浪
展开
-
深入了解 Dubbo:Java 分布式服务的利器
在当今的分布式系统环境中,Dubbo 以其卓越的性能和丰富的功能成为 Java 开发者构建高效分布式服务的首选框架。本文将深入研究 Dubbo 的诸多方面,包括其起源、核心特性、架构与工作原理、实际应用以及未来发展方向。Dubbo 的整体架构主要分为服务提供者、服务消费者和注册中心。服务提供者将自己的服务注册到注册中心,服务消费者通过注册中心获取服务提供者的信息。这种分层架构使得 Dubbo 具有高度的灵活性和可扩展性。原创 2024-01-22 17:19:47 · 801 阅读 · 2 评论 -
什么是公有云、私有云、混合云?
🏆今日学习目标:🍀什么是公有云、私有云、混合云?原创 2023-07-20 15:32:50 · 286 阅读 · 0 评论 -
Mongdb之Robo3T
数据库1.数据库的服务器用来保存数据用mongod启动2.数据库的客户端客户端用来操作服务器,对数据进行增删改查的操作mongo启动客户端所以要先启动服务器,才能进行操作。原创 2023-07-07 16:39:22 · 849 阅读 · 0 评论 -
Java 分布式事务之JTA事务从入门到精通
最近回顾 事务相关的设计与实现,发现 Spring 事务设计的最初目的是为了统一 Java 中 JDBC、JTA 与 JPA 事务的使用方式,并且其实现参考了 JTA 规范。大多数人对 JDBC 都比较熟悉,而 JTA 和 JPA 由于使用较少,很多人对其比较陌生,尤其是 JTA。接下来会跟大家说明其他事务 像JDBC 事务 Hibernate 事务EJB 事务都会和大家一一介绍。原创 2023-03-27 17:19:36 · 1732 阅读 · 35 评论 -
分布式事务详解
目录 分布式事务概要 分布式事务详解一、2PC:1、第一阶段:准备阶段2、第二阶段:提交阶段 3、2PC的缺点:二、3PC: 1、阶段一:CanCommit 准备阶段2、阶段二:PreCommit 阶段3、阶段三:doCommit阶段4、3PC的优缺点:三、TCC:1、什么是TCC:2、TCC的执行流程: 3、TCC如何保证最终一致性:4、TCC的注意事项:5、TCC方案的优缺点:四、Saga事务:1、什么是Saga事务:2、Saga的恢复策略: 3、Saga事务的实现方式:4、Saga事务的优缺点:五、本原创 2023-03-23 16:22:52 · 1910 阅读 · 44 评论 -
Spring事务详解
事务在逻辑上是一组操作,要么执行,要不都不执行。主要是针对数据库而言的,比如说 MySQL。原子性(Atomicity):一个事务中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节。事务在执行过程中发生错误,会被回滚(Rollback)到事务开始前的状态,就像这个事务从来没有执行过一样。一致性(Consistency):在事务开始之前和事务结束以后,数据库的完整性没有被破坏。原创 2023-03-21 14:21:16 · 1790 阅读 · 46 评论 -
MySQL事务详解
目录数据库事务事务是什么事务的四大特性 MySQL事务隔离级别查看MySQL当前事务隔离级别MySQL默认操作模式为自动提交模式JDBC处理事务Spring事务Spring的事务传播PROPAGATION_REQUIREDPROPAGATION_SUPPORTSPROPAGATION_MANDATORYPROPAGATION_REQUIRES_NEWPROPAGATION_NOT_SUPPORTEDPROPAGATION_NEVERPROPAGATION_NESTEDSpring事务的隔离级别Spring事原创 2023-03-14 19:40:43 · 2330 阅读 · 39 评论 -
Feign、Ribbon、Hystrix
Feign 使得用 Java 写 Http 客户端更加容易,这是 Feign 的核心能力!!!Feign 将其抽象为一套通用逻辑,类似于写普通方法调用一样,Feign 做一层代理,封装这些冗余操作。feign 大致提供了这些核心能力:Feign是一款Java语言编写的HttpClient绑定器,在Spring Cloud微服务中用于实现微服务之间的声明式调用。原创 2023-02-24 19:32:15 · 4600 阅读 · 40 评论 -
一文让你了解SpringCloud五大核心组件
🏆今日学习目标:🍀SpringCloud五大核心组件✅:林在闪闪发光⏰预计时间:30分钟🍁林在闪闪发光的个人社区,欢迎你的加入:SpringCloud五大组件:1、注册中心组件(服务治理):Netflix Eureka;2、负载均衡组件:NetflixRibbon,各个微服务进行分摊,提高性能;3、熔断器组件(断路器):Netflix Hystrix,Resilience4j;保护系统,控制故障范围;4、网关服务组件:Zuul,Spring Cloud Gateway;原创 2023-02-22 14:39:53 · 10532 阅读 · 72 评论 -
一文了解JAVA中同步、异步、阻塞和非阻塞
量力而行:根据业务特点进行技术选型,业务量小尽量避免使用异步。有所为,有所不为数据说话:异步时一定要进行必要的压力测试先找出系统的关键点:优化单体系统内的性能,再通过整体系统分解来全局优化根据团队和项目的特点选择框架。原创 2023-02-16 20:04:35 · 2597 阅读 · 33 评论 -
服务降级和熔断机制
降级是从系统功能优先级的角度考虑如何应对系统故障。服务降级指的是当服务器压力剧增的情况下,根据当前业务情况及流量对一些服务和页面有策略的降级,以此释放服务器资源以保证核心任务的正常运行。降级服务的特征如下:整体负荷超出整体负载承受能力。目的:保证重要或基本服务正常运行,非重要服务延迟使用或暂停使用大小: 降低服务粒度,要考虑整体模块粒度的大小,将粒度控制在合适的范围内。原创 2023-02-11 11:06:56 · 1672 阅读 · 54 评论 -
JVM中的垃圾回收器
如果说收集算法是内存回收的方法论,那么收集器就是内存回收的实践者。垃圾收集器没有在Java虚拟机规范中进行过多的规定,可以由不同的厂商、不同版本的JVM来实现。由于JDK的版本处于高速迭代的过程中,因此JAVA发展至今已经衍生了众多的GC版本。从不同的角度来分析垃圾收集器,是可以将GC分为不同的类型。原创 2023-02-06 20:33:57 · 935 阅读 · 44 评论 -
SpringBoot 与 SpringCloud 有什么区别?
单体架构在小微企业比较常见,典型代表就是一个应用、一个数据库、一个web容器就可以跑起来。原创 2023-02-01 21:23:39 · 7056 阅读 · 75 评论 -
Spring和Spring Boot的区别
Spring Boot 的设计初衷是解决 Spring 各版本配置工作过于繁重的问题,简化初始搭建流程、降低开发难度,使开发人员只需要专注应用程序的功能和业务逻辑实现,而不用在配置上花费太多时间。Spring Boot 使用“默认大于配置”的理念,提供了很多已经集成好的方案,以便程序员在开发应用程序时能做到零配置或极简配置。同时,为了不失灵活性,它也支持自定义操作。Spring Boot 内置了50多种 starter,以便快速配置和使用。原创 2023-01-30 15:01:20 · 19426 阅读 · 103 评论 -
Spring和SpringMvc详细讲解
Spring是分层的 Java SE/EE应用full- stack轻量级开源框架,以IoC(Inversion of Control:反转控制)和AOP( Aspect Oriented Programming:面向切面编程)为内核,提供了展现层 Spring MVC和持久层 Spring JDBC以及业务层事务管理等众多的企业级应用技术,还能整合开源世界众多著名的第三方框架和类库,逐渐成为使用最多的 Java EE企业应用开源框架。原创 2023-01-28 20:56:02 · 6117 阅读 · 76 评论 -
MySQL高可用之主备同步:MySQL是如何保证主备一致的
🏆今日学习目标:🍀MySql是如何保证主备一致的✅创作者:林在闪闪发光⏰预计时间:30分钟🎉个人主页:林在闪闪发光的个人主页 🍁林在闪闪发光的个人社区,欢迎你的加入: 林在闪闪发光的社区目录一 什么叫主备同步二 主备同步的好处三 主备同步的实现原理四. binlog的三种格式 五. 为什么会有mixd格式的binlog? 六 常见的两种主备切换流程M-S结构双M结构双M结构的循环复制问题主备同步,也叫主从复制,是MySQL提供的一种高可用的解决方案,保证主备数据一致性的解决方案。在生产环境中,原创 2023-01-03 10:31:11 · 6659 阅读 · 135 评论 -
Java中的常用队列
队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出FIFO(First In First Out) 入队列:进行插入操作的一端称为队尾(Tail/Rear) 出队列:进行删除操作的一端称为队头(Head/Front)原创 2022-12-27 17:23:57 · 4447 阅读 · 16 评论 -
java九大内置对象和四大作用域
Session对象是一个JSP内置对象,它在第一个JSP页面被装载时自动创建,完成会话期管理。从一个客户打开浏览器并连接到服务器开始,到客户关闭浏览器离开这个服务器结束,被称为一个会话。当一个客户访问一个服务器时,可能会在这个服务器的几个页面之间切换,服务器应当通过某种办法知道这是一个客户,就需要Session对象。原创 2022-12-26 11:31:46 · 2575 阅读 · 14 评论 -
MySQL事务的隔离级别
事务是指单个逻辑工作单元执行得一系列操作,要么都做,要么都不做,是不可分割的工作单位,是数据库环境中的的最小工作单元。事务最经典栗子也经常被拿出来的栗子就是银行转账了。比如小明要给小红转账1000元,这个转账会涉及到两个关键操作:将小明的余额减1000元,将小红的余额减1000元。万一这两个操作之间突然出现错误,导致小明余额减少但是小红余额没有增加,这种情况是肯定不允许的。事务就是保证这两个关键操作要么都成功,要么都不成功。原创 2022-12-25 17:14:27 · 1091 阅读 · 14 评论 -
java中的锁
🏆今日学习目标:🍀java中的锁✅创作者:林在闪闪发光⏰预计时间:30分钟🎉个人主页:林在闪闪发光的个人主页 🍁林在闪闪发光的个人社区,欢迎你的加入: 林在闪闪发光的社区目录1 序言乐观锁和悲观锁自旋锁可重入锁公平锁和非公平锁读写锁共享锁和独占锁偏向锁、重量级锁和轻量级锁分段锁同步锁和死锁对锁进行优化的几种方法Java提供了种类丰富的锁,每种锁因其特性的不同,在适当的场景下能够展现出非常高的效率在多线程编程中为了保证数据的一致性,我们通常需要在使用对象或者调用方法之前加锁,这时如果有其他线程也原创 2022-12-24 11:57:30 · 627 阅读 · 11 评论 -
java 三级缓存
就是把访问量较高的热点数据从传统的关系型数据库中加载到内存中,当用户再次访问热点数据时是从内存中加载,减少了对数据库的访问量,解决了高并发场景下容易造成数据库宕机的问题。原创 2022-12-23 11:50:19 · 2932 阅读 · 15 评论 -
JAVA 线程实现/创建方式
有返回值的任务必须实现 Callable 接口,类似的,无返回值的任务必须 Runnable 接口。执行 Callable 任务后,可以获取一个 Future 的对象,在该对象上调用 get 就可以获取到 Callable 任务 返回的 Object 了,再结合线程池接口 ExecutorService 就可以实现传说中有返回结果的多线程了。如果自己的类已经 extends 另一个类,就无法直接 extends Thread,此时,可以实现一个 Runnable 接口。原创 2022-10-20 09:02:48 · 233 阅读 · 4 评论