02 03
#yyds干货盘点#
分布式事务2种协议 及 4种模式
分布式事务协议解决分布式事务,也有相应的规范和协议。分布式事务相关的协议有2PC、3PC。由于三阶段提交协议3PC非常难实现,目前市面主流的分布式事务解决方案都是2PC协议。2PC:两阶段提交协议两阶段提交协议:事务管理器分两个阶段来协调资源管理器。第一阶段准备资源,也就是预留事务所需的资源,如果每个资源管理器的资源都预留成功,则进行第二阶段提交资源,否则资源管理器回滚资源。2PC协议的核心是,划
推荐 原创
梁云亮 1天前
536 阅读
1 点赞
评论
收藏
#yyds干货盘点#
如何设计可向后兼容的RPC协议
HTTP协议(本文HTTP默认1.X)跟RPC协议又有什么关系呢?都属于应用层协议。1 HTTP协议浏览器收到命令后会封装一个请求,并把请求发送到DNS解析出来的IP上,抓包:2 协议的作用没有协议就不能通信吗?只有二进制才能在网络中传输,所以RPC请求在发送到网络中之前,他需要把方法调用的请求参数转成二进制;转成二进制后,写入本地Socket,然后被网卡发送到网络设备。传输过程中,RPC不会把请
推荐 原创
388 阅读
1 点赞
评论
收藏
#yyds干货盘点#
kotlin的拓展函数和原理
主要介绍了kotlin中拓展函数原理以及部分使用上的限制说明
推荐 原创
baorant24 1天前
385 阅读
1 点赞
评论
收藏
#yyds干货盘点#
一次JSF上线问题引发的MsgPack深入理解,保证对你有收获
某一日晚上上线,测试同学在回归项目黄金流程时,有一个工单项目接口报JSF序列化错误,马上升级对应的client包版本,编译部署后错误消失。 线上问题是解决了,但是作为程序员要了解问题发生的原因和本质。但这都是为什么呢?
推荐 原创
京东云官方 1天前
498 阅读
1 点赞
评论
收藏
Java多线程并发04—线程池的合理使用
为什么使用线程池?线程池做的工作主要是控制运行的线程的数量。线程池的种类Java 中常用的线程池主要有四种:newCachedThreadPool、newFixedThreadPool、newScheduledThreadPool、newSingleThreadExecutor。newCachedThreadPool作用:创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程(​​缓
推荐 原创
220 阅读
1 点赞
评论
收藏
Java多线程并发03—线程上下文,线程调度
多任务系统往往需要同时执行多道作业。作业数往往大于机器的 CPU 数,然而一颗 CPU 同时只能执行一项任务,如何让用户感觉这些任务正在同时进行呢? 操作系统的设计者 巧妙地利用了时间片轮转的方式。线程上下文对于单核 CPU 来说(对于多核 CPU,此处就理解为一个核),CPU 在一个时刻只能运行一个线程,当在运行一个线程的过程中转去运行另外一个线程,这个叫做线程上下文切换(对于进程也是类似)。上
推荐 原创
240 阅读
1 点赞
评论
收藏
02 02
#yyds干货盘点#
二.Class类1.基本介绍Class也是类,因此也继承Object类Class类对象不是new出来的,而是系统创建的//(1)传统new对象 /* ClassLoader类 public Class<?>LoadClass(String name)throws ClassNotFoundException{
推荐 原创
浅辄QZ 2天前
289 阅读
点赞
评论
收藏
#yyds干货盘点#
JAXP、DOM4J、Jsoup、JsoupXPath等几种常用XML解析器的具体解析操作的使用
推荐 原创
丨Jack_Chen丨 2天前
645 阅读
1 点赞
1 评论
1 收藏
Java多线程并发02——线程的生命周期与常用方法
线程生命周期一个线程不是被创建了马上就开始执行,也不是一直处于执行状态。在线程的整个生命周期中会经历新建(New)、就绪(Runnable)、运行(Running)、阻塞(Blocked)和销毁(Terminated)5 种状态。线程全生命周期.PNG新建指使用 new 关键字创建一个新的线程对象后,该线程就处于新建状态。此时仅由 JVM 为其分配内存,并初始化其成员变量的值。就绪当线程对象调用了
推荐 原创
371 阅读
点赞
评论
收藏
#yyds干货盘点#
Java里面为什么搞了双重检查锁,写完这篇文章终于真相大白了
!img(https://s2.51cto.com/images/blog/202302/02151328_63db62984ea5b59261.jpg)双重检查锁定与延迟初始化在java程序中,有时候可能需要推迟一些高开销的对象初始化操作,并且只有在使用这些对象时才进行初始化。此时程序员可能会采用延迟初始化。但要正确实现线程安全的延迟初始化需要一些技巧,否则很容易出现问题。比如,下面是非线程安全
推荐 原创
257 阅读
点赞
评论
收藏
02 01
#yyds干货盘点#
Java两大工具库:Commons和Guava(4)
在Nginx中提到过通过限流算法实现对后端服务的保护,避免因服务器承载压力太大而被冲垮。大家都知道Guava是用来操作集合的,但其实Guava也可以实现限流的功能。
推荐 原创
湘王爱娟娟 3天前
811 阅读
2 点赞
2 评论
1 收藏
Dubbo 入门系列之快速部署一个微服务应用
本文将基于 Dubbo Samples 示例演示如何快速搭建并部署一个微服务应用。
推荐 原创
ApacheDubbo 3天前
394 阅读
点赞
评论
收藏
#yyds干货盘点#
Gateway网关(快速入门、断言工厂、过滤器工厂、全局过滤器),解决跨域问题
@TOC(目录)Gateway服务网关SpringCloudGateway是SpringCloud的一个全新项目,该项目是基于Spring5.0,SpringBoot2.0和ProjectReactor等响应式编程和事件流技术开发的网关,它旨在为微服务架构提供一种简单有效的统一的API路由管理方式。1.为什么需要网关Gateway网关是我们服务的守门神,所有微服务的统一入口。网关的核心功能特性:请
推荐 原创
Perceus 3天前
185 阅读
1 点赞
评论
1 收藏
#yyds干货盘点#
【简单版】【Java语言刷Leetcode一5道题】Day2
Java语言刷Leetcode的第二天,让我们一起来战胜算法,干掉他
推荐 原创
381 阅读
点赞
评论
收藏
01 21
01 17
#yyds干货盘点#
一、前言策略模式可能是在工作中使用最多的,也是在面试中最常提到的,代码重构和优化的必备!小编之前也是一直说,其实没有真正的实战;最近有了机会实战了一下,来分享一下使用心得和在企业级的使用!二、策略模式1.什么是策略模式策略模式,英文全称是StrategyDesignPattern。在GoF的《设计模式》一书中,它是这样定义的:定义一族算法类,将每个算法分别封装起来,让它们可以互相替换。策略模式可以
推荐 原创
掉发的小王 18天前
1113 阅读
1 点赞
评论
2 收藏
01 12
避免用Apache Beanutils进行属性的copy。why?让我们一起一探究竟
如果是你来写对象间赋值的代码,你会怎么做?
推荐 原创
哪吒编程 23天前
712 阅读
点赞
评论
收藏
#yyds干货盘点#
Shell搜索与匹配1、在文件中查找字符串grep命令可以搜索文件,查找指定的字符串。grepmyvar.c在这个例子中,我们搜索的文件全都位于当前目录下。因此,我们只使用了简单的shell模式.c来匹配以.c结束的文件,并没有在文件名前再添加路径。但并非所有待搜索的文件都老老实实地待在当前目录下。但因为shell并不在意你输入多少路径名,所以我们也可以这么写:grepmyvar../lib/.c
推荐 原创
485 阅读
点赞
评论
1 收藏
01 10
#yyds干货盘点#
13种Shell逻辑与算术,能写出5种算你赢!
相较于最初的Bourneshell,现代bash版本的最大改进之一体现在算术方面。早期的shell版本没有内建的算术功能,哪怕是给变量加1,也得调用单独的程序来完成。1、算术方法一:(())只要都是整数运算,就可以在(())的算术表达式内使用所有的标准运算符。还有一个额外的运算符:可以用进行幂运算,如下:COUNT=((COUNT+5+MAX2))或者:MAX=((28))(())表达式内不需要使
推荐 原创
821 阅读
点赞
评论
收藏
01 09
从一个 Demo 说起 Dubbo3
简介2017年的9月份,阿里宣布重启Dubbo的开发维护,并且后续又将Dubbo捐献给了Apache,经过多年的发展已经发布到3.X版本了,Dubbo重启维护之后是否有值得我们期待的功能呢,下面就来看看吧。ApacheDubbo是一款微服务框架,为大规模微服务实践提供高性能RPC通信、流量治理、可观测性等解决方案,涵盖Java、Golang等多种语言SDK实现。Dubbo3在官网首页的介绍中是这样
推荐 原创
232 阅读
点赞
评论
收藏
一文了解 Dubbo 3 配置工作原理
Dubbo 配置方式和工作原理的深度解读,包括配置格式、设计思路、来源、加载流程等。
推荐 原创
ApacheDubbo 26天前
427 阅读
点赞
评论
收藏
01 05
#yyds干货盘点#
透过现象看本质,我找到了Netty粘包与半包的这几种解决方案。
1、粘包与半包啥也不说了,直接上代码是不是有点不太友好,我所谓了,都快过年了,还要啥自行车我上来就是一段代码猛如虎1.1服务器代码javapublicclassStudyServer{staticfinalLoggerlog=LoggerFactory.getLogger(StudyServer.class);voidstart(){NioEventLoopGroupboss=newNioEven
推荐 原创
502 阅读
点赞
评论
收藏
01 04
#yyds干货盘点#
IO、NIO、BIO傻傻分不清吗,让我对象告诉你~~
1、Stream与Channelstream不会自动缓冲数据,channel会利用系统提供的发送缓冲区、接收缓冲区(更为底层)stream仅支持阻塞API,channel同时支持阻塞、非阻塞API,网络channel可配合selector实现多路复用二者均为全双工,即读写可以同时进行虽然Stream是单向流动的,但是它也是全双工的2、IO模型同步:线程自己去获取结果(一个线程)例如:线程调用一个方
推荐 原创
793 阅读
点赞
评论
收藏
URL简介在阐述地址推送性能的具体优化之前,我们有必要先了解一下与之息息相关的内容URL。定义在不谈及dubbo时,我们大多数人对URL这个概念并不会感到陌生。统一资源定位器(RFC1738(https://www.ietf.org/rfc/rfc1738.txt)――UniformResourceLocators(URL))应该是最广为人知的一个RFC规范,它的定义也非常简单。因特网上的可用资源
推荐 原创
ApacheDubbo 31天前
665 阅读
点赞
评论
收藏
12 30
#yyds干货盘点#
SpringBoot自定义注解+AOP+redis实现防接口幂等性重复提交,从概念到实战
一、前言在面试中,经常会有一道经典面试题,那就是:怎么防止接口重复提交?小编也是背过的,好几种方式,但是一直没有实战过,做多了管理系统,发现这个事情真的没有过多的重视。最近在测试过程中,发现了多次提交会保存两条数据,进而导致程序出现问题!问题已经出现我们就解决一下吧!!本次解决是对于高并发不高的情况,适用于一般的管理系统,给出的解决方案!!高并发的还是建议加分布式锁!!下面我们来聊聊幂等性是什么?
推荐 原创
掉发的小王 36天前
1297 阅读
点赞
评论
1 收藏
第三章《数组与循环》第8节:数组与循环经典例题
​利用数组和循环可以解决很多经典问题,比如对数字的查找、排列、筛选等。本小节甄选了其中一些有代表性的问题集中进行讲解,认真学习这些经典例题不仅有助于巩固Java语言的相关知识点,还对提高逻辑思维能力有很大帮助。3.8.1求整数位数题目:由用户从控制台上任意输入一个整数,求其位数(例如输入168,运算结果为3)。​根据Java语言整数之间的除法运算规则可知:任何一个整数被10整除所得的商都比原数字少
推荐 原创
穆哥学堂 36天前
508 阅读
点赞
评论
收藏
12 29
 折腾了我一周,原来Netty网络编程就是这么个破玩意儿!!!
1、阻塞阻塞模式下,相关方法都会导致线程暂停ServerSocketChannel.accept会在没有连接建立时让线程暂停SocketChannel.read会在通道中没有数据可读时让线程暂停阻塞的表现其实就是线程暂停了,暂停期间不会占用cpu,但线程相当于闲置单线程下,阻塞方法之间相互影响,几乎不能正常工作,需要多线程支持但多线程下,有新的问题,体现在以下方面32位jvm一个线程320k,64
推荐 原创
603 阅读
点赞
评论
收藏
 第一章《初学者问题大集合》第7节:编写第一个Java程序
​下载并安装好IDEA之后,就可以编写Java程序啦!前文曾经讲过,Java程序最初的存在形式是Java源文件,经过编译之后又会产生字节码文件。当今时代,软件项目的规模越来越大,因此软件项目中会有多个Java源文件和字节码文件。这些文件如果毫无规律零散的存放,必将会给软件项目的管理带来很多麻烦,并且不利于集体开发和团队合作。为此,大多数IDE都会采用“工程”的方式来管理Java代码。所谓“工程”就
推荐 原创
穆哥学堂 37天前
366 阅读
点赞
评论
收藏