E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
java并发编程学习笔记
Ainx框架实现 一
本文收录于Ainx系列,大家有兴趣的可以看一看相关专栏Rust初阶教程、go语言基础系列、spring教程等,大家有兴趣的可以看一看
Java并发
编程系列,设计模式系列、goweb开发框架系列正在发展中,
过去日记
·
2024-02-05 00:19
AINX
go
网络
golang
[
Java并发
]-----第2章 并发编程的其他基础知识
1.什么是多线程并发编程并发是指同一个时间段内多个任务同时(宏观上的同时,微观上是时间片划分)都在进行,并且都没有执行结束.2.为什么要进行多线程并发编程(废话)多核CPU时代的到来打破了单核CPU对多线程效能的限制.对多个CPU意味着每个线程可以使用自己的CPU运行,这减少了线程上下文切换的开销,但随着对应用系统性能和吞吐量要求的提高,出现了处理海量数据和请求的要求,这些都对高并发编程有着迫切的
Benjamin_Lee
·
2024-02-04 23:07
线程池的7大参数及4大拒绝策略详解
这里借用《
Java并发
编程的艺术》提到的来说一下使用线程池的好处:降低资源消耗
YangYangYang24
·
2024-02-04 11:06
java
java并发
编程-线程池(三)Executors工厂类
如果觉得写的还可以请关注微信公众号:程序猿的日常分享,定期更新分享。Executors工厂线程池主要有三类,一个是用于创建立即执行的线程池ThreadPoolExecutor,一个是用于创建执行定时任务类线程池ScheduledThreadPoolExecutor,还有就是在jdk1.7引入的基于fork/join框架的分治线程池ForkJoinPool。基于这3种线程池实现类,Executors
wangpeng123
·
2024-02-04 04:09
业务程序中如何设置线程数?
我们通常在资料中找到一些经典的回答,例如判断任务是CPU密集型还是IO密集型,或者参考《
Java并发
编程实战》一书的建议:1.判断任务是CPU密集型还是IO密集型(其中N表示CPU的核心数量):CPU密集型
半亩方塘立身
·
2024-02-03 19:13
Java
面试
java
后端
Java并发
指南7:JUC的核心类AQS详解
本文转自:https://www.javadoop.com/post/AbstractQueuedSynchronizer#toc4本系列文章将整理到我在GitHub上的《Java面试指南》仓库,更多精彩内容请到我的仓库里查看https://github.com/h2pl/Java-Tutorial喜欢的话麻烦点下Star哈文章同步发于我的个人博客:www.how2playlife.com本文是微
da3acf50377b
·
2024-02-03 17:17
java并发
编程
0.思维导图并行:单位时间多个处理器同时处理多个任务并发:一个处理器处理多个任务,按时间片轮流处理1.java实现多线程有几种方式♥♥♥实现接口会更好一些,因为java不支持多重继承,因此继承了Thread类就无法继承其他类,但是可以实现多个接口继承Thread类,只需要创建一个类继承Thread类然后重写run方法,在main方法中调用该类实例对象的start方法。实现Runnable接口,只需
韩顺平的小迷弟
·
2024-02-03 16:04
#
java基础
java
数据库
开发语言
【零散知识点总结2】
1》该文章涉及:Dubbo、HTTP和HTTPS、Mybatis、Hibernate、Zookeeper、Kafka、Elasticsearch、Redis《零散知识点总结2》该文章涉及:MySQL、
Java
木林森屿城
·
2024-02-03 16:44
java
java
Java并发
基础:CountDownLatch全面解析!
内容概要CountDownLatch的优点在于能够简洁高效地协调多个线程的执行顺序,确保一组线程都完成后才触发其他线程的执行,适用于资源加载、任务初始化等场景。它提供了清晰的等待/通知机制,易于理解和使用,是提升多线程程序性能和可靠性的重要工具。核心概念CountDownLatch是java.util.concurrent中的一个类,主要用来解决多线程之间的协同工作问题,特别是当一个或多个线程需要
程序员古德
·
2024-02-03 12:14
Java并发基础
java
开发语言
数据库
ConcurrentHashMap源码分析-关键特性使用简单用例实现
ConcurrentHashMap是
Java并发
包中的一个线程安全的HashMap实现。
无名·
·
2024-02-03 02:30
java
线程安全
【精华文章】戊子仲秋的
编程学习笔记
汇总
文章目录戊子仲秋的学习笔记分享算法学习后端必备知识,打牢基础操作系统Golang学习Linux学习C++学习C语言学习C语言初阶C语言进阶戊子仲秋的学习笔记分享算法学习算法学习笔记汇总后端必备知识,打牢基础操作系统进程管理理解进程、线程、协程I/O多路复用理解I/O多路复用Golang学习Golang基本语法学习Linux学习环境搭建手把手带你用云服务器搭建Linux环境Linux常见指令与权限理
戊子仲秋
·
2024-02-02 15:39
精华文章
学习
笔记
JUC,
Java并发
编程
JUC概述线程状态线程状态枚举类NEW新建RUNNABLE准备就绪BLOCK阻塞WAITING不见不散TIMED_WAITING过时不候TERMINATED中结并行与并发wait和sleep的区别sleep是Thread的静态方法,wait是Object的方法,任何对象实例都可以调用。sleep不会释放锁,它也不需要占用锁。若当前线程占有锁,那么wait会释放锁。他们都可以被interrupted
Benaso
·
2024-02-02 14:10
JUC
java
开发语言
JUC并发编程
Java并发
编程(JavaConcurrency)是指在Java程序中同时进行多个任务的一种编程方式。
星光不问赶路人-
·
2024-02-02 12:14
并发
JUC
深入理解Java中的ForkJoin框架原理
ForkJoin框架是
Java并发
包(java.util.concurrent)的一部分,主要用于并行计算,特别适合处理可以
地瓜伯伯
·
2024-02-02 12:41
源码
java
spring
spring
boot
java-ee
spring
cloud
jvm
JAVA并发
十二连招,你能接住吗?(建议收藏!!)
话不多说,干货走起。1、HashMap面试第一题必问的HashMap,挺考验Javaer的基础功底的,别问为啥放在这,因为重要!HashMap具有如下特性:1.HashMap的存取是没有顺序的。2.KV均允许为NULL。3.多线程情况下该类安全,可以考虑用HashTable。4.JDk8底层是数组+链表+红黑树,JDK7底层是数组+链表。5.初始容量和装载因子是决定整个类性能的关键点,轻易不要动。
城府灬
·
2024-02-02 12:15
java并发
编程基础(四)
Java中的锁1.Lock接口锁是用来控制多个线程访问共享资源的方式,一般来说,一个锁能够防止多个线程访问共享资源。在lock接口出现之前,java程序依靠synchroized关键字实现锁的功能,Loc接口拥有了获取锁与释放锁的可操作性,可中断的获取锁。packagecn.smallmartial.concurrency;importjava.util.concurrent.locks.Reen
smallmartial
·
2024-02-02 08:21
Java并发
基础:CyclicBarrier全面解析!
内容摘要CyclicBarrier的优点在于实现了线程间的相互等待与协同,确保所有线程在达到预定屏障点后才能继续执行,它支持屏障的重复使用,非常适合多轮次的任务同步,此外,CyclicBarrier还允许在屏障点执行特定操作,为复杂的多线程协作提供了便利。核心概念业务场景CyclicBarrier允许一组线程互相等待,直到所有线程都到达某个屏障(barrier)点,然后这些线程可以继续执行后续的任
程序员古德
·
2024-02-01 16:25
Java并发基础
java
开发语言
数据库
Java并发
基础:CompletionService全面解析!
内容概要CompletionService的优点在于能够解耦任务提交与结果获取,有效的整合线程池与阻塞队列,实现任务完成顺序的处理,提升系统吞吐量,它简化了多线程编程的复杂性,使开发者能够更专注于业务逻辑,而不必过多关注线程管理细节。核心概念CompletionService是一个结合了Executor和BlockingQueue功能的服务,它主要用于解决异步任务执行中的两个问题:任务管理和结果收
程序员古德
·
2024-02-01 16:55
Java并发基础
java
开发语言
Java并发
基础:Semaphore全面解析!
内容概要Semaphore通过控制许可数量,实现了对并发线程数的精细管理,有效避免了资源竞争和过载问题,能显著提升系统吞吐量和响应速度,同时,Semaphore还支持公平与非公平策略,具有更好的灵活性和适应性,满足了不同业务场景的需求。核心概念Semaphore是java.util.concurrent中非常有用的并发编程工具类,它通常被用于限制对某个资源或资源池的并发访问数量。举个实际的例子:假
程序员古德
·
2024-02-01 16:55
Java并发基础
java
数据库
网络
关于Redis分布式锁这一篇应该是讲的最好的了,先收藏起来再看!
前言在
Java并发
编程中,我们通常使用到synchronized、Lock这两个线程锁,Java中的锁,只能保证对同一个JVM中的线程有效。而在分布式集群环境,这个时候我们就需要使用到分布式锁。
前程有光
·
2024-02-01 16:57
Java并发
基础:Phaser全面解析!
内容概要Phaser是Java中一个灵活的同步工具,其优点在于支持多阶段的任务拆分与同步,并且能够动态地注册与注销参与者,它提供了丰富的等待与推进机制,使得开发者能够更细粒度地控制线程的协调行为,实现复杂的并行任务处理,相比于其他同步工具,Phaser更加灵活且易于扩展,适用于多种并发场景。核心概念在Java中,Phaser是一个灵活的同步工具类,它允许多个线程在一个或多个屏障(barrierpo
程序员古德
·
2024-02-01 16:50
Java并发基础
java
开发语言
死磕 java魔法类之Unsafe解析
简介本章是
java并发
包专题的第一章,但是第一篇写的却不是
java并发
包中类,而是java中的魔法类sun.misc.Unsafe。
编程小世界
·
2024-02-01 02:48
Java并发
编程之阻塞队列
1.什么是阻塞队列阻塞队列(BlockingQueue)是一个支持两个附加操作的队列。这两个附加的操作支持阻塞的插入和移除方法。支持阻塞的插入方法:意思是当队列满时,队列会阻塞插入元素的线程,直到队列不满。支持阻塞的移除方法:意思是在队列为空时,获取元素的线程会等待队列变为非空。阻塞队列常用于生产者和消费者的场景,生产者是向队列里添加元素的线程,消费者是从队列里取元素的线程。阻塞队列就是生产者用来
逍遥白亦
·
2024-01-31 22:24
面试稿·Java
面试稿·Java一、Java基础1、Java数据结构2、Java网络编程2.1TCP&UDP2.2Netty2.2.1Netty项目2.2.1.1Push(推)&Pull(拉)3、Java多线程3.1
Java
u010823625
·
2024-01-31 21:20
Java
2021
java-JUC并发
编程学习笔记
03(尚硅谷)
线程间通信例子:对一个值+1-1交替完成,a的值就是1b的值就是0这个过程就是线程间通信Synchronized实现:虚假唤醒问题:我们再添加两个线程。我们发现我们的结果就不对了。我们只需要使用while即可。我们线程通信的最后一步就是防止虚假通信的出现。Lock实现:运行结果:这就是我们使用lock和synchronized两种方式进行线程的通信的基础学习。
抹茶味的西瓜汁
·
2024-01-31 18:20
多线程并发编程
学习
笔记
【
JAVA并发
】线程安全
1、线程安全多个线程对同一个共享变量进行读写操作时可能产生不可预见的结果,这就是线程安全问题。线程安全的核心点就是共享变量,只有在共享变量的情况下才会有线程安全问题。这里说的共享变量,是指多个线程都能访问的变量,一般包括成员变量和静态变量,方法内定义的局部变量不属于共享变量的范围。线程安全问题示例:importlombok.extern.slf4j.Slf4j;/***@AuthorFengJia
Java零基础教
·
2024-01-31 00:12
学习笔记:Java 并发编程(补)CompletableFuture
学习视频:https://www.bilibili.com/video/BV1ar4y1x727参考书籍:《实战JAVA高并发程序设计》葛一鸣著系列目录学习笔记:
Java并发
编程①_基础知识入门学习笔记
YanZhaoHanWei_555
·
2024-01-30 22:32
#
JUC
Java
基础学习
java
学习
并发编程之AQS初探
Java并发
编程核心在于java.concurrent.util包,而juc当中的大多数同步器实现都是围绕着共同的基础行为,比如等待队列、条件队列、独占获取、共享获取等,而这个行为的抽象就是基于AbstractQueuedSynchronizer
lianzhongzhang
·
2024-01-30 19:38
并发编程
并发编程
java
并发编程之 AQS & ReentrantLock
在
Java并发
包中提供的锁(java.util.concurrent.locks),都是利用AQS来实现的。AQS底层其实也是利用CAS来共同实现锁的机制。
Howinfun
·
2024-01-30 19:08
Java并发编程
并发编程
AQS
JAVA
Java中的四种线程池详解及使用场景
前言在
Java并发
编程中,JDK提供了一套强大的线程池工具类java.util.concurrent.ThreadPoolExecutor以及它的四个便捷工厂方法,这四种线程池分别对应不同的使用场景和特性
李少兄
·
2024-01-30 13:10
Java
java
开发语言
java并发
编程(十一)LockSupport之park/unpark
一、简介1.1主要方法Park/UnPark方法是LockSupport当中的方法。其常用方法有如下:park():暂停当前线程。park(Objectblocker):暂停当前线程,并指定负责此线程停放的同步对像。parkNanos(longnanos):暂停当前线程,指定等待的最大纳秒数。parkNanos(Objectblocker,longnanos):暂停当前线程,指定等待的最大纳秒数和
我犟不过你
·
2024-01-30 10:33
深入理解 Java 多线程
深入理解Java多线程1.概述Java多线程编程是
Java并发
性的核心。通过合理地使用多线程,可以充分利用多核处理器、提高程序性能、提升用户体验。
hymua
·
2024-01-29 23:47
java
开发语言
字节面试杂谈——
JAVA并发
目录一、并行和并发、进程和线程、守护线程、为什么使用多线程、多线程带来的问题1.并行和并发有什么区别?2.线程和进程的区别?3.守护线程是什么?4.请简要描述线程与进程的关系,区别及优缺点5.为什么要使用多线程呢?二、创建线程的方式(1)继承Thread类创建线程(2)实现Runnable接口创建线程(3)使用Callable和Future创建线程(4)使用线程池例如用Executor框架三、Ru
shintyan
·
2024-01-29 17:12
#
JAVA多线程
java
面试
开发语言
Java并发
编程 面试题
基础知识点进程我们自己写的程序,也就是所谓的用户程序是由操作系统来管理的,人们把一个执行着的程序叫做一个进程(英文名:Process),每个进程都有这么两个特点:1.资源所有权程序在运行过程中需要一定的资源,比如内存、I/O啥的,这些东西不能在不同进程间共享,假如一个进程占了另一个进程的内存,那另一个进程的数据不就丢失了么;一个进程正在使用打印机输出东西,另一个进程也使用的话,不就尴尬了么。所以进
余甘不甘
·
2024-01-29 17:42
并发
Java学习
java
jvm
开发语言
一天吃透面试八股文
内容摘自我的学习网站:topjavaer.cn分享50道
Java并发
高频面试题。线程池线程池:一个管理线程的池子。为什么平时都是使用线程池创建线程,直接new一个线程不好吗?
大彬聊编程
·
2024-01-29 01:36
分享
面试
职场和发展
java
Java并发
编程:synchronized锁升级过程
锁的状态有四种,级别从高到低分别为:无锁状态、偏向锁状态、轻量级锁状态和重量级锁状态,这个锁的状态会随着并发激烈情况逐渐升级,锁的状态升级但不能降级。引入这些状态时为了减少获得锁和释放锁带来的性能消耗。对象锁的状态是存在对象头的MarkWord中的。1、偏向锁状态(无竞争、或竞争很少)经过研究表明,大多数情况下,锁不仅不存在多线程竞争,而且大多数都是由同一个线程多次获得,这种情况下如果没有线程和线
日上三杆快起床
·
2024-01-28 22:13
java
开发语言
并发
Java并发
之内存模型
Java是一门支持多线程执行的语言,要编写正确的并发程序,了解Java内存模型是重要前提。而了解硬件内存模型有助于理解程序的执行。本文主要整理以下内容Java内存模型硬件内存架构共享对象可见性竞争条件Java内存模型Java内存模型最新修订是在Java5。JSR-176罗列了J2SE5.0相关发布特性,包含其中的JSR-133(JavaTM内存模型与线程规范),java虚拟机遵循此规范。延续至今该
编程码农
·
2024-01-28 14:14
ReentrantLock 实现原理(公平锁和非公平锁)
AQS是
Java并发
包里实现锁、同步的一个重要的基础框架。锁类型Reent
java高级架构F六
·
2024-01-27 17:36
Golang中make与new有何区别
本文收录于go进阶系列,大家有兴趣的可以看一看相关专栏Rust初阶教程、go语言基础系列、spring教程等,大家有兴趣的可以看一看
Java并发
编程系列,设计模式系列、goweb开发框架系列正在发展中,
过去日记
·
2024-01-27 09:50
go进阶
golang
开发语言
Java集合相关面试题
本文收录于java面试题系列,大家有兴趣的可以看一看相关专栏Rust初阶教程、go语言基础系列、spring教程等,大家有兴趣的可以看一看
Java并发
编程系列,设计模式系列、goweb开发框架系列正在发展中
过去日记
·
2024-01-27 09:45
java面试题
java
开发语言
C#异步
编程学习笔记
之-async和await(续)
书接上文,本篇主要记录的内容要点:1、针对async和await在实际应用中的使用方式;2、异步方法返回值(有返回值和无返回值)的两种情况;示例一(无返回值):usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Xml.Linq;usingSystem.Text.Regu
ahe82105
·
2024-01-27 06:48
C#异步
编程学习笔记
2 之 Task
C#异步
编程学习笔记
2之TaskTaskThread的问题TaskClass开始一个Task(Task.Run)Wait等待长时间运行的任务(Long-runningtasks)Task的返回值Task
SQWH_SSGS
·
2024-01-27 06:47
C#
#
C#异步编程
c#
.net
【死磕
Java并发
】—–J.U.C之线程池:ScheduledThreadPoolExecutor
ScheduledThreadPoolExecutor解析我们知道Timer与TimerTask虽然可以实现线程的周期和延迟调度,但是Timer与TimerTask存在一些缺陷,所以对于这种定期、周期执行任务的调度策略,我们一般都是推荐ScheduledThreadPoolExecutor来实现。下面就深入分析ScheduledThreadPoolExecutor是如何来实现线程的周期、延迟调度的
Zal哥哥
·
2024-01-26 20:40
【
Java并发
】聊聊Future如何提升商品查询速度
java中可以通过newthread、实现runnable来进行实现线程。但是唯一的缺点是没有返回值、以及抛出异常,而callable就可以解决这个问题。通过配合使用futuretask来进行使用。并且Future提供了对任务的操作,取消,查询是否完成,获取结果。DemoFutureTaskfutureTask=newFutureTask(()->{Thread.sleep(10000);Syst
qxlxi
·
2024-01-26 07:49
#
并发编程
java
开发语言
揭秘
Java并发
包(JUC)的基石:AQS原理和应用
Java并发
包(JUC)为我们提供了丰富的并发工具,其中不乏我们熟悉的ReentrantLock、Semaphore等。
地瓜伯伯
·
2024-01-26 02:19
源码
java
jvm
spring
cloud
spring
boot
微服务
面试
架构
Linux shell
编程学习笔记
42:hdparm命令
ChatGPT和文心一言哪个更好用?从智能回复、语言准确性、知识库丰富度等方面比较,两大AI助手哪个更胜一筹?快来和我们分享一下你的看法吧~0前言获取硬盘序列号是信息资产管理和信息安全检测中经常要收集的信息,对于Linux来说,获取硬盘序列号的方法不止一种,比如,我们可以使用上节介绍的lsblk命令来获取硬盘序列号,详见:银河麒麟桌面操作系统中获取硬盘序列号再如,我们今天学习的hdparm命令也可
紫郢剑侠
·
2024-01-26 00:57
Linux
学习笔记
磁盘操作命令
硬盘操作命令
hdparm命令
获取硬盘参数
硬盘序列号
Java 集合List相关面试题
本文收录于java面试题系列,大家有兴趣的可以看一看相关专栏Rust初阶教程、go语言基础系列、spring教程等,大家有兴趣的可以看一看
Java并发
编程系列,设计模式系列、goweb开发框架系列正在发展中
过去日记
·
2024-01-25 16:41
java面试题
java
list
【揭秘】Executor和ExecutorService区别?
Executor和ExecutorService都是
Java并发
编程中的重要概念,两者都用于异步地执行任务,但是它们之间存在一些重要的区别:设计目标:Executor:设计目标是提供一个简单的、统一的、
程序员古德
·
2024-01-25 16:10
java
开发语言
Java 集合Map相关面试题
本文收录于java面试题系列,大家有兴趣的可以看一看相关专栏Rust初阶教程、go语言基础系列、spring教程等,大家有兴趣的可以看一看
Java并发
编程系列,设计模式系列、goweb开发框架系列正在发展中
过去日记
·
2024-01-25 16:09
java面试题
java
开发语言
Java并发
编程之并发集合
一、ConcurrentHashMap(是线程高效并安全的hashMap)1.hashMap的底层原理HashMap在JDK1.8之前的实现方式数组+链表,但是在JDK1.8后对HashMap进行了底层优化,改为了由数组+链表或者数值+红黑树实现,主要的目的是提高查找效率Hashcode他是根据数组的长度进行一个按位与运算和亦或运算另外通过平方取中法取余法伪随机数法都可以得到hashcode二次哈
学习中的程序媛~
·
2024-01-25 10:31
java
开发语言
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他