面试简单整理之IO】的更多相关文章

1.字节流,字符流 整个Java IO体系都是基于字节流(InputStream/OutputStream) 和 字符流(Reader/Writer)作为基类,根据不同的数据载体或功能派生出来的. 2.AIO,BIO,NIO Java BIO : 同步并阻塞,服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器端就需要启动一个线程进行处理,如果这个连接不做任何事情会造成不必要的线程开销,当然可以通过线程池机制改善. Java NIO : 同步非阻塞,服务器实现模式为一个请求一个线程,即客…
179.redis 是什么?都有哪些使用场景? Redis是一个key-value存储系统. 缓存,消息队列,排行榜/计数器,分布式架构,做session共享 180.redis 有哪些功能? 181.redis 和 memecache 有什么区别? 1 .Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,zset,hash等数据结构的存储.memcache支持简单的数据类型,String. 2 .Redis支持数据的备份,即master-slave模式的数据备份. 3 .…
194.说一下 jvm 的主要组成部分?及其作用? JVM内存分为“堆”.“栈”和“方法区”三个区域,分别用于存储不同的数据. 堆内存用于存储使用new关键字所创建的对象: 栈内存用于存储程序运行时在方法中声明的所有的局部变量: 方法区用于存放类的信息. Java程序运行时,首先会通过类装载器载入类文件的字节码信息,经过解析后将其装入方法区.类的各种信息(包括方法)都在方法区存储. 195.说一下 jvm 运行时数据区? Java堆 堆内存用来存放由new创建的对象实例和数组.(重点) Java…
135.rabbitmq 的使用场景有哪些? 单反单收,单发多收,发布订阅,按路由发送,按主题发送 136.rabbitmq 有哪些重要的角色? Server,Consumer,Producer 137.rabbitmq 有哪些重要的组件? 1.Server(broker): 接受客户端连接,实现AMQP消息队列和路由功能的进程. 2.Virtual Host:其实是一个虚拟概念,类似于权限控制组,一个Virtual Host里面可以有若干个Exchange和Queue,但是权限控制的最小粒度是…
157.zookeeper 是什么? ZooKeeper 是一个开源的分布式协调服务,由雅虎创建,是 Google Chubby 的开源实现. 分布式应用程序可以基于 ZooKeeper 实现诸如数据发布/订阅.负载均衡.命名服务.分布式协 调/通知.集群管理.Master 选举.配置维护,名字服务.分布式同步.分布式锁和分布式队列等功能. 158.zookeeper 都有哪些功能? 1.配置中心 2.命名服务 3.Master选举 4.分布式锁 -------------------redis…
125.mybatis 中 #{}和 ${}的区别是什么? 1. #将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号.如:order by #user_id#,如果传入的值是111,那么解析成sql时的值为order by "111", 如果传入的值是id,则解析成的sql为order by "id". 2. $将传入的数据直接显示生成在sql中.如:order by $user_id$,如果传入的值是111,那么解析成sql时的值为order by u…
90.为什么要使用 spring? 解决企业应用开发的复杂性,IOC.aop 91.解释一下什么是 aop? 面向切面编程.... 92.解释一下什么是 ioc? 控制反转.. 93.spring 有哪些主要模块? core,context,aop,orm,mvc,web,dao 94.spring 常用的注入方式有哪些? Spring通过DI(依赖注入)实现IOC(控制反转),常用的注入方式主要有三种:构造方法注入,setter注入,基于注解的注入. 95.spring 中的 bean 是线程…
63.servlet是什么?运行过程? Servlet是一门用于开发动态web资源的技术. 运行过程: Servlet程序是由WEB服务器调用,web服务器收到客户端的Servlet访问请求后: ①Web服务器首先检查是否已经装载并创建了该Servlet的实例对象.如果是,则直接执行第④步,否则,执行第②步. ②装载并创建该Servlet的一个实例对象.  ③调用Servlet实例对象的init()方法. ④创建一个用于封装HTTP请求消息的HttpServletRequest对象和一个代表HT…
在最初学习一些编程语言.一些编程技术的时候,做的更多的是如何使用该技术,如何更好的使用该技术解决问题,而没有去关注它的相关性.关注它的理论支持,这种学习技术的方式是短平快.其实工作中有时候也是这样,公司要推崇一个新技术.一个解决方案,我们总是短平快的去学习如何使用它,按照固定的解决问题思路按着案例进行,这也是一种应对项目紧急的一些措施.个人感觉如果有空闲时间的话,还是分析一下.理解一下.深入了解一下比较好,这些技术是如何交互的.这些技术的理论支持什么.为什么要用这项技术.这项技术的优缺点怎样?这…
没图,不分析API Java中IO API的发展:Socket -> SocketChannel -> AsynchronousSocketChannelServerSocket -> ServerSocketChannel -> AsynchronousServerSocketChannel 同步/阻塞 -> 同步/非阻塞(多路复用) -> 异步 想简单聊下多路复用.多路复用需要配合Reactor模式,前者解决技术上的问题,后者解决软件工程的问题. 技术上的问题,是将…