三种ThreadLocal,玩转线程变量保存与传递
ThreadLocalThreadLocal是jdk中自带的类,用于保存本线程专有的数据,从下面的代码大家可以很直接的看到它的作用 private static ThreadLocal<String> sThreadLocal=new ThreadLocal<>(); @Test void testThreadlocal() { //主线程 sThreadLocal.set("这是在主线程中"); System.o
谈谈vue-router的实现原理
前言相信不少伙伴都听过SPA(单页面应用),SPA指的是在一个应用中只有一个主的index.html页面,区别于多页面应用(多个index.html页面)。SPA的优点如下:1、交互体验良好单页应用的内容的改变不需要重新加载整个页面,获取数据也是通过Ajax异步获取,没有页面之间的切换,就不会出现“白屏现象”,也不会出现假死并有“闪烁”现象,页面显示流畅,用户的交互体验得到了提升和改善。2、前后端分离良好的前后端分离机制,后段无需负责模板渲染、输出页面工作,后端API通用化,即同一套后端程序代码
谈一谈raft分布式一致性算法
谈一谈raft分布式一致性算法1、什么是分布式一致性2、raft算法应用场景3、raft算法4、总结本文讲解Raft分布式一致性理论算法,阅读了raft算法论文,帮助后面大家更好的理解Raft分布式一致性算法。1、什么是分布式一致性分布式一致性问题,简单的说,就是在一个或多个进程提议了一个值应当是什么,使系统中所有进程对这个值达成一致意见。它是指多个服务器在状态达成一致,但是在一个分布式系统中,因为各种意外可能,有的服务器可能会崩溃或变得不可靠,它就不能和其他服务器达成一致状态。这样就需要一种Cons
oracle财务数据权限思考
浅谈oracle财务数据权限ebs数据安全介绍VDP技术VDP简介VDP实现逻辑总帐安全性总结ebs数据安全介绍几乎在任何一个系统中,都离不开权限的设计,权限设计 = 功能权限 + 数据权限,而功能权限,在业界常常是基于RBAC(Role-Based Access Control)的一套方案。而数据权限,则根据不同的业务场景,则权限却不尽相同,应该根据具体的场景巧妙设计。作为曾经ERP的霸主,OracleE-Business Suite在国际上长期市场占用率在长期排名前二的市场,应用在各行各业,在二十
SEATA分布式事务框架解析
随着微服务框架的流行,目前应用服务的设计也越来越精细化。过去单应用就能完成的任务,目前可能会拆分打散到各个不同的子服务中,如用户中台、数据中台、订单中心、库存平台。随之而来的问题是如何保证各个子服务间数据的一致性,从中提出了分布式事务的需求。为什么需要事务在对分布式事务进行介绍之前,有必要再回顾一下事务的基本概念。我们知道事务的概念是指“事务中的一系列操作要么全部成功,要么一个不做”,并且具有ACID四个基本特性:原子性(Atomicity):整个事务中的所有操作,要么全部完成,要么全部不完成,不
一个简单的AOP实例
第一个AOP的练习欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行
离线数仓和bi开发的实践和思考
离线数仓的实践和思考背景什么是数据仓库分层设计维度建模数仓实践中踩坑以及思考背景笔者在来唯品之前主要的工作内容主要是依托于公司自研的bi低代码平台进行报表、图表开发工作,在此基础上做产品化的探索。因此在离线数仓建模和开发有过一些实践,也有一些思考,在此尝试做一点梳理。什么是数据仓库数据仓库是一个数据存储的集合,其创建目的是为了企业经营数据分析以及决策支持。数据仓库的输入是企业各个应用系统产生的数据,通过特定的范式的模型对企业数据进行筛选,整合和存储,再提供给数据应用消费。可以为企业提供bi能力,目的
一个中年程序员学习中国近代史的小结
一个中年程序员学习中国近代史的小结前言程序员应该要认真学习历史一些有意思的说法哲学论偏见程序员学习历史的原因学习历史首推中国近代史什么是历史历史有哪些分类修史中国近代史的重要意义学习中国近代史缘份学习方法通史的结构方法二面法看历史人物日记中国近代史脉络清朝衰落百年苦难中国人民站起来了结论前言之所以写这个主题,也是为了迩补之前上曹教授历史课,随便应付历史小结作业的遗憾。当时,花了几个月,每周末去上课,上完课,教授要求每位学员,写一些小结,我因为周末有时候也在赶公司项目,平时也很忙,就将此事优先级降低,最
vscode配置vue环境找不到package.json
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档vscode配置vue环境找不到package.json前言问题处理前言`由于web老师要求我们从vue,react,bootstrap三大框架学习一个,思来想去,决定学习vue,今天尝试在vscode配置了vue环境废话不多说,直接上截图问题目录里面包含package.json,但是终端里面说不存在package.json处理我这里是路径的问题,需要cd到对应的工程,再npm run dev就可以运行成功。但是出.
spark sql任务性能优化(基础)
优化任务的意义对于项目而言,可以节省机器计算资源执行时间可能大幅度缩短,对于长链条任务依赖减少等待时间,尤其于上游任务而言,从而数据稳定性增加spark UI在上面的导航栏:1 代表job页面,在里面可以看到当前应用分析出来的所有任务,以及所有的excutors中action的执行时间。2 代表stage页面,在里面可以看到应用的所有stage,stage是按照宽依赖来区分的,因此粒度上要比job更细一些3 代表storage页面,我们所做的cache persist等操作,都会在这里看
Android Studio第六课:模仿QQ登录跳转
Android Studio第六课:模仿QQ登录跳转导包,添加依赖登陆界面欢迎界面主界面导包,添加依赖找到build.gradle,后缀是自己建的项目名 // 基础依赖包,必须要依赖 implementation 'com.geyifeng.immersionbar:immersionbar:3.2.2'// kotlin扩展(可选) implementation 'com.geyifeng.immersionbar:immersionbar-ktx:3.2.2'// f
叮咚,Redis OM对象映射框架来了
叮咚,Redis OM对象映射框架要来了!一、Redis OM来了11月23日,redis宣布了四个新的Redis高级客户端的预览版,将这些库称为Redis OM(Redis Object Mapping)-----对象映射。其框架以强大的 Spring Data Redis (SDR) 框架为基础,提供一个高级抽象工具箱,通过我们熟悉的面向对象的编程来表示。其目的是专注于对象映射和流畅查询,即尽可能轻松的使用 Redis 。它可以透明地将域对象保存在 Redis 中,并且能使用流畅的、以语言为中心
@Transational踩坑
踩坑1:@Transational里代码太长@Transational最简单粗暴的使用方法就是在一个public方法上加上该注解,然后开始洋洋洒洒写上几百上千行代码,其中除了DB操作部分代码,也可能包含了接口/方法入参校验、外部系统接口调用、业务逻辑、数据计算、集合转换等逻辑。如此写,理论上是没什么大问题的,但绝大部分情况是到了最后部分才真正执行写DB的操作,此时才需用上@Transational,而在方法一开始就开启事务,很可能存在以下2种情况:程序还未执行到写DB逻辑,就return了,此时@T
如何debug linux 系统内核
1. 目的本文章是写给有兴趣debug linux 操作系统内核的开发者2. 使用的开源应用linuxbusyboxqemueclipse3. 步骤3.1 编译linux3.1.1 下载linux执行如下命令:wget https://mirrors.edge.kernel.org/pub/linux/kernel/v4.x/linux-4.15.tar.xz3.1.2 解压缩tar xvf linux-4.15.tar.xz3.1.3 编译linux3.1.3.1
周排行