0%

问题

某项投资:

数据 F f p q b
概率 拥有资本总值 应投资本比值 获胜概率 失败概率(1 - p) 赔率

那么应不应该投资?应该如何投资?

推导

第k+1次投资结果

成功投资:$F_{k+1} = F_k(1+bf)$
失败投资:$F_{k+1} = F_k(1-f)$

阅读全文 »

定义

在数学与统计学中,大数定律又称大数法则、大数律,是描述相当多次数重复实验的结果的定律。根据这个定律知道,样本数量越多,则其算术平均值就越趋近期望值。

举例

1)抛掷一颗均匀的6面的骰子,六面出现概率为

数据 1 2 3 4 5 6
概率 1/6 1/6 1/6 1/6 1/6 1/6

数学期望 = 1 × (1/6) + 2 × (1/6) + 3 × (1/6) + 4 × (1/6) + 5 × (1/6) + 6 × (1/6)

数学期望 = 3.5

阅读全文 »

1.背景

按照 Java 的发布计划,Java 12 将于2019年 3 月推出,本人现在还在使用Java 8,这本身没有什么问题,但“惭愧”的是目前不会使用8的新特性。

“这段代码中,使用了Java 8 的LAMBDA表达式”。

“一会让你见识见识Java 8 的STREAM有多好用”。

每当听到或看到,类似以上内容的话语或文字的时候,发出感慨者那种优于其它人的自豪感,让我更加的“惭愧”。

阅读全文 »

事件:打电话订外卖,拨通老板电话,询问菜品,选菜。

同步:老板说:”我看一下厨房,还有没菜,还能不能做!”,然后就去问了,等确认后告诉你结果。(可能一分钟,也可能好久好久)
异步:老板说:”我去查一下,查好了电话告诉你!”,然后就挂电话了。(不返回结果)等确认后,给你打电话。

阻塞:你等待,不去做任何事情,一直等待结果。
非阻塞:你不等待,先去做别的事情,偶尔检查一下老板有没有老板的消息。

一、初始化仓库
1
2
3
4
# 新建一个目录,将其初始化为Git代码库
git init [project-name]
# 下载一个项目和它的整个代码历史
git clone [url]
二、工作区–>暂存区
1
2
3
4
5
6
# 添加指定文件到暂存区
git add [file1] [file2] ...
# 添加当前目录的所有文件到暂存区
git add .
# 从暂存区删除到工作区
git rm --cached <file>...
阅读全文 »

1.红眼睛和蓝眼睛

一个岛上有100个人,其中有5个红眼睛,95个蓝眼睛。这个岛有三个奇怪的宗教规则。
  • 他们不能照镜子,不能看自己眼睛的颜色。
  • 他们不能告诉别人对方的眼睛是什么颜色。
  • 一旦有人知道了自己是红眼睛,他就必须在当天夜里自杀。
某天,有个旅行者到了这个岛上。由于不知道这里的规矩,所以他在和全岛人一起狂欢的时候,不留神就说了一句话:【你们这里有红眼睛的人。】
假设这个岛上的人足够聪明,每个人都可以做出缜密的逻辑推理。请问这个岛上将会发生什么?

笔者认为只要能在Windows下运行的项目,在MacOS、Linux出现问题的概率会很小,所以此次选择在Windows环境下安装运行zookeeper项目。

1.下载地址

ZooKeeper下载地址

2.解压安装

使用解压工具对压缩包进行解压

3.配置参数
  • 进入conf文件夹
  • 复制zoo_sample.cfg文件为zoo.cfg
  • 配置参数
    阅读全文 »

Selector(选择器)是Java NIO中能够检测一到多个NIO通道,并能够知晓通道是否为诸如读写事件做好准备的组件。这样,一个单独的线程可以管理多个channel,从而管理多个网络连接。

SelectServer.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
public class SelectServer {
public static void main(String[] args) throws IOException {
ServerSocketChannel serverSocketChannel = ServerSocketChannel.open();
serverSocketChannel.socket().bind(new InetSocketAddress(9999));
serverSocketChannel.configureBlocking(false);
Selector selector = Selector.open();
SelectionKey selectionKey = serverSocketChannel.register(selector, SelectionKey.OP_ACCEPT);
while (true) {
int select = selector.select();
if (select > 0) {
Iterator keyIterator = selector.selectedKeys().iterator();
while (keyIterator.hasNext()) {
SelectionKey next = (SelectionKey) keyIterator.next();
keyIterator.remove();
if (next.isAcceptable()) {
System.out.println("isAcceptable");
SocketChannel channel = ((ServerSocketChannel) next.channel()).accept();
channel.configureBlocking(false);
channel.register(selector, SelectionKey.OP_READ);
} else if (next.isConnectable()) {
System.out.println("connect");
} else if (next.isReadable()) {
System.out.println("isReadable");
SocketChannel socketChannel = (SocketChannel) next.channel();
ByteBuffer readByteBuffer = ByteBuffer.allocate(100);
int read = socketChannel.read(readByteBuffer);
System.out.println(new String(readByteBuffer.array(), 0, read));
socketChannel.register(selector, SelectionKey.OP_WRITE);
socketChannel.write(readByteBuffer);
} else if (next.isWritable()) {
System.out.println("isWritable");
SocketChannel socketChannel = (SocketChannel) next.channel();
socketChannel.register(selector, SelectionKey.OP_READ);
}
}
}
}
}
}
阅读全文 »