自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ThinkWon的博客

敏于观察,勤于思考,善于综合,勇于创新。

原创 Swagger2常用注解说明

文章目录Swagger2简介使用Swagger解决的问题Spring Boot集成Swagger2添加依赖添加Swagger2Config配置类编写接口用户DTO用户controller访问接口文档Swagger2常用注解说明Controller相关注解@Api接口相关注解@ApiOperation@ApiParam@ApiImplicitParams@ApiImplicitParam@ApiResponses@ApiResponseModel相关注解@ApiModel@ApiModelPropertyS

2020-07-20 23:40:14 4005

原创 Docker 从入门到实践系列一 - 什么是Docker

文章目录虚拟机和容器虚拟机和容器的区别什么是 DockerDocker 的优点Docker 的应用场景Docker 核心概念docker 镜像(image)docker 容器(container)docker 仓库(resoisitory)底层原理底层原理namespacecontrol groupsunion file systemsDocker 引擎Docker 架构Docker 为什么快虚拟机和容器虚拟机和容器都属于虚拟化技术。虚拟机是在一套硬件上,虚拟出一个完整的操作系统,在该系统上再运行所

2020-07-20 23:13:22 5081

翻译 虚拟机和容器有什么不同

文章目录什么是虚拟机?虚拟机的好处受欢迎的虚拟机提供商什么是容器?容器种类集装箱的好处受欢迎的集装箱供应商虚拟机使用与容器使用虚拟机与容器有什么不同虚拟机和容器都可以充分利用计算机硬件和软件资源。容器是新兴的事物,但是虚拟机已经并且继续在各种规模的数据中心大受欢迎。如果您正在寻找在云中运行自己的服务的最佳解决方案,则需要了解这些虚拟化技术,了解它们之间的区别以及每种技术的最佳用途是什么。什么是虚拟机?虚拟机(VM)是计算机系统的仿真。简而言之,它可以在一台计算机的硬件上运行看似多台单独的计算机。操

2020-07-20 23:00:06 1109

原创 MySQL中count(字段) ,count(主键 id) ,count(1)和count(*)的区别

文章目录count(可空字段)count(非空字段)与count(主键 id)count(1)count(\*)性能对比结论注:下面的讨论和结论是基于 InnoDB 引擎的。首先要弄清楚 count() 的语义。count() 是一个聚合函数,对于返回的结果集,一行行地判断,如果 count 函数的参数不是 NULL,累计值就加 1,否则不加。最后返回累计值。所以,count(*)、count(1)和count(主键 id) 都表示返回满足条件的结果集的总行数;而 count(字段),则表示返回满足条

2020-06-08 00:48:17 8137 2

原创 MySQL语句分类

文章目录数据定义语言DDL(Data Definition Language)数据查询语言DQL(Data Query Language)数据操纵语言DML(Data Manipulation Language)数据控制语言DCL(Data Control Language)事务控制语言TCL(Transaction Control Language)如大家所知SQL语句被分为四大类:数据定义语言DDL数据查询语言DQL数据操纵语言DML数据控制功能DCL事务控制语言TCL

2020-06-08 00:43:42 7600

原创 MySQL删除表的三种方式

文章目录drop tabletruncate (table)delete from三种方式的区别用法总结drop tabledrop 是直接删除表信息,速度最快,但是无法找回数据例如删除 user 表:drop table user;truncate (table)truncate 是删除表数据,不删除表的结构,速度排第二,但不能与where一起使用例如删除 user 表:truncate table user;delete fromdelete 是删除表中的数据,不删除表结构,

2020-06-08 00:40:17 5729 3

原创 MySQL复制表的三种方式

文章目录复制表结构及其数据只复制表结构只复制表数据复制表结构及其数据下面这个语句会拷贝数据到新表中。注意:这个语句其实只是把select语句的结果建一个表,所以新表不会有主键,索引。create table table_name_new as (select * from table_name_old);只复制表结构create table table_name_new as select * from table_name_old where 1=2;或者create table ta

2020-06-08 00:36:09 5684

原创 MySQL插入语句insert into,insert ignore into,insert into ... on duplicate key update,replace into-解决唯一键约束
原力计划

文章目录常用插入语句insert intoinsert ignore intoinsert into ... on duplicate key updatereplace into使用场景总结当MySQL表字段设置unique key或者primary key时,被约束的字段就必须是唯一的。新插入数据直接使用insert into,如果出现唯一性冲突,就会抛出异常。我们可以根据需求选择合适的插入语句。为了演示,我们先新建一张user表,SQL语句如下,其中user_id为主键,username为唯一索引

