随笔分类 - 学习
日常学习学习相关
摘要:JUC学习-8-SpringBoot2.7x启动流程中Tomcat的阻塞轮询机制分析-await/sleep 步骤一、启动类 @SpringBootApplication public class RuoYiApplication { public static void main(String[]
阅读全文
摘要:JUC学习-8-SpringBoot2.7x启动流程中Tomcat的阻塞轮询机制分析-await/sleep 步骤一、启动类 @SpringBootApplication public class RuoYiApplication { public static void main(String[]
阅读全文
摘要:JUC学习-7-浅谈start和run 一、调用流程: 通过执行thread.start() -> 底层执行本地方法 -> 通过C / C++ 调用操作系统开启线程 -> 通过JVM回调run()方法。 二、start()方法和run()方法的区别 2.1、类型 run()方法是同步执行的 star
阅读全文
摘要:JUC学习-6-浅谈线程原理及相关JVM源码解读 JAVA线程实现原理 // 实现runnable接口 public class MyRunnable implements Runnable { @Override public void run() { } } // 集成Thread类 class
阅读全文
摘要:利用TortoiseHg下载jdk8源码和JVM源码(HotSpot等...) 一、安装TortoiseHg工具 官网下载 或者 通过网盘分享的文件:tortoisehg-7.0.1-x64.msi 链接: https://pan.baidu.com/s/1CYXOaUQIorSFDCViisCaT
阅读全文
摘要:JUC学习-5-上下文切换 一、提高并发: 由于现在大多数的计算机都是多核CPU,多线程往往会比单线程更快,更能够提高并发。但提高并发并不意味着启动更多的线程来执行。更多的线程意味着线程创建销毁开销加大,上下文非常频繁,程序反而不能支持更高的TPS(Transactions Per Second 指
阅读全文
摘要:JUC学习-4-浅谈CPU核心数和线程数的关系 一、概念: 目前市场上主流的CPU都是多核的,线程是CPU调度的最小单位。同一时刻,一个CPU核心只能运行一个线程,也就是CPU内核和同时运行的线程数是1:1的关系,也就是说8核的CPU同时可以执行8个线程的代码。但Intel引入超线程技术后,产生了逻
阅读全文
摘要:JUC学习-JUC介绍 JUC是java.util.concurrent包的缩写。包结构如下,说白了就是并发场景进行多线程编程 的工具类 JUC就是在并发场景下,怎么让程序尽量通过有限的硬件,高效的处理请求,并且保证程序的“线程安全”,提升服务器的吞吐量
阅读全文
摘要:JUC学习-进程、线程、纤程(协程)基本概念 一、什么是进程: 官方说法: 在操作系统中,进程是基本的资源分配单位,操作系统通过进程来管理计算机的资源,如CPU、内存、磁盘等。每个进程都会有一个唯一的进程标识符(PID),用于区分不同的进程。 通俗说法: 可以看作是正在执行的程序 如QQ.exe 例
阅读全文
摘要:题目 三角形类型 给你一个下标从 0 开始长度为 3 的整数数组 nums ,需要用它们来构造三角形。 如果一个三角形的所有边长度相等,那么这个三角形称为 equilateral 。 如果一个三角形恰好有两条边长度相等,那么这个三角形称为 isosceles 。 如果一个三角形三条边的长度互不相同,
阅读全文
摘要:Redis-Centos安装Redis6.2.4 一、下载安装包 Redis下载地址 或者: 通过网盘分享的文件:redis-6.2.4.tar.gz 链接: https://pan.baidu.com/s/1LxNqyWWVhi7TGE7X48zMaw?pwd=sky1 提取码: sky1 二、上
阅读全文
摘要:学习-VUE-vue常见面试题 Q:如何找到根组件 A:this.$root Q:如何封装组件 A:slot插槽 和 组件见通信... Q:VUE的路由模式和区别 A: 路由模式两种: history、 hash 区别: 1、关于找不到当前页面发送请求的问题: history会给后端发送一次请求,而
阅读全文
摘要:keepAlive的作用 keep-alive 的作用:缓存当前组件 如果使用了keep-alive组件,当前的组件会增加两个额外的声明周期 (系统8 + 2) activated deactivated 如果当前组件加入了keep-alive,第一次进入这个组件会执行5个声明周期 beforeCr
阅读全文
摘要:学习-Vue-vue组件通信方式 一、父传子 1、单项绑定,通过props方式获取父组件数据 1、 父组件直接单向绑定 子组件通过props方式进行接收 缺点:无法做到父组件直接传给孙子辈分组件 父组件: <h1>this is Home <h1> <hr /> <List :str1 = 'str
阅读全文
摘要:一、JVM的整体结构(主流 Hot Spot) 1、多线程共享: 方法区 、 堆 2、一个线程一个: Java栈、本地方法栈、程序计数器 3、执行引擎:将高级语言转换成机器指令(0 1) 二、Java代码执行流程 热点代码会通过JIT编译器二次编辑 直接编译成机器指令放入到缓存中(第一次编译成字节码
阅读全文
摘要:有序三元组中的最大值 题目: 给你一个下标从 0 开始的整数数组 nums 。 请你从所有满足 i < j < k 的下标三元组 (i, j, k) 中,找出并返回下标三元组的最大值。如果所有满足条件的三元组的值都是负数,则返回 0 。 下标三元组 (i, j, k) 的值等于 (nums[i] -
阅读全文
摘要:2140.解决智力问题 题目描述: 给你一个下标从 0 开始的二维整数数组 questions ,其中 questions[i] = [pointsi, brainpoweri] 。 这个数组表示一场考试里的一系列题目,你需要 按顺序 (也就是从问题 0 开始依次解决),针对每个问题选择 解决 或者
阅读全文
摘要:LeetCode刷题-二分法查找 题目: 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。 示例 1: 输入: nums = [-1,0,3,5,9,12], target =
阅读全文
摘要:LeetCode刷题-动态规划-爬楼梯 题目: 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 示例 1: 输入:n = 2 输出:2 解释:有两种方法可以爬到楼顶。 1 阶 + 1 阶 2 阶 示例 2: 输入:n = 3 输
阅读全文
摘要:题目: 给你一个下标从 0 开始的字符串 s ,重复执行下述操作 任意 次: 在字符串中选出一个下标 i ,并使 c 为字符串下标 i 处的字符。并在 i 左侧(如果有)和 右侧(如果有)各 删除 一个距离 i 最近 的字符 c 。 请你通过执行上述操作任意次,使 s 的长度 最小化 。 返回一个表
阅读全文