面试题
liushuang6018
个人简介
展开
-
用户态和内核态
相关概念 从宏观上来看,Linux操作系统的体系架构分为用户态和内核态。内核从本质上看是一种软件——控制计算机的硬件资源,并提供上层应用程序运行的环境。用户态即上层应用程序的活动空间,应用程序的执行必须依托于内核提供的资源,包括CPU资源、存储资源、I/O资源等。为了使上层应用能够访问到这些资源,内核必须为上层应用提供访问的接口:即系统调用。 Inter的CPU将特权级别分为4个级别:RING0转载 2017-08-28 18:01:22 · 501 阅读 · 0 评论 -
Maven相关
生命周期原创 2017-08-24 11:08:44 · 170 阅读 · 0 评论 -
Java反射
概念指的是可以于运行时加载,探知和使用编译期间完全未知的类。 Class类与java.lang.reflect类库一起对反射进行了支持,该类库包含Field、Method和Constructor类,这些类的对象由JVM在启动时创建,用以表示未知类里对应的成员。获取一个ClassClass.forName(“ren.liushuang.test.reflect.User”)user.getCla原创 2017-08-23 16:08:45 · 225 阅读 · 0 评论 -
kafka相关
概述kafka是一个分部式发布-订阅消息系统。kafka最初是由linkedIn开发,之后成为Apache的一部分。kafka是一个快速的、可扩展的、设计分布式的、分区和可复制的日志提交服务。优点被设计为一个分布式系统,便于横向扩展同时为发布和订阅提供高吞吐量支持多订阅者,当失败的时候能够重新平衡消息持久化到磁盘,可以用于批量消费架构基本概念Topic(话题):特定类型的消息流,不同的消原创 2017-08-22 17:14:13 · 290 阅读 · 0 评论 -
Nginx相关
概述nginx是一个反向代理的HTTP服务器。 同时也可以是一个邮件代理服务器;一个TCP/UDP代理服务器。 它可以处理静态文件,可以对真实服务进行无缓存的代理,可以做简单的负载均衡和容错,提供模块化的服务,支持SSL。 Nginx有一个主进程和多个工作进程,每个工作进程都是单线程的。优点支持Linux、Windows,支持MacOS支持5W+的并发连接使用epoll实现异步非阻塞模原创 2017-08-15 15:00:28 · 232 阅读 · 0 评论 -
MyBatis相关
MyBatis基本概念MyBatis是一款优秀的持久层框架,它支持定制化SQL、存储过程及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解来配置和映射原生信息。将接口和Java的POJO映射为数据库中的记录SqlSessionFactory每个基于MyBatis的应用都是以一个SqlSessionFactory的实例为中心,S原创 2017-08-21 11:09:49 · 1104 阅读 · 0 评论 -
几种常见GC方式对比
GC算法标记-清除复制标记-整理分代收集一些收集器Serial 单线程收集器ParNew Serial的多线程版 Parallel Scavenge 关注吞吐率CMS收集器 stop the world 时间最短 G1收集器使用G1: -XX:+UseG1GC -Xmx32g -XX:MaxGCPauseMillis=200, 设置最大间隔时间G1将新生代、老年代原创 2017-08-01 17:54:36 · 6754 阅读 · 0 评论 -
Java NIO 和 AIO的区别
来源NIONon-blocking IO,即非阻塞的输入输出。(也有叫做New IO,新IO)从jdk1.4开始支持。AIOAsynchronous IO,即异步IO。(也有叫做NIO2)从jdk7开始支持。相同都是基于Channel、Buffer对IO进行操作。都是非阻塞的。不同同步与异步同步与异步是指操作系统层面,当调用操作系统API之后是同步等待,还是操作系统以消息的形式异步返回结果。原创 2017-08-14 10:52:42 · 351 阅读 · 0 评论 -
Redis相关
Redis是什么一个全内存的、可持久化的Key-Value结构的缓存Redis支持的数据结构Redis支持多种数据结构:例如String、List、Set、Hash、Sorted Set * String:普通类型,也可以是数字 * List:双向链表,可以用作队列 * Set:不重复的集合 * Sorted Set:在Set的基础上增加了score,可以进行排序 * Hash:字典,可以原创 2017-08-18 10:40:42 · 208 阅读 · 0 评论 -
Java NIO
概述NIO有三大核心组件:Channel、Buffer、Selector。传统IO基于字节流和字符流进行操作,而NIO是基于通道(Channel)和缓冲区(Buffer)进行操作的。传统IO(BIO)是同步阻塞的,而NIO是同步非阻塞。AIO是异步非阻塞的。同步和异步同步和异步是针对应用程序和内核的交互而言的, 同步指的是用户进程触发IO操作并等待或者轮询的去查看IO操作是否就绪, 而异步是指用原创 2017-08-10 17:01:55 · 207 阅读 · 0 评论 -
GraphQL相关
GQL是什么graphQL是由Facebook开发的一种查询语言,用于替换REST Api。可以类比SQL也是一种查询语言。GQL的好处在客户端需求发生变更的时候,可以不需要通知服务端。理论上服务端可知的字段是大而全的,客户端只需要按照自己的需要去请求对应的字段。多个客户端的请求可以合并为一个,减少网络请求次数Overview翻译http://facebook.github.io/graphq翻译 2017-08-02 11:24:44 · 736 阅读 · 0 评论