异步处理跨服务事务未提交情况 有时我们会遇到跨服务检查 在一个事务里面 我们如果一个线程去保存一个东西时 事务还未提交 其它服务是查询不到这个数据 所以我们可以采用一个异步线程来处理(会另起一个事务来保存数据)解决等待事务提交后继续执行 防止重复扣款。
msql事务隔离级别 线上问题 在可重复读隔离级别下,事务在执行期间看到的数据是事务开始时的数据快照,即使其他事务对数据进行了修改,该事务也不会看到这些修改,直到它提交并重新开始新的事务。如果在实际应用中使用可重复读隔离级别,需要充分考虑其特性对业务逻辑和系统性能的影响,并根据具体情况进行适当的调整和优化。这种方式可以确保在同一个事务中多次读取相同的数据时,结果是一致的,从而实现了可重复读的特性。在事务隔离级别为可重复读(RR)时,数据库确实通常会记录当前数据的快照。
RocketMQ原理 01 Topic 的路由机制 介绍路由注册机制之前,先简单看下 RocketMQ 的整体架构:Producer:消息生产者,用于向消息服务器发送消息; NameServer:路由注册中心; Broker:消息存储服务器; Consumer:消息消费者,该流程图中未涉及。1. 联通性NameServer 之间互不通信,无法感知对方的存在。 Producer 生产者与 Nam...
Java内存模型的深入理解 基础并发编程的模型分类在并发编程需要处理的两个关键问题是:线程之间如何通信和线程之间如何同步。通信通信是指线程之间以何种机制来交换信息。在命令式编程中,线程之间的通信机制有两种:共享内存和消息传递。在共享内存的并发模型里,线程之间共享程序的公共状态,线程之间通过写-读内存中的公共状态来隐式进行通信。在消息传递的并发模型里,线程之间没有公共状态,线程之间必须通过明确...
JVM体系结构之三:方法区 一、简介方法区在JVM中也是一个非常重要的区域,它与堆一样,是被线程共享的区域。在方法区中,存储了每个类的信息(包括类的名称、方法信息、字段信息)、静态变量、常量以及编译器编译后的代码等。方法区(method area)只是JVM规范中定义的一个概念,用于存储类信息、常量池、静态变量、JIT编译后的代码等数据,具体放在哪里,不同的实现可以放在不同的地方。而永久代是Hotspot虚拟机...
native关键字 native Method 学习种遇到的关键字 native 疑惑解答1,关于native关键字想必读者已经了解过native关键字了。这里笔者就大致囊括一下,被native关键字修饰的方法叫做本地方法,本地方法和其它方法不一样,本地方法意味着和平台有关,因此使用了native的程序可移植性都不太高。另外native方法在JVM中运行时数据区也和其它方法不一样,它有专门的本地方法栈。native方法主要用于加载...
Native方法 native关键字详解 1,关于native关键字想必读者已经了解过native关键字了。这里笔者就大致囊括一下,被native关键字修饰的方法叫做本地方法,本地方法和其它方法不一样,本地方法意味着和平台有关,因此使用了native的程序可移植性都不太高。另外native方法在JVM中运行时数据区也和其它方法不一样,它有专门的本地方法栈。native方法主要用于加载文件和动态链接库,由于Java语言无法访问操作...
实时音视频技术(WebRTC/voip/Linphone/P2P) 实时音视频技术(WebRTC/voip/Linphone/P2P) 视频社交与语音社交??? 实时视频(直播)/语音通信。多媒体技术团队在音视频编解码、前后处理、传输等技术;在语音社交、视频社交、游戏语音和互动直播等领域,关于在语音视频实时传输中实现低延迟这个议题,已经有不少的文章提出各种方案。绝大部分方案的思路都是“优化”,比如说,优化编码、推流、传输和播放等各个环节。要在实时...
基于mediasoup的多方通话研究 webRtc 基于mediasoup的多方通话研究(一)基于mediasoup的多方通话研究(一) mediasoup简介 mediasoup的特性 安装mediasoup-demo 本地运行Demo server的配置文件 mediasoup的原理 扩展与展望 总结 mediasoup简介mediasoup号称尖端的WebRTC的视频会议系统,官网为...
Netty入门教程2——动手搭建HttpServer Netty入门教程2——动手搭建HttpServer在上一章中我们认识了netty,他有三大优点:并发高,传输快,封装好。在这一章我们来用Netty搭建一个HttpServer,从实际开发中了解netty框架的一些特性和概念。netty.png认识Http请求在动手写Netty框架之前,我们先要了解http请求的组成,如下图:HTTP request com...
Netty入门教程——认识Netty Netty入门教程——认识NettyNetty什么是Netty?Netty 是一个利用 Java 的高级网络的能力,隐藏其背后的复杂性而提供一个易于使用的 API 的客户端/服务器框架。Netty 是一个广泛使用的 Java 网络编程框架(Netty 在 2011 年获得了Duke's Choice Award,见https://www.java.net/dukescho...
ZooKeeper基本原理 ZooKeeper基本原理ZooKeeper简介ZooKeeper是一个开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等。ZooKeeper设计目的1.最终一致性:client不论连接到哪个Server,展示给它都是同一个视图,这是zookeeper最重要的性能。2.可靠性:具有简单、健壮、良好的性能...
ElasticSearch的基本原理与用法 ElasticSearch的基本原理与用法一、简介ElasticSearch和Solr都是基于Lucene的搜索引擎,不过ElasticSearch天生支持分布式,而Solr是4.0版本后的SolrCloud才是分布式版本,Solr的分布式支持需要ZooKeeper的支持。这里有一个详细的ElasticSearch和Solr的对比:http://solr-vs-elasticsearc...
深入理解Java:注解(Annotation)自定义注解入门 要深入学习注解,我们就必须能定义自己的注解,并使用注解,在定义自己的注解之前,我们就必须要了解Java为我们提供的元注解和相关定义注解的语法。元注解: 元注解的作用就是负责注解其他注解。Java5.0定义了4个标准的meta-annotation类型,它们被用来提供对其它 annotation类型作说明。Java5.0定义的元注解: 1.@Target, 2.@...
Ubuntu 系统中 Java的图形出错报错 但是windows不报错 /java/jdk1.8.0_11/jre/lib/amd64/libawt_xawt.so: libXtst.so.6: ca Ubuntu 系统中Java的图形出错报错 但是windows不报错 调用报错信息 java.lang.UnsatisfiedLinkError: /java/jdk1.8.0_11/jre/lib/amd64/libawt_xawt.so: libXtst.so.6: cannot open shared object file: No such file or directory...
jetty启动配置JVM参数 与-D命令 cd到start.jar所在目录,jetty的webapps的父目录运行命令java -jar start.jar --add-to-start=jvm这个命令会帮你在start.ini里面加上一些JVM默认配置参数(注释状态),然后你想用哪些参数,把相关的注释取消掉就好了。注意:记得把--exec这个参数取消注释,官方解释是想要在ini文件里面加JVM参数配置,就要加上--exe...
查看JVM加载的类及类加载器的方法 查看JVM加载了哪些类java查看JVM加载了哪些类Java -verbose[:class|gc|jni]在输出设备上显示虚拟机运行信息。java -verbose:classjava -verbose:class在程序运行的时候有多少类被加载!你可以用verbose:class来监视,在命令行输入java -verbose:class XXX(XXX为程序名),也可以直...
关于Javac命令和类文件之间的依赖问题 (找不到程序包) 今天,笔者遇到了一个小问题:在使用原始的javac编译Java类文件时,如果当前类文件对其他类有依赖,那么,就可能会出现问题。举例如下:笔者在桌面新建一个文件夹test,然后建立两个类:A.java和B.java,如下图:两个类的代码都很简单,其中B类对A类有依赖:然后,我们分3种情况分析:情况① :直接用javac命令编译...
Linux下报 java.net.SocketException权限不够 今天在Linux下用Jetty把一个应用启动起来报权限不够异常。其实原因很简单,但是如果一时疏忽可能会习惯性地google一把,我就google了一把,但是发现网上关于这个问题的内容很少。所以我特记录一下,希望能给遇到同样问题的同学有帮助。异常内容如下:HSFJettyWebAppContext replace servlet context get file /tmp/hsf_j...
Java类型中ParameterizedType,GenericArrayType,TypeVariabl,WildcardType详解 Java类型中ParameterizedType,GenericArrayType,TypeVariabl,WildcardType详解(1). 和反射+泛型有关的接口类型java.lang.reflect.Type:java语言中所有类型的公共父接口 java.lang.reflect.ParameterizedType java.lang.reflect.GenericArr...