摘要:
手写一个双重检验锁的单例设计模式相信大家分分钟就能解决,但有一个问题为什么我需要在类变量前面加一个 volatile 关键字,百度了下一发现它主要用来解决两个问题,即变量内存可见性以及禁止指令重排序,并发编程的三要素除了原子性之外它占了两个,为何它如此强大,一个小小的 volatile 所包含的 阅读全文
摘要:
Master实际上可以配置两个,那么在spark原生的standalone上也是支持Master主备切换的,也就是说,当Active Master节点挂掉之后,我们可以将Standby Master切换为Active Master Spark Master的主备切换可以基于两种切换机制,一种是文件系 阅读全文
摘要:
运算符 算术运算符 算术运算符就是我们常用的 加、减、乘、除、取余等内容,不过在计算机的程序中首先记住一个问题:浮点数的运算是有精度的问题,尽量避免浮点之间的运算,不能拿浮点数进行相加或者相减 加法:+ 减法:- 乘法:* 除法:/ 取余:% // + 号 操作console.log(1 + 1) 阅读全文
摘要:
一、表级锁、行级锁、页级锁 数据库锁定机制简单来说,就是数据库为了保证数据的一致性,而使各种共享资源在被并发访问变得有序所设计的一种规则。 MySQL 数据库由于其自身架构的特点,存在多种数据存储引擎,每种存储引擎的锁定机制都是为各自所面对的特定场景而优化设计,所以各存储引擎的锁定机制也有较大区别。 阅读全文
摘要:
产生数据倾斜的原因 唯一值非常少,极少数值有非常多的记录值(唯一值少于几千) 唯一值比较多,这个字段的某些值有远远多于其他值的记录数,但是它的占比也小于百分之一或千分之一。 什么是数据倾斜 数据倾斜无非就是大量的相同key被partition分配到一个分区里,造成了’一个人累死,其他人闲死’的情况, 阅读全文
摘要:
下面的代码片段,用于检查对象是否为空。 对于较新的浏览器,你可以使用 ES6 的 “Object.keys”。对于较旧的浏览器,可以安装Lodash库并使用其“ isEmpty”方法。 const empty = {}; /* 较新的浏览器 */ Object.keys(empty).length 阅读全文
摘要:
话说Java中String是有长度限制的,听到这里很多人不禁要问,String还有长度限制?是的有,而且在JVM编译中还有规范,而且有的家人们在面试的时候也遇到了。 String 首先要知道String的长度限制我们就需要知道String是怎么存储字符串的,String其实是使用的一个char类型的 阅读全文
摘要:
消息消费进度概述消费者消费消息过程中,为了避免消息的重复消费,应将消息消费进度保存起来,当其他消费者再对消息进行消费时,读取已消费的消息偏移量,对之后的消息进行消费即可。 消息模式分为两种: 集群模式:一条消息只能被一个消费者消费广播模式:一条消息被所有消费者都消费一次广播模式下,消息被所有消费者消 阅读全文
摘要:
Java 11是自Java 8以来的又一个LTS版本,是目前全球使用最多的LTS版本之一。今天我们接着在Java 9 到 Java 17系列文章中来认识针对普通开发者的Java 11。 字符串API增强 在Java 11中,针对String的操作进一步得到加强。避免我们在很常见的场景中引入额外的、复 阅读全文
摘要:
react凭借virtual DOM和diff算法拥有高效的性能,除此之外也有很多其他的方法和技巧可以进一步提升react性能,在本文中我将列举出可有效提升react性能的几种方法,帮助我们改进react代码,提升性能。但是我们不必一定要在项目中使用这些方法,但是我们有必要知道如何使用这些方法。 使 阅读全文