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.写出二维数组初始化的两 ...
随机推荐
- python flask解决上传下载的问题
记录瞬间 最近为了解决一些新的需求,简单介入了flask对文件的上传和下载的方法,并分别使用python和curl模拟发送 代码: #! /usr/bin/env python3 # coding:u ...
- idea 修改pom文件jdk版本回退问题解决
在Java开发是我们大多都使用集成开发环境,像idea和eclipse用的都比较多,在使用idea maven构建项目时,在修改pom.xml文件时,我们的项目jdk版本都会回退,还得每次去设置中修改 ...
- eclipse+maven搭建springboot项目入门
一.下载jdk,例如(jdk1.8.171) 安装(注意仅仅安装jdk就可以了,不要安装jre,设置JAVA_HOME,配置jdk环境变量) 二.下载maven(apache-maven-3.5.3- ...
- Oracle Help 类
public static string ConnString = @"Data Source=xxx;USER ID=xxx;PASSWORD=xxx"; /// <sum ...
- 关于memset的几个易错点
memset(void *s,int ch,size_t n); 作用:将s中当前位置后面的n个字节用 ch 替换并返回 s 注意这里是“字节”而非单位长度,memset不会考虑各个类型的单位长度,只 ...
- qt treaview项checkbox样式
QTreeView::indicator:enabled:checked { /** 指示器 - 选中 **/ image: url(yzfx/checkbox_checked.png);}QTree ...
- 部署k8s集群之环境搭建和etcd单节点安装
环境搭建以及etcd 单节点安装过程 安装之前的环境搭建 在进行k8s安装之前先把虚拟机准备好,这里准备的是三台虚拟机 主机名 ip地址 角色 master 172.16.163.131 master ...
- mysql复习(2)
一.数据定义: SQL数据的定义包括模式的定义.表定义.视图定义和索引的定义. 1.基本的模式定义情况如下表. 2.一个关系数据库管理系统的实例中可以创建多个数据库,一个数据库中可以建立多个模式,一个 ...
- RabbitMQ核心技术总结
RabbitMQ和kafka类似,也是一个消息服务.RabbitMQ是轻量级的,易于部署在内部和云端.RabbitMQ支持多种消息协议,可以部署在分布式集群中,能够满足高规模,高可用性要求.Rabbi ...
- SpringMVC基础03——常用注解之@RequestMapping
1.用法 SpringMVC使用@RequestMapping注解,为控制器指定可以处理哪些URL请求,并且可以指定处理请求的类型(POST/GET),如果@RequestMapping没有指定请求的 ...