1.什么是缓存雪崩?怎么解决? 通常,我们会使用缓存用于缓冲对 DB 的冲击,如果缓存宕机,所有请求将直接打在 DB,造成 DB 宕机——从而导致整个系统宕机。 如何解决呢? 2 种策略(同时使用): 对缓存做高可用,防止缓存宕机 使用 断路器 ,如果缓存宕机,为了防止系统全部宕机,限制部分流量进入 DB,保证部分可用,其余的请求返回断路器的默认值。 2 ......
372
0
0
2023-06-08
简介 copy OnWriteArrayList是ArrayList的线程安全版本,内部也是通过数组实现,每次对数组的修改都完全拷贝一份新的数组来修改,修改完了再替换掉老数组,这样保证了只阻塞写操作,不阻塞读操作,实现读写分离。 继承体系 public class CopyOnWriteArrayList<E> implement ......
291
0
0
2023-06-08
一、结构化程序设计与面向对象1. 概述早期的编程语言如:C、Basic、Pascal等都是结构化编程语言。结构化程序设计的核心思想就是程序的开发采用自上而下的设计(称为瀑布模式)。对于大型的应用来说,采用函数和库的方式来对代码进行管理。 而C++、 java 、C#、Ruby等都是面向对象的编程语言,将现实世界采用类、对象的概念进行建模。 2. 结构化程序 ......
270
0
0
2023-06-08
使用 java 操作 Neo4j 首先我们先使用原生的这种方式,导入 jar 包,然后: public class TestController { public static void main(String[] args) { Driver driver = GraphDatabase.driver("bol ......
224
0
0
2023-06-08
本文对常见的排序算法进行了总结,常见排序算法如下:直接插入排序希尔排序简单选择排序堆排序冒泡排序快速排序归并排序基数排序它们都属于内部排序,也就是只考虑数据量较小仅需要使用内存的排序算法,他们之间关系如下:稳定与非稳定 :如果一个排序算法能够保留数组中重复元素的相对位置则可以被称为是 稳定 的。反之,则是 非稳定 的。直接插入排序基本思想 通常人们整理桥 ......
241
0
0
2023-06-08
在本文中,我们将通过示例了解Java Lambda表达式 以及lambda表达式在函数接口、通用函数接口和流API中的使用。 lambda表达式是在Java8中首次引入的。它的主要目标是提高语言的表达能力。 但是,在进入lambdas之前,我们首先需要了解功能接口。 什么是Functional Interface? 如果 Java接口 包含一个 ......
335
0
0
2023-06-08
随着 JDK 1.8 Streams API 的发布,使得 HashMap 拥有了更多的遍历的方式,但应该选择那种遍历方式?反而成了一个问题。本文 先从 HashMap 的遍历方法讲起,然后再从性能、原理以及安全性等方面,来分析 HashMap 各种遍历方式的优势与不足 ,本文主要内容如下图所示: HashMap 遍历HashMap 遍历从大的方向来说,可分 ......
281
0
0
2023-06-08
现在关于Java面试的资料是层出不穷,对于 选择困难症 的同学来说,无疑是陷入了一次次的抉择与不安中,担心错过了关键内容,现在小曾哥秉持着”融百家之所长,汇精辟之文档”的思想,整理一下目前主流的一些八股文,以达到1+1 > 2 的效果! 文章目录基础概念1、什么是DB?DBMS? DBS ?DBA? 上面名词傻傻分不清,一问搞定 数据库 : ......
245
0
0
2023-06-08
前言多线程的异步执行方式,虽然能够最大限度发挥多核计算机的计算能力,但是如果不加控制,反而会对系统造成负担。线程本身也要占用内存空间,大量的线程会占用内存资源并且可能会导致Out of Memory。即便没有这样的情况,大量的线程回收也会给GC带来很大的压力。 为了避免重复的创建线程,线程池的出现可以让线程进行复用。通俗点讲,当有工作来,就会向线程池拿一个线 ......
256
0
0
2023-06-08
大家好,我是鱼皮。 处理 Excel 表格是开发中经常遇到的需求,比如表格合并、筛选表格中的某些行列、修改单元格数据等。 今天给大家分享一个 Java 处理表格的工具库,不需要任何专业知识,拿来就能用,快速又轻松~ 可能有同学说了,用 Python 处理表格不是更方便么?为毛用 Java 啊? 当然是因为企业中大部分后台开发用的都是 ......
223
0
0
2023-06-08
目录idea spring Initializr创建项目勾选项目所需要的依赖整体项目结构创建User实体类放入Enity下创建通用返回的结果类创建controller创建service层创建Mapper / Dao层邮箱验证码、生成Token总结idea spring Initializr创建项目勾选项目所需要的依赖pom.xml文件会加载勾选的依赖,也可以 ......
262
0
0
2023-06-08
目录前言ClassLoader的作用ClassLoader的种类如何实现双亲委派模式小测试前言我们的面试中经常会遇到关于ClassLoader的问题,但是我们的日常开发中又没有直接编写过ClassLoader相关的代码。对于小白新手来说,可能都不知道ClassLoader是用来干嘛的,它是如何在无形当中影响我们编写的代码的?ClassLoader的作用见名知 ......
227
0
0
2023-06-07
目录概览使用方法1. add | remove | element2. offer | poll | peek3. put | take4. offer | poll (timeout)源码解析说明队列容器关键成员变量初始化put方法总结概览1. 基于链表的可选有界阻塞队列。根据FIFO的出入队顺序,从队列头部检索和获取元素,在队列尾部插入新元素。2. 当作 ......
291
0
0
2023-06-07
目录一、Spring缓存支持1、@Cacheable2、@CacheEvict3、@CachePut4、Caching5、CacheConfig二、Spring Boot缓存支持一、Spring缓存支持Spring框架定义了org.springframework.cache CacheManager和org.springframework.cache.Cac ......
274
0
0
2023-06-07
前言 java 集合框架的知识在Java基础阶段是极其重要的,我平时使用List、Set和Map集合时经常出错,常用方法还记不牢, 于是就编写这篇博客来完整的学习一下Java集合框架的知识,如有遗漏和错误,欢迎大家指出。 以下是我整理的大致Java集合框架内容,本篇博客就是围绕以下内容展开 1、集合概念 1.1、概念:对象的容器,定义了 ......
242
0
0
2023-06-07