0%

Q1:HashMap 的数据结构?

A1:哈希表结构(链表散列:数组+链表)实现,结合数组和链表的优点。当链表长度超过 8 时,链表转换为红黑树。

Q2:HashMap默认大小是多少?如果传入指定大小是20,那么实际大小是多少?

Q3:HashMap对key进行hash操作的时候有什么特殊处理吗?

Q4:put操作当发生hash碰撞,数据插入链表时,是插入链表头部还是尾部?

Q5:HashMap会出现死循环吗?

Q6:链表长度超过 8 时一定会转换成红黑树吗?

Read more »

阿里巴巴java手册中关于线程的说明

1.【强制】创建线程或线程池时请指定有意义的线程名称,方便出错时回溯
正例:

1
2
3
4
public class TimerTaskThread extends Thread { public TimerTaskThread() {
super.setName("TimerTaskThread");
... }
}

Read more »

引言

大数据时代,类似sum求和或者avg平均值的操作还是相对容易,而比如类似算网站uv或者
找出网站访问最频繁访客会比较困难,es中提供了一种cardinality聚合来解决这类问题.

Read more »

启动集群最小的配置

path.data 和 path.logs

数据和日志文件路径

1
2
3
path:
logs: /var/log/elasticsearch
data: /var/data/elasticsearch

设置多个路径

1
2
3
4
5
path:
data:
- /mnt/elasticsearch_1
- /mnt/elasticsearch_2
- /mnt/elasticsearch_3

Read more »

堆大小检查

./bin/elasticsearch文件

1
ES_HEAP_SIZE=20G

./conf/jvm.options

1
2
-Xms2g 
-Xmx2g

  • 把xms(堆初始化大小)和xmx(最大堆大小)设为相等
  • 堆太小oom,堆太大gc停止时间越长
  • xmx不要超过机器物理内存的50%
  • 因为jvm使用压缩对象指针,不要把xmx设超过临界点,临界点一般在靠近32G,正确的日志如下:
    1
    heap size [1.9gb], compressed ordinary object pointers [true]
Read more »

配置分为static和dynamic两种,
static配置在elasticsearch.yml,环境变量,或者在启动节点的命令行中;
dynamic可以通过cluster-update-settings api动态更新.

Read more »

禁止分片分配

1
2
3
4
5
curl -XPUT '/_cluster/settings?pretty' -d '{
"transient": {
"cluster.routing.allocation.enable": "none"
}
}'
Read more »

安装

$ npm install hexo-cli -g

初始化

$ hexo init blog
$ cd blog

Read more »

Shadowsocks

本脚本适用环境

系统支持:CentOS,Debian,Ubuntu

内存要求:≥128M

关于本脚本

一键安装 ShadowsocksR 服务端。

请下载与之配套的客户端程序来连接。
(以下客户端只有 Windows 客户端Python 版客户端可以使用 SSR 新特性,其他原版客户端只能以兼容的方式连接 SSR 服务器)

默认配置

服务器端口:自己设定(如不设定,默认为 8989)
客户端端口:1080
密码:自己设定(如不设定,默认为teddysun.com)
Read more »