- 博客(13)
- 收藏
- 关注
原创 工作内存和主内存之间的变量刷新时机
线程什么时候将工作内存中的副本变量更新到主内存的时机并不是固定的,线程在读取主内存和刷新主内存变量的操作也并非原子性的
2023-06-02 14:37:14
481
2
原创 操作系统的I/O模型
操作系统每种IO模型都有优缺点,没有绝对的优劣势,所以说选择什么模型要根据实际的业务来确定,合理的利用硬件资源,才能提升程序的性能。
2023-03-30 16:43:53
450
原创 【算法】LeetCode第一题:两数之和
提示:这里说明一下为什么要用Map中的key来存储数组中元素的值,因为在这道题目中,我们主要做的是判断某个元素是否被遍历过,那由于hashmap在查找某一元素的时候,是根据key的hashCode来确定元素所在的位置,所以把元素值作为key,能更快的确定当前元素是否在map中,即当前元素是否已经遍历过。
2023-03-21 21:24:11
148
原创 线程中断:interrupt、interrupted、isInterrupted
interrupt方法用于中断某一线程interrupted方法返回当前线程的中断状态,然后清除中断状态isInterrupted方法返回当前线程的中断状态当中断一个在阻塞状态的线程,则该线程会响应此中断,会抛出异常并清除中断状态线程执行完后即(TERMINATED)状态,调用检测中断状态的方法总是返回false。
2023-03-07 16:32:42
627
原创 算法:长度最小的子数组
leetcode209题目:给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的 连续 子数组,并返回其长度。如果不存在符合条件的子数组,返回 0。
2023-01-13 14:25:29
148
原创 【数组】移除元素算法
leetcode原题,给你一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。
2023-01-09 15:30:40
202
原创 冒泡排序、选择排序、插入排序
思路:从数组中第一个数开始,拿相邻的两个数进行比较且进行交换位置,较大的排后面较小的排前面,那么在经历了一次遍历后,数组中最大的那个数就会逐渐“冒泡”在最后一位,在经历了N-1次循环操作后,排序完成,此时时间复杂度为O(n^2)
2023-01-05 14:42:45
93
原创 数组中有两种字符,使相邻字符进行交换排列的算法
假设一个数组中只有两种字符’G’和’B’,可以让所有的G都放在左侧,所有的B都放在右侧;或者让所有的B都在左侧,所有的G都在右侧,但是只能在相邻字符之间进行交换操作,请问至少要交换多少次。
2023-01-04 16:39:24
472
原创 算法题:三数之和
给定一个包含n个整数的数组nums,判断nums中是否存在三个元素a,b,c,使得a + b+c=0?请找出所有满足此要求且不重复的三元组。
2022-08-11 16:08:13
360
原创 Java中树的遍历
在编程语言数据结构中,树是非常重要且应用较为频繁的一种,此文章主要讲述了在Java中,对二叉树进行遍历。树是一种数据结构,它是由n(n≥0)个有限节点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点:每个节点有零个或多个子节点;没有父节点的节点称为根节点;每一个非根节点有且只有一个父节点;除了根节点外,每个子节点可以分为多个不相交的子树。...
2022-08-10 14:15:01
4525
原创 用通俗易懂的语言讲明白并发编程以及并发编程中锁的种类
随着互联网的快速发展,用户数量的不断提升,相对应系统的能力也要提升,其提升系统能力重要的手段之一就是并发编程,并发编程能够更充分的利用硬件(包括但不限于CPU)资源,从而提升系统的运行效率。可见,在并发编程中,锁是多么重要的一个概念,我们可以通过控制加锁的粒度,提升系统的吞吐量,比如在只读时,可以不加锁,在写数据时,加锁。以及通过合理的控制代码加锁的粒度来提升系统吞吐量。...
2022-08-05 17:21:19
302
1
原创 Maven依赖的作用域
Maven依赖的作用域Maven的依赖依赖配置依赖的作用域创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表UML 图表FLowchart流程图导出与导入导出导入Maven的依赖使用Maven构建项目的时候,需要在pom文件中添加项目所需要的依赖,即第三方jar包,添加依赖时可以根据需求指定作用域,下面就来详细讲解下Maven依赖作用域的不同。依赖配置<dependency> <groupId></groupId> <arti
2021-09-29 17:20:11
502
原创 JAVA接口
JAVA接口什么是Java接口接口的特性抽象类与接口的区别JDK1.8后的改变接口的实现标记接口什么是Java接口接口(英文:Interface),在JAVA中表示一个抽象类型,是抽象方法的集合,接口通常以interface关键字声明,接口可以被继承、实现。接口和普通的Java类不用,但是也有相似之处,类可以说是对一种事物的描述,通常以类的属性和方法来描述事物的属性以及特征(也可以说是行为),但通常接口更强调统一的协议规范,或者说是一种约束,它是一种更高级别的抽象,实现接口的类需要实现所有的抽象方法,
2021-01-07 17:21:49
359
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