Java面试题收集(二)

 

 

四.Redis简介

redis为什么这么快

4.1 Redis数据类型

 

 

String 

hash 字典,适用于存储对象

list 安照String元素插入顺序排序,最新插入的最先显示。如热点数据

set String元素组成的无序集合,不允许重复。如微博共同关注等功能

 zset 从小到大的排序,分数一样先插入的在前面,不可重复

 

4.2  海量数据模糊查询 keys太慢,需要用scan

keys k1*  找出含有k1*的key 太慢

 

4.3 如何通过Redis实现分布式锁

 多线程

 

 

expire locknx 生存时间

 

 2.6版本开始可以保证原子性 将setnx 和expire结合起来

命令 set key value  ex 10   nx     

 

 

 

 

 4.4 使用Redis做异步队列

 

 

 

 blpop 等待生产者生产再消费

   

 发布订阅模式

 

 subscribe topic                            publish topic 消息

   

 

 4.5 持久化 RDB(做快照) AOF(保存写状态)

查看redis.conf

持久化时间策略:900秒内 有1条写入就触发产生一次快照(备份)

235行 yes 当备份进程出错了,主进程停止接受新的写入操作,为了保护持久化

241 是否rdb压缩 建议设置为no 提升性能

 

快照文件:dump.rdb

 bgsave非阻塞

 

 只要数据发生变化,就写aof文件

Redis4.0 之后 RDB全量+AOF增量

 

 五.Linux

5.1 查找特定的文件 find

find / -name 文件名   精确查找文件

find ~ -name "target*"  模糊查找target打头的文件

fibd ~ -iname "target*" 忽略大小写

man find 更多参考

5.2 检索文件内容 grep

grep 文本内容 文件名

5.3 管道操作符 |

find ~ |grep "target"

grep 查找的内容 查找的文件名

进一步筛选 grep -o

ps -ef | grep tomcat

 

5.4 对文件内容做统计 awk

 

 

获取第一列和第四列

awk '{print $1,$4}' netstat.txt

把表头打出来 NR

删选第二列 -F 逗号分隔

统计不同engine文件数量

 

 六.Java知识考点

6.1 谈谈你对Java的理解

 

 6.2 Java的平台无关性

6.3 JVM如何加载.class文件

 

posted @ 2019-01-09 23:48  梦里南柯  阅读(140)  评论(0编辑  收藏  举报