1.并发包之原子类型在多线程中保证数据原子性,一般用法有synchronized,lock显示锁,atomic原子包,在执行多线 程程序中性能如何?JMH示例如下:package com.mxli.concurrent.atomicdemo; import org.openjdk.jmh.annotations.*; import org.openjdk.jmh.runner.Runner;
并发工具主要功能用法示例特点与注意事项CountDownLatch (倒计数器)允许一个或多个线程等待其他线程完成操作后再
原创 2024-08-01 14:52:28
57阅读
1.包概述  包,其实就是文件夹。  包作用是对进行分类管理。  包划分:按功能划分和按照模块划分。2.包定义及注意事项  包定义:package 包名;  多级包名用.号隔开。  注意事项:    package语句必须是程序第一条可执行代码。    package语句在一个Jav
转载 2023-07-21 15:47:36
61阅读
五、JUC锁 在前面学习了Synchronized锁,回顾synchronized: 可重入锁。 锁升级:无锁态 → 偏向锁 → 轻量级锁 → 重量级锁。 非公平锁 公平锁和非公平锁: 当程序加锁时,肯定会有多个线程竞争这把锁,当一个线程获得锁后,那么就会有一个等待队列维护这些等待线程。 公平锁
原创 2022-01-25 15:20:48
123阅读
湘王前面把线程相关生命周期、关键字、线程池(ThreadPool)、ThreadLocal、CAS、锁和AQS都讲完了,现在就剩下怎么来用多线程了。而要想用好多线程,其实是可以取一些巧,比如JUC(好多面试官喜欢问JUC,就是现在要讲JUC)。JUC就是java.util.concurrent首字母缩写,它是Java并发工具包就是中提供各种工具统称,主要分为几大类:1、同步器;2、
转载 2023-10-10 07:58:04
69阅读
文章目录Java多线程基础 08.AtomicInteger、AtomicLong、AtomicObjectAtomicXXX原子性测试AtomicInteger原理解析AtomicLong、AtomicObject原理解析AtomicBoolean原理解析Java多线程基础 08.AtomicInteger、
原创 2022-04-24 23:43:15
202阅读
1) 原子类(Atomic ) 2) 锁框架( locks ) 3) 同步器框架 (AbstractQueuedSynchronizer) 4) 执行器框架(Executor) 5) 并发集合从多线程并行计算 乐观锁 和 悲观锁 来讲,JAVAsynchronized 属于悲观锁,即是在操作某数据时候总是会认为多线程之间会相互干扰,属于阻塞式加锁;Atomic系列则属于乐观锁系列,即当
目录1.Callable接口1.1简介1.2代码演示 1.3Runnable与Callable区别2.ReentrantLock2.1ReentrantLock常用方法2.2ReentrantLock代码演示2.3ReentrantLock和synchronized区别3.Semaphore信号量3.1概念3.2代码演示4.CountDownLatch4.1概念4.2代码演示JU
转载 2024-01-17 09:19:33
23阅读
JUC介绍JUC是jdk中java.util.concurrent包简称,该包提供了并发编程中常用工具。概括地说,JUC就 是java并发编程工具包。目前juc泛指Java多线程开发技术线程和进程进程:运行中程序,一个进程包括很多线程线程:进程中(运行中)单一串行程序片段线程创建方式继承Threadpackage org.juc.线程创建几种方式; import lombok.
转载 2023-10-19 12:36:52
62阅读
基本介绍最近我们一直在学习java高并发,java高并发中主要涉及到位于java.util.concurrent包中,简称jucjuc中大部分类都是依赖于Unsafe来实现,主要用到了Unsafe中CAS、线程挂起、线程恢复等相关功能。所以如果打算深入了解JUC原理,必须先了解一下Unsafe。先上一幅Unsafe功能图:  Unsafe是位于sun.misc包
转载 2023-07-19 20:37:57
38阅读
juc//java工具小结:java工具,lock和synchronize使用 Lock lock=new ReentrantLock();private Condition condition1=lock.newCondition();可以精准控制线程8锁现象等 这个是看b站狂神视频总结一些笔记,用于日后复习。java查看线程几个状态//java查看线程转态//Thread.Sta
原创 2023-01-29 13:53:22
146阅读
文章目录一、JUC常见Callable 接口ReentrantLockSemaphore(信号量)CountDownLatch 一、JUC常见concurrent代表了并发,这个包下为我们提供了并发编程(多线程)相关组件.Callable 接口我们Callable接口和Runnable是一样,但也有一些区别: Runnable: 用来描述一个任务,描述任务是没有返回值。 Calla
# Java 扫描包下方法 作为一名刚入行Java开发者,你可能会遇到需要扫描特定包下所有需求。这通常在动态加载、反射操作或者插件加载等场景中使用。本文将向你介绍如何使用Java来实现这一功能。 ## 流程概览 首先,我们通过一个表格来展示整个扫描过程步骤: | 步骤 | 描述 | 代码 | | --- | --- | --- | | 1 | 确定要扫描包 | `Strin
原创 2024-07-17 08:07:52
36阅读
1 减少计数 CountDownLatch CountDownLatch 可以设置一个计数器,然后通过 countDown 方法来进行减 1 操作,使用 await 方法等待计数器不大于 0,然后继续执行 await 方法 之后语句。 CountDownLatch 主要有两个方法,当一个或多个 ...
转载 2021-09-17 23:11:00
105阅读
2评论
# Java.lang包下Java语言中,java.lang包是一个非常重要包,它提供了Java程序运行所必需。这个包中Java程序中无需显式导入,可以直接使用。本文将介绍java.lang包中一些常用和其使用方法,并通过代码示例帮助读者更好地理解这些功能。 ## Object ObjectJava中所有祖先,它定义了一些通用方法,可供所有继承和使
原创 2024-01-18 11:15:15
29阅读
## Java 扫描包下Java 中,我们经常需要扫描指定包下,以便进行一些自动化操作或者加载实例。本文将介绍如何使用 Java 反射机制来扫描指定包下,并给出相应代码示例。 ### 什么是包 在 Java 中,包(package)是一种组织机制,它用来对进行分类和管理。包命名是以域名反序作为前缀,例如 com.example。包名结构应该是小写,多个单词
原创 2023-10-07 16:30:04
276阅读
1. Java集合包 在“Java 集合系列01之 总体框架”中,介绍java集合架构。主体内容包括Collection集合和Map;而Collection集合又可以划分为List(队列)和Set(集合)。 1.List实现主要有: LinkedList, ArrayList, Vector
转载 2017-08-06 20:08:00
77阅读
2评论
调用如下:// 获取特定包下所有的 List<Class<?>> clsList = ClassUtil.getClasses("cn.gtmap.xxx.entity"); import java.io.File; import java.io.FileFilter; import java.io.IOException; import java.net.Ja
一、JUC是什么1、JUC定义JUC,即java.util.concurrent 在并发编程中使用工具2、进程、线程定义2.1 进程、线程是什么?进程:进程是一个具有一定独立功能程序关于某个数据集合一次运行活动。它是操作系统动态执行基本单元,在传统操作系统中,进程既是基本分配单元,也是基本执行单元。 线程:通常在一个进程中可以包含若干个线程,当然一个进程中至少有一个线程
转载 2023-12-06 16:47:03
44阅读
外部类面向对象特性:抽象,封装,继承,多态。其中封装、继承、多态是java三大基本特性。 如果一个要被声明为static,只有一种情况,就是静态内部类。static是不能修饰外部类。内部类在Java中,可以将一个定义在另一个里面或者一个方法里面,这样称为内部类。广泛意义上内部类一般来说包括这四种:成员内部类、局部内部类、匿名内部类和静态内部类。下面就先来了解一下这四种内部类
  • 1
  • 2
  • 3
  • 4
  • 5