- 博客(11)
- 收藏
- 关注
原创 柯里化(Currying)技术
柯里化(Currying)技术 Christopher Strachey 以逻辑学家 Haskell Curry 命名的(尽管它是 Moses Schnfinkel 和 Gottlob Frege 发明的)。它是把接受多个参数的函数变换成接受一个单一参数的函数,并且返回接受余下的参数且返回结果的新函数的技术。object Demo { def main(args: Array[String]): Unit = {
2021-03-02 15:50:51
207
原创 关于Zookeeper的原子广播和崩溃恢复
ZAB协议一、概念1.ZAB(Zookeeper Atomic Broadcast)是一套专门为Zookeeper设计的用于原子广播和崩溃恢复的协议2.ZAB基于2PC算法进行设计,利用了过半性和PAXOS算法进行了改进Atomic Broadcast - 原子广播二、Atomic Broadcast - 原子广播1.作用:保证数据一致性。(强一致性+最终一致性)2.原子广播基于2PC进行设计的3.2PC - Two Phase Commit - 二阶段提交 &nbs
2021-02-22 17:28:47
499
原创 zookeeper的客户端框架Curator,封装了Zookeeper的基本操作,并且还提供了一些高级特性
import org.apache.curator.RetryPolicy;import org.apache.curator.framework.CuratorFramework;import org.apache.curator.framework.CuratorFrameworkFactory;import org.apache.curator.framework.recipes.cache.TreeCache;import org.apache.curator.framework.recip
2021-02-22 15:11:32
195
转载 Atomiclnteger的使用场景和底层原理
1.说说Atomiclnteger的使用场景 AtomicInteger提供原子操作来进行Integer的使用,适合并发情况下的使用,比如两个线程对同一个整数累加。2.为什么Atomiclnteger是线程安全的,原理是什么 AtomicInteger是对int类型的一个封装,提供原子性的访问和更新操作,其原子性操作
2021-02-22 11:10:53
945
原创 红黑树基础知识,帮助小白更好理解!
红黑树1.本质上是一种自平衡二叉查找树2.二叉查找树的特征⑴左子树小于根,右子树大于根⑵没有相等的节点3.红黑树的特征⑴所有节点非红即黑⑵根节点必须是黑节点的⑶红节点的子节点必须是黑色的⑷最底层的叶子节点必须是黑色的空节点⑸从根节点到任意一个叶子节点经过的路径中的黑色节点个数一致,即黑节点高度相同⑹新添的节点颜色必须是红色的4.红黑的修正 - 前提:父子节点为红⑴涂色:叔父节点为红,那么将父节点和叔父节点涂黑,将祖父节点涂红⑵左旋:叔父节点为黑,且子节点是右子叶,那么需要以子节点
2021-02-22 10:17:19
172
转载 Java-BlockingQueue 接口5大实现类的使用场景
关于BlockingQueueBlockingQueue即我们所说的阻塞队列,它的实现基于ReentrantLock,通常我们谈及到阻塞队列,都会和生产者/消费者模式关联起来(这是最常用的场景),和一般的非阻塞队列区别在于实现生产者/消费者模式中不需要额外的实现线程同步和唤醒。标题中说的是五大实现类,但是该接口实际上拥有7个实现类,它们的区别主要体现在存储结构上或对元素操作上的不同,如下:ArrayBlockingQueue :一个由数组结构组成的有界阻塞队列。LinkedBlockingQueue
2021-02-16 15:30:25
819
原创 NIO中的三大组件:Buffer、Channel、Selector基础知识,小白须知
一、NIO1.它是同步非阻塞式IO2.同步:一个对象在某个时段,只能被一个线程使用3.非阻塞:线程无论是否获取到结果,都会继续往下执行或者报错4.IO:传输数据二、NIO三大组件1.Buffer(缓冲区)⑴作用:临时存储数据⑵Buffer底层是基于数组来进行存储的,只能存储基本类型的数据。Buffer针对八种基本类型,提供了7个实现类,唯独没有针对boolean类型的实现类⑶重要位置:capacity >= limit >= position  
2021-02-16 14:32:13
1245
4
原创 小白日常小练习:15个猴子报数,从1-7,数到7淘汰,剩下最后一只猴子成为大王,哪知成了大王?
public class 猴子报数 { public static void main(String[] args){ //猴子数组 boolean[] monkey=new boolean[15]; //true 未淘汰 false 淘汰 for (int i=0;i<monkey.length;i++){ monkey[i]=true; } //报数 in
2021-01-22 16:56:27
338
原创 hive处理json数据
hive处理json数据步骤:1.加载hcatalog包,这个包已经在hive目录文件中:hive> add jar ../hcatalog/share/hcatalog/hive-hcatalog-core-1.2.0.jar; 2.创建处理json格式数据的表( 注意’org.apache.hive.hcatalog.data.JsonSerDe’ ):create table jsonTest(location string,ip string,action string,uid st
2021-01-21 17:45:56
125
原创 SpringData中的@Transactional和@Modifying的作用
**SpringData中自定义方法删除整表数据出现报错问题**@Test public void test08(){ ApplicationContext context= new ClassPathXmlApplicationContext("applicationContext.xml"); StuRepository proxy=context.getBean(StuRepository.class); proxy.delete(); } 只加@Query注解p
2021-01-16 19:06:06
1111
1
原创 Java标识符注意事项,小白必知
# 标识符概念:在Java中给类、接口、方法、变量、常量等起名字的字符序列例如:类名–标识符main–标识符组成规则:必须遵守,否则编译会报错1、英文大小写字母 中文汉字2、数字0-93、$ _注意:1、数字不能开头也不能单独使用2、标识不能和关键字冲突3、java严格区分大小写4、不建议使用中文汉字,可能会出现乱码5、$ _ 不建议随意使用,这两个符号有特殊的应用场景**以下不可以作为标识符的有:**G H K M组成规范:建议遵守–不遵守也不会报错,但是程序的
2021-01-15 16:32:10
231
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人