自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(67)
  • 资源 (7)
  • 收藏
  • 关注

原创 windows10环境下的RabbitMQ详细安装步骤(图文)

第一步:下载并安装erlang1、RabbitMQ服务端代码是使用并发式语言Erlang编写的,安装Rabbit MQ的前提是安装Erlang。2、下载地址:http://www.erlang.org/downloads3、Erlang和RabbitMQ版本有对应关系RabbitMQ Erlang Version Requirements — RabbitMQhttps://www.rabbitmq.com/which-erlang.html...

2021-11-30 09:50:29 1727

原创 SpringBoot面试题及答案整理

什么是 Spring BootSpring Boot 建立spring 框架之上,使用 spring 启动,帮我们避免了大量的配置。因此,Spring Boot 可以帮助我们以最少的工作量,更加健壮地使用现有的 Spring功能。Spring Boot 有哪些优点?1、减少开发,测试时间和努力。2、使用 JavaConfig 有助于避免使用 XML。3、避免大量的 Maven 导入和各种版本冲突。4、提供意见发展方法。5、通过提供默认值快速开始开发。6、没有单独的 Web 服

2021-09-28 16:59:16 7436

原创 Mybatis常见面试题总结

什么是Mybatis?(1)Mybatis是一个半ORM(对象关系映射)框架,它内部封装了JDBC,加载驱动、创建连接、创建statement等繁杂的过程,开发者开发时只需要关注如何编写SQL语句,可以严格控制sql执行性能,灵活度高。(2)作为一个半ORM框架,MyBatis 可以使用 XML 或注解来配置和映射原生信息,将 POJO映射成数据库中的记录,避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。Mybaits的优缺点:(1)优点:① 基于SQL语句编程,相当灵活,

2021-09-24 19:05:36 296

原创 Spring+SpringMvc常见面试题总结

1:什么是Spring MVC ?简单介绍下你对springMVC的理解?Spring MVC是一个基于Java的实现了MVC设计模式的请求驱动类型的轻量级Web框架,通过把Model,View,Controller分离,将web层进行职责解耦,把复杂的web应用分成逻辑清晰的几部分,简化开发,减少出错,方便组内开发人员之间的配合。2:SpringMVC的流程(工作原理)(1):用户发送请求被前端DispatcherServlet捕获,(2):DispatcherServlet捕获到请求后

2021-09-24 12:12:00 2440

原创 数据库面试题

一:事务1.什么是事务指作为单个逻辑工作单元(Service方法)执行的一系列操作(数据库操作),要么完全地执行,要么完全地不执行事务可以看做是一次大的活动,它由不同的小活动组成,这些活动要么全部成功,要么全部失败。(同生共死)2.事务的四大特性(ACID)原子性(Atomicity)一个事务就是一个最小的无法分割的独立单元,不允许部分成功部分失败实现原理:利用Innodb的undo log,undo log名为回滚日志,是实现原子性的关键,当事务回滚时能够撤销所有已经成功执行的sq

2021-09-22 15:20:15 117

原创 java 多线程面试题及答案

并行和并发有什么区别?并行是指两个或者多个事件在同一时刻发生;而并发是指两个或多个事件在同一时间间隔发生。并行没有对 CPU 资源的抢占;并发执行的线程需要对 CPU 资源进行抢占。并行执行的线程之间不存在切换;并发操作系统会根据任务调度系统给线程分配线程的 CPU 执行时间,线程的执行会进行切换。线程和进程的区别?1、进程是资源分配的最小单位,线程是程序执行的最小单位(资源调度的最小单位)一个程序至少有一个进程,一个进程至少有一个线程。2、进程有自己的独立地址空间,每启动一个进程,系统就.

2021-09-18 09:21:41 10003

原创 Redis面试题

1:Redis 的数据类型?答:Redis 支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及 zsetsorted set:有序集合)。我们实际项目中比较常用的是 string,hash 如果你是 Redis 中高级用户,还需要加上下面几种数据结构 HyperLogLog、Geo、Pub/Sub。如果你说还玩过 Redis Module,像 BloomFilter,RedisSearch,Redis-ML,面试官得眼睛就开始发亮了。2:使用 Re

2021-09-17 16:14:51 126

原创 java 基础面试题及答案(如有不对的地方,请指出)

