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并发编程实战笔记
ReentrantLock源码解读
前言写这篇文章之前,还是先安利一本书:《
java并发编程
的艺术》。这本书对锁的实现的很多细节都解释的还是很清楚的,加上自己配合源码进行理解,读懂ReentrantLock这个类的实现应该不是那么困难。
marsjhe
·
2023-04-08 18:06
Java并发编程
-wait和notify原理剖析
目录1.小故事-为什么需要wait2.wait¬ify工作原理3.API介绍4.wait和notify的正确姿势4.1.sleep(longn)和wait(longn)的区别4.2.step14.3.step24.4.step34.5.step44.6.step54.7.正确套路模板1.小故事-为什么需要wait有一对小孩都要使用算盘CPU进行计算,为了计算过程中的计算安全,老王设计了一个s
Java硬件工程师
·
2023-04-08 16:58
并发编程
Java
多线程
并发编程
多线程
java
Java并发编程
之wait、notify和join原理
文章目录1、wait、notify介绍2、API介绍3、sleep(longn)和wait(longn)的区别4、wait/notify的正确使用#2、join源码3、park&unpack3.1、基本使用3.2、park、unpark原理4、线程状态转换1、wait、notify介绍必须要获取到锁对象,才能调用这些方法当线程0获得到了锁,成为Monitor的Owner,但是此时它发现自己想要执行
冬天vs不冷
·
2023-04-08 16:27
juc
java
开发语言
后端
Java并发编程
系列18:多线程之生产者和消费者模式_信号灯法(wait/notify通知机制)
1、生产者消费者模式生产者消费者问题(Producer-consumerproblem),也称为有限缓冲问题(Bounded-bufferproblem),是一个多线程同步问题的经典案例。该问题描述了两个共享大小缓冲区的线程---既所谓的“生产者”和“消费者”----在实际运行时会发生的问题。生产者的主要作用时生成一定量的数据放到缓冲区中,然后重复此过程。以此同时,消费者也在缓冲区消费这些数据。该
fen_fen
·
2023-04-08 16:55
java相关
#
JAVA多线程编程
java
开发语言
后端
Java并发编程
-23-Fork/Join 框架概述
一、Java并发的总结1、通常,使用Java开发简单的并发应用程序时,会创建一些Runnable对象,然后创建对应的Thread对象来控制程序这些线程的创建,执行,以及线程的状态2、Java5引入了Executor和ExecutorService接口以及实现这两个接口的的类,比如ThreadPoolExecutor之后,使得Java在并发上得到进一步的提升,执行器框架将任务的创建和执行进行了分离,
韦轩
·
2023-04-08 13:13
Java
并发编程
Java并发编程
java timer并发_
Java并发编程
笔记之Timer源码分析
timer在JDK里面,是很早的一个API了。具有延时的,并具有周期性的任务,在newScheduledThreadPool出来之前我们一般会用Timer和TimerTask来做,但是Timer存在一些缺陷,为什么这么说呢?Timer只创建唯一的线程来执行所有Timer任务。如果一个timer任务的执行很耗时,会导致其他TimerTask的时效准确性出问题。例如一个TimerTask每10秒执行一
weixin_39890431
·
2023-04-08 09:57
java
timer并发
Java并发编程
—ScheduledThreadPoolExecutor原理分析
原文作者:小付原文地址:ScheduledThreadPoolExecutor原理分析目录一、简单使用二、类UML图三、处理流程四、任务提交方式五、SchduledFutureTask之run方法实现一、简单使用这里先学会简单使用再深入探讨。 ScheduledThreadPoolExecutor scheduled=newScheduledThreadPoolExecutor(2);
测试狗一枚
·
2023-04-08 09:25
后端—开发语言—Java
Java并发编程
:ScheduledThreadPoolExecutor源码解析
1ScheduledThreadPoolExecutor类图ScheduledThreadPoolExecutor类图如下ScheduledThreadPoolExecutor继承了ThreadPoolExecutor并实现了ScheduledExecutorService接口。线程池队列是DelayedWorkQueue,是一个延迟队列。ScheduledFutureTask是具有返回值的任务,
BoscoKuo
·
2023-04-08 09:53
Java基础
并发编程
Java并发编程
之ScheduledThreadPoolExecutor源码剖析
之前我们剖析过Java中线程池ThreadPoolExecutor的源码,链接为https://blog.csdn.net/HappyHeng/article/details/86827324,这一节从源码层次讲一下ScheduledThreadPoolExecutor这个定时线程池是如何执行任务的。一、ScheduledFutureTask:在ThreadPoolExecutor中提交任务执行,
HappyHeng
·
2023-04-08 09:16
java源码解析
ThreadPool
Executor
Scheduled
Pool
最新版Shiro-SpringBoot项目
实战笔记
配置文件:application.properties:#应用服务WEB访问端口server.port=8081server.servlet.context-path=/shiro#应用名称spring.application.name=shirospring.mvc.view.prefix=/spring.mvc.view.suffix=.jspspring.datasource.type=co
JMEATLIP
·
2023-04-08 07:33
shiro
shiro
安全
java
简话用户增长123
在《硅谷增长黑客
实战笔记
》中,找到北极星目标是最为关键的一环,为什么北极星目标这么重要呢?因为他代表了管理层对用户价值和公司成功关系的理解,以数量的形式展现让大家对事情的理解更简单,行为目标也更一致。
帅气个6啊
·
2023-04-08 07:11
spring-cloud-feign
实战笔记
feign配置针对单个feign接口进行配置feign:client:config:#feignName注意这里与contextId一致,不能写成name(FeignClientFactoryBean#configureFeign)#不能写成client-b(微服务名称),否则不生效helloFeignClient:#contextIdconnectTimeout:50000#连接超时时间read
yicj
·
2023-04-07 19:41
spring
spring-cloud
java
spring
spring-cloud
feign
阿里云Cent OS 安装tensorflow&Opencv
实战笔记
安装pip3centos7上默认安装了python2.7.5。考虑到目前python3的大趋势,在阿里云服务器上加装了python3。但是并没有pip3这个命令。在网上搜索了诸多教程,依旧没有成功。终于,在原作的帮助下,下载了两个安装包(setuptools&pip-18.1.tar.gz)后,成功安装了pip3。wgethttps://pypi.python.org/packages/sourc
ariali9
·
2023-04-07 16:00
Java并发编程
:浅谈wait/notify/notifyall机制
1、使用条件:当前重量级锁的持有线程Thread2发现条件不满足时会调用wait方法,Thread2释放锁并进入WaitSet变为WAITING状态(即线程调用wait/notify/notifyall方法的前提条件是该线程必须持有这个锁)。2、线程在BLOCKED和WAITING状态下都是处于阻塞状态,不会占用CPU时间片。3、当Owner线程释放锁的时候,会调用notify或者notifyal
sicaujh
·
2023-04-07 06:59
java
并发编程
java
并发编程
多线程
理解回归分析--机器学习与R语言
实战笔记
(第四章)
回归是一种有监督的学习方式,用于建模分析一个独立变量(响应变量)和一个或多个非独立变量(预测变量)之间的关联。library(car)data("Quartet")str(Quartet)##############################'data.frame':11obs.of6variables:$x:int108139111464127...$y1:num8.046.957.588
zd200572
·
2023-04-07 06:01
互联网寒冬 阿里架构师的Java知识地图,Java集合面试常用的问题
1、并发编程
Java并发编程
是整个Java开发体系中最难以理解,但也是最重要的知识点之一,一旦掌握你一定在市场上供不应求。
不几乎都有
·
2023-04-06 20:34
java
面试
经验分享
架构
spring
java 并发编程(三)之synchronized
上两个章节:
java并发编程
(一)之synchronized、
java并发编程
(二)之synchronized实例中讲解了synchronized关键字对同步的控制以及演示了在修饰方法的例子。
sam-fat-chang
·
2023-04-06 18:12
java
concurrency
java并发
synchronized
非依赖属性
java并发编程
之synchronized
synchronized使用了对象锁保证了临界区代码的原子性,临界区内的代码是不可分割的,不会被线程切换所打断。如:publicclassTest{privatestaticintx=0;privatestaticfinalObjectsync=newObject();publicstaticvoidmain(String[]args)throwsInterruptedException{Thre
kingyal
·
2023-04-06 18:03
java
多线程
java
jvm
开发语言
java并发编程
:synchronized同步方法
非线程安全问题:多个线程对同一个对象中的实例变量进行并发访问时发生,产生脏读,读取的数据可能是被更改过的。当多个线程同时访问同一个业务对象中没有同步的方法,可能出现非线程安全问题。解决办法:使用synchronized声明,保证方法只能由获得锁的线程执行。在用synchronized声明的方法中,线程进入方法时就获得锁,方法执行完就释放锁。(1)对于方法内部的私有变量,不存在非线程安全问题。(2)
暮色_年华
·
2023-04-06 18:58
java
java
jvm
开发语言
java并发编程
synchronized、volatile关键字及ReentrantLock类总结
1、java为解决并发问题引入的关键字synchronized,volatile,怎么用?synchronized修饰的方法或者代码块(保证可见性和排他性);synchronized修饰静态方法时(或方法时)同步的是这个对象类级别的;synchronized修饰方法时,同步的是对象实例级别的volatile修饰变量(仅保证可见性);每个线程运行时都有一个线程栈,线程栈保存了线程运行时候变量值信息。
abasen
·
2023-04-06 18:52
java
Spring - JUC 深入理解Volatile关键字及其实现原理
volatile的用法volatile通常被比喻成"轻量级的synchronized",也是
Java并发编程
中比较重要的一个关键字。
当走的路甚远
·
2023-04-06 17:13
Java
Volatile
Java并发编程
(十一):Java8 新增的并发
原子操作CASLongAdderJDK1.8时,java.util.concurrent.atomic包中提供了一个新的原子类:LongAdder。根据Oracle官方文档的介绍,LongAdder在高并发的场景下会比它的前辈————AtomicLong具有更好的性能,代价是消耗更多的内存空间。AtomicLong是利用了底层的CAS操作来提供并发性的,调用了Unsafe类的getAndAddLo
逆风fei扬
·
2023-04-06 16:23
阿里P8耗时90天,为你分析分布式系统技术和
实战笔记
写在前面毫无疑问,计算机改变了人类的工作和生活方式,而计算机系统也正在进行一场变革。没错,任何一个手机应用,或者智能App,都离不开背后那个神秘的巨人——分布式系统。正是那些看不见的分布式系统,每天处理着数以亿计的计算,提供可靠而稳定的服务。那么,学习分布式系统,就要先了解分布式事务。分布式事务就是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上。简
Java技术那些事儿
·
2023-04-06 05:17
java
开发语言
后端
分布式
Java并发编程
JUC-小结
Java并发编程
JUC(java.util.concurrent)提供了一些可重用的线程安全组件,这些组件可以帮助我们更容易地实现高效且正确的并发程序。
XinHaiYe
·
2023-04-06 04:05
JavaSE
java
java
jvm
开发语言
Java并发编程
实战_《
Java并发编程
实战》PDF版本下载
一、目录介绍第1章简介1.1并发简史1.2线程的优势1.2.1发挥多处理器的强大能力1.2.2建模的简单性1.2.3异步事件的简化处理1.2.4响应更灵敏的用户界面1.3线程带来的风险1.3.1安全性问题1.3.2活跃性问题1.3.3性能问题1.4线程无处不在第一部分基础知识第2章线程安全性2.1什么是线程安全性2.2原子性2.2.1竞态条件2.2.2示例:延迟初始化中的竞态条件2.2.3复合操作
汤義喆
·
2023-04-06 00:35
Java并发编程实战
【2022最新Java面试宝典】——
Java并发编程
面试题(123道含答案)
目录一、基础知识1.为什么要使用并发编程2.多线程应用场景3.并发编程有什么缺点4.并发编程三个必要因素是什么?5.Java程序中怎么保证多线程的运行安全?6.并行和并发有什么区别?7.什么是多线程8.多线程的好处9.多线程的劣势:10.线程和进程区别11.什么是上下文切换?12.守护线程和用户线程有什么区别呢?13.如何在Windows和Linux上查找哪个线程cpu利用率最高?14.什么是线程
超级码里喵
·
2023-04-06 00:19
Java面试宝典
JavaSE
java
面试
经验分享
并发编程
Java并发编程
基础(一篇入门)
1并发编程简介1.1什么是并发编程所谓并发编程是指在一台处理器上“同时”处理多个任务。并发是在同一实体上的多个事件。多个事件在同一时间间隔发生。并发编程,从程序设计的角度来说,是希望通过某些机制让计算机可以在一个时间段内,执行多个任务。从计算机CPU硬件层面来说,是一个或多个物理CPU在多个程序之间多路复用,提高对计算机资源的利用率。从调度算法角度来说,当任务数量多于CPU的核数时,并发编程能够通
行者无疆_ty
·
2023-04-06 00:02
Java开发
java
多线程
并发
Java 并发编程解析 | 如何正确理解Java领域中的多线程模型,主要用来解决什么问题?
作为一名JavaDeveloper,在面对
Java并发编程
的时候,有过哪些的疑惑与不解?
朝槿木兮
·
2023-04-05 21:37
Java并发编程
:CountDownLatch、CyclicBarrier和Semaphore
一.CountDownLatch用法CountDownLatch类位于java.util.concurrent包下,利用它可以实现类似计数器的功能。比如有一个任务A,它要等待其他4个任务执行完毕之后才能执行,此时就可以利用CountDownLatch来实现这种功能了。CountDownLatch类只提供了一个构造器:1publicCountDownLatch(intcount){};//参数cou
马小瑄
·
2023-04-05 14:06
java集合收藏
Java接口自动化测试
实战笔记
:https://www.jianshu.com/p/1f357b849c87#overview
哪里荒凉去哪里
·
2023-04-05 05:15
JUC并发编程
java并发编程
我们在用
java并发编程
时会用到java.util.concurrent(简称JUC)包,该包下包含了并发编程的类。什么是线程线程(thread)是操作系统能够进行运算调度的最小单位。
健小周
·
2023-04-04 23:17
多线程——synchronized详解
当多个线程同时访问一个对象时,如果不用考虑这些线程在运行时环境下的调度和交替执行,也不需要进行额外的同步,或者在调用方进行任何其他的协调操作,调用这个对象的行为都可以获得正确的结果,那就称这个对象是线程安全的”——《
Java
Pluto372
·
2023-04-04 22:41
java基础
JVM
java
jvm
开发语言
3天ruby入门到
实战笔记
出于公司业务需要,加入ruby开发队伍,打算三天时间学习一下学习路径:1、了解ruby基本情况与基础语法2、安装ruby基础环境,基础练习3、学习rubyonrail框架4、安装配置ruby开发5、rubyonrails开发为了少出错,直接安装linux虚拟机centos7然后再centos7上安装ruby,此处省去虚拟机安装过程。rubyonrails环境安装顺序:1、装ruby-2.4.6通过
zlsdmx
·
2023-04-04 16:35
ruby
on
rails
ruby安装入门
rails
ruby
Java面试技术体系整理
34337272/article/details/79805764https://www.nowcoder.com/discuss/5941面试网站及书籍:牛客网牛客网剑指offer深入理解JVM虚拟机编程之美,
JAVA
Mr_YDK
·
2023-04-04 08:45
随笔
面试题
java并发编程
(并发编程的三个问题)
什么是并发编程?首先我们要知道什么是并发?什么是并行?并行:多件事情在同一时刻同时发生并发:在同一时间内,多个事情交替执行并发编程:比如抢票,秒杀等在同一场景下,有大量的请求访问同一资源,会出现一些安全性的问题,所以要通过编程来控制多个线程依次访问资源,称为并发编程引发并发编程的根本原因因为所有的java代码都是在java虚拟机中运行的,而java虚拟机也有自己的模型-----Java内存模型(J
暴走的小帅
·
2023-04-04 07:24
java
面试
jvm
阿里面试官:你没搞清楚HashMap原理,竟然敢写精通!
Hash也称散列、哈希,对应的英文单词Hash,基本原理就是把任意长度的输入,通过Hash算法变成固定长度的输出这个映射的规则就是对应的哈希算法,而原始数据映射后的二进制就是哈希值
Java并发编程
学习笔记
你丫才CRUD
·
2023-04-04 05:04
Java之路
hashmap
数据结构
列表
链表
java
Java项目
实战笔记
(瑞吉外卖)-1
项目开发整体介绍项目开发流程需求分析:产品原型、需求规格说明书设计:产品文档、UI界面设计、概要设计、详细设计、数据库设计编码:项目代码、单元测试测试:测试用例、测试报告上线运维:软件环境安装、配置角色分工项目经理:对整个项目负责,任务分配,把控进度产品经理:进行需求调研,输出需求调研文档,产品原型等UI设计师:根据产品原型输出界面效果图架构师:项目整体架构设计、技术选型等开发工程师:代码实现测试
lewjin
·
2023-04-04 01:21
Java项目
java
java并发编程
【二】Executor框架与线程池
文章目录一、Executor框架1.1、this引用逃逸1.2、Executor框架二、线程池ThreadPoolExecutor2.1、线程池优点2.2、线程池方法2.3、线程池创建2.4、线程池参数2.5、运行原理2.6、线程池拒绝策略2.6.1、AbortPolicy2.6.2、CallerRunsPolicy2.6.3、DiscardOldestPolicy2.6.4、DiscardPol
依剑问道
·
2023-04-03 22:21
java基础
java
社群营销
实战笔记
,一盒鸡蛋撬动8000万市场的实战落地方案
停更了五天。。。诸多原因吧,感谢平台给与的学习与成长的机会!今天给大家分享一个前段时间的一个社群营销实战案例,一盒鸡蛋撬动的8000万市场,这是一个真实的案例,发生在广西北海,故事的主人公是一个90后的小伙,曾是一个海上的渔民,以贩卖海鲜为生,后通过一些社群的经营方式,完成了财富积累。01吸引客户,组建社群以小规模化的方式进入中端小区,跟大爷大妈、宝妈宝爸们开始说了:“你们想每天吃到从海里直接打捞
蓝嵊Sir
·
2023-04-03 20:09
RocketMQ关于Broker闪断故障排查【
实战笔记
】
目录一、问题描述二、Broker日志分析1.查看GC日志2.查看Broker日志三、系统监控分析1.网络监控2.磁盘IO监控3.CPU监控4.内存信息5.集群流量四、Linux系统日志分析五、解决方案1.调整内核参数2.参数含义说明六、原理分析一、问题描述在2020-03-1618:00左右收到告警,业务出现发送RocketMQ失败,在约1分钟左右后自动恢复。RocketMQ运行向来稳定,为何也抖
瓜农老梁
·
2023-04-03 18:19
Kafka异常复盘NotLeaderForPartitionException【
实战笔记
】
一、情况分析1.客户端异常报警晚上10点20分接到使用方电话,日志持续报以下异常,持续时间已有10多分钟。ERROR2019-05-1523:05:23,221[kafka-producer-network-thread|producer-1]AfailureoccurredsendingamessagetoKafka.org.apache.kafka.common.errors.NotLeade
瓜农老梁
·
2023-04-03 18:19
原来这就是Java内存模型
今天我们来讲讲
Java并发编程
的基础:Java内存模型。它非常的重要,是并发编程里面不可绕去的一环,也是面试的重点。本文依然使用图解的方式带大家理解它。
是fancy呀
·
2023-04-03 13:19
图解并发
java
面试
系统安全
web安全
安全架构
《深入理解Java虚拟机》读书笔记----线程安全与锁优化
点击跳转线程安全
Java并发编程
实战的作者BrianGoetz为“线程安全”做出了一个比较恰当的定义:“当多个线程同时访问一个对象时,如果不用考虑这些线程在运行时环境下的调度和交替执行,也不需要进行额外的同步
JaneRoad
·
2023-04-03 08:41
编程语言
多线程
java
人工智能
并发编程
java基础----Synchronized、Lock的区别与Volatile
引用了Lock与synchronized的区别详解synchronized与Lock的区别与使用
Java并发编程
:volatile关键字解析volatile['vɒlətaɪl]易变化的synchronized
pgydbh
·
2023-04-03 06:00
深入理解Java内存模型
目录(emmm....现在好像还不支持)本文为《
Java并发编程
的艺术》一书以及一些相关文章的学习笔记。因这一块知识相互交叉,比较难理出一个清晰的结构,第一次接触学习时会感觉很混乱。遂整理出此文。
prik丶
·
2023-04-03 05:03
java 实现自旋锁_
Java并发编程
——深入理解自旋锁
1.什么是自旋锁自旋锁(spinlock):是指当一个线程在获取锁的时候,如果锁已经被其它线程获取,那么该线程将循环等待,然后不断的判断锁是否能够被成功获取,直到获取到锁才会退出循环。获取锁的线程一直处于活跃状态,但是并没有执行任何有效的任务,使用这种锁会造成busy-waiting。2.Java如何实现自旋锁?先看一个实现自旋锁的例子,java.util.concurrent包里提供了很多面向并
柳如婳
·
2023-04-03 04:10
java
实现自旋锁
深入理解Java内存模型五————锁
1锁的释放-获取建立的happensbefore关系锁是
java并发编程
中最重要的同步机制。锁除了让临界区互斥执行外,还可以让释放锁的线程向获取同一个锁的线程发送消息。
南yue
·
2023-04-03 04:27
Java
Java内存
深入理解Java内存模型(五)——锁
锁本文属于作者原创,原文发表于InfoQ:http://www.infoq.com/cn/articles/java-memory-model-5锁的释放-获取建立的happensbefore关系锁是
java
还不够
·
2023-04-03 04:52
java内存模型
深入理解Java内存模型——锁
锁的释放-获取建立的happensbefore关系锁是
java并发编程
中最重要的同步机制。锁除了让临界区互斥执行外,还可以让释放锁的线程向获取同一个锁的线程发送消息。
mcgwinds
·
2023-04-03 04:21
java并发编程
java并发编程
Java并发编程
——synchronized底层原理
前言记得开始学习Java的时候,一遇到多线程情况就使用synchronized,相对于当时的我们来说synchronized是这么的神奇而又强大,那个时候我们赋予它一个名字“同步”,也成为了我们解决多线程情况的百试不爽的良药。但是,随着学习的进行我们知道在JDK1.5之前synchronized是一个重量级锁,相对于j.u.c.Lock,它会显得那么笨重,以至于我们认为它不是那么的高效而慢慢摒弃它
小波同学
·
2023-04-03 03:54
上一页
19
20
21
22
23
24
25
26
下一页
按字母分类:
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
其他