• 分布式事务

    一、两阶段提交 2PC1 、数据库层面的两阶段提交(XA trainsaction)两阶段提交是目前经常使用的一种解决分布式事物的强一致性的一种方案,它是由事物协调器和若干个事物执行者(数据库本身)组成。所谓两阶段提交就是将每一个事物拆分成 任务+提交,将任务的执行和任务提交分成两步。当客户端发起事物执行请求时,事物协调器会通知各个数据库执行任务,但是不提交,执行成功后,各个数...

    技术文章 2020年12月15日 1338 0
  • WinRAR目前推出v6.0.0版简体中文无弹窗广告版

    知名压缩管理器WinRAR目前已经推出v6.0.0版 ,本次更新为常规版本部分新功能的同时修复部分已知安全问题。对于使用WinRAR的用户来说可以升级到最新版本提高性能和稳定性,也可以用来替代当前安装的含有广告版本。如果你已经安装含有弹窗广告的版本需要先将其卸载,然后通过清理工具删除冗余文件和注册表后再安装新版本。WinRAR目前网上提供的WinRAR简体中文版绝大多数都存在弹...

    技术资讯 2020年12月15日 1789 0
  • 新手一看就懂的线程池

    那相信大家也能感受到,其实用多线程是很麻烦的,包括线程的创建、销毁和调度等等,而且我们平时工作时好像也并没有这样来 new 一个线程,其实是因为很多框架的底层都用到了线程池。线程池是帮助我们管理线程的工具,它维护了多个线程,可以降低资源的消耗,提高系统的性能。并且通过使用线程池,我们开发人员可以更好的把精力放在任务代码上,而不去管线程是如何执行的,实现任务提交和执行的解藕。本文...

    Java 2020年12月15日 1304 0
  • 如何使用Promise.race和 Promise.any?

    自1996年发布以来,JS 一直在稳步改进。随着ECMAScript版本的许多改进,最近的版本是ES2020。JS 的一个重要更新是Promise,在2015年,它以 ES6 的名义发布。什么是 Promise ?MDN 上对 Promise 的定义:Promise 对象用于表示一个异步操作的最终完成 (或失败)及其结果值。对于新手来说,这听起来可能有点太复杂了。国外一位大什么...

    前端技术 2020年12月15日 2281 0
  • SpringBoot中如何让List和Json自动互转

    之前业务开发时,有一个字段接收的数据是Json格式的,并且需要以Json形式入库:数据库中是这样存储的,这里实际是一个Json数组。[   {     "label": "result1",     "name": "较好",   &nbs...

    java技术 2020年12月15日 2919 0
  • Java基础|强引用、弱引用、软引用、虚引用

    前言在ThreadLocal源码中,其中嵌套类ThreadLocalMap中的Entry继承了WeakReferenc。Java中提供这四种引用类型主要有两个目的:第一是可以让程序员通过代码的方式决定某些对象的生命周期;第二是有利于JVM进行垃圾回收。强引用(StrongReference)强引用是使用最普遍的引用。如果一个对象具有强引用,那垃圾回收器绝不会回收它。如下:Obj...

    Java 2020年12月15日 1392 0
  • FFmpeg实战001:FFmpeg简介

    什么是FFmpegFFmpeg是当前相当流行的开源多媒体开发框架,可以记录、转换数字音频、视频并能将其解码、编码、转码、混流、分离、转化为流、过滤以及播放几乎所有的媒体文件。FFmpeg拥有先进的音频/视频编解码库libavcodec,可以完成音视频的编码、解码、转码、采集、后处理(抓图、水印、封装/解封装、格式转换等)、流媒体服务等诸多功能。基本涵盖了音视频开发中绝大多数的领...

    技术文章 2020年12月15日 1861 0
  • OAuth 2.0授权框架详解

    简介在现代的网站中,我们经常会遇到使用OAuth授权的情况,比如有一个比较小众的网站,需要用户登录,但是直接让用户注册就显得非常麻烦,用户可能因为这个原因而流失,那么该网站可以使用OAuth授权,借助于github或者其他的第三方网站的认证授权,来获取相关的用户信息,从而避免了用户注册的步骤。当然,很可能在第三方网站上授权获得用户信息之后,还需要在本网站填写一些必要的信息进行绑...

    java技术 2020年12月15日 1389 0
  • 你来说一下springboot的启动时的一个自动装配过程吧

    前言没有面试就继续夯实自己的基础,前阵子的在面试过程中遇到的各种问题陆陆续续都会总结出来分享给大家,这次要说的也是面试中被问到的一个高频的问题,我当时其实没答好,因为很早之前是看到springboot的启动的一个过程的源码的,但是时间隔得有点久了(两年多没用过springboot),所以当时也没答好。这次好好总结这部分知识。SpringApplication.run()我看网上...

    Java 2020年12月15日 1896 0
  • 无锁队列Disruptor原理解析

    队列比较队列队列比较总结: 就性能而言,无锁(什么也不加) > CAS > LOCK; 从现实使用中考虑,我们一般选择有界队列(避免生产者速度过快,导致内存溢出);同时,为了减少Java的垃圾回收对系统性能的影响,会尽量选择array/heap格式的数据结构。所以我们实际使用中用ArrayBlockingQueue多一些;注:之后会将ArrayBlockingQue...

    Java 2020年12月15日 3574 0
  • 集成动态日志,“消灭”logback-spring.xml

    前言动态调整线上日志级别是一个非常常见的场景,借助apollo这种配置中心组件非常容易实现。作为apollo的官方技术支持,博主经常在技术群看到有使用者询问apollo是否可以托管logback的配置文件,毕竟有了配置中心后,消灭所有的本地配置全部交给apollo管理是我们的最终目标。可是,apollo不具备直接托管logback-spring.xml配置文件能力,但是,我们可...

    Java 2020年12月15日 1487 0
  • springboot之本地缓存-guava与caffeine

    1. 场景描述因项目要使用本地缓存,具体为啥不用redis等,就不讨论,记录下过程,希望能帮到需要的朋友。2.解决方案2.1 使用google的guava作为本地缓存初步的想法是使用google的guava,因为本身项目中就有guava的denpency。2.1.1 pom文件需要3个dependency,如下: <!--软件老王 1--> <depen...

    Java 2020年12月15日 1462 0
  • 基于vue和JsPlumb的流程设计器——easyflow Vue

    基于vue和JsPlumb的流程设计器——easyflow

    介绍easyflow是一个码云上开源的一款流程设计器项目,基于VUE+ElementUI+JsPlumb,通过 vuedraggable 插件来实现节点拖拽。仓库地址https://gitee.com/xiaoka2017/easy-flowhttps://github.com/BiaoChengLiu/easy-flow功能概述支持拖拽添加节点点击线进行设置条件支持给定数据加...

    Vue 2020年12月15日 8040 0
  • SpringBoot中如何实现接口的统一返回和异常的统一捕获

    接口的统一返回在开发公司接口时,发现Controller层的接口返回都需要用一个Result包裹,如下图所示:图示代码中无论是创建接口或者查询接口,这里都需要用一个Result去接收,我们来看看Result的结构:这个Result中有几个字段:“code:状态码message:状态信息data:装载正真返回的数据exception:异常数据”然后我们测试下接口,看看返回样式:调...

    java技术 2020年12月15日 1948 1
  • 分布式事务的七种实现方案汇总

    背景随着微服务的普及,分布式事务成为了系统设计中不得不面对的一个问题,而分布式事务的实现则十分复杂。阅读本文之前,需要你对数据库事务的ACID、CAP理论、Base理论以及两阶段提交有一定的认知,不熟悉者请自行百度或者阅读参考博客1、2、3和4。除此之外,在阅读本文过程中,如果对某种方案不理解,强烈建议先阅读对应方案中的参考博客后再阅读本文中对应的介绍。为了便于后文叙述,这里对...

    Java 2020年12月15日 1349 0