2020-06-08 00:34:25 6723

原创 在IDEA中使用Linux命令

文章目录相比于Windows系统,Linux系统提供了大量丰富的命令行工具,可以简单高效地进行工作。而大部分开发人员,都只知道Linux系统的命令,不太清楚Windows系统的命令,所以我们希望能够在Windows系统也能使用到Linux系统的相关命令。Gow就是这么一款工具,在Windows系统安装Gow,就可以在cmd窗口使用Linux命令。Gow (Gnu On Windows)是Cygwin的轻量级替代品。一个Windows下模拟Linux命令行工具集合,它集成了Liunx环境下130多种实用

2020-05-30 14:21:23 3017

原创 几款常见接口管理平台对比

为了方实现接口规范,团队协作,工程规范,接口Mock,接口测试等功能,项目开发需要一个接口管理平台,通过查询发现国内主要有以下几款接口管理平台,并对这几款接口管理平台进行了对比,结果如下EolinkerEOLINKER(广州银云信息科技有限公司)是国内API接口管理解决方案的领军者,是国内最大的在线API接口管理服务供应商,致力于满足各行业客户在不同应用环境中对接口管理全生命周期的个性化需求,提供API开发管理、开发团队协作、自动化测试、网关以及监控等服务,帮助企业实现开发运维一体化,提升开发速度并且降

2020-05-11 22:59:16 5137

原创 Worktile、Teambition与Tower项目管理软件对比
原力计划

文章目录一 产品定位二 产品结构三 产品主要功能四 产品版本与价格一般项目管理常常会遇到下面的几个问题项目多,难以了解每个项目的情况项目乱,成员多,流程节点混乱项目杂,不清楚自己的工作属于哪个流程项目跟踪与监控,实现数据可视化项目汇报浪费时间,效率低对于中小型团队来说轻量级的项目管理软件是团队需要的,上手门槛低,辅佐团队进行团队协作、任务下发,可视化管理等等。其中一个很重要的工作就是想选用一款较为成熟的项目管理软件。在市场上找了好多,最终决定选择Worktile、Tea

2020-05-11 22:55:46 4692

原创 架构设计&分布式&数据结构与算法面试题(2020最新版)
原力计划

文章目录架构设计请列举出在JDK中几个常用的设计模式?什么是设计模式?你是否在你的代码里面使用过任何设计模式?静态代理、JDK动态代理以及CGLIB动态代理静态代理动态代理cglib代理单例模式工厂模式观察者模式装饰器模式秒杀系统设计分布式分布式概述分布式集群微服务多线程高并发分布式系统设计理念分布式系统的目标与要素分布式系统设计两大思路:中心化和去中心化分布式与集群的区别是什么?CAP定理CAP...

2020-04-30 22:20:45 28687 12

原创 重学TCP/IP协议和三次握手四次挥手
原力计划

文章目录计算机网络体系结构网络协议是什么?为什么要对网络协议分层?TCP/IP 协议族应用层运输层网络层数据链路层物理层TCP/IP 协议族TCP的三次握手四次挥手TCP报文的头部结构三次握手四次挥手常见面试题为什么TCP连接的时候是3次?2次不可以吗?为什么TCP连接的时候是3次,关闭的时候却是4次?为什么客户端发出第四次挥手的确认报文后要等2MSL的时间才能释放TCP连接?如果已经建立了连接,...

2020-03-16 17:36:28 53748 46

原创 并发编程面试题(2020最新版)
原力计划

文章目录基础知识并发编程的优缺点为什么要使用并发编程(并发编程的优点)并发编程有什么缺点并发编程三要素是什么?在 Java 程序中怎么保证多线程的运行安全?并行和并发有什么区别?什么是多线程,多线程的优劣?线程和进程区别什么是线程和进程?进程与线程的区别什么是上下文切换?守护线程和用户线程有什么区别呢?如何在 Windows 和 Linux 上查找哪个线程cpu利用率最高?什么是线程死锁形成死锁的...

2020-03-14 17:28:01 92868 57

原创 MySQL数据库面试题(2020最新版)
原力计划

文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引使用场景(重点)...

2020-03-10 17:20:40 355085 227

原创 Linux面试题(2020最新版)

