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并发编程学习笔记
Java并发
编程之锁机制
一、JAVA锁实现锁是用来控制多个线程访问共享资源的方式,JDK提供三种方式的锁实现:(1)Synchronized关键字(2)Lock(3)原子操作类(无锁)1.Synchronizedsynchronized是基于JVM内置锁实现,基于进入与退出Monitor对象实现方法同步和代码块同步,监视器锁的实现依赖底层操作系统的Mutexlock(互斥锁)实现代码块同步是使用monitorenter和
宏势
·
2023-01-29 01:09
面向对象
编程学习笔记
(C++)
参考书:c/c++程序设计教程,龚沛增、杨志强主编本文主要内容架构如下图:面向对象(c++)1概述面向对象编程(ObjectOrientedProgramming),面向对象的思想就是要面对现实世界的实体,以对象为基本单位,分析、设计和实现一个系统。基本概念:对象现实世界中的对象是各种各样的实体,可以是具体的或抽象的事物。每个对象皆有自己的特征、行为和作用在该对象上的活动。类许多对象具有相似的性质
AmberXiao
·
2023-01-28 23:19
2019-07-10 平安壹钱包面经
原子性、有序性和可见性的理解volatile关键字对于有序性和可见性的保障什么事可见性,这个我答的不是很好,说对修改可见,不够充分
Java并发
中原子性是怎么理解的CAS的原理,怎么实现的两个New出来的
北子萌
·
2023-01-28 19:37
java并发
包之线程池
简介线程池是java中用来管理线程的工具,可以复用线程,以减小创建销毁线程的开销,同时提供了对线程灵活的控制参数含义1562683184(1).jpgcorePoolSize为常驻线程数量,常驻线程在任务执行完成后会阻塞maximunPoolSize为线程池最大线程数,非核心线程在执行完成任务后停留一段时间后会被销毁keepAliveTime为非核心线程驻留时间unit时间单位workQueue任
kokokokokoishi
·
2023-01-28 17:49
乐观锁与悲观锁?公平锁和非公平锁?独占锁与共享锁?
《
Java并发
编程之美》读书笔记锁的概述乐观锁与悲观锁乐观锁和悲观锁是数据库中引入的名字,但是在并发包里面也引入了类似的思想。
Everglowsc
·
2023-01-28 06:55
线程阻塞唤醒工具 LockSupport使用详解
synchronized和Lock的阻塞方式对比LockSupport的使用LockSupport注意事项许可证提前发放许可证不会累计LockSupport底层实现结语LockSupport简介LockSupport是
Java
·
2023-01-28 05:05
Java并发
知识点汇总
脑袋比较晕,看了很多资料。深刻感觉到前辈们说得话很对,不把知识进行有效的梳理和归类,其实就是不懂,也是对自己的不负责。知识点列举:wait/notify/nofityAll的关系,Lock中Condition的await/signal/signalAll的关系,Synchronize与Lock的区别,Synchronized的基本原理(monitorentry,exit),锁的分类(偏向锁,轻量级
young_dreamer
·
2023-01-28 00:23
Java基础知识面试题
主题链接Java基础知识面试题Java集合容器面试题
Java并发
编程面试题Java底层知识面试题Java常用框架面试题计算机网络面试题数据库面试题RabbitMQ面试题Redis面试题Elasticsearch
已是寒冬
·
2023-01-27 13:54
Java面试题
java
面试题
Java基础知识
Java社招面试题
Java并发
工具类-CountdownLatch,CyclicBarrier和Semaphore
CountDownLatchCountDownLatch从字面意思上来看,它是一个向下计数锁,可以用来进行线程间的调度,主要方法如下:publicCountDownLatch(intcount){if(count=0;}Semaphore(intpermits)指定持有者数量Semaphore(intpermits,booleanfair)可以指定是否实现为公平锁acquire()获取1个信号量a
Cris_Ma
·
2023-01-27 04:07
Java线程池实现原理和源码分析
然后给我他发了一篇我2017年写的笔记《
Java并发
编程之线程池必用知识点》,他说就这么点?我当时想线程池也差不多就这么多吧~!2019年11月9号我和某东
静默加载
·
2023-01-26 18:19
java并发
编程(十七)带你了解什么是面试官常说的AQS
前面我们学习了ReentrantLock,其底层就是用了AQS实现的,应该先讲这一章节,但是当时给忘了,现在给补上吧。关于ReentrantLock的学习,可以参考:https://www.jianshu.com/p/edec5185196dAbstractQueuedSynchronizer是阻塞式锁,以及同步器组件的实现框架。是JDK中实现并发编程的核心,它提供了一个基于FIFO队列,平时我们
我犟不过你
·
2023-01-26 13:32
java并发
的资源
允许被多个线程同时执行的代码称作线程安全的代码。线程安全的代码不包含竞态条件。当多个线程同时更新共享资源时会引发竞态条件。因此,了解Java线程执行时共享了什么资源很重要。局部变量局部变量存储在线程自己的栈中。也就是说,局部变量永远也不会被多个线程共享。所以,基础类型的局部变量是线程安全的。下面是基础类型的局部变量的一个例子:publicvoidsomeMethod(){longthreadSaf
嘎嘣脆哦哦
·
2023-01-26 13:50
【JUC并发编程】线程池及相关面试题 详解
【JUC并发编程】线程池及相关面试题详解参考资料:第十二章线程池原理·深入浅出Java多线程原理两道面试题,深入线程池,连环17问深入理解
Java并发
编程之线程池、工作原理、复用原理及源码分析硬核干货:
小颜-
·
2023-01-25 12:05
JUC
java
面试
jvm
后端
架构
秒懂 Java wait() 和 notify() 方法
本文,我们来讲解下
Java并发
中的基础的基础,核心的核心,
Java并发
编程中的最基本的机制之一-「线程同步」为了方便你理解并发编程中的各种概念和术语,我们首先会来一阵扫盲,讨论一些基本的并发相关术语和方法
Java面试大全
·
2023-01-22 19:13
java
面试
CUDA
编程学习笔记
重要概念在CUDA中,host和device是两个重要概念,用host指代CPU及其内存,用device指代GPU及其内存。典型CUDA程序的执行流程如下:1.分配host内存,并进行数据初始化;2.分配device内存,并从host将数据copy到device上;3.调用CUDA的核函数在device上完成指定的运算;4.将device上的运算结果copy到host上;上面流程中最重要的部分是调
yukaiwen0102
·
2023-01-21 21:25
Parallel
Computing
CUDA
基础知识
cuda
编程学习笔记
pycuda环境配置使用pycuda实现cuda编程,首先需要安装pycuda,conda环境下的具体安装代码如下condainstall-cconda-forgepycudacudaMemcpy的用法cudaMemcpy用于在主机(Host)和设备(Device)之间往返的传递数据,用法如下:Copydatafromdevicetohost:cudaMemcpy(device_data,host
mathematican
·
2023-01-21 21:54
C
programming
c语言
c++
多线程学习-锁升级
参考资料:《
Java并发
编程的艺术》正文一.锁的使用
·
2023-01-16 23:44
CopyOnWrite
从JDK1.5开始
Java并发
包里提供了两个使用CopyOnWrite机制实现的并发容器,它们是CopyOnWriteArrayList和CopyOnWriteArrayS
·
2023-01-16 18:51
java
详解Java ReentrantReadWriteLock读写锁的原理与实现
在这之前建议大家阅读下下面3篇关联文章:深入浅出理解
Java并发
AQS的独占锁模式深入浅出理解
Java并发
AQS的共享锁模式通俗易懂读写锁Reentra
·
2023-01-14 04:55
Java中读写锁ReadWriteLock的原理与应用详解
读写锁的特点读写锁的使用场景读写锁的主要成员和结构图读写锁的实现原理读写锁总结
Java并发
编程提供了读写锁,主要用于读多写少的场景,今天我就重点来讲解读写锁的底层实现原理什么是读写锁?
·
2023-01-14 04:55
Java开发复习整理之视频资源篇
我自己的Java复习主要分为以下几步:Java基础Jvm相关
Java并发
编程I/O模型MySQL数据库Redis数据库Spring系列框架Linux相关知识项目(秒杀系统)其他接下来整理一下我在复习过程中所看的视频
aaaaqiua
·
2023-01-13 12:32
Java
java
面试
Java并发
编程之读写锁ReentrantReadWriteLock
简介ReentrantReadWriteLock:可重入读写锁,它提供了获取读锁和写锁的方法,读锁可以并发执行,但是写锁只能一个线程调用其他线程等待。示例1读锁并发privatestaticfinalReadWriteLocklock=newReentrantReadWriteLock();privatestaticfinalAtomicIntegerai=newAtomicInteger(1);
yzm4399
·
2023-01-12 18:52
多线程
并发编程
多线程
并发编程
CUDA
编程学习笔记
-already_true
主要参考CUDA编程入门极简教程,CUDA从入门到精通,CUDA——从入门到放弃,CUDA编程入门推荐书籍:《GPU高性能编程CUDA实战》(可操作性强)、《GPGPU编程技术》(全面客观详细介绍通用GPU编程的策略)、《OpenGL编程指南》(图形交互)、《GPU高性能运算之CUDA》(快速查询关键技术和概念)、各种工具使用手册Prerequisite根据费林分类法(Flynn’sTaxonom
actually_ture
·
2023-01-12 17:57
cuda
java中内存模型_浅谈
Java并发
中的内存模型
什么是JavaMemoryModel(JMM)?JMM通过构建一个统一的内存模型来屏蔽掉不同硬件平台和不同操作系统之间的差异,让Java开发者无需关注不同平台之间的差异,达到一次编译,随处运行的目的,这也正是Java的设计目的之一。CPU和内存在讲JMM之前,我想先和大家聊聊硬件层面的东西。大家应该都知道执行运算操作的CPU本身是不具备存储能力的,它只负责根据指令对传递进来的数据做相应的运算,而数
ftggggc
·
2023-01-10 09:04
java中内存模型
Elasticsearch初步学习(仿京东搜索、爬虫)
个人博客欢迎访问微信搜索程序dunk,关注公众号,获取项目、博客源码我们面前无所不有,我们面前一无所有——查尔斯·狄更斯序号内容1Java基础面试题2JVM面试题3
Java并发
编程面试4计算机网络知识点汇总
程序dunk
·
2023-01-10 08:26
中间件
搜索引擎
Java并发
编程面试题
1.java守护线程和用户线程的区别答:任何线程都可以设置为守护线程和用户线程,通过方法thread.setDeamon(线程),返回true则设置为守护线程,返回false则设置为用户线程;thread.setDeamon()在thread.start()方法前调用,否则会抛出异常。守护线程与用户线程的主要区别:判断JVM何时撤离,守护线程为其他线程提供服务,如果用户线程全部撤离,守护线程没有可
fantasy2020
·
2023-01-10 07:20
并发编程
测试开发面试题
并发编程
Java 如何不使用 volatile 和锁实现共享变量的同步操作
前言熟悉
Java并发
编程的都知道,JMM(Java内存模型)中的happen-before(简称hb)规则,该规则定义了Java多线程操作的有序性和可见性,防止了编译器重排序对程序结果的影响。
做网安的小王
·
2023-01-09 11:08
java
jvm
开发语言
2022年度总结与2023未来规划
2022年计划完成情况原始计划生活方面健身(体重增到145)争取发展一个新的爱好(游泳、拳击)会做6个菜,做12次饭技术方面Java开发-基础知识-Java业务开发常见错误/
Java并发
编程深入理解计算机系统
luxinfeng666
·
2023-01-09 08:05
生活随笔
程序人生
学习方法
数据库
java
java工作内存是cpu的缓存_
JAVA并发
编程-JAVA内存模型以及CPU缓存知识 - Java 技术驿站-Java 技术驿站...
阅读《Java高并发编程详解》后的笔记。CPUcache模型CPU的处理速度和内存的访问速度差距太大,于是在CPU和主存之间增加了缓存。CPUcache模型如图:Cache的出现解决直接访问内存效率低下。程序运行时,Cache会将运算所需要的数据从主存复制一份到CPUcache中,这样CPU进行计算时就可以直接对CPUCache中的数据进行读取和写入,运算结束后,再将CPUcache中的最新数据刷
weixin_39684995
·
2023-01-08 13:30
java工作内存是cpu的缓存
1.什么是CPU多级缓存模型?
聊起
JAVA并发
,还是需要把最基础的概念和知识梳理清楚,然后才能进入后面的深入的学习。老王:我们先从CPU的多级缓存架构讲起,下面我画个图说一下CPU多级缓存架构:计算机为什么要设计高速缓存架构?
码农小陈的学习笔记
·
2023-01-08 12:39
java并发专栏
缓存
并发编程
java
Java并发
编程(六)ExecutorService
ExecutorServiceinvokeAny()heinvokeAll()具有阻塞特性invokeAnyinvokeAny的作用是取得第一个完成任务的结果的值。如果线程中增加if(!Thread.currentThread().isInterrupted())判断,则会中断这些线程。其他线程如果抛出InterruptedException()异常,且有一个线程可以正常运行时,主线程并不能捕获到
kerwinQiao
·
2023-01-07 10:58
Java初学者
ExecutorService
java
并发编程
Java并发
编程(五)CompletionService
CompletionService功能介绍java.util.concurrent.CompletionService是对ExecutorService的一个功能增强封装,优化了获取异步操作结果的接口。Future的get()方法会阻塞线程降低代码与性效率,使用CompletionServie可以解决这个问题。CompletionService本身不包含线程池,创建它的实例之前,先要创建一个Exe
kerwinQiao
·
2023-01-07 10:28
Java初学者
java
jvm
开发语言
java接口开发 多线程_
Java并发
之初识多线程开发
在Java开发中,多线程并发是一个永恒不变的话题与热点。这里我们开始讨论如何在开发中使用多线程实现并发Thread类在Java中实现多线程最简单的一个方式就是继承Thread类、重写run方法,如下所示/***售票窗口,继承Thread类*/publicclassTicketWindow1extendsThread{privateintnum;publicTicketWindow1(Stringn
weixin_39604685
·
2023-01-05 17:16
java接口开发
多线程
Java 之 volatile是什么?
1.JUC:
java并发
包java.util.concurrent2.volatile:java虚拟机提供的轻量级同步机制,特性:保证可见性,不保证原子性,禁止指令重排。
弋在西元前
·
2023-01-05 17:15
java
java
锁
Linux系统
编程学习笔记
-gcc/g++
gcc编译器gcc编译器的安装sudoaptinstallgccgcc工作流程:首先对源代码进行预编译,预编译阶段主要处理#define、#include等编译预处理命令,将宏定义转换成数值加入到代码中,然后过滤掉代码注释等,生成.i文件;下一步就是编译,编译器对.i文件进行编译生成.s汇编代码;下一步是汇编器对汇编代码进行汇编生成.o文件;最后一步就是链接,将编译的目标代码和启动代码、动态库、静
开阳654
·
2023-01-04 10:30
Linux
linux
学习
Linux系统
编程学习笔记
-makefile
Makefile文件类似于一个shell脚本,文件定义了一系列规则来指定项目源文件的编译过程,Linux中的make指令就是执行当前目录下的Makefile文件。Makefild规则:一个Makefile可以有有多个规则,但是都是为了完成第一条规则。格式为:[目标]:[依赖][命令]命令执行之前需要检查以来是否存在,如果不存在则向下检查其他规则,寻找有没有一个规则的目标就是这个依赖项,如果找到了就
开阳654
·
2023-01-04 10:30
Linux
linux
学习
Linux网络
编程学习笔记
(TCP)
文章目录1字节序1.1定义1.2字节序转换函数2Socket地址2.1通用socket地址(实际开发不使用)2.2专用socket地址2IP地址转换3TCP通信流程3.1服务器端(被动接受连接的角色)3.2客户端4套接字函数4.1头文件4.2创建套接字sockfd4.3绑定本地的IP和端口(服务器端)4.4监听socket的连接(服务器端)4.5接收客户端连接(服务器端,阻塞)4.6客户端连接服务
半路杀出来的小黑同学
·
2022-12-29 20:47
cpp项目开发
网络
linux
学习
Linux网络
编程学习笔记
课程链接:https://www.bilibili.com/video/BV1iJ411S7UA课程视频资源和笔记:链接:https://pan.baidu.com/s/10sKjOHfKKEE4CcZaqlYeTw提取码:unix练习代码:https://gitee.com/daniel187/Linux_Network复习Linux系统编程如何避免死锁:保证资源的获取顺序,要求每个线程获取资源
Daniel_187
·
2022-12-29 20:43
Linux
c语言
linux
socket
网络通信
web
Java CAS 原理剖析
在
Java并发
中,我们最初接触的应该就是synchronized关键字了,但是synchronized属于重量级锁,很多时候会引起性能问题,volatile也是个不错的选择,但是volatile不能保证原子性
·
2022-12-26 10:49
后端java
redis实现分布式锁
目录1、为什么要使用分布式锁2、示例2.1底层锁2.2redis2.测试1、为什么要使用分布式锁为了保证一个方法在高并发情况下的同一时间只能被同一个线程执行,在传统单体应用单机部署的情况下,可以使用
Java
可乐加可乐冰
·
2022-12-25 22:52
springcloud
redis
分布式
java
Java 并发常见面试题总结(中)
Java并发
常见面试题总结---中JMM(JavaMemoryModel)volatile关键字如何保证变量的可见性?如何禁止指令重排序?volatile可以保证原子性么?
热爱编程的大忽悠
·
2022-12-25 14:40
技术杂谈
java
jvm
面试
JDBC
编程学习笔记
初识JDBC编程JDBCUtils工具类publicclassJDBCUtils{privatestaticfinalStringconnectionurl="jdbc://localhost:3306/数据库名称?useUnicode=true&characterEncoding=UTF8&useSSL=false";privatestaticfinalStringusername="root"
秦.
·
2022-12-25 14:03
学习
JDBC
JAVA并发
处理经验(四)并行模式与算法4:并行搜索模式
一、前言在并行搜索模式中,主要是内存数据很大,需要查找的情况。因为我们通常需要查找数据库返回的结果据很少,在几百条以内。但是在平台软件开发中,可能遇到并行搜索的情况。其实很简单就是将数据分段进行检索;二、并行搜索模式packagepattern.search;importorg.omg.PortableInterceptor.INACTIVE;importjava.util.ArrayList;i
weixin_34192816
·
2022-12-24 16:30
java
数据库
Java高手技能树:看了大汗淋漓
StringJava中各种关键字枚举IO反射注解动态代理序列化异常时间处理泛型面向对象与设计模式数据与存储安全单元测试正则表达式API&SPI编码方式语法糖Java8中stream相关用法Java8阅读JDK源代码
Java
北极象
·
2022-12-24 00:52
Java
java
开发语言
jvm
浅谈ReentrantLock的公平锁和非公平锁的区别
前言最近在看
java并发
编程这本书,已经看了点ReentrantLock的源码,以及之前有面试官问,公平锁和非公平锁有啥区别,我就只是从源码层面说了一下区别,但在性能上也有区别,今天就来说道说道。
半山惊竹
·
2022-12-24 00:21
java操作
多线程
java
面试
面渣逆袭:
Java并发
六十问,快来看看你会多少道
这篇文章有点长,四万字,图文详解六十道
Java并发
面试题。人已经肝麻了,大家可以点赞、收藏慢慢看!扶我起来,我还能肝!基础1.并行跟并发有什么区别?从操作系统的角度来看,线程是CPU分配的最小单位。
·
2022-12-23 16:52
后端java并发
大白话聊聊
Java并发
面试问题之Java 8如何优化CAS性能?
一、前情回顾上篇文章给大家聊了一下volatile的原理,具体参见:《大白话聊聊
Java并发
面试问题之volatile到底是什么?》。
lxltmac
·
2022-12-23 08:26
java
并发
java并发面试
2023春招面试题:
Java并发
相关知识
1.基础知识回顾1.1什么是多线程?在没有线程的年代,在同一个进程中,程序的处理流程都是顺序的,下一个流程的开始必须等待上一个流程的结束,如果其中某一个流程非常耗时,那么会影响整个流程的处理时间cpu执行过程中并不是一个程序执行完之后cpu才切换,cpu时间片用完,就会切换到下个线程执行,给人一种多程序同时执行的感觉有了进程以后,为什么还要发明线程呢?1.在多核CPU中,利用多线程可以实现并行执行
编程千纸鹤
·
2022-12-23 07:49
面试
java
面试
开发语言
java并发面试
java多线程面试
年底了,感谢大家2022年的支持,虚竹哥送10本JAVA好书
文章目录前言《Java核心技术卷I:开发基础(原书第12版)》《EffectiveJava中文版(原书第3版)》《
Java并发
编程实战》《Java多
小虚竹
·
2022-12-22 09:24
好书收藏
java
开发语言
jvm
线性代数学习之线性系统
既然要过大年了,基本上期间写博客的心思也应该跑得九霄云外了,所以安耐住激动的心必须年前搞一发,也提前预祝各位赏光的大佬们春节快乐~~今年的学习其实落下很多,如kotlin项目、flutter项目、ios、
java
webor2006
·
2022-12-20 09:37
线性代数系统学习
机器学习
人工智能
java
编程语言
webgl
上一页
36
37
38
39
40
41
42
43
下一页
按字母分类:
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
其他