随笔分类 -  java面试题整理

摘要:单列索引 定义 单列索引是在数据库表的某一个列上创建的索引。它就像是在一本书的某一个章节后面单独制作的一个小目录,通过这个小目录可以快速定位到该章节内的特定内容。 举例 假设有一个员工信息表 employees,包含 id、name、age、department 等列。现在为 name 列创建一个单 阅读全文
posted @ 2021-04-29 17:13 皇问天 阅读(863) 评论(0) 推荐(0) 编辑
摘要:轮询(Round Robin) 轮询的实现方式比较简单,就是将请求以此分发到后端服务器中,将所有的请求均匀分配,均匀分配的坏处是通常后台服务器性能有差异,有时候希望性能较好的服务器可以多承担些请求,该策略无法满足需求。这个不适合对长连接和命中率有要求的场景。 加强轮询(Weighted Round 阅读全文
posted @ 2021-04-24 22:21 皇问天 阅读(540) 评论(0) 推荐(0) 编辑
摘要:前两天去美团面试,被问了虚拟机的问题,我有点激动,因为我之前去京东面试的时候被问到虚拟机的问题,我说知道一些,结果面试官问了我知道什么,我就说知道jvm的内存,然后说了一些关于内存的东西,现在想来挺可笑的,因为完全不对,之前已经聊了一会,面试官听完我说的jvm的内存之后直接就跟我说面试结束了,所以我 阅读全文
posted @ 2021-04-23 14:25 皇问天 阅读(286) 评论(0) 推荐(0) 编辑
摘要:18. NIO与IO的区别 NIO即New IO,这个库是在JDK1.4中才引入的。NIO和IO有相同的作用和目的,但实现方式不同,NIO主要用到的是块,所以NIO的效率要比IO高很多。在Java API中提供了两套NIO,一套是针对标准输入输出NIO,另一套就是网络编程NIO。 NIO和IO的主要 阅读全文
posted @ 2021-04-23 13:51 皇问天 阅读(361) 评论(0) 推荐(0) 编辑
摘要:一、什么是OOM? 当前占用的内存加上我们申请的内存资源超过了Dalvik虚拟机的最大内存限制就会抛出的Out of memory异常. Out of memory从名字上就可以理解,就是内存不够或者耗尽.在安卓当中,我们知道,安卓系统会为每一个APP分配一个独立的工作空间,也就是我们知道的Dalv 阅读全文
posted @ 2021-04-23 11:46 皇问天 阅读(339) 评论(0) 推荐(0) 编辑
摘要:以下观点,仅为个人理解的总结,如有错漏,欢迎指正! 1、什么是RabbitMQ?为什么使用RabbitMQ? 答:RabbitMQ是一款开源的,Erlang编写的,基于AMQP协议的,消息中间件; 可以用它来:解耦、异步、削峰。 2、RabbitMQ有什么优缺点? 答:优点:解耦、异步、削峰; 缺点 阅读全文
posted @ 2021-04-23 11:44 皇问天 阅读(558) 评论(0) 推荐(1) 编辑
摘要:1、为什么使用消息队列?消息队列使用的场景和中间件有很多,但解决的核心问题主要是:异步、解耦、消峰填谷。 2、消息队列的优缺点异步、解耦、消峰填谷这是消息队列最大的优点,除了这些消息队列还可以会解决一些我们特殊业务场景的问题。但是缺点主要在于系统的可用性、复杂性、一致性问题,引入消息队列后,需要考虑 阅读全文
posted @ 2021-04-23 11:42 皇问天 阅读(833) 评论(0) 推荐(0) 编辑
摘要:什么是B+树呢?在说B+树之前我们先了解一下为什么要有B树,其实这些树最开始都是为了解决某种系统中,查询效率低的问题。B树其实最开始源于的是二叉树,二叉树是只有左右孩子的树,当数据量越大的时候,二叉树的节点越多,那么当从根节点搜索的时候,影响查询效率。所以如果这些节点存储在外存储器中的话,每访问一个 阅读全文
posted @ 2021-04-23 11:36 皇问天 阅读(2470) 评论(0) 推荐(1) 编辑
摘要:上一章我们说了多线程编程所带来的好处( java并发编程 ||Thread生命周期详解),但是既然有那么多好处,肯定也会带来一些问题,这一章我们就来看看它带来的问题以及解决的办法。 多线程所带来的问题? 线程不安全 1.首先我们举一个例子来证明线程的不安全 我们对一个数自增1000次,并且用多线程来 阅读全文
posted @ 2021-04-22 20:39 皇问天 阅读(276) 评论(0) 推荐(0) 编辑
摘要:RabbitMQ是一个消息代理,它接受和转发消息,是一个由 Erlang 语言开发的遵循AMQP协议的开源实现。在RabbitMQ中生产者不会将消息直接发送到队列当中,而是将消息直接发送到交换机(exchange),交换机用来接受生产者发送的消息并将这些消息发送给绑定的队列,即:生产者-->交换机- 阅读全文
posted @ 2021-04-22 20:14 皇问天 阅读(402) 评论(0) 推荐(0) 编辑
摘要:Spring作为当前Java最流行、最强大的轻量级框架,受到了程序员的热烈欢迎。准确的了解Spring Bean的生命周期是非常必要的。我们通常使用ApplicationContext作为Spring容器。这里,我们讲的也是 ApplicationContext中Bean的生命周期。而实际上Bean 阅读全文
posted @ 2021-04-22 20:11 皇问天 阅读(13325) 评论(0) 推荐(0) 编辑
摘要:JVM架构和GC垃圾回收机制详解 JVM架构图分析 下图:参考网络+书籍,如有侵权请见谅 (想了解Hadoop内存溢出请看: Hadoop内存溢出(OOM)分类、参数调优化) JVM被分为三个主要的子系统 (1)类加载器子系统(2)运行时数据区(3)执行引擎 1. 类加载器子系统 Java的动态类加 阅读全文
posted @ 2021-04-22 20:09 皇问天 阅读(227) 评论(0) 推荐(0) 编辑
摘要:正统的方法 网上已经有很多文章来说明bean循环依赖的原因了. 总结就是先把bean放到三级缓存(singletonFactory)中,方便被依赖的bean可以读到它。 那解决的方法就是不用构造方法来初始化bean,用属性注入即可,因为用属性注入才会放到三级缓存里,也就是 @Autowired pr 阅读全文
posted @ 2021-04-22 20:02 皇问天 阅读(310) 评论(0) 推荐(0) 编辑
摘要:不. Spring有不同的bean 范围(例如Prototype,Singleton等),但是所有这些范围强制都在创建bean时 进行.例如,每次"注入"一个"原型"范围的bean都会被创建,而一个"单个"范围的bean将被创建一次并在应用程序上下文中共享.还有其他范围,但是它们只是定义了何时创建新 阅读全文
posted @ 2021-04-16 10:54 皇问天 阅读(139) 评论(0) 推荐(0) 编辑
摘要:结论: 不是线程安全的 Spring容器中的Bean是否线程安全,容器本身并没有提供Bean的线程安全策略,因此可以说Spring容器中的Bean本身不具备线程安全的特性,但是具体还是要结合具体scope的Bean去研究。 Spring 的 bean 作用域(scope)类型 1、singleton 阅读全文
posted @ 2021-04-16 10:53 皇问天 阅读(217) 评论(0) 推荐(0) 编辑
摘要:谈到线程池,只需要记住这三个词:三大方法,七大参数,四种拒绝策略轻松搞定! 1、线程池 在Java中,创建和销毁线程是非常费时的,可能加起来的运行时间可能远大于方法实行的时间,为了提高程序效率,我们需要尽可能的降低线程的创建和销毁!此时就会使用线程池这种池化技术! 2、三大方法(创建线程池的方法) 阅读全文
posted @ 2021-04-15 16:18 皇问天 阅读(184) 评论(0) 推荐(0) 编辑
摘要:本文内容过长,建议收藏,通过本文的学习,你可以知道: HashMap底层原理,扩容机制,加载因子为什么是0.75?并发修改异常解决办法?jdk8以后会使用红黑树优化?红黑树和二叉平衡树的区别,红黑树和B树,B+树的区别,Mysql二大引擎索引底层实现,HashMap在多线程环境中为何出错?Concu 阅读全文
posted @ 2021-04-12 16:03 皇问天 阅读(26950) 评论(0) 推荐(5) 编辑
摘要:自我总结 在 MySQL 中,主键索引和非主键索引是数据库索引的两种重要类型,它们在功能、使用方式和性能特点上存在明显区别,以下为你详细介绍并举例说明。 定义和特点 主键索引 定义:主键索引是一种特殊的唯一索引,每个表只能有一个主键索引。主键用于唯一标识表中的每一行记录,确保记录的唯一性和完整性。当 阅读全文
posted @ 2021-04-06 18:11 皇问天 阅读(320) 评论(0) 推荐(0) 编辑
摘要:问:BIO、NIO和AIO的区别 答:1)BIO:一个连接一个线程,客户端有连接请求时服务器端就需要启动一个线程进行处理,线程开销大伪异步IO:将请求连接放入线程池,一对多,但线程还是很宝贵的资源 2)NIO:一个请求一个线程,但客户端发送的连接请求都会注册到多路复用器上多路复用器轮询到连接有I/O 阅读全文
posted @ 2021-04-06 18:09 皇问天 阅读(303) 评论(0) 推荐(0) 编辑
摘要:https://tieba.baidu.com/p/6082929153?red_tag=2754348730 总结: NIO(Non - blocking I/O)详解 概述 NIO 是 Java 1.4 引入的新 I/O 模型,与传统的阻塞 I/O(BIO)不同,NIO 是基于通道(Channe 阅读全文
posted @ 2021-04-06 18:01 皇问天 阅读(52) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示