知道synchronized原理吗?
synchronized是java提供的原⼦性内置锁,这种内置的并且使⽤者看不到的锁也被称为监视器锁,使⽤synchronized之后,会在编译之后在同步的代码块前后加上monitorenter和monitorexit字节码指令,它依赖操作系统底层互斥锁实现。它的作⽤主要就是实现原⼦性操作和解决共享变量的内存可⻅性问题。 执⾏monitorenter指令时会尝试获取对象锁,如...
synchronized是java提供的原⼦性内置锁,这种内置的并且使⽤者看不到的锁也被称为监视器锁,使⽤synchronized之后,会在编译之后在同步的代码块前后加上monitorenter和monitorexit字节码指令,它依赖操作系统底层互斥锁实现。它的作⽤主要就是实现原⼦性操作和解决共享变量的内存可⻅性问题。 执⾏monitorenter指令时会尝试获取对象锁,如...
代码: */\*\** \**经典* *hello word* \*/ **public class**HelloWord { <br /> *//* *主函数入口* **public static void**main(String\[\] args) { <br /> */\** *输出* *换行输出* \*/ System....
整理了设计高并发系统的15个锦囊,相信大家看完会有帮助的。 ![](https://img1.51tbox.com/static/2023-08-22/col/bcafe097b70fb7299d3d97e5cab3aee7/4451bfd91e2a40c59b76224d8b3178e8.png) 如何理解高并发系统 --------- 所谓设计**高并发** 系统,...
###### 一、二叉树、B树、B+树及其特点 **二叉树** ![](https://img1.51tbox.com/static/2023-08-22/col/e901e0edca511b645d9219dae37a06eb/6c205e065d8a4db0a85fad026ba6f5e0.png) **特点:** <br /> * 所有非叶子结点...
Vue3的变化 ======= 官网地址: [https://v3.cn.vuejs.org/guide/migration/introduction.html](https://links.jianshu.com/go?to=https%3A%2F%2Fv3.cn.vuejs.org%2Fguide%2Fmigration%2Fintroduction.html) 一、对...
一、组件的生命周期 --------- ### 1.组件运行的过程 ![](https://img1.51tbox.com/static/2023-08-22/col/a09b020283ee85a159f1e85f58c1b918/704f63ff864145bc86299e0d264400fd.png) **组件的生命周期** 指的是:组件从**创建** ------...
1.类与类之间的三种关系 ============ * ###### is a :继承关系,例如:公共汽车 is a 汽车 * ###### use a:使用关系,例如:人 use a 钳子 * ###### has a:包含关系,例如:人has a 胳膊 2.为什么要继承 ======== * ###### 继承的出现提高了代码的复用...
> 本次源码基于Android11分析 相关源码: ``` /frameworks/base/services/core/java/com/android/server/am/ActivityManagerService.java /frameworks/base/services/core/java/com/android/server/am/ProcessList...
最新项目中需要做一个类似小红书的侧滑抽屉效果,经过各种实验,发现MMDrawerController用着不错。 大致思路如下: 打开左边抽屉,按钮后左边push出一个新控制器,但是这个控制器仍然显示在左边的抽屉里的 1:用cocoapods pod MMDrawerController第三方 pod 'MMDrawerController' 2...
##### 一、String与OC字符串转换 Swift中的String使用方法跟OC有很大的不同,先介绍一下String和OC字符串的转换方式,有时为了方便可以转为OC的字符串来使用。 ``` func testStrTransform() { // 1. NSString和String的转换,使用as let str: String = "St...