Chuenhung的个人网站

chuenhung.github.io

中国的交通正处于历史上最混乱的局面。走不到一公里的路,险些被两个电动车撞上。这些外卖送货员已经完全不遵守交通规则。逆行,上人行道,在人群中乱穿,还对人按喇叭,已经无法无天。每一天从这路上走过,都有险些被撞被擦的惊险场面出现。
眼观六路,耳听八方都是不够的,因为他们从十六个以上的方向冲来。傍晚黑乎乎的路上,只看见满街的电动车在乱串。末世的景色。好些电动车上,还有棱角锐利的箱子或金属架子,就像是锋利的武器。真的是防不慎防,心惊胆战。
这恐怕是任何国家历史上都从未出现过的交通混乱。人行道都不能安全行走,中国现在恐怕是世界上交通最混乱的国家。前所未有地感觉到中国人生命的廉价。
政府和交通部门应该给外卖和快递公司施加压力,出动警力维持秩序,严惩违章的送货员,并且支持群众举报。由于生命安全受到严重威胁,群众应该有权拦截,训斥并举报违章的外卖送货员。一旦被举报,就从外卖系统除名。
另外,应该禁止外卖公司给送货员设置不合理的"超时赔付",逼迫他们赶时间违章。
这么简单的事情,怎么就是不会做呢?

阅读全文 »

生成数据

用for循环不断的往字符流中写数据,然后输出到文件系统。代码如下:

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
/**
* 通过IO流造100万条文本数据并输出到磁盘
*/
public class CreateData {
public static void main(String[] args) {
try {
File writeName = new File("F:\\log.txt");
//如果没有则新建一个文件,有同名的则覆盖
writeName.createNewFile();
try (FileWriter writer = new FileWriter(writeName);
BufferedWriter out = new BufferedWriter(writer)
) {
for (int i= 1;i<1000001;i++){
out.write(i+"\t"+ //自增主键
"192.168.43.151"+"\t"+
"user_"+i+"\t"+
"我是测试日志内容\n");
}
out.flush();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
阅读全文 »

HashMap的存储结构

JDK 1.8之前

在JDK 1.7,HashMap采用的是**数组+链表(头插法)**的存储结构。HashMap通过key的hashCode经过hash方法处理过后得到hash值,然后通过 (n - 1) & hash 判断当前元素存放的位置(n指的是数组的长度),如果当前位置存在元素的话,就判断该元素与要存在的元素的hash值以及key是否相同,如果相同的话,直接覆盖,不相同就通过拉链法解决冲突。JDK 1.8之前的hash方法如下:

1
2
3
4
static int hash(int h) {
h ^= (h >>> 20) ^ (h >>> 12);
return h ^ (h >>> 7) ^ (h >>> 4);
}

存储结构如下:
在这里插入图片描述

所谓 “拉链法” 就是将链表和数组相结合。也就是说创建⼀个链表数组,数组中每⼀格就是⼀个链表。若遇到哈希冲突,则将冲突的值加到链表中即可

阅读全文 »

简介

同一方法作用于不同类的实例,将产生不同的执行结果。即"一个对外接口的方法有多种表现形式"。
当使用多态方式调用方法时,首先检查父类中是否有该方法,如果没有,则编译错误;如果有,再去调用子类的同名方法。
Java中,父类的引用既可以指向父类的对象,也可以指向子类的对象,但子类的引用不能指向父类的对象

阅读全文 »
0%