logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

面试官:为什么有了平衡二叉树,还要选择红黑树这种数据结构?

首先讲解为什么要使用红黑树之前,有必要先了解二叉查找树和平衡二叉树,然后继续介绍红黑树,带着这个问题,让我们一起来学习今天的内容吧。二叉查找树二叉查找树的特点就是左子树的节点值比父亲节点小,而右子树的节点值比父亲节点大,如下图:二叉查找树中对于目标节点的查找过程类似于有序数组的二分查找,快速找到某个节点。n 个节点的二叉查找树,正常的情况下,查找的时间复杂度为 O(logn)。为什么说是正常的情况

文章图片
#数据结构#b树#java
Spring Boot 使用 CORS 解决跨域请求问题

对于前后端分离的项目来说,如果前端项目与后端项目部署在两个不同的域下,那么势必会引起跨域问题的出现。那什么是跨域呢?跨域指的是从一个域名去请求另外一个域名的资源。即跨域名请求,跨域时,浏览器不能执行其他域名网站的脚本,是由浏览器的 “同源策略” 造成的,是浏览器施加的安全限制。跨域的严格一点来说就是只要协议,域名,端口有任何一个的不同,就被当作是跨域。下面举个例子:判断下面 URL 是否和 htt

文章图片
#spring boot#java#前端
MyBatis 缓存原理解析

为什么 MyBatis要缓存缓存在互联网系统中是非常重要的, 其主要作用是将数据保存到内存中, 当用户查询数据时, 优先从缓存容器中获取数据,而不是频繁地从数据库中查询数据,从而提高查询性能。而在 ORM 框架中引入缓存的目的就是为了减少读取数据库的次数,从而提升查询的效率。在 MyBatis 中存在两种缓存,一个在事务内部使用的一级缓存,另一个可以全局使用的二级缓存。一级缓存一级缓存也叫本地缓存

文章图片
#java
支付金额使用 BigDecimal 会丢失精度问题

当我们在计算金额或者显示金额时,基本已经形成了常识,都会使用 BigDecimal 而不是其他的,这个也是涉及到金额时非常推荐的一个类型。而我们也都知道浮点型变量在进行计算的时候会出现丢失精度的问题。在我们使用 BigDecimal 的同时,是否知道也会丢失精度呢?接下来我们就一探究竟,从而在计算金额时更好使用 BigDecimal。下面我们看一段代码,如下所示:通过测试发现,当使用 double

文章图片
#java#开发语言
Spring 源码分析如何解决循环依赖的问题

前言在关于 Spring 的面试中,我们经常会被问到一个问题:Spring 是如何解决循环依赖的问题的。这是个高频的面试题,本文主要针对这个问题,从以下几个方面进行讲解:什么是循环依赖?什么情况下循环依赖可以被处理?Spring是如何解决的循环依赖?什么是循环依赖?循环依赖其实就是循环引用,也就是两个或则两个以上的对象互相依赖,最终形成一个闭环。比如 A 依赖于 B,B 依赖于 C,C又依赖于 A

文章图片
#spring#java#面试
Docker、Jenkins 结合 SonarQube 和 Sonar scanner 进行代码质量扫描

SonarQube是一个用于管理代码质量的开放平台,可以快速的定位代码中潜在的或者明显的错误。目前支持java,C#,C/C++,Python,PL/SQL,Cobol,JavaScrip,Groovy等二十几种编程语言的代码质量管理与检 测。官网地址:https://www.sonarqube.org/如果要使用 sonarQube 需要注意两点:安装地址:https://blog.csdn.n

文章图片
#docker#jenkins#java
Mybatis-Plus 注入 SQL 原理分析

MyBatis-Plus 是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。那么 MyBatis-Plus 是怎么加强的呢?其实就是封装好了一些 crud 方法,开发人员不需要再写 SQL 了,间接调用方法就可以获取到封装好的 SQL 语句。特性:下面我们先从一个简单的 demo 入手,来感受一下 MyBatis-plus 的便捷性。实体类

文章图片
#sql#intellij-idea#maven
实现 MySQL 主从复制配置

主从复制主要操作是让一台服务器 Master 的数据和其他服务器 Slave 保持同步。一台 Master 数据可以同步到多台备库 Slave 上,同时一台 Slave 本身也可以配置另外一台服务器的 Master,Master 库和Slave 库可以有多种不同的组合。在企业实际的开发中,后端 MySQL数据库只有一台的时候,会有以下问题:主从复制流程图:执行流程说明:192.168.2.125

正在运行的线程池,如何动态修改核心线程数?

下面我们来了解线程池的核心参数都有哪些?corePoolSize:表示核心线程池的大小。当提交一个任务时,如果当前核心线程池的线程个数没有达到 corePoolSize,则会创建新的线程来执行所提交的任务,即使当前核心线程池有空闲的线程。如果当前核心线程池的线程个数已经达到了 corePoolSize,则不再重新创建线程。如果调用了prestartCoreThread()或者 prestartAl

文章图片
#java#开发语言#后端
Kubernetes(K8s) 基本概念

K8s是Google在2014年开源的一个容器集群管理系统,简称K8SK8s用于容器化应用程序的部署,扩展和管理,目标是让部署容器化应用简单高效httphttps关于K8s相关组件的知识到此已讲解完,这只是根据我个人的理解所写,更加深入的大家可以自行去了解,基本上了解了个大概,下面我会根据所了解的搭建一个K8s集群环境,下一篇文章将会实现这个,大家可以参考操作一遍,加深对上面所说的理解。https

文章图片
#kubernetes#docker#容器
    共 50 条
  • 1
  • 2
  • 3
  • 4
  • 5
  • 请选择