04 2021 档案

摘要:单列索引 定义 单列索引是在数据库表的某一个列上创建的索引。它就像是在一本书的某一个章节后面单独制作的一个小目录,通过这个小目录可以快速定位到该章节内的特定内容。 举例 假设有一个员工信息表 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) 编辑
摘要:系统 # uname -a # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue # 查看操作系统版本 # cat /proc/cpuinfo # 查看CPU信息 # hostname # 查看计算机名 # lspci -tv # 列出所有PCI设备 # lsusb -t 阅读全文
posted @ 2021-04-15 17:22 皇问天 阅读(457) 评论(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) 编辑
摘要:分布式消息系统作为实现分布式系统可扩展、可伸缩性的关键组件,需要具有高吞吐量、高可用等特点。而谈到消息系统的设计,就回避不了两个问题: 消息的顺序问题 消息的重复问题 RocketMQ作为阿里开源的一款高性能、高吞吐量的消息中间件,它是怎样来解决这两个问题的?RocketMQ有哪些关键特性?其实现原 阅读全文
posted @ 2021-04-06 16:51 皇问天 阅读(1506) 评论(0) 推荐(0) 编辑
摘要:前言 在某些场景中,多个进程必须以互斥的方式独占共享资源,这时用分布式锁是最直接有效的。 随着技术快速发展,数据规模增大,分布式系统越来越普及,一个应用往往会部署在多台机器上(多节点),在有些场景中,为了保证数据不重复,要求在同一时刻,同一任务只在一个节点上运行,即保证某一方法同一时刻只能被一个线程 阅读全文
posted @ 2021-04-06 16:29 皇问天 阅读(10907) 评论(6) 推荐(4) 编辑
摘要:并发编程系列: http://youzhixueyuan.com/4-kinds-of-java-thread-locks.html 线程池的缘由 java中为了提高并发度,可以使用多线程共同执行,但是如果有大量线程短时间之内被创建和销毁,会占用大量的系统时间,影响系统效率。 为了解决上面的问题,j 阅读全文
posted @ 2021-04-06 15:01 皇问天 阅读(159) 评论(0) 推荐(0) 编辑
摘要:配置文件能配置的属性参照:https://link.zhihu.com/?target=https%3A//docs.spring.io/spring-boot/docs/1.5.9.RELEASE/reference/htmlsingle/%23common-application-propert 阅读全文
posted @ 2021-04-06 14:57 皇问天 阅读(370) 评论(0) 推荐(0) 编辑
摘要:1.基于你对springboot的理解描述一下什么是springboot 它是一个服务于spring框架的框架,能够简化配置文件,快速构建web应用, 内置tomcat,无需打包部署,直接运行。 2.约定优于配置指的是什么? maven 的目录结构 a) 默认有 resources 文件夹存放配置文 阅读全文
posted @ 2021-04-06 14:42 皇问天 阅读(533) 评论(0) 推荐(0) 编辑
摘要:概述 HashMap基于Map接口实现,以键值对(Key-Value)的形式存储数据,允许null值和null键;HashMap不是线程安全的,同时也不保证元素有序。HashMap的底层是以 数组 + 链表 + 红黑树来实现的。 get()的实现 public V get(Object key) { 阅读全文
posted @ 2021-04-06 14:41 皇问天 阅读(268) 评论(0) 推荐(0) 编辑
摘要:问题描述:Dubbox2.8.4版本,用redis作为注册中心时,消费端有时会报提供者不存在的问题。 在排查中,看监控中心有如下日志,通过监控中心的日志可以看出,它会删除过期的key,是不是因为删除过期的key而导致的了?【日志中有:Delete expired key:】 [18/04/16 05 阅读全文
posted @ 2021-04-06 11:58 皇问天 阅读(612) 评论(0) 推荐(0) 编辑
摘要:路由:分发给不同的服务器(服务名)。负载均衡:同一个微服务的不同实例。 对于负载高的服务,一般有多台服务器组成的集群,当请求到来时,为了将请求均衡的分配到后端服务器,负载均衡程序将从服务对应的地址列表中,通过相应的负载均衡算法和法则,选取一台服务器进行访问,这个过程称为服务的负载均衡。 作者:jav 阅读全文
posted @ 2021-04-06 11:44 皇问天 阅读(363) 评论(0) 推荐(0) 编辑
摘要:一、分布式事物 1.1 数据库事务 原子性(Atomicity )、一致性( Consistency )、隔离性或独立性( Isolation)和持久性(Durabilily),简称就是ACID 1.2 分布式事物产生原因 分布式事物产生的原因 分布式事务产生的场景 在分布式系统,都会垂直拆分数据库 阅读全文
posted @ 2021-04-06 11:39 皇问天 阅读(186) 评论(0) 推荐(0) 编辑
摘要:Spring里的占位符spring里的占位符通常表现的形式是: <bean id="dataSource" destroy-method="close" class="org.apache.commons.dbcp.BasicDataSource"> <property name="url" val 阅读全文
posted @ 2021-04-06 11:15 皇问天 阅读(1847) 评论(0) 推荐(0) 编辑
摘要:谈谈对面向对象思想的理解 首先面向对象类似于找什么人做什么事,比如我们需要一个随机数,就可以调用Random类,使用它的方法。与面向过程的编程思想不同,面向过程的编程思想跟注重解决问题所需要的步骤,该去如何设计,然后一步步的实现,面向对象的思维更多的是考虑如何去选择合适的工具,然后组织到一起干一件事 阅读全文
posted @ 2021-04-01 17:08 皇问天 阅读(498) 评论(0) 推荐(0) 编辑
摘要:100个问题汇总 1、多线程有什么用? 一个可能在很多人看来很扯淡的一个问题:我会用多线程就好了,还管它有什么用?在我看来,这个回答更扯淡。所谓"知其然知其所以然","会用"只是"知其然","为什么用"才是"知其所以然",只有达到"知其然知其所以然"的程度才可以说是把一个知识点运用自如。OK,下面说 阅读全文
posted @ 2021-04-01 17:05 皇问天 阅读(970) 评论(0) 推荐(0) 编辑
摘要:A:线程池是将线程对象实例预先实现的一种方式,节省了对象的创建时间和销毁时间可这样给我带来了疑问,对于jvm有对不再使用的实例有自动回收的机制那么将线程实例放在 threadVector 这种向量中的方式, jvm会不会将线程实例当作不再使用的资源进行回收咧? B:第一,既然把一个对象放到了thre 阅读全文
posted @ 2021-04-01 15:21 皇问天 阅读(615) 评论(0) 推荐(0) 编辑
摘要:Java NIO 简介JAVA NIO有两种解释:一种叫非阻塞IO(Non-blocking I/O),另一种也叫新的IO(New I/O),其实是同一个概念。它是一种同步非阻塞的I/O模型,也是I/O多路复用的基础,已经被越来越多地应用到大型应用服务器,成为解决高并发与大量连接、I/O处理问题的有 阅读全文
posted @ 2021-04-01 14:20 皇问天 阅读(490) 评论(0) 推荐(0) 编辑
摘要:mysql中PK和UK分别是unique key 和primary key,两种有些区别:主键值必须是唯一且非空的;唯一键必须唯一但是可以为空。 select id,name where name=‘shenjian’ select id,name,sex where name=‘shenjian’ 阅读全文
posted @ 2021-04-01 11:48 皇问天 阅读(2301) 评论(0) 推荐(1) 编辑
摘要:选择性低(指字段值种类比较少,比如性别字段只有男、女)但经常出现在where条件中的字段到底建不建索引? 不建议建,意义不大当数据达到一定值时,都会走表扫描,是否走索引要看男/女在表占用的比例在SQL2005时计算选择性的比例为 满足条件的行数/总行数<=0.7181,会走索引,其它会走表扫描,需要 阅读全文
posted @ 2021-04-01 10:39 皇问天 阅读(1234) 评论(0) 推荐(0) 编辑

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