两万字!多线程50问!两万字!多线程50问! 1、为什么要使用多线程 选择多线程的原因,就是因为快。举个例子: " 如果要把1000块砖搬到楼顶,假设到楼顶有几个电梯,你觉得用一个电梯搬运快,还是同时用几个电梯同时搬运快呢?这个电梯就可以理解为线程。" 所以,我们使用多线程就是因为: 在正确的场景下,设置恰当数目的线程,可以用来程提高序的运行速率。更专业点讲,就是充分地利用CPUMr.Dabao2023/5/9大约 60 分钟
MySQL索引,语法,索引规则,索引失效(十条规则)MySQL索引,语法,索引规则,索引失效(十条规则) 什么是索引: 1.概念 实质->根据索引字段排序后与行DB_ID组合而形成的索引表。 作用->合理设置索引,可以极大提高查询效率。 注意->索引是否启用,与搜索引擎规则相关,这些规则直接关系到SQL脚本逻辑顺序。 2.分类 3.原理 我理解的索引就是:有规则的查找,而非无章法的查找,给你所需要查找的事物排Mr.Dabao2023/5/6大约 9 分钟
大白话带你认识JVM大白话带你认识JVM 前言 如果在文中用词或者理解方面出现问题,欢迎指出。此文旨在提及而不深究,但会尽量效率地把知识点都抛出来 一、JVM的基本介绍 JVM 是 Java Virtual Machine 的缩写,它是一个虚构出来的计算机,一种规范。通过在实际的计算机上仿真模拟各类计算机功能实现··· 好,其实抛开这么专业的句子不说,就知道JVM其实就类似于一Mr.Dabao2023/5/6大约 30 分钟
浅谈一下CAS和ABA问题浅谈一下CAS和ABA问题 浅谈一下CAS和ABA问题 1 CAS概念 CAS(Compare And Swap)比较并交换,CAS 算法的过程是这样:它包含 3 个参数CAS(V,A,B)。V 表示要更新的变量(内存值),A 表示预期值,B 表示新值。当且仅当 V 值等于 A 值时,才会将 V 的值设为B,如果 V 值和 A 值不同,则说明已经有其他线程做Mr.Dabao2023/5/6大约 4 分钟
Git入门图文教程(1.5W字40图)🔥🔥--深入浅出、图文并茂Git入门图文教程(1.5W字40图)🔥🔥--深入浅出、图文并茂 01、认识一下Git!—简介 Git是当前最先进、最主流的分布式版本控制系统,免费、开源!核心能力就是版本控制。再具体一点,就是面向代码文件的版本控制,代码的任何修改历史都会被记录管理起来,意味着可以恢复到到以前的任意时刻状态。支持跨区域多人协作编辑,是团队项目开发的必备基础,所以Git也Mr.Dabao2023/4/18大约 43 分钟
Spring源码解析-Spring 循环依赖Spring源码解析-Spring 循环依赖 Spring源码解析简图: Spring 如何解决循环依赖,⽹上的资料很多,但是感觉写得好的极少,特别是源码解读⽅⾯,我就⾃⼰单独出⼀ 篇,这篇⽂章绝对肝! 文章目录: 一. 基础知识 1.1 什么是循环依赖 ? ⼀个或多个对象之间存在直接或间接的依赖关系,这种依赖关系构成⼀个环形调⽤,有下⾯ 3 种⽅式。 我们Mr.Dabao2023/4/18大约 9 分钟
SpringBoot应用整合ELK实现日志收集SpringBoot应用整合ELK实现日志收集 摘要 ELK即Elasticsearch、Logstash、Kibana,组合起来可以搭建线上日志系统,本文主要讲解使用ELK来收集SpringBoot应用产生的日志。 学习前需要了解的内容 开发者必备Docker命令; 使用Docker Compose部署SpringBoot应用; SpringBoot应Mr.Dabao2023/3/13大约 4 分钟
面试官:什么是双亲委派模型?面试官:什么是双亲委派模型? 参加过校招面试的同学,应该对这个问题不陌生。一般提问 JVM 知识点的时候,就会顺带问你双亲委派模型(别扭的翻译。。。)。 就算是不准备面试,学习双亲委派模型对于我们也非常有帮助。我们比较熟悉的 Tomcat 服务器为了实现 Web 应用的隔离,就自定义了类加载并打破了双亲委派模型。 这篇文章我会先介绍类加载器,再介绍双亲委派模Mr.Dabao2023/3/13大约 14 分钟
高并发下你还敢用ArrayList?过来看看CopyOnWriteArrayList吧!高并发下你还敢用ArrayList?过来看看CopyOnWriteArrayList吧! 一、ArrayList线程不安全 在Java的集合框架中,想必大家对ArrayList肯定不陌生,单线程的情况下使用它去做一些CRUD的操作是非常方便的,先来看看这个例子: 其输出结果就是与元素被添加进ArrayList的顺序一样,即: 但是到了多线程的情况下,ArraMr.Dabao2023/3/13大约 12 分钟
Git 提交规范Git 提交规范 1. 背景 Git 是目前世界上最先进的分布式版本控制系统,在我们平时的项目开发中已经广泛使用。而当我们使用Git提交代码时,都需要写Commit Message提交说明才能够正常提交。 然而,我们平时在编写提交说明时,通常会直接填写如"fix"或"bug"等不规范的说明,不规范的提交说明很难让人明白这次代码提交究竟是为了什么。而在工作中,Mr.Dabao2023/3/6大约 6 分钟