自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Redis限流正确姿势指导指南,结尾附带Bug小惊喜,不要错过哦,2021大厂Java面试真题集锦

| — | — | — | — | — | — | — || 固定窗口 | 计数周期T、周期内最大访问数N | 低O(1)(记录周期内访问次数及周期开始时间 | 低O(1) | 否 | 否 | 低 || 滑动窗口 | 计数周期T、周期内最大访问数N | 高O(N)(记录每个小周期中的访问数量) | 中O(N) | 是 | 相对实现。滑动窗口的格子划分的越多,那么滑动窗口的滚动就越平滑 | 中 || 漏桶 | 漏桶流出速度r、漏桶容量N | 低O(1)(记录当前漏桶中容量) | 高O(N) | 是 |

2021-11-21 13:27:36 427

原创 Redis事务详述,java百度人脸识别

1、简介Redis类似大多数成熟的数据库系统一样,提供了事务机制。Redis的事务机制非常简单,它没有严格的事务模型,无法像关系型数据库一样保证操作的原子性。Redis事务最大的作用是保证多个指令的串行执行,它可以借助于Redis单线程读写的特性,保证Redis事务中的指令不会被事务外的指令打搅,不过要注意它不是原子性的。​完整事务案例:multi开启一个事务之后,所有指令都不执行,而是缓存到事务队列中,直到服务器接收到exec指令,才开始执行整个事务中的指令。事务全部指令执行完毕后,一次性返

2021-11-21 13:24:40 546

原创 redis之单机多节点集群,javaee教程网上购书系统

bind 192.168.40.1425.将redis-cluster/redis01文件复制5份到redis-cluster目录下(redis02-redis06),创建6个redis实例,模拟Redis集群的6个节点。然后将其余5个文件下的redis.conf里面的端口号分别修改为7002-7006。分别如下图所示:启动六个节点的redis./redis01/redis-server redis01/redis.conf./redis02/redis-server redis02/redis.

2021-11-21 13:21:55 919

原创 Redis(二十五):Sentinel—,完爆面试官

下面的命令可以启动sentinel服务器(具体怎么搭建,回看前一篇的单机搭建Sentinel)redis-sentinel /sentinel配置文件redis-server /sentinel配置文件 --sentinel当一个sentinel启动时,需要下面的几个步骤初始化哨兵服务器将普通Redis服务器使用的代码替换出Sentinel专用代码初始化sentinel状态根据配置文件,初始化Sentinel的监视主服务器列表创建连向主服务器的网络连接初始化Sent

2021-11-21 13:19:00 346

原创 Red5搭建直播平台,spring集成kafka的原理

public boolean appStart(IScope app){log.info(“oflaDemo appStart”);System.out.println(“oflaDemo appStart”);this.appScope = app;return true;}public boolean appConnect(IConnection conn, Object[] params){log.info(“oflaDemo appConnect”);measureBandwid

2021-11-21 13:16:20 1124

原创 quartz定时器的处理,Mycat和Mysql搭建高可用企业数据库集群

import com.nswi.entity.CgqCall;import com.nswi.entity.CgqType;import com.nswi.entity.CgqTypeDetails;import com.nswi.mapper.CgqTypeMapper;import com.nswi.mod.ModbusRtuMaster;import com.nswi.service.ICgqCallService;import com.nswi.service.ICgqTypeDetai

2021-11-21 13:12:58 173

原创 Nginx-详解其原理,kafka性能调优

多进程方式服务器每接收到一个客户端请求,就会由主进程生成一个子进程出来和该请求建立连接进行交互,直到连接断开以后子进程也就结束了优点在于各个子进程之间相互独立,各个客户端请求之间相互不受干扰。缺点是生成一个子进程需要进行内存复制、在资源和时间上会产生一定的额外开销。如果请求比较多的时候,会对系统资源造成一定的压力多线程方式多线程方式和多进程方式很相似,服务器每接收到一个客户端请求时,会产生一个线程与该客户端进行交互。而产生一个线程的开销比进程小很多,所以多线程的方式在一定程度上减轻了web服

2021-11-21 13:10:15 1168

原创 Netty之入门案例,linux教程第四版答案第五章

log4j.rootCategory=info, stdout , Rlog4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.layout=org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern=[QC] %p [%t] %C.%M(%L) | %m%nlog4j.appender.R=org.apache.

2021-11-21 13:07:00 735

原创 MySQL的启动选项和系统变量该如何配置?,张口就来

命令格式:启动命令 --启动选项1[=值1] --启动选项2[=值2] … --启动选项n[=值n]例如:mysqld --default-storage-engine=MyISAM //设置默认存储引擎错误例子:mysqld --default-storage-engine = MyISAM //设置默认存储引擎原因:因为启动项和值之间的等号不能有空格参数的长形式和短形式配置参数有长形式和短形式之分,有些作用是一样的,只是写法不同而已–host => -h //主机–por

2021-11-21 13:03:59 855

原创 MySQL-InnoDB-事务,java核心技术卷下载

update teacher set name =‘seven’ where id =1;insert teacher (name,age) value (‘james’,22);delete from teacher where name = ‘james’;COMMIT;ROLLBACK;/* 将autocommit改成OFF */set session autocommit = OFF;update teacher set name =‘seven’ where id =1;inser

2021-11-21 13:01:22 59

原创 Tomcat目录结构

temp目录Tomcat 服务器是一个免费的开放源代码的 Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试 JSP 程序的首选。十分有必要了解Tomcat目录结构。目录结构解压Tomcat后的目录结构如下图各目录及文件说明| 目录及文件 | 说明 || — | — || bin | 用于存放 Tomcat的启动、停止等批处理脚本和Shell脚本 || bin/startup. bat | 用于在 Windows下启动 Tom.

2021-11-20 16:24:19 76

原创 String 的常用方法总结

先看 String 的底层源码:public final class Stringimplements java.io.Serializable, Comparable, CharSequence {/** The value is used for character storage. */private final char value[];String 类代表字符串,字符串是常量 ,用双引号引起来表示。 它的值在创建之后不能更改 。由final修饰,代表不可变的字符序列 ;实现了

2021-11-20 16:21:31 98

原创 spring系列——Mybatis +Tomcat

Mybatis 缓存Mybatis 中有一级缓存和二级缓存,默认情况下一级缓存是开启的,而且是不能关闭的。一级缓存是指 SqlSession 级别的缓存,当在同一个 SqlSession 中进行相同的 SQL 语句查询时,第二次以后的查询不会从数据库查询,而是直接从缓存中获取,一级缓存最多缓存 1024 条 SQL。二级缓存是指可以跨 SqlSession 的缓存。是 mapper 级别的缓存,对于 mapper 级别的缓存不同的sqlsession 是可以共享的。Mybatis 的一级缓存原理(sq

2021-11-20 16:12:48 1030

原创 Spring的事务管理(特性、核心接口、并发问题

![在这里插入图片描述](https://img-【一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义】浏览器打开:qq.cn.hn/FTf 开源分享blog.csdnimg.cn/282bffff510841d994b004864023d41e.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ4MD

2021-11-20 16:09:54 259

原创 SpringMVC--返回不同类型的数据

//模拟从数据库中查询出User对象User user=new User();user.setUsername(“lll”);user.setPassword(“666”);user.setAge(20);//model对象model.addAttribute(“user”,user);return “success”;}success.jsp页面展示响应数据:注意配置isELIgnored="false"不忽略EL表达式<%@ page contentType=“text/htm

2021-11-20 16:04:06 334

原创 SpringCloud系列:4

我们就来试一试吧,继续之前的项目。在user-server中,我们引入Ribbon的依赖spring-cloud-starter-netflix-eureka-server。然后在RestTemplate对象上标注@LoadBalanced注解。RestTemplate对象用于提供服务间调用的功能,而@LoadBalanced注解则使得RestTemplate具有负载均衡的功能,该注解由Ribbon提供,其实现原理可以概括为下面4个步骤:(1)Ribbon首先根据其所在Zone优先选择一个负载较少的E

2021-11-20 16:00:44 411

原创 SpringCloud微服务架构之断路器,如何解决微服务中的雪崩效应?

图3.2 极端情况下的微服务网状调用示意图最常见的场景就是当负载过高时,如果某个服务的性能或抗压能力不好,那么当请求到这个服务时就需要等待或直接出现超时、不可用等情况。在图3.2中,一旦服务C出现问题,可能会影响服务A和服务B,虽然服务D、E、F并没有直接与服务C相互依赖,但是服务C导致了服务A和服务B的阻塞,就会间接地影响服务D、E、F,从而让整个系统变得缓慢或不可用,这就是微服务的雪崩效应。微服务调用都以远程调用为主,内存中调用和远程调用之间的一个重大区别是远程调用可能会失败,或者在达到某个超时限.

2021-11-20 15:57:31 670

原创 Tomcat对异步Servlet的支持,java架构设计书籍推荐

==========================================================================@WebServlet(urlPatterns = {"/async"}, asyncSupported = true)public class AsyncServlet extends HttpServlet {// Web应用线程池,用来处理异步ServletExecutorService executor = Executors.newSingle

2021-11-19 16:17:39 59

原创 Thread-start()-,它是怎么让线程启动的呢?,java免费视频教程下载

线程的启动会涉及到线程的生命周期状态(RUNNABLE),以及唤醒操作,所以最终会有回调操作。也就是调用我们的 run() 方法接下来,我们就开始逐步分析每一步源码的执行内容,从而了解线程启动过程。四、线程启动过程1. Thread start UML 图如图 19-2 是线程的启动过程时序图,整体的链路较长,会涉及到 JVM 的操作2. Java 层面 Thread 启动2.1 start() 方法new Thread(() -> {// todo}).start();/.

2021-11-19 16:15:00 268

原创 SSM整合,值得收藏

org.springframeworkspring-webmvc${spring.version} 3.mybatis以及spring整合mybatis相关jar包org.mybatismybatis3.4.5org.mybatismybatis-spring2.0.5 4.连接数据库相关jar包com.alibabadruid1.1.22mysqlmysql-connector-java5.1.47 5.日志相关jar包log4jlog..

2021-11-19 16:12:29 61

原创 Srping全注解开发---AOP模块,美团春招面试2021

}业务逻辑类//计算器类public class calculator{public int add(int i,int j){return i+j;}}在配置类中将切面类和业务逻辑类都加入到容器中切记给配置类上加上@EnableAspectJAutoProxy,开启基于注解的aop模式@EnableAspectJAutoProxy@Configurationpublic class MyConfig{@Beanpublic MyAspect myAspect()

2021-11-19 16:09:13 57

原创 Spring事务传播属性(面试),完美世界java面试

NOT_SUPPORTED以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。REQUIRES_NEW新建事务,如果当前存在事务,把当前事务挂起。如图所示:SUPPORTS支持当前事务,如果当前没有事务,就以非事务方式执行。NESTED支持当前事务,新增Savepoint点,也就是在进入子事务之前,父事务建立一个回滚点,与当前事务同步提交或回滚。 子事务是父事务的一部分,在父事务还未提交时,子事务一定没有提交。嵌套事务一个非常重要的概念就是内层事务依赖于外层事务。外层事.

2021-11-19 16:06:10 71

原创 springcloud入门实战:Feign+Ribbon实现客户端负载均衡

1.随机策略(RandomRule)RandomRule实现类从Provider服务列表清单中随机选择一个Provider服务实例,作为RPC请求的目标Provider。2.线性轮询策略(RoundRobinRule)RoundRobinRule和RandomRule相似,只是每次都取下一个Provider服务器。假设一共有5台Provider服务节点,使用线性轮询策略,第1次取第1台,第2次取第2台,第3次取第3台,以此类推。3.响应时间权重策略(WeightedResponseTimeRule)

2021-11-19 16:03:02 1256

原创 springboot项目搭建,查找一个User类信息,京东物流java面试流程

org.springframework.bootspring-boot-starter-parent1.4.3.RELEASE<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><java.version>1.7</java.version>org.springframework.bootspring-boot-starter-weborg.m...

2021-11-19 15:59:48 262

原创 springboot集成rabbitmq商品秒杀业务实战(流量削峰),面试官都被搞懵了

我们使用压力测试工具jweter对其进行并发性测试。二,springboot开始集成rabbitmq1,加入amqp的依赖org.springframework.amqpspring-rabbit【一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义】开源分享完整内容戳这里2,配置application.yml配置文件spring:datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl.

2021-11-19 15:56:36 1431

原创 SpringBoot通过OSS实现文件上传和下载(包括本地文件的上传和下载)

String upload(InputStream inputStream, String filePath, String ext) throws Exception;/**下载文件@param response@param filePath@param name@author zhangzhixiang@date 2018/10/17 10:59:43@return void*/void download(HttpServletResponse re

2021-11-19 15:53:54 880

原创 SpringBoot通过OSS实现大文件分片上传,mysql开发教程

String doesObjectExist(String ossKey);}4、Oss工具类实现代码/**@author zhangzhixiang on 2020/8/1*/@Servicepublic class OssServiceImpl implements OssService {private final static GLog LOG = LogFactory.getLogger(OssServiceImpl.class);@Autowiredprivate Oss

2021-11-19 15:51:06 736

原创 Redis:看完就比常人多会三种类型实战,可以拿去炫耀了,一个星期4轮面试终拿下offer

该类型只有六个命令,先简单介绍一下各命令的功能和关键参数:1.GEOADD:添加地理空间位置信息,即经纬度信息;GEOADD key 经度1 维度1 member1 [经度2 维度2 member2 …]2.GEODIST:获取指定位置之间的距离,默认单位为米;GEODIST key member1 member2 [单位]单位可以指定,如下几种:**m:**指定单位为米;**km:**指定单位为千米;**mi:**指定单位为英里;**ft:**指定单位为英尺;3.GEOHASH

2021-11-18 12:53:33 79

原创 Redis(三十五):集群,你有过迷茫吗

uint64_t currentEpoch;//这个数据也是记录配置纪元,只不过有些不同//如果这个是从节点,记录的是正在复制主节点的配置纪元//如果这个是主节点,记录的就是自己的配置纪元uint64_t configEpoch;//发送者的名字(ID)char sender[REDIS_CLUSTER_NAMELEN];//发送者目前的槽指派信息unsigned char myslots[REDIS_CLUSTER_SLOTS/8];//记录的是主节点名字//如果这个是从节点,那么这里

2021-11-18 12:50:54 68

原创 RBAC用户权限管理数据库设计,redis集群架构

角色是什么?可以理解为一定数量的权限的集合,权限的载体。例如:一个论坛系统,“超级管理员”、“版主”都是角色。版主可管理版内的帖子、可管理版内的用户等,这些是权限。要给某个用户授予这些权限,不需要直接将权限授予用户,可将“版主”这个角色赋予该用户。当用户的数量非常大时,要给系统每个用户逐一授权(授角色),是件非常烦琐的事情。这时,就需要给用户分组,每个用户组内有多个用户。除了可给用户授权外,还可以给用户组授权。这样一来,用户拥有的所有权限,就是用户个人拥有的权限与该用户所在用户组拥有的权限之和。(下图为.

2021-11-18 12:48:24 230

原创 poi-tl—一个超级好用开源的Word模板引擎,linux容器教程

2、官方介绍在文档的任何地方做任何事情(Do Anything Anywhere)是poi-tl的星辰大海。​2.1 poi-tl与其他word模板引擎的对比| 方案 | 移植性 | 功能性 | 易用性【一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义】开源分享完整内容戳这里|| — | — | — | — || Poi-tl | Java跨平台 | Word模板引擎 | 基于Apache POI,更友好的API || Apache POI | J

2021-11-18 12:45:11 1286 1

原创 NumPy学习笔记,微服务架构技术栈

版本操作系统:macOS Big Sur (11.6)Anaconda3:2021.05python:3.7.3Jupyter Notebook:5.7.8常规import numpy as pyprint(py.version)结果如下:用于生成array的数据源中如果有多种类型的元素,转成NumPy数组的时候,会统一成精度更高的元素NumPy数组有个dtype属性,用来描述数组中每个元素的类型:还可以强转:对于嵌套列表,转为NumPy数组后就是高维数组:

2021-11-18 12:42:08 610

原创 MySQL没有RowNum,那我该怎么按“行”查询或删除数据,rabbitmq入门到精通pdf下载

| 刘晓莉1 | 女 | 14 | 18班 | 9年级1 | 金希澈 || 陈哈哈2 | 男 | 15 | 18班 | 9年级2 | 上网 || 扈亚鹏2 | 男 | 15 | 18班 | 9年级2 | 美食 || 徐立楠2 | 女 | 14 | 18班 | 9年级2 | 阅读 || 陈子凝2 | 女 | 15 | 18班 | 9年级2 | 看电影 || 刘晓莉2 | 女

2021-11-18 12:27:04 760

原创 Java程序设计(高级及专题)- 正则表达式,快来收藏

| — | — || . | 匹配除换行符以外的任意字符 || \w | 匹配字母或数字或下划线或汉字 || \s | 匹配任意的空白符 || \d | 匹配数字 || ^ | 匹配字符串的开始 || $ | 匹配字符串的结束 || \b | 匹配字符串的结束 |重复| 代码/语法 | 说明 || — | — || * | 重复零次或更多次 || + | 重复一次或更多次 || ? | 重复零次或一次 || {n} | 重复n次 || {n,} | 重复n次或更多次 || {

2021-11-17 16:32:13 110

原创 Java程序员面试中最容易答错的8道面试题,你中坑了吗?

final 的作用从变量、方法、类三个方面来理解:final修饰的变量的值不能被修改,是一个常量;final修饰的方法不能被重写;final修饰的类不能被继承;2. 抽象类和接口的区别,类可以继承多个类吗,接口可以继承多个接口吗,类可以实现多个接口吗?抽象类和接口都不能直接实例化,如果要实例化,抽象类变量必须指向实现所有抽象方法的子类对象,接口变量必须指向实现所有接口方法的类对象。抽象类要被子类继承,接口要被类实现。接口只能做方法声明,抽象类中可以做方法声明,也可以做方法实现

2021-11-17 16:29:34 74

原创 Java程序员经典面试题集大全(七),我的Java春季历程

1)程序忘记及时回收,从而导致内存泄露,降低系统性能。2)程序错误回收程序核心类库的内存,导致系统崩溃。Java语言不需要程序员直接控制内存回收,是由JRE在后台自动回收不再使用的内存,称为垃圾回收机制,简称GC;1)可以提高编程效率。2)保护程序的完整性。3)其开销影响性能。Java虚拟机必须跟踪程序中有用的对象,确定哪些是无用的。垃圾回收机制的特点1)垃圾回收机制回收JVM堆内存里的对象空间,不负责回收栈内存数据。2)对其他物理连接,比如数据库连接、输入流输出流、Socket连接无能为力

2021-11-17 16:27:03 259

原创 Java程序员必学知识:高并发+微服务+数据结构,伟易达java工程师面试

本书主要分为四部分,其中,第一部分主要阐述Thread的基础知识,详细介绍线程的API使用、线程安全、线程间数据通信以及如何保护共享资源等内容,它是深入学习多线程内容的基础。在第二部分中之所以引入ClassLoader,是因为ClassLoader与线程不无关系,我们可以通过syncthronized关键字,或者Lock等显式锁的方式在代码的编写阶段对共享资源进行数据一致性保护,那么一个Class在完成初始化的整个过程到最后在方法区(JDK8以后在元数据空间)其数据结构是怎样确保数据一致性的呢?这就需要对

2021-11-17 16:23:51 804

原创 Java架构师进阶之路:Java核心框架篇,2021最新腾讯Java面试分享

因为出去后才发现,人家要的是你有过真实复杂大型项目的经验,且这个项目最好是能支撑大量用户访问的高并发、高可用、分布式大型复杂系统。而你准备的,仅仅是大量的理论知识,远远不足以让你拿到所谓的架构师等高阶的职位。于是互联网行业内出现了这样的一个阶层固化:很多学历在大专~普通本科,常年在中小型公司工作的人,一直重复做着CRUD等技术含量很低的工作。公司就是没什么用户量,就是没什么技术挑战,你又能做出什么花样来呢?然后这些有上进心,不满足于现状的同学,自己平时看书、 看博客、学习名上的培训,却发现学习到的始终还

2021-11-17 16:20:47 501

原创 Java架构师必会的知识清单,如何让你技术上的提升面试时的丰收

JAVA多线程并发=============JAVA并发知识库JAVA线程实现/创建方式4种线程池线程生命周期(状态)终止线程4种方式sleep与wait 区别start与run区别JAVA后台线程JAVA锁线程基本方法4.1.11. 线程上下文切换同步锁与死锁线程池原理JAVA阻塞队列原理CyclicBarrier、CountDownLatch、Semaphore的用法volatile关键字的作用(变量可见性、禁止

2021-11-17 16:17:39 244

原创 Java智慧社区商业级别项目源码,拿来学习真不错,mysqlfront连接教程

测试环境基本要求:4个CPU 、16G内存和80G硬盘软件要求需要自行安装 mysql5.6、zookeeper、Redis和kafka需要启动 service-eureka、service-api、service-order、service-community、 service-store、service-user、service-front、service-fee、service-common和service-job项目结构说明java110-bean #存放实体bean Vo对象

2021-11-17 16:14:25 115

空空如也

空空如也

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

TA关注的人

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