
Java基础
文章平均质量分 59
wmmmyyyyyy
这个作者很懒,什么都没留下…
展开
-
Java基础
一、java概述1.什么是JavaJava是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。2.JVM、JRE和JDK的关系JVMJava Virtual Machine是Java虚拟机,Java程序需要运行在虚拟机上,不同的平台有自己的虚拟机,因此Java语言可以实现跨平台。JREJava Runtime Environment包括Java虚拟机和Java程序所需的核心类库等。核心类库主要是j转载 2021-06-20 08:43:06 · 213 阅读 · 0 评论 -
volatile关键字
volatile 的主要作用有两点: (1)保证变量的内存可见性 (2)禁止指令重排序volatile 修饰符适用于以下场景:某个属性被多个线程共享,其中有一个线程修改了此属性,其他线程可以立即得到修改后的值;或者作为状态变量,如 flag = ture,实现轻量级同步。volatile 属性的读写操作都是无锁的,它不能替代 synchronized,因为它没有提供原子性和互斥性。因为无锁,不需要花费时间在获取锁和释放锁上,所以说它是低成本的。volatile 只能作用于属性,我们用 volatil转载 2021-06-14 14:21:11 · 97 阅读 · 0 评论 -
java多线程学习->i++
1.java中的i++是否是原子操作不是所以多线程之间会产生影响2.i=0,两个线程分别对i进行++100次,值是多少?范围:2-200(1)怎么得到2:i++分为取值 , ++ ,赋值操作极端情况:b先抢到线权,开始取到i=0; 还没开始++时a抢到了线权,取到i=0,一直加到99;b又抢回线权,开始++操作,i从0加到1。a中i=99就相当于被覆盖了,此时a只能再加1次了,b还能加99次。a抢回线权,取值为1,还没开始++时,又被b抢到线权,i一直加到100结束,a抢回线权,i+1原创 2021-05-26 10:09:40 · 800 阅读 · 0 评论