Java
文章平均质量分 95
阿布~
好好努力,会遇到更好的事情
展开
-
了解 JVM 中几个相关问题 — JVM 内存布局、类加载机制、垃圾回收
了解 JVM 中几个相关问题 — JVM 内存布局、类加载机制、垃圾回收原创 2022-06-26 11:57:42 · 286 阅读 · 1 评论 -
Java文件操作 —— IO
硬盘的基本构造:但是受限于机械硬盘的硬件结构,盘片的转速不可能无限高,机械硬盘的读写速度难以再提升更快的速度,只能在容量扩充方向发展。固态硬盘(SSD):固态硬盘的读写速度要比机械硬盘高很多。整体的文件系统,就是如上图这样一种树形的结构,如果是一个普通文件,就是树的叶子节点;如果是一个目录文件,目录文件就可以包含子树,这个目录就是非叶子节点;每个目录文件中可以包含多个文件,所以称为一个 N叉 树。路径分为两种:绝对路径 — 以盘符开头从树型结构的角度来看,树中的每个结点都可以被一条从根开始,一直到达原创 2022-06-19 12:02:17 · 482 阅读 · 0 评论 -
计算机网络 — 网络原理之初始(包含图解数据传输“封装和分用”详细过程)
进行有效的通信,前提就是能够明确通信协议。网络协议是网络通信(即网络数据传输)经过的所有网络设备都必须共同遵从的一组约定、规则。如怎么样建立连接、怎么样互相识别等。只有遵守这个约定,计算机之间才能相互通信交流。本质上就是约定:发出的数据是什么样的格式,接收方就按照对应格式来进行解析。(这样才能保证接收方能读懂发送方的信息)原创 2022-05-31 22:51:26 · 1055 阅读 · 2 评论 -
Java面向对象编程的特征—封装、继承、多态详细介绍
面向对象编程的特征 封装 继承三 态总结原创 2021-12-28 20:08:39 · 196 阅读 · 0 评论 -
(JUC 下典型的类)Java 并发包中线程同步器
文章介绍了并发包中关于线程协作的一些重要类。首先 CountDownLatch 通过计数器提供了更灵活的控制,只要检测到计数器值为 0,就可以往下执行,这相比于 join 必须等待线程执行完毕后主线程才会继续向下运行更灵活。另外,CyclicBarrier 也可以达到 CountDownLatch 的效果,但是后者在计数器值变为 0 后,就不能再被复用,而前者则可以使用 reset 方法重置后复用,前者对同一个算法但是输入参数不同的类似场景比较使用。而 Semaphore 采用了信号量递增的策略,一开始并不原创 2022-04-22 11:32:13 · 844 阅读 · 10 评论 -
并发编程中常见的锁策略<包含详细介绍CAS机制和ABA问题>
常见锁策略乐观锁与悲观锁 <CAS机制的ABA问题>公平锁与非公平锁独占锁与共享锁<锁一直是围绕线程安全来实现的>可重入锁自旋锁原创 2022-04-20 09:16:13 · 1925 阅读 · 11 评论 -
设计模式之一——单例模式
许多时候整个系统只需要拥有⼀个的全局对象,这样有利于我们协调系统整体的行为。比如在某个服务器程序中,该服务器的配置信息存放在⼀个文件中,这些配置数据由⼀个单例对象统⼀读取,然后服务进程中的其他对象再通过这个单例对象获取这些配置信息。这种⽅式简化了在复杂环境下的配置管理。原创 2022-04-19 12:32:32 · 811 阅读 · 7 评论 -
轻松学DP——动态规划 + 0-1背包
动态规划算法0-1背包问题这一篇真的可以帮你从不懂到懂原创 2022-04-16 14:47:15 · 1188 阅读 · 15 评论 -
关于Java线程池ThreadPoolExecutor相关介绍
线程池主要解决两个问题:一是当执行大量异步任务时线程池能够提供较好的性能。在不使用线程池时,每当需要执行异步任务时直接 new 一个线程来运行,而线程的创建和销毁是需要开销的。线程池里面的线程是可以服用的,不需要每次执行异步任务时都重新创建和销毁线程等。每个 ThreadPoolExecutor 也保留了一些基本的统计数据,比如当前线程池完成的任务数目等。原创 2022-04-14 21:24:06 · 1041 阅读 · 23 评论 -
Java 线程死锁及如何避免死锁介绍
死锁是指两个或两个以上的线程在执行过程中,**因争夺资源而造成的互相等待**的现象,在无外力作用的情况下,这些线程会一直相互等待而无法继续运行下去,原创 2022-04-05 01:09:24 · 4220 阅读 · 10 评论 -
Java 多线程—线程通讯【线程通知与等待,wait / notify() / notifyAll()】
线程通讯就是通过实现多线程之间的交互,让线程的每一个独立的“执行流”通过交互相互配合,在能够有效避免线程并发和死锁的的问题下发挥多线程的优势,更高效的处理一些时间片短,任务量大的执行任务。在 Java 当中,实现线程之间进行通讯和配合执行的功能有三个方法:wait() / wait(long timeout):让线程进入等待状态。no原创 2022-04-11 20:12:48 · 1180 阅读 · 10 评论 -
线程休眠和指定唤醒—关于 LockSupport 相关介绍
JDK 中的 rt.jar 包里面的 LockSupport 是个工具类,它的主要作用是挂起和唤醒线程,该工具类是创建锁和其他同步类的基础。原创 2022-04-13 12:12:41 · 901 阅读 · 0 评论 -
Thread 类的基本用法 — 学习笔记
Thread 类的基本用法线程创建线程等待线程休眠yield 让出执行权线程创建线程创建与运行Java中有三种线程创建方式, 分别为实现 Runnable 接口的 run 方法, 继承 Thread 类并重写 run 的方法,和使用带有返回值的 FutureTask 方式。继承 Thread 类方式的实现/** * 继承Thread类创建方式,并重写run方法 */public class ThredDemo { public static void main(Strin原创 2022-03-25 16:45:52 · 1097 阅读 · 9 评论