自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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 170

原创 关于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 437

原创 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 161

转载 Atomiclnteger的使用场景和底层原理

1.说说Atomiclnteger的使用场景        AtomicInteger提供原子操作来进行Integer的使用,适合并发情况下的使用,比如两个线程对同一个整数累加。2.为什么Atomiclnteger是线程安全的,原理是什么        AtomicInteger是对int类型的一个封装,提供原子性的访问和更新操作,其原子性操作

2021-02-22 11:10:53 883

原创 红黑树基础知识,帮助小白更好理解!

红黑树1.本质上是一种自平衡二叉查找树2.二叉查找树的特征⑴左子树小于根,右子树大于根⑵没有相等的节点3.红黑树的特征⑴所有节点非红即黑⑵根节点必须是黑节点的⑶红节点的子节点必须是黑色的⑷最底层的叶子节点必须是黑色的空节点⑸从根节点到任意一个叶子节点经过的路径中的黑色节点个数一致,即黑节点高度相同⑹新添的节点颜色必须是红色的4.红黑的修正 - 前提:父子节点为红⑴涂色:叔父节点为红,那么将父节点和叔父节点涂黑,将祖父节点涂红⑵左旋:叔父节点为黑,且子节点是右子叶,那么需要以子节点

2021-02-22 10:17:19 146

转载 Java-BlockingQueue 接口5大实现类的使用场景

关于BlockingQueueBlockingQueue即我们所说的阻塞队列,它的实现基于ReentrantLock,通常我们谈及到阻塞队列,都会和生产者/消费者模式关联起来(这是最常用的场景),和一般的非阻塞队列区别在于实现生产者/消费者模式中不需要额外的实现线程同步和唤醒。标题中说的是五大实现类,但是该接口实际上拥有7个实现类,它们的区别主要体现在存储结构上或对元素操作上的不同,如下:ArrayBlockingQueue :一个由数组结构组成的有界阻塞队列。LinkedBlockingQueue

2021-02-16 15:30:25 674

原创 NIO中的三大组件:Buffer、Channel、Selector基础知识,小白须知

一、NIO1.它是同步非阻塞式IO2.同步:一个对象在某个时段,只能被一个线程使用3.非阻塞:线程无论是否获取到结果,都会继续往下执行或者报错4.IO:传输数据二、NIO三大组件1.Buffer(缓冲区)⑴作用:临时存储数据⑵Buffer底层是基于数组来进行存储的,只能存储基本类型的数据。Buffer针对八种基本类型,提供了7个实现类,唯独没有针对boolean类型的实现类⑶重要位置:capacity >= limit >= position  &nbsp

2021-02-16 14:32:13 396 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 292

原创 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 86

原创 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 1050 1

原创 Java标识符注意事项,小白必知

# 标识符概念:在Java中给类、接口、方法、变量、常量等起名字的字符序列例如:类名–标识符main–标识符组成规则:必须遵守,否则编译会报错1、英文大小写字母 中文汉字2、数字0-93、$ _注意:1、数字不能开头也不能单独使用2、标识不能和关键字冲突3、java严格区分大小写4、不建议使用中文汉字,可能会出现乱码5、$ _ 不建议随意使用,这两个符号有特殊的应用场景**以下不可以作为标识符的有:**G H K M组成规范:建议遵守–不遵守也不会报错,但是程序的

2021-01-15 16:32:10 190

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除