- 博客(11)
- 收藏
- 关注
原创 Java并发编程实战笔记 (四)锁
时,会尝试获取对象的锁,如果锁的计数器为 0 则表示锁可以被获取,获取后将锁计数器设为 1 也就是加 1。主要解决的是多个线程之间访问资源的同步性,可以保证被它修饰的方法或者代码块在任意时刻只能有一个线程执行。在java虚拟机中,锁获取的是对象监视器 monitor,在执行。指令后,将锁计数器设为 0,表明锁被释放,其他线程可以尝试获取锁。访问标志来辨别一个方法是否声明为同步方法,从而执行相应的同步调用。提供了一种无条件的、可轮询的、定时的以及可中断的锁获取操作。标识,该标识指明了该方法是一个同步方法。
2022-11-29 17:16:45
246
1
原创 Java并发编程实战笔记 (三)活跃性问题——死锁、饥饿、活锁
两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。死锁的几种类型:1.锁顺序死锁原因:两个线程试图以不同的顺序来获得相同的锁;如果所有线程以固定的顺序来获得锁,那么在程序中就不会出现锁顺序死锁2. 协作的对象间相互调用发生的死锁3. 资源型死锁。
2022-11-29 11:07:55
453
原创 Java并发编程实战笔记 (二)多线程安全程序开发
进程是操作系统资源分配的基本单位,而线程是处理器任务调度和执行的基本单位:每个进程都有独立的代码和数据空间(程序上下文),程序之间的切换会有较大的开销;线程可以看做轻量级的进程,同一类线程共享代码和数据空间,每个线程都有自己独立的运行栈和程序计数器(PC),线程之间切换的开销小。:如果一个进程内有多个线程,则执行过程不是一条线的,而是多条线(线程)共同完成的;线程是进程的一部分,所以线程也被称为轻权进程或者轻量级进程。:同一进程的线程共享本进程的地址空间和资源,而进程之间的地址空间和资源是相互独立的。
2022-11-23 16:12:53
90
原创 Java并发编程实战笔记 (一)基础知识
当多个线程访问某个类时,不管运行时环境采用何种调度方式或者这些线程如何交替执行,并且在主调代码中不需要任何额外的同步或协同,这个类都能表现出正确的行为。线程安全类多个线程访问交替执行获得的结果 与 一个线程执行获得的结果一致当一个类是线程安全的,它就已经封装好了同步机制,无需在外界调用时再采取进一步的同步措施。
2022-11-17 16:17:49
165
1
原创 Spring Cloud Gateway 集成 Sentinel(二)实现nacos动态保存配置
sentinel gateway nacos 持久化规则
2022-11-16 17:25:04
1525
原创 Spring Cloud Gateway 集成 Sentinel(一)集成sentinel
现在,我们就已经将 Spring Cloud Gateway 与 Sentinel 整合好了,进入 sentinel 控制台就能够看到网关项目被监控了。Sentinel 支持对 Spring Cloud Gateway、Zuul 等主流的 API Gateway 进行限流。对于网关项目,我们需要在原启动参数的基础上添加如下启动参数,标记该应用为。注册动态规则源动态推送(推荐方式)。注 配置自定义的报错返回信息 需要注册。用户名密码默认为sentinel。手动加载网关规则,或通过。2. 流控规则内实现分组。
2022-11-16 16:36:49
1605
原创 Tomcat9 目录结构
Tomcat 目录结构如下1.binbin目录主要是用来存放tomcat的命令,主要有两大类,一类是以.sh结尾的(linux命令),另一类是以.bat结尾的(windows命令)。2.confconf目录主要是用来存放tomcat的一些配置文件其中server.xml可以设置端口号、设置域名或IP、默认加载的项目、请求编码 web.xml可以设置tom
2018-02-02 18:36:51
3214
转载 正则表达式之理解
1.正则表达式语法字符说明\将下一字符标记为特殊字符、文本、反向引用或八进制转义符。例如,"n"匹配字符"n"。"\n"匹配换行符。序列"\\\\"匹配"\\","\\("匹配"("。^匹配输入字符串开始的位置。如果设置了 RegExp 对象的 Multiline 属性,^
2018-01-20 00:38:57
159
原创 Java 并发编程学习笔记(1)--线程的同步1
多线程程序中,经常会遇到多个线程需要共享一对数据的存取。当两个线程存取相同的对象,并且每一个线程都调用了一个修改该对象状态的方法,可能导致讹误。这样的情况称为竞争条件。 1.使用ReentrantLock保护代码块import java.util.Arrays;import java.util.concurrent.locks.Condition;import java.util.concu
2018-01-18 21:32:19
115
原创 Java 并发编程学习笔记(1)--线程的基础
线程 一个程序有多个任务,每个任务就是一个线程。在我看来,线程就是进程里的任务,负责处理一个程序里的组件。可能回重复一个方法。线程的状态 并不同于大多数文章中说的,其实线程有6中状态,既新创建(New),可运行(Rnnable),被阻塞(Blocked),等待(Waiting),计时等待(Time waiting),被终止(Terminated)。其中各中状态, 当用new操作符创建一个线程
2018-01-18 20:13:44
126
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人