文章目录Linux 概述什么是LinuxUnix和Linux有什么区别?什么是 Linux 内核?Linux的基本组件是什么?Linux 的体系结构BASH和DOS之间的基本区别是什么?Linux 开机启动过程?Linux系统缺省的运行级别?Linux 使用的进程间通信方式?Linux 有哪些系统日志文件?Linux系统安装多个桌面环境有帮助吗?什么是交换空间?什么是root帐户什么是LILO?什...

2020-03-01 11:14:38 163480 102

原创 消息中间件MQ与RabbitMQ面试题(2020最新版)

文章目录为什么使用MQ?MQ的优点消息队列有什么优缺点?RabbitMQ有什么优缺点?你们公司生产环境用的是什么消息中间件?Kafka、ActiveMQ、RabbitMQ、RocketMQ 有什么优缺点?MQ 有哪些常见问题?如何解决这些问题?什么是RabbitMQ?rabbitmq 的使用场景RabbitMQ基本概念RabbitMQ的工作模式如何保证RabbitMQ消息的顺序性?消息如何分发?消...

2020-03-01 11:11:21 63414 15

原创 Java集合容器面试题(2020最新版)

文章目录集合容器概述什么是集合集合的特点集合和数组的区别使用集合框架的好处常用的集合类有哪些?List,Set,Map三者的区别?List、Set、Map 是否继承自 Collection 接口?List、Map、Set 三个接口存取元素时,各有什么特点?集合框架底层数据结构哪些集合类是线程安全的?Java集合的快速失败机制 “fail-fast”?怎么确保一个集合不能被修改?Collection...

2020-03-01 11:08:34 119389 97

原创 ZooKeeper面试题(2020最新版)

文章目录1. ZooKeeper 是什么?2. ZooKeeper 提供了什么?3. Zookeeper 文件系统4. Zookeeper 怎么保证主从节点的状态同步?5. 四种类型的数据节点 Znode6. Zookeeper Watcher 机制 -- 数据变更通知7. 客户端注册 Watcher 实现8. 服务端处理 Watcher 实现9. 客户端回调 Watcher10. ACL 权限控...

2020-02-19 18:08:59 45530 15

原创 Tomcat面试题(2020最新版)

文章目录Tomcat是什么?Tomcat的缺省端口是多少,怎么修改tomcat 有哪几种Connector 运行模式(优化)?Tomcat有几种部署方式?tomcat容器是如何创建servlet类实例?用到了什么原理?Tomcat工作模式Tomcat顶层架构Tomcat顶层架构小结Connector和Container的微妙关系Container架构分析Container如何处理请求的总结Tom...

2020-02-19 18:06:31 27018 14

原创 Spring面试题(2020最新版)

文章目录Spring概述(10)什么是spring?Spring框架的设计目标,设计理念,和核心是什么Spring的优缺点是什么?Spring有哪些应用场景Spring由哪些模块组成?Spring 框架中都用到了哪些设计模式?详细讲解一下核心容器(spring context应用上下文) 模块Spring框架中有哪些不同类型的事件Spring 应用程序有哪些不同组件?使用 Spring 有哪些方式...

2020-02-19 17:58:15 132768 84

原创 Spring MVC面试题(2020最新版)

文章目录概述什么是Spring MVC?简单介绍下你对Spring MVC的理解?Spring MVC的优点核心组件Spring MVC的主要组件?什么是DispatcherServlet什么是Spring MVC框架的控制器?Spring MVC的控制器是不是单例模式,如果是,有什么问题,怎么解决?工作原理请描述Spring MVC的工作流程?描述一下 DispatcherServlet 的工作...

2020-02-19 17:54:38 66931 27

原创 Spring Cloud面试题(2020最新版)

文章目录为什么需要学习Spring Cloud什么是Spring Cloud设计目标与优缺点设计目标优缺点Spring Cloud发展前景整体架构主要项目Spring Cloud ConfigSpring Cloud NetflixSpring Cloud BusSpring Cloud ConsulSpring Cloud SecuritySpring Cloud SleuthSpring Cl...

2020-02-19 17:51:59 66238 28

原创 Spring Boot面试题(2020最新版)

文章目录概述什么是 Spring Boot?Spring Boot 有哪些优点?Spring Boot 的核心注解是哪个?它主要由哪几个注解组成的?配置什么是 JavaConfig?Spring Boot 自动配置原理是什么?你如何理解 Spring Boot 配置加载顺序?什么是 YAML?YAML 配置的优势在哪里 ?Spring Boot 是否可以使用 XML 配置 ?spring boot...

2020-02-19 17:48:42 160926 52

原创 Netty面试题(2020最新版)

