08 2020 档案
摘要:前言 多线程的编程中,要想熟练的运用线程来完成某些任务,那么就需要了解线程的运行状态以及在必要的时候合理的对线程进行中断,这样才能够达到提高程序的执行效率。 线程的状态 线程的状态可以从Thread类的源码中看出,它包括六种状态:新建状态(NEW)、可运行状态(RUNNABLE)、阻塞状态(BLOC
        阅读全文
                
摘要:Java内存模型 (JMM)和JVM运行时内存的区别 JVM运行时内存 Java运行时内存模型,描述了Java程序代码在运行时,一次执行单个语句或者表达式时(即通过单个线程执行时)不同类型的变量、引用、对象、类等等的一些信息的存储规范。 Java内存模型 描述了多个线程运行时的语义规范,比如多个线程
        阅读全文
                
摘要:前言 在Java并发编程中,有一个关键字是volatile,它的英文意思是“易变的,不稳定的,无定型的”。那么在Java编程中,被volatile修饰的变量,它能够保证当前变量的可见性,从而使所有访问该前变量的线程都能够及时的获取到当前变量的最新值,从而保证它的可见性。那么它是怎么做到的呢? vol
        阅读全文
                
摘要:前言 Java中的锁都是基于对象的锁,Java中的每一个对象都可以作为一个锁,我们常听到类锁其实也是对象锁,因为Java类只有一个class对象(一个Java类可以有多个实例对象,多个实例对象共享这一个Java类)。之所以有锁的概念,都是因为在多个线程在访问一个共享变量资源时会发生一些不可控制的问题
        阅读全文
                
摘要:前言 对于Java程序员来说,在虚拟机自动内存管理的机制下,不需要为每一个new操作去写配对的delete/free代码,不容易出现内存泄漏和内存溢出的问题。不过,如果在编写程序时没有合理的创建对象,就会造成内存泄漏或者溢出这样的问题,如果不了虚拟机内存的区域划分以及创建的对象时虚拟机对它的内存分配
        阅读全文
                

浙公网安备 33010602011771号