前言
写作于
2022-11-13 19:27:08
发布于
2022-11-20 16:34:44
准备
程序员囧辉
我要进大厂
面试阿里,HashMap 这一篇就够了
Java 基础高频面试题(2022年最新版)
问遍了身边的面试官朋友,我整理出这份 Java 集合高频面试题(2022年最新版)
面试官:如何进行 JVM 调优(附真实案例)
面试题
第一季:导航【Java面试题】
第二季:导航【Java面试题】
mysql
导航【mysql高级】【java提高】
juc
JUC并发编程【java提高】
redis
Redis
redis 在项目中的使用场景
缓存、分布式锁、排行榜(zset)、计数(incrby)、消息队列(stream)、地理位置(geo)、访客统计(hyperloglog)等。
redis常见的数据结构
常见的5种:
String:字符串,最基础的数据类型。
List:列表。
Hash:哈希对象。
Set:集合。
Sorted Set:有序集合,Set 的基础上加了个分值。
高级的4种:
HyperLogLog:通常用于基数统计。使用少量固定大小的内存,来统计集合中唯一元素的数量。统计结果不是精确值,而是一个带有0.81%标准差(standard error)的近似值。所以,HyperLogLog适用于一些对于统计结果精确度要求不是特别高的场景,例如网站的UV统计。
Geo:redis 3.2 版本的新特性。可以将用户给定的地理位置信息储存起来, 并对这些信息进行操作:获取2个位置的距离、根据给定地理位置坐标获取指定范围内的地理位置集合。
Bitmap:位图。
Stream:主要用于消息队列,类似于 kafka,可以认为是 pub/sub 的改进版。提供了消息的持久化和主备复制功能,可以让任何客户端访问任何时刻的数据,并且能记住每一个客户端的访问位置,还能保证消息不丢失。
数据结构
redis的5种数据结构及其底层实现原理
数据结构和算法
数据结构与算法(C语言)
算法入门
操作系统
导航【操作系统】
常用命令
java
java的bin目录_JDK的bin目录下那些常见工具使用集锦
javac 编译生成字节码
java 运行
jar 打包
javadoc是JDK提供给程序员的一个文档生成工具
javap是一个反编译工具
jdb是一个断点工具
jps用于查看运行的JVM实例以及进程号
jstat用于查看运行的JVM实例的运行数据
jstatd同样用于监控JVM实例
jvisualvm是JDK提供的图形化jstat工具
jinfo用于打印特定JVM实例的配置信息
redis
127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]> select 0
OK
127.0.0.1:6379> flushdb
OK
127.0.0.1:6379> set test:count 1
OK
127.0.0.1:6379> get test:count
"1"
127.0.0.1:6379> incr test:count
(integer) 2
127.0.0.1:6379> decr test:count
(integer) 1
127.0.0.1:6379> hset test:user id 1
(integer) 1
127.0.0.1:6379> hset test:user username zhangsan
(integer) 1
127.0.0.1:6379> hget test:user id
"1"
127.0.0.1:6379> hget test:user username
"zhangsan"
127.0.0.1:6379> lpush test:ids 101 102 103
(integer) 3
127.0.0.1:6379> llen test:ids
(integer) 3
127.0.0.1:6379> lindex test:ids 0
"103"
127.0.0.1:6379> lindex test:ids 2
"101"
127.0.0.1:6379> lrange test:ids 0 2
1) "103"
2) "102"
3) "101"
127.0.0.1:6379> rpop test:ids
"101"
127.0.0.1:6379> rpop test:ids
"102"
127.0.0.1:6379> sadd test:teachers aaa bbb ccc ddd eee
(integer) 5
127.0.0.1:6379> scard test:teachers
(integer) 5
127.0.0.1:6379> spop test:teachers
"ddd"
127.0.0.1:6379> spop test:teachers
"aaa"
127.0.0.1:6379> smembers test:teachers
1) "eee"
2) "bbb"
3) "ccc"
127.0.0.1:6379> zadd test:students 10 aaa 20 bbb 30 ccc 40 ddd 50 eee
(integer) 5
127.0.0.1:6379> zcard test:students
(integer) 5
127.0.0.1:6379> zscore test:students ccc
"30"
127.0.0.1:6379> zrank test:students ccc
(integer) 2
127.0.0.1:6379> zrange test:students 0 2
1) "aaa"
2) "bbb"
3) "ccc"
127.0.0.1:6379>
127.0.0.1:6379> keys *
1) "test:students"
2) "test:user"
3) "test:teachers"
4) "test:count"
5) "test:ids"
127.0.0.1:6379> keys test*
1) "test:students"
2) "test:user"
3) "test:teachers"
4) "test:count"
5) "test:ids"
127.0.0.1:6379> type test:user
hash
127.0.0.1:6379> exists test:user
(integer) 1
127.0.0.1:6379> del test:user
(integer) 1
127.0.0.1:6379> exists test:user
(integer) 0
127.0.0.1:6379> expire test:students 10
(integer) 1
127.0.0.1:6379> keys *
1) "test:students"
2) "test:teachers"
3) "test:count"
4) "test:ids"
127.0.0.1:6379> keys *
1) "test:teachers"
2) "test:count"
3) "test:ids"
127.0.0.1:6379>
linux
Java开发中常用的Linux命令
1,简单说明
2,Linux基本常用命令
2.1,目录管理
2.1.1,列出目录(ls)
2.1.2,切换目录(cd)
2.1.3,创建目录(mkdir)
2.1.4,删除目录(rmdir)
2.1.5,复制文件或目录(cp)
2.1.6,移除文件或目录(rm)
2.1.7,移动、重命名文件或目录(mv)
2.2,文件属性查看和修改
2.2.1,文件属性介绍
2.2.2,修改文件属组(chgrp)
2.2.2,修改文件属主(chown)
2.2.3,更改文件的九个属性(chmod)
2.3,文件查看命令
2.3.1,可用于读取文件内容
3,硬链接和软链接
4,Vim编辑器的使用
5,Linux账号管理
5.1,添加用户(useradd)
5.2,删除用户(userdel)
5.3,修改用户(usermod)
5.4,切换用户(su)
5.5,用户的密码设置问题(passwd)
5.6,锁定账户
6,Linux用户组管理
6.1,增加用户组(groupadd)
6.2,删除用户组(groupdel)
6.3,修改用户组(groupmod)
7,Linux磁盘管理
7.1,df命令
7.2,du命令
7.3,磁盘的挂载(mount)和卸除(umount)
8,Linux进程管理
8.1,查看当前系统中正在执行的进程信息(ps)
8.2,查看父进程信息(pstree)
8.3,结束进程(kill)