在集群中部署多个服务器如何解决SESSION问题?三种方式:1. Session复制,Web服务器之间同步session信息。2. 负载均衡支持会话亲和,相同的会话请求发送给同一个Web服务器。3. Session不存在Web服务器本地,而是放在缓存服务器如Redis上。...

2021-09-13 10:32:45 149

原创 对守护线程的理解

Java分为两种线程:用户线程和守护线程所谓守护线程是指在程序运行的时候在后台提供一种通用服务的线程,比如垃圾回收线程就是一个很称职的守护者,并且这种线程并不属于程序中不可或缺的部分。因 此,当所有的非守护线程结束时,程序也就终止了,同时会杀死进程中的所有守护线程。反过来说,只要任何非守护线程还在运行,程序就不会终止。守护线程和用户线程的没啥本质的区别:唯一的不同之处就在于虚拟机的离开:如果用户线程已经全部退出运行了,只剩下守护线程存在了,虚拟机也就退出了。 因为没有了被守护者,守护线程也就没有工作

2021-06-10 14:05:35 339

原创 线程中 sleep()、wait()、join()、yield()的区别

sleep()  sleep()方法需要指定等待的时间,它可以让当前正在执行的线程在指定的时间内暂停执行,进入阻塞状态,该方法既可以让其他同优先级或者高优先级的线程得到执行的机会,也可以让低优先级的线程得到执行机会。但是sleep()方法不会释放“锁标志”,也就是说如果有synchronized同步块,其他线程仍然不能访问共享数据。  wait()  wait()方法需要和notify()及notifyAll()两个方法一起介绍,这三个方法用于协调多个线程对共享数据的存取,所以必须在synchron

2021-06-10 13:29:27 4091 1

原创 数据库分库分表思路

一. 数据切分关系型数据库本身比较容易成为系统瓶颈,单机存储容量、连接数、处理能力都有限。当单表的数据量达到1000W或100G以后,由于查询维度较多,即使添加从库、优化索引,做很多操作时性能仍下降严重。此时就要考虑对其进行切分了,切分的目的就在于减少数据库的负担,缩短查询时间。数据库分布式核心内容无非就是数据切分(Sharding),以及切分后对数据的定位、整合。数据切分就是将数据分散存储到多个数据库中,使得单一数据库中的数据量变小,通过扩充主机的数量缓解单一数据库的性能问题,从而达到提升数据库操

2021-04-07 15:03:25 2355

原创 数据库索引

索引是什么索引是对数据库表中一个或多个列的值进行排序的结构,是帮助MySQL高效获取数据的数据结构你也可以这样理解:索引就是加快检索表中数据的方法。数据库的索引类似于书籍的索引。在书籍中,索引允许用户不必翻阅完整本书就能迅速地找到所需要的信息。在数据库中,索引也允许数据库程序迅速地找到表中的数据,而不必扫描整个数据库。MySQL数据库几个基本的索引类型:普通索引、唯一索引、主键索引、全文索引1.索引加快数据库的检索速度2.索引降低了插入、删除、修改等维护任务的速度3.唯一索引可以确保每

2021-03-25 10:07:31 454

原创 数据库三范式(浅显易懂)

1.第一范式(1NF):列不可再分1.每一列属性都是不可再分的属性值,确保每一列的原子性2.两列的属性相近或相似或一样,尽量合并属性一样的列,确保不产生冗余数据例:有一个学生表,假设有两个字段分别是 name,address,而address内容写的是:江苏省南京市浦口区xxx街道xxx小区。如果这时来一个需求,需要按省市区分类,显然不符需求,这样的表结构也不是符合第一范式的。应该设计成 name,province(省),city(市),area(区),address2...

2021-03-24 15:46:54 11296 4

原创 MySQL数据库的存储引擎,以及之间的区别

什么是存储引擎? 存储引擎就是一种数据存储方式,不同的存储引擎对应不同的存储方式、索引方式、锁定水平,当然就提供不同的作用。 各个数据库存储引擎 InnoDB:提供ACID事务,系统崩溃修复能力和多版本并发控制的行级锁,支持自增长序列,支持外键,mysql5.5之后默认数据库引擎 MyISAM:读取速度优越,常用于高读取的应用场景数据库,支持三种不同类型的存储结构:静态型、动态型、压缩型。不支持事务和外键。 MyISAM与InnoDB的区别与选择 区别: InnoDB支持事务,My

2021-03-19 14:07:16 598

原创 软件架构的演进 单体应用架构 VS 垂直应用架构 VS SOA架构 VS 微服务架构

