摘要:
什么是Linux Linux是一套免费使用和自由传播的类似Unix操作系统,一般的WEB项目都是部署在Linux操作系统上。 Linux是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。它能运行在主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Li 阅读全文
摘要:
NIO的组成 Buffer:与Channel进行交互,数据是从Channel读入缓冲区,从缓冲区写入Channel中的。 flip方法 :反转此缓冲区,将position给limit,然后将position置为0,其实就是切换读写模式 clear方法 :清除此缓冲区,将position置为0,把ca 阅读全文
摘要:
什么是Mybatis? (1)Mybatis是一个半ORM(对象关系映射)框架,它内部封装了JDBC,加载驱动、创建连接、创建statement等繁杂的过程,开发者开发时只需要关注如何编写SQL语句,可以严格控制sql执行性能,灵活度高。 (2)作为一个半ORM框架,MyBatis 可以使用 XML 阅读全文
摘要:
算法介绍 算法分类 插入排序 希尔排序 选择排序 堆排序 冒泡排序 快速排序 归并排序 计数排序 桶排序 基数排序 算法复杂度 相关概念 稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面。 不稳定:如果a原本在b的前面,而a=b,排序之后 a 可能会出现在 b 的后面。 时间复杂度:对排 阅读全文
摘要:
SpringCloud Alibaba是什么? Spring Cloud Alibaba是Spring Cloud的子项目;包含微服务开发必备组件;基于和符合Spring Cloud标准的阿里的微服务解决方案。 Spring Cloud Alibaba 包含组件 Nacos:一个更易于构建云原生应用 阅读全文
摘要:
什么是微服务架构? 微服务架构就是将单体的应用程序分成多个应用程序,这多个应用程序就成为微服务,每个微服务运行在自己的进程中,并使用轻量级的机制通信。这些服务围绕业务能力来划分,并通过自动化部署机制来独立部署。这些服务可以使用不同的编程语言,不同数据库,以保证最低限度的集中式管理。 Spring C 阅读全文
摘要:
Spring回顾 Spring的扩展机制 IoC容器负责管理容器中所有bean的生命周期,而在bean生命周期的不同阶段,Spring提供了不同的扩展点来改变bean的命运。 (1)BeanFactoryPostProcessor(容器启动阶段) BeanFactory的前置处理器,允许我们在容器实 阅读全文
摘要:
常用的存储引擎?InnoDB与MyISAM的区别? 存储引擎是对底层物理数据执行实际操作的组件,为Server服务层提供各种操作数据的API。常用的存储引擎有InnoDB、MyISAM、Memory。这里我们主要介绍InnoDB 与 MyISAM 的区别: (1)事务:MyISAM不支持事务,Inn 阅读全文
摘要:
Tomcat是什么 Tomcat 服务器Apache软件基金会项目中的一个核心项目,是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。 Tomcat的目录结构 /bin:存放用于启动和暂停Tomca 阅读全文
摘要:
为什么要用Dubbo? 随着服务化的进一步发展,服务越来越多,服务之间的调用和依赖关系也越来越复杂,诞生了面向服务的架构体系(SOA),也因此衍生出了一系列相应的技术,如对服务提供、服务调用、连接处理、通信协议、序列化方式、服务发现、服务路由、日志输出等行为进行封装的服务框架。就这样为分布式系统的服 阅读全文
摘要:
为什么需要分布式事务 什么是事务 事务就是用户定义的一系列数据库操作,这些操作可以视为一个完成的逻辑处理工作单元,要么全部执行,要么全部不执行,是不可分割的工作单元。 通俗的说,事务是指程序中一系列严密的逻辑操作,而且所有操作必须全部成功完成,否则在每个操作中所做的所有更改都会被撤销。 数据库事务正 阅读全文
摘要:
Spring是什么? Spring是一个轻量级Java开发框架,目的是为了解决企业级应用开发的业务逻辑层和其他各层的耦合问题。它是一个分层的JavaSE/JavaEE一站式轻量级开源框架,为开发Java应用程序提供全面的基础架构支持。Spring负责基础架构,因此Java开发者可以专注于应用程序的开 阅读全文
摘要:
什么是Elasticsearch? Elasticsearch 是基于 Lucene 的 Restful 的分布式实时全文搜索引擎,每个字段都被索引并可被搜索,可以快速存储、搜索、分析海量的数据。 全文检索是指对每一个词建立一个索引,指明该词在文章中出现的次数和位置。当查询时,根据事先建立的索引进行 阅读全文
摘要:
什么是Redis Redis 是一个使用 C 语言写成的,开源的高性能key-value非关系缓存数据库。它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。Redis的数据都基于缓存 阅读全文
摘要:
什么是MQ? MQ就是消息队列。是软件和软件进行通信的中间件产品。 使用消息队列的优点有哪些? (1)解耦:将系统按照不同的业务功能拆分出来,消息生产者只管把消息发布到 MQ 中而不用管谁来取,消息消费者只管从 MQ 中取消息而不管是谁发布的。消息生产者和消费者都不知道对方的存在; (2)异步:主流 阅读全文
摘要:
为什么要使用MQ? 因为项目做了分布式系统,所有远程服务调用请求都是同步执行经常出问题,所以引入了mq。 主要作用有以下几点: 解耦:系统耦合度降低,没有强依赖关系 异步:不需要同步执行的远程调用可以有效提高响应时间 削峰:请求达到峰值后,后端service还可以保持固定消费速率消费,不会被压垮 R 阅读全文
摘要:
什么是kafka? Kafka是一个分布式,可划分的,冗余备份的持久性的日志服务,它主要用于处理流式数据。目标是实现一个为处理实时数据提供一个统一、高吞吐、低延迟的平台。 名词解释 消息:Record。Kafka是消息引擎,这里的消息就是Kafka处理的主要对象。主体:Topic。主题就是承载消息的 阅读全文
摘要:
什么是 Lock 接口 JDK5 之后在 JUC 中加入了 Lock 接口,该接口中只有6个方法的声明。Lock 锁是显式锁,锁的持有与释放都必须手动编写,当前线程使用 lock() 方法与 unlock() 对临界区进行加锁与释放锁,当前线程获取到锁之后,其他线程由于无法持有锁将无法进入临界区,直 阅读全文
摘要:
什么是阻塞队列 阻塞队列最大的特性在于支持阻塞添加和阻塞删除方法: 阻塞添加:当阻塞队列已满时,队列会阻塞加入元素的线程,直到队列元素不满时才重新唤醒线程执行加入元素操作。 阻塞删除:但阻塞队列元素为空时,删除队列元素的线程将被阻塞,直到队列不为空再执行删除操作 Java 中的阻塞队列接口 Bloc 阅读全文
摘要:
计算机网络模型 TCP/IP 与 OSI 都是为了使网络中的两台计算机能够互相连接并实现通信与回应,但他们最大的不同在于,OSI 是一个理论上的网络通信模型,而 TCP/IP 则是实际上的网络通信标准。 OSI七层模型 物理层 实现计算机节点之间比特流的透明传输,规定传输媒体接口的标准,屏蔽掉具体传 阅读全文