文章目录1.Netty 是什么?2.Netty 的特点是什么?3.Netty 的优势有哪些?4.Netty 的应用场景有哪些?5.Netty 高性能表现在哪些方面?6.BIO、NIO和AIO的区别?7.NIO的组成?8.Netty的线程模型?9.TCP 粘包/拆包的原因及解决方法?10.什么是 Netty 的零拷贝?11.Netty 中有哪种重要组件?12.Netty 发送消息有几种方式?13.默...

2020-02-19 12:45:30 30037 12

原创 Java虚拟机(JVM)面试题(2020最新版)

文章目录Java内存区域说一下 JVM 的主要组成部分及其作用?说一下 JVM 运行时数据区深拷贝和浅拷贝说一下堆栈的区别?队列和栈是什么?有什么区别?HotSpot虚拟机对象探秘对象的创建为对象分配内存处理并发安全问题对象的访问定位句柄访问直接指针内存溢出异常Java会存在内存泄漏吗?请简单描述垃圾收集器简述Java垃圾回收机制GC是什么?为什么要GC垃圾回收的优点和原理。并考虑2种回收机制垃圾...

2020-02-19 12:26:32 67341 43

原创 Java异常面试题(2020最新版)

文章目录Java异常架构与异常关键字Java异常简介Java异常架构1. Throwable2. Error(错误)3. Exception(异常)运行时异常编译时异常4. 受检异常与非受检异常受检异常非受检异常Java异常关键字Java异常处理声明异常抛出异常捕获异常如何选择异常类型常见异常处理方式直接抛出异常封装异常再抛出捕获异常自定义异常try-catch-finallytry-with-r...

2020-02-19 12:15:59 36004 36

原创 Java基础知识面试题(2020最新版)

文章目录Java概述何为编程什么是Javajdk1.5之后的三大版本JVM、JRE和JDK的关系什么是跨平台性?原理是什么Java语言有哪些特点什么是字节码?采用字节码的最大好处是什么什么是Java程序的主类?应用程序和小程序的主类有何不同?Java应用程序与小程序之间有那些差别?Java和C++的区别Oracle JDK 和 OpenJDK 的对比基础语法数据类型Java有哪些数据类型switc...

2020-02-19 12:11:27 358846 276

原创 深入理解Java虚拟机-高效并发

并发处理的广泛应用是使得Amdahl定律代替摩尔定律成为计算机性能发展源动力的根本原因,也是人类“压榨”计算机运算能力的最有力武器。文章目录Java内存模型与线程概述硬件的效率与一致性Java内存模型主内存与工作内存内存间交互操作对 volatile 型变量的特殊规则对 long 和 double 型变量的特殊规则原子性、可见性和有序性先行发生原则Java与线程线程的实现Java线程的实现Jav...

2020-01-04 18:22:38 6228 3

原创 深入理解Java虚拟机-程序编译与代码优化

从计算机程序出现的第一天起,对效率的追求就是程序天生的坚定信仰,这个过程犹如一场没有终点,永不停歇的F1方程式竞赛,程序员试车手,技术平台则是在赛道上飞驰的赛车。文章目录早期(编译期)优化概述Javac编译器Javac的源码与调试解析与填充符号表注解处理器语义分析与字节码生成Java 语法糖的味道泛型与类型擦除自动装箱、拆箱与遍历循环条件编译实战:插入式注解处理器晚期(运行期)优化概述HotSp...

2020-01-04 17:52:18 5460 2

原创 深入理解Java虚拟机-虚拟机执行子系统

文章目录类文件结构概述无关性的基石Class类文件的结构魔数与 Class 文件的版本常量池访问标志类索引、父类索引与接口索引集合字段表集合方法表集合属性表集合字节码指令简介公有设计和私有实现Class文件结构的发展虚拟机类加载机制概述类加载时机类加载过程加载验证准备解析初始化类加载器类与类加载器双亲委派模型类加载器的关系类加载器的作用类加载器的特点类加载器的隔离问题破坏双亲委派模型字节码执行引擎...

2020-01-04 17:00:27 6352 6

原创 深入理解Java虚拟机-垃圾回收器与内存分配策略

Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的"高墙",墙外面的人想进去,墙里面的人却想出来。文章目录概述对象已死吗引用计数法可达性分析算法再谈引用生存还是死亡回收方法区垃圾收集算法标记-清除算法复制算法标记-整理算法分代收集算法新生代(Young generation)老年代(Old generation)永久代(permanent generation)小结垃圾收集算法小结H...

2020-01-04 13:08:32 8490 8

