自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 如何处理高 IO 问题

关于如何处理高IO问题,可参考下面这个视频,讲得非常详细。

2024-01-05 02:25:20 369 1

原创 如何解决服务突然运行缓慢问题

关于如何解决服务突然运行缓慢问题,可参考下面这个视频,讲解的非常详细。

2024-01-05 02:20:11 405 1

原创 如何解决CPU使用率高的问题

关于如何解决CPU使用率高的问题,可参考下面的视频,讲的非常详细。

2024-01-05 02:10:23 403 1

原创 你们限流是怎么实现的

这是我对于如何实现限流的一些看点,请大家指正。

2024-01-05 02:06:16 480 1

原创 java.lang.NullPointerException的6种解决方法

java.lang.NullPointerException是Java运行时异常,它表示试图在代码中使用空引用的对象。

2023-10-25 23:59:29 8591 2

原创 第9集 | Java线程管理

在Java中,线程管理涉及创建、启动、停止、调度和监控线程等。

2023-10-24 19:44:34 57

原创 第8集 | Java线程生命周期以及线程状态转换

线程的生命周期描述了一个线程从创建到终止的整个过程,包括不同的状态和状态之间的转换。

2023-10-24 02:11:10 57

原创 第6集 | CPU核心数和线程数的关系

线程数的增加通常可以提高计算机的并行性和性能,因为它允许计算机同时执行更多任务。每个具体处理器和计算机系统都有自己的线程数和核心数配置,因此在选择硬件时需要考虑性能需求和预算。CPU核心数和线程数之间的关系涉及到计算机的硬件架构和处理器设计。一般情况下,线程数是CPU核心数的一个倍数,这涉及到处理器的超线程(Hyper-Threading)或多核心技术。例如,一台计算机可能具有四个物理核心,每个核心支持超线程,每个核心有两个逻辑核心,那么总线程数就是4(物理核心数)乘以2(每个核心的逻辑核心数),等于8。

2023-10-24 01:44:28 901

原创 第7集 | 上下文切换

它指的是在多任务环境中,操作系统将当前正在执行的进程或线程的执行状态(包括寄存器值、程序计数器、堆栈指针等)保存到内存中,然后切换到另一个进程或线程的执行状态,以便它可以继续执行。保存当前进程或线程的执行状态,包括寄存器值、程序计数器、堆栈指针等,将这些信息保存到内存中的数据结构中,通常称为进程控制块(Process Control Block,PCB)或线程控制块(Thread Control Block,TCB)。更新调度器的状态,以便跟踪当前正在执行的进程或线程、就绪队列中的进程或线程等。

2023-10-22 23:13:44 86 1

原创 第5集 | 什么是进程间通信?

进程间通信(Inter-Process Communication,IPC)指的是不同的进程之间通过各种机制和技术来进行数据交换、消息传递和协作的过程。进程间通信是多任务操作系统和分布式系统中非常重要的概念,它使不同进程能够共同协作,实现复杂的任务和应用程序。消息队列通常支持多个读者和写者。:命名管道是一种特殊的管道,允许不相关的进程之间进行通信,它在文件系统中有一个名字,可以被多个进程打开和读写。:信号是一种轻量级的进程通信机制,一个进程可以向另一个进程发送信号,通常用于通知某种事件的发生。

2023-10-19 23:23:17 42

原创 第4集 | 程序、进程、线程的区别

程序是含有指令和数据的文件,被存储在磁盘或其他的数据存储设备中,也就是说程序是静态的代码。

2023-10-18 22:33:57 48

原创 第3集 | 并发和并行以及他们的区别

并发指的是多个任务交替执行的能力,这些任务可能不是同时执行,而是通过快速切换在不同任务之间来实现“同时执行”的效果。在多核处理器上,多个线程可以真正同时执行,而在单核处理器上,线程之间通过时间片轮转实现并发。所以当谈论并发的时候一定要加个单位时间,也就是说单位时间内并发量是多少?离开了单位时间其实是没有意义的。

2023-10-17 23:36:52 80

原创 第2集 | Java多线程编程的优点和缺点

Java多线程编程的优点和缺点

2023-10-16 19:01:24 75 1

原创 第1集 | 并发编程和多线程的区别

多线程允许程序同时执行多个任务,可以是并发执行或并行执行,具体取决于硬件和操作系统的支持。并发编程是一种编程范式,它关注的是编写能够正确和高效处理多个并发任务的程序。并发编程不仅包括多线程,还包括了处理多个独立任务的各种技术和模式,如进程、协程、分布式编程等。并发编程的目标是实现任务的并发执行,以提高系统的性能和资源利用率。同时,并发编程更广泛,它包括多线程编程,还包括其他并发技术和编程范式,以解决各种并发问题和场景。总之,多线程是并发编程的一种具体实现方式,用于处理同一程序内的多个线程。

2023-10-16 11:13:54 122

程序、进程、线程的区别