一、单体应用架构单体架构,一个war文件包含所有功能的应用程序包。包含复杂的业务逻辑/自服务接口/定时任务/集团接口等等,都在一个war文件里面。每次发布,都是版本管理员拿到一个大war包,上传到Tomcat,再往几十台服务器上推送。好处是都在一个上,部署测试比较容易,版本管控比较简单。但是随着时间的推移,越来越多的需求被加到war包中,慢慢地,单体应用变得越来越臃肿,上线后运行五六年,w...

2020-02-04 15:48:36 1820

转载 JAVA 正则表达式校验身份证号码,亲测可用

public static boolean isIDNumber(String IDNumber) { if (IDNumber == null || "".equals(IDNumber)) { return false; } // 定义判别用户身份证号的正则表达式(15位或者18位,最后一位可以为字母) ...

2019-07-01 15:02:47 7400

转载 前后端分离实践

前言最近这一段时间由于Nodejs的逐渐成熟和日趋稳定,越来越多的公司中的前端团队开始尝试使用Nodejs来练一下手,尝一尝鲜。一般的做法都是将原本属于后端的一部分相对于业务不是很重要的功能迁移到Nodejs上面来,也有一些公司将NodeJS作为前后端分离的一个解决方案去施行。而像淘宝网这类的大型网站也很早的完成了前后端的分离,给我们这样的后来者提供了宝贵的经验。同样,我们的大网盘团队...

2019-02-15 13:37:27 411

原创 3分钟读懂何为分布式、微服务和集群!

一、分布式小马正在经营一个在线购物网站,名叫TT猫,有商品管理、订单管理、用户管理、支付管理、购物车等模块,每个模块部署到独立的云服务主机。现在,程序员小明同学浏览TT猫,想买一款牛逼的cherry机械键盘来提升自己的工作效率。于是他打开TT猫首页、搜索商品、浏览详情以及评论、添加购物车、下单、支付等一系列操作。小明同学一气呵成,流畅地完成了购物,当然也花费了不少银子。但系统又是如何进...

2019-02-13 17:25:39 602

原创 去掉IDEA生成的mybatis映射文件中黄色和绿色的背景

IDEA 打开 mybatis 的 xml 文件时,对应的 xml 文件中 sql 语句背景色总是有黄色或绿色的背景色对于mapper.xml中sql语句这种黄色的背景,真心是看不下去了; 此时仍有警告,不过警告信息变了,出现SQL dialect is not configured 警告,如图中红圈所示 Settings⇒ Editor ⇒ Inspections ⇒ ...

2019-02-13 12:58:06 2372

原创 idea 解决springboot 中 @Autowired注入对象时有红线问题

在学习springboot+mybatis整合时遇到这样的错误:使用@Autowired注入一个类之后飘红,能正常使用,但是看着别扭,究其原因是idea没有配置好,对于强迫症的我实在看不下去那个报错,只需要更改idea的代码审查级别就OK了,如图:完成...

2019-02-13 11:07:46 13470 3

原创 SpringBoot+Mybatis The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than

今天在用SpringBoot2.0+MyBatis+MySQL搭建项目开发环境的时候启动项目发现报了一个很奇怪的错,报错内容如下:java.sql.SQLException: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone.java.sql.SQ...

2019-02-13 10:25:36 1311

原创 Linux必学的60个命令

Linux提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作、文件存取、目录操作、进程管理、文件权限设定等。所以,在Linux系统上工作离不开使用系统提供的命令。要想真正理解Linux系统,就必须从Linux命令学起,通过基础的命令学习可以进一步理解Linux系统。 不同Linux发行版的命令数量不一样,但Linux发行版本最少的命令也有200多个。这里笔者把比较重要和使用频率最...

2019-02-12 15:25:06 520

原创 解决异常 java.net.BindException: Address already in use: JVM_Bind :8080

  在学习SpringBoot过程中, 遇到了各种问题..G:\kgdxkj\yingyong\jdk1.8\bin\java -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:55800,suspend=y,server=n -XX:TieredStopAtLevel=1 -noverify -Dspring.output.ansi....

2019-02-12 15:04:57 1051

转载 ECharts属性设置(含各参数注释)

// 默认色板color: ['#ff7f50','#87cefa','#da70d6','#32cd32','#6495ed', '#ff69b4','#ba55d3','#cd5c5c','#ffa500','#40e0d0', '#1e90ff','#ff6347','#7b68ee','#00fa9a','#ffd700', '#6699...

2019-01-29 16:38:47 1928

转载 Api接口加密策略

接口安全要求:1.防伪装攻击(案例:在公共网络环境中,第三方 有意或恶意 的调用我们的接口)2.防篡改攻击(案例:在公共网络环境中,请求头/查询字符串/内容 在传输过程被修改)3.防重放攻击(案例:在公共网络环境中,请求被截获,稍后被重放或多次重放)4.防数据信息泄漏(案例:截获用户登录请求,截获到账号、密码等) 设计原则:1.轻量级2.适合于异构系统(跨操作系统、...

2019-01-24 17:08:25 5694

原创 IDEA生成类和方法注释模板设置(简单,详细)

先看下效果:红色框里的内容需要自己手动填写。其他是我们设置好的模版一:生成类注释1、File-->settings-->Editor-->File and Code Templates-->Files-->Class蓝色框里面的内容就是我们需要设置的注释模版,填好模版,单OK,完成。注释模版:/*** @program: ${PRO...

2019-01-24 11:07:34 3583

原创 java 普通for循环与增强for循环的性能对比

有些人循环用的是普通for循环,有些人用的是增强for循环,它们之间有什么区别?应该在什么时候使用这两种循环了?==========语法格式==========普通for循环语法:for (int i = 0; i < integers.length; i++) { System.out.println(intergers[i]); } 增强for...

2019-01-23 15:35:18 10212 6

原创 java 8 forEach简单示例

Map:通常我们这样遍历一个Mappackage utils;import java.util.HashMap;import java.util.Map;public class ForEach { public static void main(String[] args) { Map<String, Integer> items = ne...

2019-01-23 14:13:52 1036 1

转载 [面试]-- 65个最常见的面试问题与技巧性答复(面试技巧和注意事项)

1、请你自我介绍一下你自己?回答提示:一般人回答这个问题过于平常,只说姓名、年龄、爱好、工作经验,这些在简历上都有。其实,企业最希望知道的是求职者能否胜任工作,包括:最强的技能、最深入研究的知识领域、个性中最积极的部分、做过的最成功的事,主要的成就等,这些都可以和学习无关,也可以和学习有关,但要突出积极的个性和做事的能力,说得合情合理企业才会相信。企业很重视一个人的礼貌,求职者要尊重考官,在回答...

2019-01-23 09:47:47 994

原创 java 使用POI导入excel表中多个sheet数据,支持xls,xlsx格式(简单实用)

一:先在E盘准备两个excel,后缀名分别是xls,xlsx。二:看一下两个excel里分面有什么内容。1.xlsx中含有sheet1和sheet2。sheet1中有三条记录,并且在表头上方有一个“说明”单元格,当然这个说明的内容不是我们需要的,在程序中需要过虑掉,第五行无数据,在程序中也是需要过滤掉的。 sheet2中有2条记录,“第二中学”的这行记录中,姓名这一列没...

2019-01-22 15:56:09 15209 8

原创 JAVA中double转int类型按四舍五入取整(实用)

public static void main(String[] args) { System.out.println("向上取整:" + (int) Math.ceil(96.1));// 97 (去掉小数凑整:不管小数是多少,都进一) System.out.println("向下取整" + (int) Math.floor(96.8));// 96 (去掉小数...

2019-01-22 14:31:15 63526 4

原创 SpringBoot学习(五):springboot之profile详解

在使用springboot中,application.properties和application.yml这两个是默认的配置文件,有时我们想使用指定的配置文件,那么就需要什么Profile。我们在编写指定的配置文件时,文件名可以是: application-{profile}.properties/yml一:properties格式:我们创建了一个spring boot项目,里面有默认...

2019-01-08 22:24:42 2178

原创 SpringBoot学习(四):springboot中的@PropertySource和@ImportResource注解的使用

一:@PropertySourceSpring boot框架提供了@PropertySource注解,目的是加载指定的属性文件,接下来我们看一下如何使用该注解。首先在默认的application.properties文件中添加如下内容spring.datasource.url=jdbc:mysql://192.168.10.171:3306/Steam?useUnicode=tru...

2018-12-29 22:56:55 3583

原创 JAVA 对Map里的value值进行排序(升序或者降序);

费话不多说,直接上代码:package utils;import java.util.*;public class Test { // Map的value值降序排序 public static <K, V extends Comparable<? super V>> Map<K, V> sortDescend(Map<K, ...

2018-12-20 15:47:46 23524 3

原创 SpringBoot学习(三):springboot的yaml语法及读取yaml文件的内容

一:properties和yml语法如果使用IDEA创建Springboot项目,默认会在resource目录下创建application.properties文件,在SpringBoot项目中,也可以使用yml类型的配置文件代替properties文件,其实说白了这两个都是SpringBoot留下的配置文件,都可以进行配置。首先我们最关注的应该是格式问题,两个文件在进行配置的时候的格式是...

2018-12-09 21:56:50 18983 5

原创 SpringBoot学习(二):springboot热部署与发布

spring为开发者提供了一个名为spring-boot-devtools的模块来使Spring Boot应用支持热部署,提高开发者的开发效率,无需手动重启Spring Boot应用。在pom.xml中直接引入依赖<dependency> <groupId>org.springframework.boot</groupId> ...

2018-12-06 22:57:33 349

原创 SpringBoot学习(一) 之 Intellij IDEA 搭建Spring Boot项目

第一步:  第二步:Group一般分为多个段,这里我只说两段第一段为域,域又分为org、com、cn等等许多,其中org为非营利组织,com为商业组织第二段为公司名称。举个apache公司的tomcat项目例子:这个项目的Group是org.apache,它的域是org(因为tomcat是非营利项目),公司名称是apache,Artifact是tomcat。 ...

2018-11-30 22:54:52 880

原创 Mongodb数据库Query failed with error code 96 and error message 'Executor error during find command

mongodb在查询集合时,数据量特别大时,报以下错误Query failed with error code 96 and error message 'Executor error during find command: OperationFailed: Sort operation used more than the maximum 33554432 bytes of RAM. Ad...

2018-10-29 13:43:48 14316

原创 MongoDB 索引

假设有一本书,你想看第六章第六节讲的是什么,你会怎么做,一般人肯定去看目录,找到这一节对应的页数,然后翻到这一页。这就是目录索引,帮助读者快速找到想要的章节。在数据库中,我们也有索引,其目的当然和我们翻书一样,能帮助我们提高查询的效率。索引就像目录一样,减少了计算机工作量,对于表记录较多的数据库来说是非常实用的,可以大大的提高查询的速度。否则的话,如果没有索引,计算机会一条一条的扫描,每一次都要扫...

2018-10-16 13:58:04 15794

原创 IDEA设置Maven项目自动下载添加的jar包地址。

File --> setting 勾选import Maven projects automatically   点击OK,完成

2018-08-28 22:48:18 13126

rabbitmq-server-3.9.10.rar

rabbitmq-server-3.9.10

2021-12-11

Erlang_win64_24.1.rar

windows安装RabbitMQ需要的Erlang,版本24.1.7

2021-12-11

windows下安装kafka需要的安装包

windows下安装kafka需要的安装包 Kafka凭借着自身的优势,越来越受到互联网企业的青睐,唯品会也采用Kafka作为其内部核心消息引擎之一。Kafka作为一个商业级消息中间件,消息可靠性的重要性可想而知。如何确保消息的精确传输?如何确保消息的准确存储?如何确保消息的正确消费?这些都是需要考虑的问题。本文首先从Kafka的架构着手,先了解下Kafka的基本原理,然后通过对kakfa的存储机制、复制原理、同步原理、可靠性和持久性保证等等一步步对其可靠性进行分析,最后通过benchmark来增强对Kafka高可靠性的认知。

2018-08-24

windows下安装kafka需要的zookeeper-3.4.6

windows下安装kafka需要的zookeeper-3.4.6 Kafka的运行依赖于Zookeeper,所以在运行Kafka之前我们需要安装并运行Zookeeper

2018-08-24

Linux安装SNMP服务所需要rpm包

Linux安装SNMP服务所需要rpm包,具体用法可参考我的博客http://blog.csdn.net/weixin_33446857/article/details/79195803

2018-01-29

阿里的fastJson.jar

阿里的fastJson.jar,用起来感觉还是不错的,方便,快捷,用法可以参考我的博客http://blog.csdn.net/weixin_33446857/article/details/79171122

2018-01-26

redis安装包

redis的安装包,解压就可以了,具体使用请可看我的博客http://blog.csdn.net/weixin_33446857/article/details/77893896

2017-09-16

空空如也

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

TA关注的人

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