day10_java基础

本文涉及的产品
云服务器 ECS,每月免费额度200元 3个月
云服务器ECS,u1 2核4GB 1个月
简介: 自己所掌握的基础知识加以巩固和记录!希望大家点赞收藏并能给予鼓励和支持!有任何建议或者帮助也可以来哦!

synchronized 和 Lock 有什么区别?


首先 synchronized 是 java 内置关键字,在 jvm 层面,Lock 是个 java 类;

synchronized 无法判断是否获取锁的状态,Lock 可以判断是否获取到锁;

synchronized 会自动释放锁(a 线程执行完同步代码会释放锁 ;b 线程执行过程中发

生异常会释放锁),Lock 需在 finally 中手工释放锁(unlock()方法释放锁),否则容易造成线程死锁;

用 synchronized 关键字的两个线程 1 和线程 2,如果当前线程 1 获得锁,线程 2 线程等待。

如果线程 1 阻塞,线程 2 则会一直等待下去,而 Lock 锁就不一定会等待下去,如果尝试获取不到锁,线程可以不用一直等待就结束了;

synchronized 的锁可重入、不可中断、非公平,而 Lock 锁可重入、可判断、可公平(两者皆可);

Lock 锁适合大量同步的代码的同步问题,synchronized 锁适合代码少量的同步问题。


最后,总结!

学无止境!

更新的目的在于回顾基础,也能很好的帮自己抓住细小的问题,从而慢慢规范自己!接下来自己会慢慢积累,所学即所用!

相关文章
|
4月前
|
存储 Java 开发工具
day04_java基础
day04_java基础
|
9月前
|
监控 NoSQL Redis
day52_java_基础巩固
自己所掌握的基础知识加以巩固和记录!希望大家点赞收藏并能给予鼓励和支持!有任何建议或者帮助也可以来哦!!!虽然有些干货知识很通俗,但也是自己的必经之路i,加油!!!
|
9月前
|
存储 消息中间件 NoSQL
day48_java_基础巩固
自己所掌握的基础知识加以巩固和记录!希望大家点赞收藏并能给予鼓励和支持!有任何建议或者帮助也可以来哦!!!虽然有些干货知识很通俗,但也是自己的必经之路i,加油!!!
|
9月前
|
消息中间件 RocketMQ
day58_java_基础巩固
自己所掌握的基础知识加以巩固和记录!希望大家点赞收藏并能给予鼓励和支持!有任何建议或者帮助也可以来哦!!!虽然有些干货知识很通俗,但也是自己的必经之路i,加油!!!
|
9月前
|
Java 数据库连接 Spring
day42_java_基础巩固
自己所掌握的基础知识加以巩固和记录!希望大家点赞收藏并能给予鼓励和支持!有任何建议或者帮助也可以来哦!!!虽然有些干货知识很通俗,但也是自己的必经之路i,加油!!!
|
9月前
|
NoSQL 安全 Redis
day54_java_基础巩固
自己所掌握的基础知识加以巩固和记录!希望大家点赞收藏并能给予鼓励和支持!有任何建议或者帮助也可以来哦!!!虽然有些干货知识很通俗,但也是自己的必经之路i,加油!!!
|
9月前
|
负载均衡 Dubbo Java
day46_java_基础巩固
自己所掌握的基础知识加以巩固和记录!希望大家点赞收藏并能给予鼓励和支持!有任何建议或者帮助也可以来哦!!!虽然有些干货知识很通俗,但也是自己的必经之路i,加油!!!
|
9月前
|
程序员
day37_java_基础巩固
自己所掌握的基础知识加以巩固和记录!希望大家点赞收藏并能给予鼓励和支持!有任何建议或者帮助也可以来哦!!!虽然有些干货知识很通俗,但也是自己的必经之路i
|
9月前
|
存储 Java
day22_java_基础巩固
自己所掌握的基础知识加以巩固和记录!希望大家点赞收藏并能给予鼓励和支持!有任何建议或者帮助也可以来哦!!!
|
Java 程序员
Java基础if选择01
Java基础if选择01