程序:         程序是含有指令和数据的文件,被存储在磁盘或其他的数据存储设备中,也就是说程序是静态的代码。 进程:         进程是操作系统进行任务调度和资源分配的基本单位。系统运行一个程序即是一个进程从创建,运行到消亡的过程,也就是程序的一次执行过程。简单来说,一个进程就是一个计算机中运行的程序的实例。 线程:         线程是操作系统中的最小执行单元,负责当前进程中程序的执行。 进程和线程的区别: 根本差别:进程是操作系统任务调度和资源分配的基本单位,而线程是处理器任务调度和执行的基本单位。 资源开销:每个进程都有独立的代码和数据空间(程序上下文),程序之间的切换会有较大的开销;线程可以看做轻量级的进程,同一类线程共享代码和数据空间,每个线程都有自己独立的运行栈和程序计数器(PC),线程之间切换的开销小。 包含关系:如果一个进程内有多个线程,则执行过程不是一条线的,而是多条线(线程)共同完成的;线程是进程的一部分,所以线程也被称为轻权进程或者轻量级进程。 内存分配:进程之间的地址空间和资源是相互独立的,而同一进程的线程共享本进程的地址空间和资源。 影响关系

2023-10-18

并发和并行以及他们的区别

并发: 并发指的是多个任务交替执行的能力,这些任务可能不是同时执行,而是通过快速切换在不同任务之间来实现“同时执行”的效果。在多核处理器上,多个线程可以真正同时执行,而在单核处理器上,线程之间通过时间片轮转实现并发。 所以当谈论并发的时候一定要加个单位时间,也就是说单位时间内并发量是多少?离开了单位时间其实是没有意义的。 并行: 并行指的是多个任务同时执行的能力,每个任务都在独立的CPU上执行。并行通常用于同时处理独立任务,这些任务可以同时执行,而不需要相互等待或协同工作。 两者区别: 关键区别在于并发强调任务在时间上交替执行,而并行强调任务在不同处理单元上同时执行。在实际应用中,可以将并发和并行结合使用,以提高系统的性能和响应速度。例如,可以使用并发来管理多个请求的同时处理,然后在每个请求内部使用并行来加速计算任务。 ———————————————— 版权声明:本文为CSDN博主「老IT陈王」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csd

2023-10-18

并发和并行以及他们的区别

并发: 并发指的是多个任务交替执行的能力,这些任务可能不是同时执行,而是通过快速切换在不同任务之间来实现“同时执行”的效果。在多核处理器上,多个线程可以真正同时执行,而在单核处理器上,线程之间通过时间片轮转实现并发。 所以当谈论并发的时候一定要加个单位时间,也就是说单位时间内并发量是多少?离开了单位时间其实是没有意义的。 并行: 并行指的是多个任务同时执行的能力,每个任务都在独立的CPU上执行。并行通常用于同时处理独立任务,这些任务可以同时执行,而不需要相互等待或协同工作。 两者区别: 关键区别在于并发强调任务在时间上交替执行,而并行强调任务在不同处理单元上同时执行。在实际应用中,可以将并发和并行结合使用,以提高系统的性能和响应速度。例如,可以使用并发来管理多个请求的同时处理,然后在每个请求内部使用并行来加速计算任务。 ———————————————— 版权声明:本文为CSDN博主「老IT陈王」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csd

2023-10-18

Java多线程编程的优点和缺点

优点: 加快响应用户的时间:多线程允许并发执行多个任务,可以充分利用多核处理器,从而提高程序的性能和响应速度。比如我们经常用的迅雷下载,都喜欢多开几个线程去下载,谁都不愿意用一个线程去下载,为什么呢?答案很简单,就是多个线程下载快啊。 简化程序结构、模块化、异步化:例如我们实现电商系统,下订单和给用户发送短信、邮件就可以进行拆分,将给用户发送短信、邮件这两个步骤独立为单独的模块,并交给其他线程去执行。这样既增加了异步的操作,提升了系统性能,又使程序模块化,清晰化和简单化。 更好的资源利用:多线程可以更有效地使用计算机的资源,如CPU时间、内存和文件句柄等,提高了资源利用率。 支持并发编程:多线程编程是支持并发编程的基础,可以处理多个并发任务,如服务器处理多个客户端请求。 缺点: 竞态条件(Race Conditions):多个线程访问共享资源时可能引发竞态条件,导致数据不一致性和程序错误。 死锁(Deadlocks):多线程编程容易出现死锁,即多个线程相互等待对方释放资源的情况,导致程序无法继续执行。 线程同步开销:线程同步机制引入了额外的开销,如锁竞争、上下文切换等,可能降低程序性能

2023-10-16

Java并发编程和多线程的区别

并发编程: 并发编程是一种编程范式,它关注的是编写能够正确和高效处理多个并发任务的程序。并发编程不仅包括多线程,还包括了处理多个独立任务的各种技术和模式,如进程、协程、分布式编程等。并发编程的目标是实现任务的并发执行,以提高系统的性能和资源利用率。 因此,多线程是并发编程的一部分。多线程是在单个程序中创建和管理多个线程,使它们能够并发执行。同时,并发编程更广泛,它包括多线程编程,还包括其他并发技术和编程范式,以解决各种并发问题和场景。 总之,多线程是并发编程的一种具体实现方式,用于处理同一程序内的多个线程。而并发编程则更广泛,涵盖了处理多个任务、进程、协程等各种形式的并发执行。 多线程: 多线程是一种计算机编程技术,它涉及到在一个程序中创建和管理多个线程,每个线程都可以独立执行不同的任务或代码段。多线程允许程序同时执行多个任务,可以是并发执行或并行执行,具体取决于硬件和操作系统的支持。多线程通常用于提高程序的性能、响应性和资源利用率。

2023-10-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除