自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MySQL 内核深度优化,java面试八股文汇总

1.主备DB间的复制优化[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1daZyWpk-1637470516839)(https://segmentfault.com/img/bVbcCFY?w=798&h=330 “clipboard.png”)]问题分析如上图所示,在原生MySQL的复制架构中,Master侧通过Dump线程不断发送Binlog事件给Slave的I/O线程,Slave的I/O线程在接受到Binlog事件后,有两个主要的动作:写入到Rel

2021-11-21 12:55:33 613

原创 MyCat配置文件详解(二),靠着这份面试题跟答案

sqlMaxLimit当该属性设置为某个数值时,每次执行的SQL语句如果没有加上limit语句, MyCat也会自动在limit语句后面加上对应的数值 。也就是说, 如果设置了该值为100,则执行 select * from TB_TEST 与 select * from TB_TEST limit 100 是相同的效果 。所以在正常的使用中, 建立设置该值 , 这样就可以避免每次有过多的数据返回。2.子标签tabletable 标签 定义了MyCat中逻辑库schema下的逻辑表 , 所有需要.

2021-11-21 12:52:56 569

原创 Mybatis如何执行Select语句,你真的知道吗?,深入理解linux内核架构第一章

由于此篇文章是基于前两篇文章的基础之上,因此重复的内容不再详细赘述了。撸起袖子就是干二话不说,先来一张流程图,Mybatis六剑客,如下:上图中的这六剑客在前面两篇文章中已经介绍的非常清楚了,此处略过。为什么源码解析的每一篇文章中都要放一张这个流程图呢?因为Mybatis底层就是围绕着这六剑客展开的,我们需要从全局掌握Mybatis的源码究竟如何执行的。测试环境搭建举个栗子:根据用户id查询用户信息,Mapper定义如下:List selectList(@Param(“us.

2021-11-21 12:49:43 764

原创 MyBatis(三):StatementHandler,字节跳动基础架构高级工程师

MyBatis的执行流程Sqlsession (会话层面,门面模式)-》 Executor(执行器,模板方法,doQuery和query)-》 StatementHandler(JDBC处理器)JDBC分为三部分获取Statement,声明Statement设置Sql参数执行sql而StatementHandler其实也是去执行这三部分事情三部分对应关系一个SqlSession只有一个Executor,而StatementHandler则是根据执行的Sql数量决定,并且是要

2021-11-21 12:43:11 131

原创 Memcached集群的使用,美团架构师深入讲解Java开发

互不通信的Memcached之间具有分布特征 ;没有安全机制。这些特性其实就把memcached的有点缺全部说到了。本质上是一个内存的key-value缓存这个没什么好说的,这是nosql数据库的标准特点。协议简单,后面学了客户端的时候会了解,Redis是RESP协议,在RESP里面描述KEY的长度,KEY的值,VALUE的长度,VALUE的值,而在Memcached里面。呵呵哒,协议简单是简单,至于麻不麻烦后面学客户端同学们会有深刻的体会,在这先卖个关子。其他的,这就不做解释了,同学..

2021-11-21 12:39:59 617

原创 kubebuilder实战之八:知识点小记,深入分析解读MySQL锁,解决幻读问题

如果RealQPS的Tag中没有omitempty属性,会发生什么事情呢?实际上,在开发webhook之前,我一时大意漏掉了RealQPS的omitempty属性,但是整个controller可以正常工作,elasticweb的功能也达到了咱们的预期,也就是说status的字段如果没有omitempty属性,不影响operator的功能;但是,在启用了webhook之后,创建资源对象时就报错了:zhaoqin@zhaoqindeMBP-2 elasticweb % kubectl ap..

2021-11-21 12:37:16 118

原创 KS008基于SSM的新闻发布系统,zookeeper入门到精通

新闻信息新闻标记新闻评论新闻收藏新闻赞用户信息后台管理系统:![](https://img-blog.csdnimg.cn/20201218195403895.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,te《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》【docs.qq.com/doc/DSmxTbFJ1cmN1R2d..

2021-11-21 12:34:09 973

原创 K8s概述:几种集群方案的对比,应届生java开发面试

kube-dns:用Service向集群内部提供服务的Etcd:存储配置数据库。存储网络的配置信息和各种对象的状态和元信息配置kube-apiserver:k8s主节点的管理中心,整个集群的控制入口。它有助于各个组件之间的通信,从而保持集群的健康。kube-controller-manager:确保通过向上和向下扩展工作负载来使群集的期望状态与当前状态相匹配。kube-scheduler:将工作负载放置在适当的节点上。Kubelet:从API服务器接收pod规范并管理在主机..

2021-11-21 12:31:43 183

原创 JWT,springboot整合JWT完成token的验证,token的使用,java架构师技术栈

/**@author dugt1998@163.com@date 2020/11/8 12:40*/public class JWTUtils {//签名 自己项目中的签名private static final String SIGN = “token!@19weawe2r24@#$@%!wewa98du”;/**生成token@param claim 传入的payload@return*/public static String getToken(M

2021-11-21 12:28:29 584

原创 SpringBoot高级【异常处理的五种方式】

针对特定的异常做出不同的处理,我们可以通过@ExceptionHandle来处理实现,具体如下1.Controller/**@program: springboot-exception@description: 异常处理案例@author: 波波烤鸭@create: 2019-05-17 09:42*/@Controllerpublic class UserController {/**模拟 NullPointerException@return*/

2021-11-20 15:51:55 436

原创 SpringBoot配置全局的异常捕获 - 同时兼容web与ajax

/**ajax与uil访问异常都可以被拦截Title: errExceyion Description: @param request@param response@param e@return@throws Exception*/@ExceptionHandler(value= Exception.class)public Object errExceyion(HttpServletRequest request,HttpServletRe

2021-11-20 15:48:37 102

原创 springboot整合mybatis

org.mybatis.spring.bootmybatis-spring-boot-starter2.1.1三、无配置注解版============1、添加maven文件org.springframework.bootspring-boot-starter-data-jdbcorg.springframework.bootspring-boot-starter-weborg.mybatis.spring.bootmybatis-spring-boot-starter

2021-11-20 15:46:12 367

原创 SpringBoot整合JdbcTemplate

<?xml version="1.0" encoding="UTF-8"?><project xmlns=“http://maven.apache.org/POM/4.0.0” xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”xsi:schemaLocation=“http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd”>

2021-11-20 15:43:08 234

原创 SpringBoot2

八、Thymeleaf的默认参数配置九、源码对于Web项目来说,前后端分离模式是目前最为流行的,目前前端框架非常完善,前后端分离方案也非常成熟。前后端分离可以帮助Web类产品的开发团队更好的拆分任务,以及让开发人员更加聚焦在某一端的开发技术之上。但是据我了解,小部分中小型公司的管理后台前后端是不分离的,而在前后端不分的开发中,我们就会需要用到Thymeleaf。接下来,我们就来具体讲讲在Spring Boot应用中,如何使用Thymeleaf模板引擎开发Web页面类的应用。一、静态文件..

2021-11-20 15:37:27 86

原创 SpringBoot-RabbitMQ06-持久化和ACK确认机制

@Testpublic void contextLoads() throws Exception{int flag = 0;while(true){Thread.sleep(2000);sender.send("hello … "+flag++);}}}启动消费者和服务提供者当我们在15的时候关闭消费者,然后在启动消费者我们看情况。我们会发现在消费者下线的这段时间产生的消息并没有丢失autoDelete 属性@Queue: 当所有消费客户端连接断开后,是否自动删除队列tr

2021-11-20 15:34:32 1115

原创 SpringBoot+shiro+mybatis实现权限登录

SELECT p.* ,r.role_name FROM user u, role r, permission pWHERE username = #{username} AND u.role_id = r.id AND p.role_id = r.id;(2)DAO层:@Mapperpublic interface UserMapper {User queryUserByUsername(@Param(“username”) String username);...

2021-11-20 15:31:52 333

原创 Spring-MVC-核心调用流程

}进入processRequest方法所在类:org.springframework.web.servlet.FrameworkServletprotected final void processRequest(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {long startTime = System.currentTimeMillis();Th

2021-11-20 15:28:29 87

原创 SpringBoot整合Shiro(完整版),面试题分享

com.mcyspringboot-shiro0.0.1-SNAPSHOTspringboot-shiroDemo project for Spring Boot<java.version>1.8</java.version>org.springframework.bootspring-boot-starter-data-jpaorg.springframework.bootspring-boot-starter-thymeleaforg.spri

2021-11-19 15:45:12 545

原创 SpringBoot整合RabbitMQ实现数据同步,mysql数据库sql语句面试题

前言================================================================这篇文章主要介绍Rabbitmq的一个应用场景,以及如何使用SpringBoot进行整合。场景介绍==================================================================假设某个电商系统中有商品服务负责MySQL中商品的增删改查,同时还有搜索服务负责Elasticsearch实现商品的搜索,Elastics.

2021-11-19 15:42:41 538

原创 Springboot 整合ElasticSearch 常用的插入查询,模糊查询,范围查询

**/@Repositorypublic interface DogRepository extends ElasticsearchRepository<Dog, String> {}然后是service和 impl,新建DogService.java :import com.example.elastucsearchdemo.pojo.Dog;import java.util.List;/**@Author : JCccc@CreateTime : 2020/5/1

2021-11-19 15:39:46 1848

原创 Spring-boot使用logback实现日志配置,字节跳动架构师面试

因为日志实现,可能会有一些代码的优化和改动,避免影响用户在项目中的使用,使用日志门面这些统一的接口,假设在实现层代码做了更改,用户在项目中使用日志而调用的接口等等都是不会受影响的。常见的日志框架有哪些?在实际使用中,是选择一个抽象层的日志门面搭配一个底层日志实现来使用的。SpringBoot中默认选择的搭配是:slf4j+logback下面分别了解一下以上提到的各种门面和实现。**JCL:**最后一次版本更新停在了2014年,后来没有继续维护更新,一般不考虑选用。slf4j:这里提一下日志实现

2021-11-19 15:37:14 421

原创 Spring-Boot-与-Grails-3相结合可以完成什么?,你会的还只有初级工程师的技术吗

运行应用程序运行Grails应用程序最直接的方式是在命令行里使用grails工具的run-app命令:$ grails run-app就算一行代码都还没写,我们也能运行应用程序,在浏览器里进行访问。一旦应用程序启动,就可以在浏览器里访问http://localhost:8080。你应该能看到类似下图的页面。在Grails里运行应用程序要使用run-app命令,这种方式已经用了很多年,上个版本的Grails也是这样。Grails 3项目的Gradle说明里使用了Spring Boot的Gradle插

2021-11-19 15:33:59 271

原创 Spring Cloud:第二章:eureka服务发现,java基础入门第二版知识点总结

想要实现一个服务注册中心的功能非常简单,只需要在项目的启动类EurekaServerApplication上使用@EnableEurekaServer注解即可1 @EnableEurekaServer2 @SpringBootApplication3 public class EurekaServerApplication{45 public static void main(String[] args) {6 new SpringApplicationBuilde...

2021-11-19 15:30:36 112

原创 Spring Cloud入门-Consul服务注册发现与配置中心(Hoxton版本)

Consul是HashiCorp公司推出的开源软件,提供了微服务系统中的服务治理、配置中心、控制总线等功能。这些功能中的每一个都可以根据需要单独使用,也可以一起使用以构建全方位的服务网格,总之Consul提供了一种完整的服务网格解决方案。Spring Cloud Consul 具有如下特性:支持服务治理:Consul作为注册中心时,微服务中的应用可以向Consul注册自己,并且可以从Consul获取其他应用信息;支持客户端负责均衡:包括Ribbon和Spring Cloud LoadBala.

2021-11-19 15:27:23 526

原创 Shiro等权限管理框架本质很简单,一个注解+拦截器就可实现

测试类public class Apple {// 当只想给value赋值时,可以使用如下快捷方式// @FruitName(“apple”)// 当多个属性赋值时,必须采用key=value的形式@FruitName(value = “apple”, alias = “iphone”)private String name;@FruitColor(fruitColor = Color.RED)private String color;public static void main(Str

2021-11-19 15:24:48 93

原创 Quartz简介,java从入门到精通百度云

Quartz 是 OpenSymphony 开源组织在任务调度领域的一个开源项目,完全基于 Java 实现。该项目于 2009 年被 Terracotta 收购,目前是 Terracotta 旗下的一个项目。官网地址:http://www.quartz-scheduler.org/使用场景持久性任务 - 就是保持调度定时的状态;任务管理 - 对调度任务进行有效的管理;当遇到以下问题时:自动关闭30分钟未支付的订单与第三方公司对账业务数据统计,比如博客系统统计日粉丝数,日

2021-11-19 15:21:28 120

原创 OpenJDK8 编译与调试,java大数据量处理面试题

3.Jdk7下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.htmlOpenjdk下载地址:https://download.java.net/openjdk/jdk8/promoted/b132/openjdk-8-src-b132-03_mar_2014.ziphttp://hg.openjdk.java.net/jdk8u/4.Vs code下载&安装https://vscode.cdn.az

2021-11-19 15:18:11 409

原创 MySql优化,互联网java工程师面试题

ON A.key1 = B.key2;左表和右表的共有部分+左表的全部,即左连接SELECT filedsFROM TableA AS ALEFT JOIN TableB AS BON A.key1 = B.key2;左表和右表的共有部分+右表的全部,即右连接SELECT filedsFROM TableA AS ARIGHT JOIN TableB AS BON A.key1 = B.key2;左表独有的部分SELECT filedsFROM TableA AS A

2021-11-18 12:21:10 533

原创 mysql 存储过程按日期循环插入,2021Java大厂高频面试题

3、存储过程中的变量名不区分大小写。SET FOREIGN_KEY_CHECKS=0;– Procedure structure for insert_stock_n_oneDROP PROCEDURE IF EXISTS insert_stock_n_one;DELIMITER ;;CREATE DEFINER=root@% PROCEDURE insert_stock_n_one()BEGIN– 定义开始循环时间变量DECLARE nowdate date DEFAULT NOW()

2021-11-18 12:18:39 122

原创 MyBatis下载和环境搭建,java分布式架构的书

![在这里插入图片描述](https://img-bl【一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义】开源分享完整内容戳这里og.csdnimg.cn/f0f21b4ac3464f76b4bb12a1dfec6a74.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzMxNzYyNzQx,size_

2021-11-18 12:15:45 251

原创 mongodb分片集群,你会了么,java教程视频百度传课

权限控制整合 springboot我们这次的整体要完成搭建的结构如下,和我们正式环境使用的算是非常接近啦。功能需求:搭建MongoDB分片集群,具体要求如下:1、配置节点集群(17011,17013,17015)2、搭建一个分片集群,要求每个分片节点中的复制集含有一个仲裁节点。分片节点1:37011,37013,37015,37017(仲裁节点)分片节点2:47011,47013,47015,47017(仲裁节点)分片节点3:57011,57013,57015,57017(仲裁..

2021-11-18 12:13:13 320

原创 MongoDB分片原理篇,springboot线程池原理

存储容量需求超出单机磁盘容量活跃的数据集超出单机内存容量,导致很多请求都要从磁盘读取数据,影响性能写IOPS超出单个MongoDB节点的写服务能力分片技术,使得集合中的数据分散到多个分片集中。使得MongoDB具备横向的发展。Sharded cluster 分片架构Sharded cluster由Shard、Mongos和Config server 3个组件构成。Mongos是Sharded cluster的访问入口,Mongos本身并不持久化数据,Sharded.

2021-11-18 12:09:57 552

原创 Maven远程仓库的配置和部署,java进阶训练营百度网盘

JBoss Repositoryhttp://repository.jboss.com/maven2/truedailyfalsewarndefaultrepository:在repositories元素下,可以使用repository子元素声明一个或者多个远程仓库。id:仓库声明的唯一id,尤其需要注意的是,Maven自带的中央仓库使用的id为central,如果其他仓库声明也使用该id,就会覆盖中央仓库的配置。name:仓库的名称,让我们直观方便的知道仓库是哪个

2021-11-18 12:06:35 961

原创 MapReduce切片机制,java特效视频

官网地址:http://hadoop.apache.org/docs/stable/hadoop-mapreduce-client/hadoop-mapreduce-client-core/mapred-default.xmlmapreduce.job.split.metainfo.maxsize 10000000mapreduce.input.fileinputformat.split.minsize 02. 源码查看![在这里插入图片描述](https://img-blog.csdni

2021-11-18 12:03:21 77

原创 KubeNode:阿里巴巴云原生 容器基础设施运维实践,一个Java应届生从上海离职

================================================================================在阿里巴巴的场景下,做节点运维面临的挑战主要来自于这几个方面:规模、复杂性、稳定性。首先是规模大。从 18 年第一个集群的搭建,到现在线上共运行着数百个 ASI 集群、数十万个节点,其中单集群的节点数最多有超过1万台。在这之上,运行着阿里巴巴集团数万个不同的应用,比如,大家熟知的淘宝、天猫等,总容器实例数有数百万规模。ASI 是指 Alibab

2021-11-18 12:00:46 109

原创 JVM知识梳理,java分层架构

首先,回收前我们必须确定那些对象可以回收、哪些不能回收,哪些暂时不能回收!这就用到判断对象是否存活的算法引用计数法( Reference Counting):这个方法JAVA现在不使用, 原理:在每个对象里面都加一个计数器,当对象被引用时计数器 + 1 引用失效的时候 -1 计数器为 0 的对象就是“已死” 的 对象 缺点就是无法解决对象之间相互循环引用的问题!可达性分析算法:从GC ROOT 到这个对象不可达时,则证明这个对象是不能再+使用的。可作为GC ROOT 的对象有以下几种:

2021-11-18 11:57:26 81

原创 Java开发手册之单元测试,java面试数据库试题

I:Independent(独立性)R:Repeatable(可重复)【强制】单元测试应该是全自动执行的,并且非交互式的。测试框架通常是定期执行的,执行过程必须完全自动化才有意义。输出结果需要人工检查的测试不是一个好的单元测试。单元测试中不准使用System.out来进行人肉验证,必须使用assert来验证。【强制】保持单元测试的独立性。为了保证单元测试稳定可靠且便于维护,单元测试用例之间决不能互相调用【一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义】

2021-11-17 15:57:17 203

原创 Java并发(十一):读写锁,Java面试必备的集合源码详解

特性ReentrantReadWriteLock支持非公平和公平的获取锁方式,吞吐量依然是非公平优于公平,并且默认的方式是非公平ReentrantReadWriteLock支持可重入,当读线程获取了读锁之后,其能继续去获得读锁;当写线程获得了写锁之后,其能继续去获得写锁,也能去获得读锁(写线程能自己读,但其他线程不能读,也不能写)支持锁降级,当获取了写锁、再获取读锁,之后释放了写锁之后,会自动降级为读锁使用方法使用的方法也比较简单,对于读写锁都是创建一个ReentrantR

2021-11-17 15:54:22 304

原创 java并发容器ConcurrentHashMap源码分析,springboot入门最详细教程

Creates a new, empty map with the specified initialcapacity, load factor and concurrency level.@param initialCapacity the initial capacity. The implementationperforms internal sizing to accommodate this many elements.@param loadFactor the l..

2021-11-17 15:51:50 235

原创 Java学习笔记——单元测试(JUnit框架,java大学实用教程第四版

return area;}}mathDemoTest类的代码package UnitDemo;import UnitDemo.mathDemo;import org.junit.*;import static org.junit.Assert.*;public class mathDemoTest {mathDemo m = new mathDemo();@BeforeClasspublic static void setUpClass(){System.out.println(“在

2021-11-17 15:45:12 156

空空如也

空空如也

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

TA关注的人

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