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文件

Java面试题收集(二)的更多相关文章
- 经典Java面试题收集(二)
经典的Java面试题(第二部分),这部分主要是与Java Web和Web Service相关的面试题. 96.阐述Servlet和CGI的区别? 答:Servlet与CGI的区别在于Servlet处于 ...
- 经典Java面试题收集
1.面向对象的特征有哪些方面? 答:面向对象的特征主要有以下几个方面: 抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面.抽象只关注对象有哪些属性和行为,并不关注这些 ...
- java面试题(二)
21.描述一下JVM加载class文件的原理机制? 答:JVM中类的装载是由类加载器(ClassLoader)和它的子类来实现的,Java中的类加载器是一个重要的Java运行时系统组件,它负责在运行时 ...
- Java面试题收集以及参考答案(100道)
不积跬步无以至千里,这里会不断收集和更新Java基础相关的面试题,目前已收集100题. 1.什么是B/S架构?什么是C/S架构 B/S(Browser/Server),浏览器/服务器程序 C/S(Cl ...
- java面试题实战二
1.spring 是如何创建bean的? 在IoC容器中,bean的获取主要通过BeanFactory和ApplicationContext获取,这里ApplicationContext实际上是继承自 ...
- Java面试题 corejava(二)
65.JAVA 语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意义?在try 块中可以抛出异常吗?[基础] 答:Java 通过面向对象的方法进行 ...
- java面试题收集
http://www.cnblogs.com/yhason/archive/2012/06/07/2540743.html 2,java常见面试题 http://www.cnblogs.com/yha ...
- Java面试题整理二
一.io有几种流? 有两种流:字节流和字符流. 字节流继承自inputstream和outstream. 字符流继承自write和read. 二.Jdbc的开发流程? JDBC编程的六个步骤: 1)加 ...
- java笔试题(二)
1.写出一维数组初始化的两种方式 int[] arr={1,2,3}; String[] str=new String[2]; str[1]="23"; 2.写出二维数组初始化的两 ...
随机推荐
- docker 配置私有仓库
1.使用docker 命令: 1.准备两台虚拟机,这里使用的是centos7,两台使用yum install docker 安装docker; 2.给两台虚拟机设置固定ip: 进入到虚拟机内 敲入命令 ...
- Android Studio 配置Gradle总结
一, 问题:①换个新电脑安装完Android Sutdio第一次打开一个工程巨慢怎么办? ② 手动配置Gradle Home为什么总是无效? ③ 明明已经下载了Gradle,配置了gradle hom ...
- 客户端相关知识学习(四)之H5页面如何嵌套到APP中
Android原生如何渲染H5页面 Android与 H5 的交互方式大概有以下 1 种: 利用WebView进行交互(系统API) iOS原生如何渲染H5页面 iOS 与 H5 的交互方式大概有以下 ...
- JavaScript金字塔打印
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- iview表单验证之正则验证、函数验证
iview表单验证之正则 正则验证: 代码: loginRules: { stringLength: [ { required: true, message: '该字段不能为空', trigger: ...
- Nginx做代理路由时,不转发http的header问题
从header里面拿不到 TX_XID这种类型的字段, Nginx 会默认忽略含有 “_” 的 header 参数,而 TX_XID值的参数名恰好含有 “_” 符号,需要手动开启转发. 在 nginx ...
- deep_learning_Function_tensorflow_reshape()
numpy.reshape(a, newshape, order='C')[source],参数`newshape`是啥意思? 根据Numpy文档(https://docs.scipy.org/doc ...
- mysql语句修改zencart产品原价为特价的倍数
mysql语句修改zencart产品原价为特价的倍数,下面语句将原价设为特价的3倍: ; ;
- 【AGC 036C】GP2
https://atcoder.jp/contests/agc036/tasks/agc036_c 题意 有一个长度为 $n$ 的非负整数序列 $x$,初始时全为 $0$.一次操作定义为选择一对正整数 ...
- pthread_cond_wait
while(1) 33 { 34 mm* p = NULL; 35 pthread_mutex_lock(&mutex); 36 while(head == NULL) 37 pthread_ ...