自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 收藏
  • 关注

原创 js 将数组中指定元素放到指定位置

var list = data.data; if(list.length>0){ for (var i = 0; i < list.length; i++) { if (list[i]== key) { list.splice(index, 0,list[i]);//index:元素需要放置的位置索引,从0开始 list.splice(i+1, 1);//移除原来位置上的该.

2020-10-14 12:18:52 115

原创 一、1.2_RabbitMQ消息服务——简单入门

(图片来自网络)Producer:生产者,负责生产消息以及投递消息到Exchange(交换机)Exchange:交换机,根据交换机类型的不同,按照不同的规则,通过RoutingKey(路由键)投递到某个Queue(队列)里RoutingKey:路由键,通过RoutingKey(路由键)将Queue(队列)与Exchange(交换机)Binding(绑定)在一起, Exchange(交换机)通过RoutingKey(路由键)将消息投递到某个Queue(队列)Queue:队列,消息都存放.

2020-07-21 16:52:18 17

原创 用Mybatis 的 Batch Insert Support 批量插入

在开发中如果遇到需要批量insert的需求,可以使用Mybatis 的 Batch Insert Support 提高插入效率。代码实例(开发的项目中截取的片段): @Autowired private SqlSessionTemplate sqlSessionTemplate; public int insertFolder(List<IpsCatalogFolderDetail> ips) { //获取sql会话 SqlSession session =

2020-07-21 15:51:14 168

原创 JAVA 面试题总结——微服务

以下内容为本人总结各位大神提供的面试题目,非原创微服务哪些框架Dubbo,是阿里巴巴服务化治理的核心框架,并被广泛应用于阿里巴巴集团的各成员站点。阿里巴巴近几年对开源社区的贡献不论在国内还是国外都是引人注目的,比如: JStorm 捐赠给 Apache 并加入 Apache 基金会等,为中国互联网人争足了面子,使得阿里巴巴在国人眼里已经从电商升级为一家科技公司了。Spring Cloud,从命名我们就可以知道,它是 Spring Source 的产物,Spring 社区的强大背书可以说是 Java

2020-05-17 13:32:17 221

原创 JAVA 面试题总结——Nginx

以下内容为本人总结各位大神提供的面试题目,非原创1、请解释一下什么是 Nginx?Nginx 是一个 web 服务器和反向代理服务器,用于 HTTP、HTTPS、SMTP、POP3和 IMAP 协议。2、请列举 Nginx 的一些特性。Nginx 服务器的特性包括:反向代理/L7 负载均衡器嵌入式 Perl 解释器动态二进制升级可用于重新编写 URL,具有非常好的 PCRE 支持3、请列举 Nginx 和 Apache 之间的不同点nginx与Apache的对比以及优缺点4、请解释 N

2020-05-17 13:25:23 51

转载 JAVA 面试题总结——开源框架

以下内容为本人总结各位大神提供的面试题目,非原创BeanFactory 和 ApplicationContext 有什么区别BeanFactory 可以理解为含有 bean 集合的工厂类。BeanFactory 包含了种 bean 的定义, 以便在接收到客户端请求时将对应的 bean 实例化。BeanFactory 还能在实例化对象的时生成协作类之间的关系。此举将 bean 自身与 bean 客户端的配置中解放出来。BeanFactory 还包含了 bean 生命周期的控制,调用客户端的初始化方法(

2020-05-17 13:21:21 28

原创 JAVA 面试题总结——Netty

以下内容为本人总结各位大神提供的面试题目,非原创1.BIO 、 NIO 和 AIO的 区 别 ?**BIO:**一个连接一个线程,客户端有连接请求时服务器端就需要启动一个线程进行处理。线程开销大。伪异步IO:将请求连接放入线程池,一对多,但线程还是很宝贵的资源。**NIO:**一个请求一个线程,但客户端发送的连接请求都会注册到多路复用器上,多路复用器轮询到连接有 I/O=请求时才启动一个线程进行处理。**AIO:**一个有效请求一个线程,客户端的 I/O 请求都是由 OS

2020-05-17 13:20:36 33

原创 JAVA 面试题总结——MongoDB

以下内容为本人总结各位大神提供的面试题目,非原创1.你说的 NoSQL 数据库是什么意思?NoSQL 与 RDBMS 直接有什么区别?为什么要使用和不使用NoSQL 数据库?说一说 NoSQL 数据库的几个优点?NoSQL 是非关系型数据库,NoSQL = Not Only SQL。关系型数据库采用的结构化的数据,NoSQL 采用的是键值对的方式存储数据。在处理非结构化/半结构化的大数据时;在水平方向上进行扩展时;随时应对动态增加的数据项时可以优先考虑使用 NoSQL 数据库。在考虑数据库的成熟度

2020-05-17 13:13:32 104

原创 JAVA 面试题总结——Mybatis

以下内容为本人总结各位大神提供的面试题目,非原创1、什么是 MyBatis?答:MyBatis 是一个可以自定义 SQL、存储过程和高级映射的持久层框架。2、讲下 MyBatis 的缓存答:MyBatis 的缓存分为一级缓存和二级缓存,一级缓存放在 session 里面,默认就有,二级缓存放在它的命名空间里,默认是不打开的,使用二级缓存属性类需要实现 Serializable 序列化接口(可用来保存对象的状态),可在它的映射文件中配置3、Mybatis 是如何进行分页的?分页插件的原理是什么?答

2020-05-17 13:07:37 119

原创 JAVA 面试题总结——linux

以下内容为本人总结各位大神提供的面试题目,非原创1) Linux 中主要有哪几种内核锁?Linux 的同步机制从 2.0 到 2.6 以来不断发展完善。从最初的原子操作,到后来的信号量,从大内核锁到今天的自旋锁。这些同步机制的发展伴随 Linux 从单处理器到对称多处理器的过渡;伴随着从非抢占内核到抢占内核的过度。Linux 的锁机制越来越有效,也越来越复杂。Linux 的内核锁主要是自旋锁和信号量。自旋锁最多只能被一个可执行线程持有,如果一个执行线程试图请求一个已被争用(已经被持有)的自旋锁,那

2020-05-17 13:03:39 44

原创 JAVA 面试题总结——kafka

以下内容为本人总结各位大神提供的面试题目,非原创1.Kafka 的设计时什么样的呢?Kafka 将消息以 topic 为单位进行归纳将向 Kafka topic 发布消息的程序成为 producers.将预订 topics 并消费消息的程序成为 consumer.Kafka 以集群的方式运行,可以由一个或多个服务组成,每个服务叫做一个 broker. producers 通过网络将消息发送到 Kafka 集群,集群向消费者提供消息2.数据传输的事物定义有哪三种?数据传输的事务定义通常有以下三种

2020-05-17 13:00:15 36

原创 JAVA 面试题总结——乐观锁、悲观锁

以下内容为本人总结各位大神提供的面试题目,非原创何谓悲观锁与乐观锁乐观锁对应于生活中乐观的人总是想着事情往好的方向发展,悲观锁对应于生活中悲观的人总是想着事情往坏的方向发展。这两种人各有优缺点,不能不以场景而定说一种人好于另外一种人。悲观锁总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁(共享资源每次只给一个线程使用,其它线程阻塞,用完后再把资源转让给其它线程)。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,

2020-05-17 12:57:40 67

原创 JAVA 面试题总结——tomcat

以下内容为本人总结各位大神提供的面试题目,非原创Tomcat 的缺省端口是多少,怎么修改?1)找到 Tomcat 目录下的 conf 文件夹2)进入 conf 文件夹里面找到 server.xml 文件3)打开 server.xml 文件4)在 server.xml 文件里面找到下列信息<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" uriEncoding=

