自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MQTT宝典

什么是MQTT协议MQTT(消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的“轻量级”通讯协议,该协议构建于TCP/IP协议上。MQTT最大优点在于,用极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。作为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用。特点MQTT是一个基于客户端-服务器的消息发布/订阅传输协议。MQTT协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛。

2023-08-14 22:30:32 387

原创 Netty宝典

I/O 模型简单的理解:就是用什么样的通道进行数据的发送和接收,很大程度上决定了程序通信的性能,Java共支持3种网络编程模型/IO模式:BIO、NIO、AIOJava BIO同步并阻塞(传统阻塞型),服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器端就需要启动一个线程进行处理,如果这个连接不做任何事情会造成不必要的线程开销,可以通过线程池机制改善。BIO方式适用于连接数目比较小且固定的架构,这种方式对服务器资源要求比较高,并发局限于应用中,JDK1.4以前的唯一选择,但程序简单易理解。

2023-08-11 11:20:02 376

原创 异步编排CompletableFuture

CompletableFuture由Java 8提供,是实现异步化的工具类,上手难度较低,且功能强大,支持通过函数式编程的方式对各类操作进行组合编排随着订单量的持续上升,美团外卖各系统服务面临的压力也越来越大。作为外卖链路的核心环节,商家端提供了商家接单、配送等一系列核心功能,业务对系统吞吐量的要求也越来越高。而商家端API服务是流量入口,所有商家端流量都会由其调度、聚合,对外面向商家提供功能接口,对内调度各个下游服务获取数据进行聚合,具有鲜明的I/O密集型(I/O Bound)特点。

2023-08-11 11:18:12 385

原创 编写第三方接口供别人调用时,如何保证安全性

其中,name和relation用来保存调用方的相关信息;app_id,app_secret,aes_key,iv可通过。用来保存加密的秘钥等消息,第三方可通过某一条数据进行接口的调用。

2023-05-15 11:21:14 351 1

原创 百度AI接口对接

百度ai接口对接

2023-03-11 14:25:22 1185

原创 Kafka宝典

kafka学习笔记

2023-02-22 16:03:44 346

原创 Redis宝典

redis

2022-12-16 16:33:37 1646 5

原创 一文学会Canal怎么用

canal-server canal-admin canal-adapter

2022-12-01 11:09:07 903

原创 FastDfs快速入门

fastdfs

2022-10-25 22:57:54 1506 1

原创 数据库中间件

shardingjdbc

2022-10-21 21:27:28 1010

原创 杂七杂八~~

笔记

2022-09-27 14:05:47 169

原创 Stream流

stream

2022-09-23 14:10:12 300

原创 xxl-job+rabbitmq 进行定时的微信消息推送

微信定时推送

2022-09-16 23:05:11 2974 1

原创 Docker高级宝典

docker 高级

2022-01-14 00:26:13 900

原创 Docker初级宝典

docker入门初级

2022-01-11 10:20:13 677

原创 十大排序算法

排序算法

2021-07-27 00:24:40 135

原创 Java集合

文章目录一.集合框架体系二.Collection 接口和常用方法1.Collection 接口实现类的特点2.Collection 接口常用方法,以实现子类 ArrayList 来演示3.Collection 接口遍历元素方式 1-使用 Iterator(迭代器)4.Collection 接口遍历对象方式 2-for 循环增强三.List 接口和常用方法1.List 接口基本介绍2.List 接口的常用方法3.List 的三种遍历方式 [ArrayList, LinkedList,Vector]4.Arra

2021-05-26 11:02:46 326 2

原创 SpringMVC面试题

Spring MVC面试题

2021-04-30 18:22:03 126

原创 MySQL面试题

文章目录1.数据库三大范式是什么2.MySQL存储引擎3.MyISAM与InnoDB区别4.InnoDB引擎的4大特性5.存储引擎选择6.什么是索引?7.索引有哪些优缺点?8.索引有哪几种类型?9.索引的数据结构(b树,hash)10.索引的基本原理11.索引算法有哪些?12.创建索引的原则(重中之重)13.B树和B+树的区别14.使用B树的好处15.使用B+树的好处16.Hash索引和B+树所有有什么区别或者说优劣呢?17.数据库为什么使用B+树而不是B树18.什么是聚簇索引?19.何时使用聚簇索引与非聚

2021-04-30 18:21:43 465

原创 Spring面试题

文章目录1.什么是Spring框架,Spring框架有哪些主要模块?2.什么是控制反转(IoC),什么是依赖注入?3.在java中依赖注入有哪些方式?4.BeanFactory和ApplicationContext有什么区别?5.Spring提供几种配置方式来设置元数据6.如何使用XML配置方式配置Spring7.怎样用注解的方式配置Spring8.请解释Spring Bean的生命周期9.Spring Bean作用域的区别是什么10.Spring中的单例Bean是线程安全的吗11.请举例说明如何在Spri

2021-04-30 18:20:32 188

原创 Spring Boot面试题

Spring Boot

2021-04-30 18:19:57 194

原创 Spring Cloud面试题

Spring Cloud

2021-04-30 18:19:30 123

原创 Mybatis/MybatisPlus面试题

文章目录1.MyBatis是什么?2.ORM是什么3.为什么说Mybatis是半自动ORM映射工具?它与全自动的区别在哪里?4.传统JDBC开发存在的问题5.JDBC编程有哪些不足之处,MyBatis是如何解决这些问题的?6.Hibernate 和 MyBatis 的区别7.MyBatis编程步骤是什么样的?8.请说说MyBatis的工作原理9.Mybatis都有哪些Executor执行器?它们之间的区别是什么?10.Mybatis是否支持延迟加载?如果支持,它的实现原理是什么?11.在mapper中如何传

2021-04-30 18:19:01 2475

原创 Java集合面试题

文章目录1.常用的集合类有哪些?2.List,Set,Map三者的区别?3.集合框架底层数据结构4.Java集合的快速失败机制 “fail-fast”?5.说一下 ArrayList 的优缺点6.如何实现数组和 List 之间的转换?7.ArrayList 和 LinkedList 的区别是什么?8.ArrayList 和 Vector 的区别是什么?9.插入数据时,ArrayList、LinkedList、Vector谁速度较快?阐述 ArrayList、Vector、LinkedList 的存储性能和特

2021-04-30 18:18:02 121

原创 计算机网络面试题

计算机网络

2021-04-30 18:17:32 106

原创 redis面试题

文章目录1.什么是Redis2.Redis有哪些优缺点3.为什么要用 Redis /为什么要用缓存4.Redis为什么这么快5.Redis有哪些数据类型6.Redis的应用场景7.什么是Redis持久化?8.Redis 的持久化机制是什么?各自的优缺点?RDBAOF优缺点是什么?9.如何选择合适的持久化方式10.Redis持久化数据和缓存怎么做扩容?11.Redis的过期键的删除策略12.Redis key的过期时间和永久有效分别怎么设置?13.我们知道通过expire来设置key 的过期时间,那么对过期的

2021-04-30 18:16:55 107

原创 java基础面试题

Java基础面试题

2021-04-30 18:16:29 157

原创 Linux面试题

Linux

2021-04-30 18:15:57 78

原创 zookeeper面试题

ZooKeeper

2021-04-30 18:15:29 159

原创 Elasticsearch 面试题

Elasticsearch

2021-04-30 18:15:10 121

原创 RabbitMQ 面试题

文章目录1.消息队列有什么优缺点?2.MQ 有哪些常见问题?如何解决这些问题?3.rabbitmq 的使用场景4.RabbitMQ基本概念5.RabbitMQ的工作模式一.simple模式(即最简单的收发模式)二.work工作模式(资源的竞争)三.publish/subscribe发布订阅(共享资源)四.routing路由模式五.topic 主题模式(路由模式的一种)6.如何保证RabbitMQ消息的顺序性?7.消息如何分发?8.消息怎么路由?9.消息基于什么传输?10.如何保证消息不被重复消费?或者说,如

2021-04-30 18:13:47 101

原创 nginx负载均衡面试题

Nginx

2021-04-30 18:13:03 1627

原创 git面试题

文章目录1.列举工作中常用的几个git命令?2.提交时发生冲突,你能解释冲突是如何产生的吗?你是如何解决的?3.如果本次提交误操作,如何撤销?4.你使用过git stash命令吗?你一般什么情况下会使用它?5.如何查看分支提交的历史记录?查看某个文件的历史记录呢?6.能不能说一下git fetch和git pull命令之间的区别?7.使用过git merge和git rebase吗?它们之间有什么区别?8.使用过git merge和git rebase吗?它们之间有什么区别?9.能说一下git系统中HEAD

2021-04-30 18:12:29 86

原创 JUC并发编程面试题

文章目录1. 并行和并发有什么区别?2. 线程和进程的基本概念、线程的基本状态以及状态之间的关系?3.守护线程是什么?4.创建线程有哪几种方式?5. sleep() 和 wait() 有什么区别?6.线程的 run() 和 start() 有什么区别?7.创建线程池有哪几种方式?8.在 Java 程序中怎么保证多线程的运行安全?9.什么是死锁?怎么防止死锁?10.synchronized 和 volatile 的区别是什么?11.synchronized 和 Lock 有什么区别?12.synchroniz

2021-04-06 16:11:19 2490 1

原创 最全JVM面试题

文章目录1.说一下 JVM 的主要组成部分及组成部分的作用?2.说一下 JVM 的作用?3.深拷贝和浅拷贝4.说一下堆栈的区别?5.队列和栈是什么?有什么区别?1.说一下 JVM 的主要组成部分及组成部分的作用?方法区和堆是所有线程共享的内存区域;而java栈、本地方法栈和程序员计数器是运行是线程私有的内存区域,运行时数据区域就是我们常说的JVM的内存。类加载子系统:根据给定的全限定名类名(如:java.lang.Object)来装载class文件到运行时数据区中的方法区中。Java堆

2021-03-31 13:14:03 15136 5

转载 JVM—9—Class文件结构

一.字节码文件的跨平台性1.Java语言:跨平台的语言(write once,run anywhere)当Java源代码成功编译成字节码后,如果想在不同的平台上面运行,则无须再次编译。这个优势不再那么吸引人了,Python、PHP、Perl、Ruby、Lisp等有强大的解释器。跨平台似乎已经快成为一门语言必选的特性。2.Java虚拟机:跨语言的平台Java虚拟机不和包括Java在内的任何语言绑定,它只与“Class文件”这种特定的二进制文件格所关联。无论使用何种语言进行软件开发,只要能将源

2021-03-27 10:30:18 146

转载 JVM—8—垃圾回收器

垃圾回收器GC分类与性能指标垃圾收集器没有在规范中进行过多的规定,可以由不同的厂商、不同版本的JVM来实现。由于JDK的版本处于高速迭代过程中,因此Java发展至今已经衍生了众多的GC版本。从不同角度分析垃圾收集器,可以将GC分为不同的类型。Java不同版本新特性语法层面:Lambda表达式、switch、自动拆箱装箱、enumAPI层面:Stream API、新的日期时间、Optional、String、集合框架底层优化:JVM优化、GC的变化、元空间、静态域、字符串常量池位置变化

2021-03-23 22:05:19 990

转载 JVM—7—垃圾回收概述及相关算法

一.垃圾回收概述1.概念这次我们主要关注的是黄色部分,内存的分配与回收2.什么是垃圾在提到什么是垃圾之前,我们先看下面一张图从上图我们可以很明确的知道,Java 和 C++语言的区别,就在于垃圾收集技术和内存动态分配上,C语言没有垃圾收集技术,需要我们手动的收集。垃圾收集,不是Java语言的伴生产物。早在1960年,第一门开始使用内存动态分配和垃圾收集技术的Lisp语言诞生。关于垃圾收集有三个经典问题:哪些内存需要回收?什么时候回收?如何回收?垃圾收集机制是Java的招牌能力,

2021-03-22 12:20:57 279

原创 JVM—6—直接内存,执行引擎,StringTable

一.对象实例化内存布局与访问定位1.对象实例化1.1 面试题对象在JVM中是怎么存储的?对象头信息里面有哪些东西?Java对象头有什么?从对象创建的方式 和 步骤开始说1.2 对象创建方式new:最常见的方式、单例类中调用getInstance的静态类方法,XXXFactory的静态方法Class的newInstance方法:在JDK9里面被标记为过时的方法,因为只能调用空参构造器Constructor的newInstance(XXX):反射的方式,可以调用空参的,或者带参的构造

2021-03-21 11:09:23 138

原创 JVM—5—堆,方法区

文章目录一.堆的核心概念1.前言2.堆内存细分二.设置堆内存大小与OOM1.前言2.OutOfMemory举例三.年轻代与老年代四.图解对象分配过程1.概念2.图解过程3.思考:幸存区区满了后?4.对象分配的特殊情况5.代码演示对象分配过程6.常用的调优工具7.总结五.Minor GC,MajorGC、Full GC1.前言2.Minor GC3.Major GC4.Full GC5.GC 举例六.堆空间分代思想七.内存分配策略八.为对象分配内存:TLAB1.问题:堆空间都是共享的么?2.为什么有TLAB?

2021-03-20 00:23:37 382

空空如也

空空如也

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

TA关注的人

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