摘要:
Scala Actor Model 概念理解 Actor Model是用来编写并行计算或分布式系统的高层次抽象(类似java中的Thread)让程序员不必为多线程模式下共享锁而烦恼,被用在Erlang 语言上, 高可用性99.9999999 % 一年只有31ms 宕机Actors将状态和行为封装在一 阅读全文
posted @ 2020-12-02 16:02
shaoyayu
阅读(141)
评论(0)
推荐(0)
摘要:
Scala 隐式转换 隐式转换是在Scala编译器进行类型匹配时,如果找不到合适的类型,那么隐式转换会让编译器在作用范围内自动推导出来合适的类型。 1.隐式值与隐式参数 隐式值是指在定义参数时前面加上implicit。隐式参数是指在定义方法时,方法中的部分参数是由implicit修饰【必须使用柯里化 阅读全文
posted @ 2020-12-02 16:01
shaoyayu
阅读(155)
评论(0)
推荐(0)
摘要:
Scala Trait+Match+Case class+偏函数 trait 特性 概念理解 Scala Trait(特征) 相当于 Java 的接口,实际上它比接口还功能强大。 与接口不同的是,它还可以定义属性和方法的实现。 一般情况下Scala的类可以继承多个Trait,从结果来看就是实现了多重 阅读全文
posted @ 2020-12-02 15:59
shaoyayu
阅读(151)
评论(0)
推荐(0)
摘要:
Scala 元组 元组定义 与列表一样,与列表不同的是元组可以包含不同类型的元素。元组的值是通过将单个的值包含在圆括号中构成的。 创建元组与取值 val tuple = new Tuple(1) 可以使用new val tuple2 = Tuple(1,2) 可以不使用new,也可以直接写成val 阅读全文
posted @ 2020-12-02 15:58
shaoyayu
阅读(350)
评论(0)
推荐(0)
摘要:
Scala里面的Set与Map Set package icu.shaoyayu.scala /** * @author shaoyayu * @date 2020/7/26 11:15 * @E_Mail * @Version 1.0.0 * @readme : * set介绍 * */ obje 阅读全文
posted @ 2020-12-02 15:55
shaoyayu
阅读(210)
评论(0)
推荐(0)
摘要:
Scala字符串与集合 package icu.shaoyayu.scala import scala.collection.mutable.{ArrayBuffer, ListBuffer} /** * @author shaoyayu * @date 2020/7/25 16:26 * @E_M 阅读全文
posted @ 2020-12-02 15:53
shaoyayu
阅读(311)
评论(0)
推荐(0)
摘要:
Scala 中方法与函数 方法 package icu.shaoyayu.scala /** * @author shaoyayu * @date 2020/7/23 23:16 * @E_Mail * @Version 1.0.0 * @readme : */ object Lesson3 { d 阅读全文
posted @ 2020-12-02 15:52
shaoyayu
阅读(172)
评论(0)
推荐(0)
摘要:
Scala 基础 数据类型 数据类型描述 Byte 8bit的有符号数字,范围在-128 -- 127 Short 16 bit有符号数字,范围在-32768 -- 32767 Int 32 bit有符号数字,范围-2147483648到2147483647 Long 64 bit有符号数字,范围- 阅读全文
posted @ 2020-12-02 15:50
shaoyayu
阅读(111)
评论(0)
推荐(0)
摘要:
Scala 介绍与环境配置 Scala介绍 官方文档 Scala用一种简洁的高级语言将面向对象和函数式编程结合在一起。 Scala的静态类型有助于避免复杂应用程序中的错误,其JVM和JavaScript运行时使您可以轻松访问庞大的库生态系统来构建高性能系统。 Spark1.6中使用的是Scala2. 阅读全文
posted @ 2020-12-02 15:49
shaoyayu
阅读(159)
评论(0)
推荐(0)
摘要:
Zookeeper 与RMI 参考: https://my.oschina.net/huangyong/blog/345164 https://www.jianshu.com/p/d8ffa1ff0727 https://developer.ibm.com/zh/articles/os-cn-zoo 阅读全文
posted @ 2020-12-02 15:47
shaoyayu
阅读(218)
评论(0)
推荐(0)
摘要:
Zookeeper java API 测试 pom <!-- https://mvnrepository.com/artifact/org.apache.zookeeper/zookeeper --> <dependency> <groupId>org.apache.zookeeper</group 阅读全文
posted @ 2020-12-02 15:46
shaoyayu
阅读(1366)
评论(0)
推荐(0)
摘要:
Zookeeper 安装与配置 我使用的是解压版的, 直接解压配置环境变量就行了,这里不对安装进行过多的描述 zook.cfg 在文件的/conf/下面的模板配置文件修改成zook.cfg 文件 # The number of milliseconds of each tick tickTime=2 阅读全文
posted @ 2020-12-02 15:44
shaoyayu
阅读(469)
评论(0)
推荐(0)
摘要:
Zookeeper 架构 材料大部分来源于网上,我会备注网址 学习学习 推荐阅读:https://developer.ibm.com/zh/articles/os-cn-zookeeper/ 项目介绍 转至元数据结尾 由 Benjamin Reed创建, 最终由 Carlos D. Morales修 阅读全文
posted @ 2020-12-02 15:43
shaoyayu
阅读(346)
评论(0)
推荐(0)
摘要:
HBase 优化 表优化 在使用List Put写入的时候可能会丢失一些数据,包括读写的时候都有可能存在丢书数据的情况 表切分 默认的表是存储再同一个Region上面的,当表太大的时候,表会自动的切分到其他的Region上面。 手动切分 # 手动的切分表名 >split ‘表名’ 这样当数据太大的时 阅读全文
posted @ 2020-12-02 15:40
shaoyayu
阅读(145)
评论(0)
推荐(0)
摘要:
HBase 与 MapReduce 整合 phoenix.apache.org Mapreduce运行3种方式 本地方式运行: pc环境 1.1、将 Hadoop安装本地解压 1.2、配置 Hadoop的环境变量 添加%HADOOP_HOME% 修改%PATH%添加%HADOOP_HOME%/bin 阅读全文
posted @ 2020-12-02 15:39
shaoyayu
阅读(1294)
评论(0)
推荐(0)
摘要:
案例: 3、通话记录: 手机号 对方手机号 通话时长 时间 通话类型(主叫/被叫) 后续更新 阅读全文
posted @ 2020-12-02 15:37
shaoyayu
阅读(111)
评论(0)
推荐(0)
摘要:
HBase数据库设计 题目: 1、人员-角色 人员有多个角色 角色优先级 角色有多个人员 人员 删除添加角色 角色 可以添加删除人员 人员 角色 删除添加 2、组织架构 部门-子部门 查询 顶级部门 查询 每个部门的所有子部门 部门 添加、删除子部门 部门 添加、删除 3、通话记录: 手机号 对方手 阅读全文
posted @ 2020-12-02 15:36
shaoyayu
阅读(535)
评论(0)
推荐(0)
摘要:
Fork/Join并发处理框架 学习材料来源于网络 如有侵权,联系删除 概念 ForkJoinPool是ExecutorService接口的实现,它专为可以递归分解成小块的工作而设计。fork / join框架将任务分配给线程池中的工作线程,充分利用多处理器的优势,提高程序性能。 使用fork / 阅读全文
posted @ 2020-12-02 15:20
shaoyayu
阅读(174)
评论(0)
推荐(0)
摘要:
并发容器-队列 学习材料来源于网络 如有侵权,联系删除 Queue-队列数据结构的实现。分为阻塞队列和非阻塞队列。下列的蓝色区块,为阻塞队列特有方法。 分类 Queue 非阻塞队列 BlockingQueue 阻塞队列 ArrayBlockingQueue 示例1 package icu.shaoy 阅读全文
posted @ 2020-12-02 15:18
shaoyayu
阅读(108)
评论(0)
推荐(0)
摘要:
并发容器Map 学习材料来源于网络 如有侵权,联系删除 HashMap 简单分析 在了解并发容器之前呢,我们先了解Hash,这一章节是基于个人理解中快速讲解的 我们先从Hash计算,到存储结构,再到源码分析,再到细节介绍 Hash计算 哈希算法(Hash)又称摘要算法(Digest),它的作用是:对 阅读全文
posted @ 2020-12-02 15:16
shaoyayu
阅读(154)
评论(0)
推荐(0)
摘要:
信号量、栅栏和倒计数器 学习材料来源于网络 如有侵权,联系删除 Semaphore 简称信号量,可以控制多个线程的资源争抢许可。 acquire:获取一个许可,如果没有就等待, release:释放一个许可。 availablePermits:方法得到可用的许可数目 适用场景: 1、代码并发处理限流 阅读全文
posted @ 2020-12-02 15:15
shaoyayu
阅读(299)
评论(0)
推荐(0)
摘要:
AQS抽象队列同步器详解 学习材料来源于网络 如有侵权,联系删除 同步锁的本质 同步锁的本质就是排队 同步的方式:独享锁-单个队列窗口,共享锁-多个队列窗口 抢锁的方式:插队抢(不公平锁)、先来后到抢锁(公平锁) 没抢到锁的处理方式:快速尝试多次(CAS自旋锁)、阻塞等待 唤醒阻塞线程的方式(叫号器 阅读全文
posted @ 2020-12-02 15:13
shaoyayu
阅读(189)
评论(0)
推荐(0)
摘要:
Lock锁接口实现 学习材料来源于网络 如有侵权,联系删除 源码 package java.util.concurrent.locks; import java.util.concurrent.TimeUnit; /** * 与使用{@code sync}方法和语句相比,{@ code Lock}实 阅读全文
posted @ 2020-12-02 15:12
shaoyayu
阅读(205)
评论(0)
推荐(0)
摘要:
锁和synchronizeed关键字 学习材料来源于网络 如有侵权,联系删除 锁的概念 自旋锁:为了不放弃CPU执行事件,循环的使用CAS技术对数据尝试进行更新,直至成功。 悲观锁:假定会发生并发冲突,同步所有对数据的相关操作,从读数据就开始上锁。 乐观锁:假定没有冲突,在修改数据时如果发现数据和之 阅读全文
posted @ 2020-12-02 15:10
shaoyayu
阅读(176)
评论(0)
推荐(0)
摘要:
CAS机制与原子性 学习材料来源于网络 如有侵权,联系删除 概念 Compare and swap比较和交换。属于硬件同步原语,处理器提供了基本内存操作的原子性保证。CAS操作需要输入两个数值;一个旧值A(期望操作前的值)和一个新值B,在操作期间先比较下旧值有没有发生变化,如果没有发生变化,才交换成 阅读全文
posted @ 2020-12-02 15:09
shaoyayu
阅读(1283)
评论(0)
推荐(0)
摘要:
线程安全 学习材料来源于网络 如有侵权,联系删除 竞态条件与临界区 public class Demo { public inti= 0; public void incr(){ i++; } } 多个线程访问了相同的资源,向这些资源做了写操作时,对执行顺序有要求。 临界区: incr方法内部就是临 阅读全文
posted @ 2020-12-02 15:07
shaoyayu
阅读(126)
评论(0)
推荐(0)
摘要:
volatile关键字 学习材料来源于网络 如有侵权,联系删除 volatile关键字 可见性问题:让一个线程对共享变量的修改,能够及时的被其他线程看到。 根据JMM中规定的happen before和同步原则: 对某个volatile字段的写操作 happens-before每个后续对该volat 阅读全文
posted @ 2020-12-02 15:06
shaoyayu
阅读(107)
评论(0)
推荐(0)
摘要:
JVM多线程内存模型详解 学习材料来源于网络 如有侵权,联系删除 JVM运行时候数据区 线程独占:每个线程都会有它独立的空间,随线程生命周期而创建和销毁 线程共享:所有线程能访问这块内存数据,随虚拟机或者GC而创建和销毁 基于这种内存模型中的多线程操作会出现的问题: 1、所见非所得 2、无法肉眼去检 阅读全文
posted @ 2020-12-02 15:05
shaoyayu
阅读(584)
评论(0)
推荐(0)
摘要:
线程池 学习材料来源于网络 如有侵权,联系删除 线程是不是有多越好? 1、线程在java中是一个对象,更是操作系统的资源,线程创建、销毁需要时间。如果创建时间+销毁时间>执行任务时间就很不合算。 2、java对象占用堆内存,操作系统线程占用系统内存,根据jvm规范,一个线程默认最大栈大小1M,这个栈 阅读全文
posted @ 2020-12-02 15:03
shaoyayu
阅读(148)
评论(0)
推荐(0)
摘要:
线程封闭 学习材料来源于网络 如有侵权,联系删除 线程封闭概念 多线程访问共享可变数据时,涉及到线程间数据同步的问题。并不是所有时候,都要用到共享数据,所以线程封闭概念就提出来了。 数据都被封闭在各自的线程之中,就不需要同步,这种通过将数据封闭在线程中而避免使用同步的技术称为线程封闭。 线程封闭具体 阅读全文
posted @ 2020-12-02 15:02
shaoyayu
阅读(81)
评论(0)
推荐(0)
摘要:
线程通信 学习材料来源于网络 如有侵权,联系删除 要想实现多个线程之间的协同,如:线程执行先后顺序、获取某个线程执行的结果等等。 涉及到线程之间相互通信,分为下面四类: 文件共享 网络共享 共享变量 jdk提供的线程协调API JDK提供的线程线程通信API: suspend()/resume()、 阅读全文
posted @ 2020-12-02 15:00
shaoyayu
阅读(271)
评论(0)
推荐(0)
摘要:
CPU缓存和内存屏障 学习材料来源于网络 如有侵权,联系删除 多级缓存 Ll Cache(一级缓存)是CPU第一层高速缓存,分为数据缓存和指令缓存。一般服务器CPU的L1缓存的容量通常在32—4096KB。 L2由于Ll级高速缓存容量的限制,为了再次提高CPU的运算速度,在CPU外部放置一高速存储器 阅读全文
posted @ 2020-12-02 14:59
shaoyayu
阅读(318)
评论(0)
推荐(0)
摘要:
线程终止 学习材料来源于网络 如有侵权,联系删除 如何终止一个线程 stop()停止线程 Thead线程 package icu.shaoyayu.multithreading.chapter1; /** * @author shaoyayu * @E_Mail * @Version 1.0.0 * 阅读全文
posted @ 2020-12-02 14:57
shaoyayu
阅读(103)
评论(0)
推荐(0)
摘要:
线程状态 学习材料来源于网络 如有侵权,联系删除 系统调度 New∶尚未启动的线程的线程状态。 Runnable:可运行线程的线程状态,等待CPU调度。 Blocked:线程阻塞等待监视器锁定的线程状态。处于synchronized同步代码块或方法中被阻塞。 Waiting:等待线程的线程状态。下列 阅读全文
posted @ 2020-12-02 14:56
shaoyayu
阅读(114)
评论(0)
推荐(0)
摘要:
JVM的运行 学习材料来源于网络 如有侵权,联系删除 线程独占:每个线程都会有它独立的空间,随线程生命周期而创建和销毁 线程共享:所有线程能访问这块内存数据,随虚拟机或者GC而创建和销毁 方法区 JVM用来存储加载的类信息、常量、静态变量、编译后的代码等数据虚拟机规范中这是一个逻辑区划。具体实现根据 阅读全文
posted @ 2020-12-02 14:55
shaoyayu
阅读(109)
评论(0)
推荐(0)

浙公网安备 33010602011771号