2020-05-17 12:48:00 72 1

原创 JAVA 面试题总结——并发

以下内容为本人总结各位大神提供的面试题目,非原创Synchronized 相关问题1.Synchronized 用过吗, 其原理是什么?Synchronized 是由 JVM 实现的一种实现互斥同步的一种方式, 如果你查看被 Synchronized 修饰过的程序块编译后的字节码, 会发现, 被 Synchronized 修饰过的程序块, 在编译前后被编译器生成了monitorenter 和 monitorexit 两个字节码指令。这两个指令是什么意思呢?在虚拟机执行到 monit

2020-05-16 12:22:03 91

原创 JAVA 面试题总结——多线程

以下内容为本人总结各位大神提供的面试题目,非原创现在有 T1、T2、T3 三个线程,你怎样保证 T2 在 T1 执行完后执行,T3 在 T2 执行完后执行?这个线程问题通常会在第一轮或电话面试阶段被问到,目的是检测你对”join”方法是否熟悉。这个多线程问题比较简单,可以用 join 方法实现。public class ThreadTest {/*** @param args*/public static void main(String[] args) {// TODO Auto-gen

2020-05-16 11:36:21 31

原创 JAVA 面试题总结——消息中间件专题

以下内容为本人总结各位大神提供的面试题目,非原创1.activemq 的几种通信方式publish(发布)-subscribe(订阅)(发布-订阅方式)发布/订阅方式用于多接收客户端的方式.作为发布订阅的方式,可能存在多个接收客户端,并且接收端客户端与发送客户端存在时间上的依赖。一个接收端只能接收他创建以后发送客户端发送的信息。作为 subscriber ,在接收消息时有两种方法,destination 的 receive 方法,和实现 message listener 接口的onMessage 方

2020-05-16 10:09:24 48

转载 JAVA 面试题总结——RabbitMQ-待补充详细

以下内容为本人总结各位大神提供的面试题目,非原创RabbitMQ 中的 broker 是指什么?cluster 又是指什么?答:broker 是指一个或多个 erlang node 的逻辑分组,且 node 上运行着 RabbitMQ 应用程序。cluster 是在 broker 的基础之上,增加了 node 之间共享元数据的约束。什么是元数据?元数据分为哪些类型?包括哪些内容?与 cluster 相关的元数据有哪些?元数据是如何保存的?元数据在 cluster 中是如何分布的?答:在非 clus

2020-05-14 16:22:28 64

原创 JAVA 面试题总结——Spring

以下内容为本人总结各位大神提供的面试题目,非原创什么是 Spring 框架?Spring 框架有哪些主要模块?Spring 框架是一个为 Java 应用程序的开发提供了综合、广泛的基础性支持的 Java 平台。Spring 帮助开发者解决了开发中基础性的问题,使得开发人员可以专注于应用程序的开发。Spring 框架本身亦是按照设计模式精心打造,这使得我们可以在开发环境中安心的集成 Spring 框架,不必担心 Spring 是如何在后台进行工作的。Spring 框架至今已集成了 20 多个模块。

2020-05-14 16:02:14 45

原创 JAVA 面试题总结——SpringMVC

以下内容为本人总结各位大神提供的面试题目,非原创什么是 SpringMvc?答:SpringMvc 是 spring 的一个模块,基于 MVC 的一个框架,无需中间整合层来整合。Spring MVC 的优点:(1)可以支持各种视图技术,而不仅仅局限于JSP;(2)与Spring框架集成(如IoC容器、AOP等);(3)清晰的角色分配:前端控制器(dispatcherServlet) , 请求到处理器映射(handlerMapping), 处理器适配器(HandlerAdapter), 视图

2020-05-14 15:10:59 34

原创 JAVA 面试题总结——SpringCloud

以下内容为本人总结各位大神提供的面试题目,非原创什么是 Spring Cloud?Spring cloud 流应用程序启动器是基于 Spring Boot 的 Spring 集成应用程序,提供与外部系统的集成。Spring cloud Task,一个生命周期短暂的微服务框架,用于快速构建执行有限数据处理的应用程序。使用 Spring Cloud 有什么优势?使用 Spring Boot 开发分布式微服务时,我们面临以下问题与分布式系统相关的复杂性-这种开销包括网络问题,延迟开销,带宽问题

2020-05-14 14:27:19 47

原创 JAVA 面试题总结——SpringBoot

以下内容为本人总结各位大神提供的面试题目,非原创什么是 Spring Boot?多年来,随着新功能的增加,spring 变得越来越复杂。只需访问 https://spring.io/projects 页面,我们就会看到可以在我们的应用程序中使用的所有 Spring 项目的不同功能。如果必须启动一个新的 Spring 项目,我们必须添加构建路径或添加 Maven 依赖关系,配置应用程序服务器,添加 spring 配置。因此,开始一个新的 spring 项目需要很多努力,因为我们现在必须从头开始做所有事情

2020-05-14 11:23:05 39

原创 JAVA 面试题总结——Redis<2>

什么是 Redis?简述它的优缺点?Redis 的全称是:Remote Dictionary.Server,本质上是一个 Key-Value 类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据 flush 到硬盘上进行保存。因为是纯内存操作,Redis 的性能非常出色,每秒可以处理超过 10 万次读写操作,是已知性能最快的Key-Value DB。Redis 的出色之处不仅仅是性能,Redis 最大的魅力是支持保存多种数据结构,此外单个 va

2020-05-14 09:46:51 25

原创 JAVA 面试题总结——Redis<1>

redis 和 memcached 什么区别?为什么高并发下有时单线程的 redis 比多线程的memcached 效率要高?1.mc 可缓存图片和视频。rd 支持除 k/v 更多的数据结构;2.rd 可以使用虚拟内存,rd 可持久化和 aof 灾难恢复,rd 通过主从支持数据备份;3.rd 可以做消息队列。原因:mc 多线程模型引入了缓存一致性和锁,加锁带来了性能损耗。附:Memcached简介redis 主从复制如何实现的?redis 的集群模式如何实现?redis 的 key 是如何寻

2020-05-13 16:00:58 31

原创 JAVA 面试题总结——基础3(JVM面试专题ps:不知所云)

内存模型以及分区,需要详细到每个区放什么。本问题原文链接:https://www.jianshu.com/p/23e87f98fa2a1. Java堆Java堆是被所有线程共享的一块内存区域,在虚拟机启动时创建。此内存区域的唯一目的就是存放对象实例,所有的对象实例以及数组都要在堆上分配。Java堆是垃圾收集器管理的主要区域,因此很多时候也被称做“GC堆”。从内存回收的角度看,由于现在收集器基本都采用分代收集算法,所以Java堆还可以细分为新生代和老年代;再细致一点的有Eden空间、From Sur

2020-05-13 13:41:29 28

转载 java面试总结——MySQL专题<3>

MySQL 性能优化的 21 个最佳实践转载地址:https://www.iteye.com/blog/mygirl1314520-8293771.为查询缓存优化你的查询大多数的 MySQL 服务器都开启了查询缓存。这是提高性最有效的方法之一,而且这是被 MySQL 的数据库引擎处理的。当有很多相同的查询被执行了多次的时候,这些查询结果会被放到一个缓存中,这样,后续的相同的查询就不用操作表而直接访问缓存结果了。这里最主要的问题是,对于程序员来说,这个事情是很容易被忽略的。因为,我们某些查询语句会让

2020-05-13 10:47:17 49

原创 java面试总结——MySQL专题<2>

1、一张表,里面有 ID 自增主键,当 insert 了 17 条记录之后,删除了第 15,16,17 条记录, 再把 Mysql 重启,再 insert 一条记录,这条记录的 ID 是 18 还是 15 ?(1)如果表的类型是 MyISAM,那么是 18因为 MyISAM 表会把自增主键的最大 ID 记录到数据文件里,重启 MySQL 自增主键的最大ID 也不会丢失(2)如果表的类型是 InnoDB,那么是 15InnoDB 表只是把自增主键的最大 ID 记录到内存中,所以重启数据库或者是对表进行

2020-05-12 15:28:08 104

原创 java面试总结——MySQL专题<1>

标准SQL规范中定义的四个事务隔离级别数据库操作面临的问题:脏读、不可重复读、幻读、更新丢失。脏读指一个事务读取了另一个事务未提交的记录。当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交到数据库中;另外一个事务也访问这个数据,然后使用了这个未提交的数据。因为这个数据还没有提交,那么第二个事务读取到的是脏数据,依据脏数据所做的操作可能是不正确的。不可重复读指在一个事务内,...

2020-05-12 11:17:30 42

原创 JAVA 面试题总结——基础2(待补充)

List和Set的区别List特点:元素有放入顺序,元素可重复;Set特点:元素无放入顺序,不可重复,重复的元素会覆盖掉。**对比:**List支持for循环,也就是通过下标来遍历,也可以用迭代器。但Set只能用迭代,因为无序,无法用下标来取得想要的值;Set检索效率低,增删效率高,增加和删除不会引起元素位置改变。List查询快增删慢,因为会引起元素位置改变hashset是如何保证不重复的向hashSet中add()元素时,判断元素是否存在的依据不仅要比较hash值,同时还要结合equles方法比

2020-05-11 19:56:39 87

原创 JAVA 面试题总结——基础1

1.面向对象和面向过程的区别面向过程优点: 性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机、嵌入式开发、Linux/Unix 等一般采用面向过程开发,性能是最重要的因素。缺点: 没有面向对象易维护、易复用、易扩展面向对象优点: 易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统更加灵活、更加易于维护缺点:...

2020-05-10 19:17:23 437

原创 SpringBoot基础篇(1)——注解依赖

1、POM文件1、父项目<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.9.RELEASE</versio...

2020-01-01 16:05:51 256

原创 四、RabbitMQ消息服务——延迟队列插件

#step1:upload the ‘rabbitmq_delayed_message_exchange-0.0.1.ez’ file: https://github.com/rabbitmq/rabbitmq-delayed-message-exchangehttp://www.rabbitmq.com/community-plugins.htmlhttps://bintray.com/r...

2019-12-17 11:41:49 25

原创 三、RabbitMQ消息服务——Stream调研

3.1Stream简介Spring Cloud Stream是创建消息驱动微服务应用的框架。Spring Cloud Stream是基于spring boot创建,用来建立单独的/工业级spring应用,使用spring integration提供与消息代理之间的连接。本文提供不同代理中的中间件配置,介绍了持久化发布订阅机制,以及消费组以及分割的概念。将注解@EnableBinding加到应用...

2019-12-17 11:41:32 34

原创 二、RabbitMQ消息服务——集群搭建(2.7 集群配置文件 )

创建如下配置文件位于:/etc/rabbitmq目录下(这个目录需要自己创建)环境变量配置文件:rabbitmq-env.conf配置信息配置文件:rabbitmq.config(可以不创建和配置,修改)rabbitmq-env.conf配置文件:---------------------------------------关键参数配置---------------------------...

2019-12-17 11:41:10 27

原创 二、RabbitMQ消息服务——集群搭建(2.6 安装KeepAlived )

1、Keepalived简介Keepalived,它是一个高性能的服务器高可用或热备解决方案,Keepalived主要来防止服务器单点故障的发生问题,可以通过其与Nginx、Haproxy等反向代理的负载均衡服务器配合实现web服务端的高可用。Keepalived以VRRP协议为实现基础,用VRRP协议来实现高可用性(HA).VRRP(Virtual Router Redundancy Prot...

2019-12-17 11:40:58 56

原创 二、RabbitMQ消息服务——集群搭建(2.5安装Ha-Proxy )

1、Haproxy简介HAProxy是一款提供高可用性、负载均衡以及基于TCP和HTTP应用的代理软件,HAProxy是完全免费的、借助HAProxy可以快速并且可靠的提供基于TCP和HTTP应用的代理解决方案。HAProxy适用于那些负载较大的web站点,这些站点通常又需要会话保持或七层处理。HAProxy可以支持数以万计的并发连接,并且HAProxy的运行模式使得它可以很简单安全的整合进...

2019-12-17 11:40:41 41

原创 二、RabbitMQ消息服务——集群搭建(2.3-2.4 组成集群步骤-配置镜像队列)

1、停止MQ服务PS:我们首先停止3个节点的服务rabbitmqctl stop2、组成集群操作PS:接下来我们就可以使用集群命令,配置76、77、78为集群模式,3个节点(76、77、78)执行启动命令,后续启动集群使用此命令即可。rabbitmq-server -detached3、slave加入集群操作(重新加入集群也是如此,以最开始的主节点为加入节点)//注意做这个步骤的...

2019-12-17 11:40:27 39

原创 二、RabbitMQ消息服务——集群搭建(2.1-2.2 集群节点安装-文件同步步骤)

1、安装依赖包PS:安装rabbitmq所需要的依赖包yum install build-essential openssl openssl-devel unixODBC unixODBC-devel make gcc gcc-c++ kernel-devel m4 ncurses-devel tk tc xz2、下载安装包wget www.rabbitmq.com/releases/e...

2019-12-17 11:40:04 28

原创 二、RabbitMQ消息服务——集群搭建基础知识

1基础知识1.1集群总体概述Rabbitmq Broker集群是多个erlang节点的逻辑组,每个节点运行Rabbitmq应用,他们之间共享用户、虚拟主机、队列、exchange、绑定和运行时参数。1.2集群复制信息除了message queue(存在一个节点,从其他节点都可见、访问该队列,要实现queue的复制就需要做queue的HA)之外,任何一个Rabbitmq broker上的所有...

2019-12-17 11:39:44 27

原创 一、1.1_RabbitMQ安装文档

准备:yum install build-essential openssl openssl-devel unixODBC unixODBC-devel make gcc gcc-c++ kernel-devel m4 ncurses-devel tk tc xz下载:wget www.rabbitmq.com/releases/erlang/erlang-18.3-1.el7.cen...

2019-12-17 10:50:08 26

转载 四、centos7下安装Redis

一、安装redis第一步:下载redis安装包wget http://download.redis.io/releases/redis-4.0.6.tar.gz[root@iZwz991stxdwj560bfmadtZ local]# wget http://download.redis.io/releases/redis-4.0.6.tar.gz--2017-12-13 12:35:12...

2019-12-17 10:40:25 21

空空如也

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除