原创 深入理解Java虚拟机-Java内存区域与内存溢出异常

Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的"高墙",墙外面的人想进去,墙里面的人却想出来。文章目录概述运行时数据区域程序计数器(线程私有)Java虚拟机栈(线程私有)局部变量表操作数栈动态链接方法返回地址小结本地方法栈(线程私有)Java堆(全局共享)方法区(全局共享)运行时常量池直接内存HotSpot虚拟机对象探秘对象的创建1.判断对象对应的类是否加载、链接、初始化2.为对...

2020-01-03 21:42:24 9912 11

原创 深入理解Java虚拟机-走近Java

文章目录概述Java技术体系Java发展史Java虚拟机发展史展望Java技术的未来实战:自己编译JDK本章小结本博客主要参考周志明老师的《深入理解Java虚拟机》第二版读书是一种跟大神的交流。阅读《深入理解Java虚拟机》受益匪浅,对Java虚拟机有初步的认识。这里写博客主要出于以下三个目的:一方面是记录,方便日后阅读;一方面是加深对内容的理解;一方面是分享给大家,希望对大家有帮助。...

2020-01-02 15:02:08 9369 6

原创 Spring Cloud入门-汇总篇(Hoxton版本)

文章目录简介应用场景注册中心配置中心服务网关服务调用熔断与限流安全保护监控中心分布式事务解决目录项目结构项目地址项目使用的Spring Cloud为Hoxton版本,Spring Boot为2.2.2.RELEASE版本简介Spring Cloud是一系列框架的有序集合。目的是协调各个微服务,简化分布式系统开发。这里做一个有关于Spring Cloud知识的汇总,包括Spring Clo...

2019-12-31 17:25:16 17068 4

原创 Spring Cloud入门-Seata处理分布式事务问题(Hoxton版本)

文章目录摘要什么是分布式事务问题?单体应用微服务应用小结Seata简介Seata原理和设计定义一个分布式事务协议分布式事务处理过程的三个组件一个典型的分布式事务过程seata-server的安装与配置数据库准备创建业务数据库初始化业务表order表storage表account表创建日志回滚表完整数据库示意图制造一个分布式事务问题客户端配置分布式事务功能演示参考资料使用到的模块项目源码地址项目...

2019-12-31 17:06:45 11090 4

原创 Spring Cloud入门-Sentinel实现服务限流、熔断与降级(Hoxton版本)

文章目录摘要Sentinel简介安装Sentinel控制台创建sentinel-service模块限流功能创建RateLimitController类根据资源名称限流根据URL限流自定义限流处理逻辑熔断功能与Feign结合使用使用Nacos存储规则原理示意图功能演示参考资料使用到的模块项目源码地址项目使用的Spring Cloud为Hoxton版本,Spring Boot为2.2.2.RELE...

2019-12-30 18:37:57 6280 4

原创 Spring Cloud入门-Nacos实现注册和配置中心(Hoxton版本)

文章目录摘要Nacos简介使用Nacos作为注册中心安装并运行Nacos创建应用注册到Nacos负载均衡功能使用Nacos作为配置中心创建nacos-config-client模块在Nacos中添加配置Nacos的动态刷新配置参考资料使用到的模块项目源码地址项目使用的Spring Cloud为Hoxton版本,Spring Boot为2.2.2.RELEASE版本摘要Spring Clo...

2019-12-30 17:15:21 7551 2

原创 Spring Cloud入门-Oauth2授权之基于JWT完成单点登录(Hoxton版本)

文章目录摘要单点登录简介创建oauth2-client模块修改授权服务器配置网页单点登录演示调用接口单点登录演示oauth2-client添加权限校验使用到的模块项目源码地址项目使用的Spring Cloud为Hoxton版本,Spring Boot为2.2.2.RELEASE版本摘要Spring Cloud Security 为构建安全的SpringBoot应用提供了一系列解决方案,结...

2019-12-30 15:05:18 11660 6

原创 Spring Cloud入门-Oauth2授权之JWT集成(Hoxton版本)

文章目录摘要JWT简介JWT的组成JWT实例创建oauth2-jwt-server模块oauth2中存储令牌的方式使用Redis存储令牌使用JWT存储令牌扩展JWT中存储的内容Java中解析JWT中的内容刷新令牌使用到的模块项目源码地址项目使用的Spring Cloud为Hoxton版本,Spring Boot为2.2.2.RELEASE版本摘要Spring Cloud Security...

2019-12-30 11:27:02 7717 2

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