• 搞定Java并发-synchronized原理

    搞定Java并发-synchronized原理

    前言 线程安全是并发编程中的重要关注点,应该注意到的是,造成线程安全问题的主要诱因有两点,一是存在共享数据(也称临界资源),二是存在多条线程共同操作共享数据。因此为了解决这个问题,我们可能需要这样一个方案,当存在多个线程操作共享数据时,需要…

  • Java基础之Volatile原理

    Java基础之Volatile原理

    计算机内存模型 计算机在执行程序时,每条指令都是在CPU中执行的,而执行指令过程中,势必涉及到数据 的读取和写入。由于程序运行过程中的临时数据是存放在主存(物理内存)当中的,这时就 存在一个问题,由于CPU执行速度很快,而从内存读取数据和向…

  • Java基础之Java线程

    Java基础之Java线程

    1. 线程定义 线程(英语:thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。在Unix Sys…

  • Java基础之Java泛型

    Java基础之Java泛型

    为什么使用泛型 开发人员在使用泛型的时候,很容易根据自己的直觉而犯一些错误。比如一个方法如果接 收 List<Object> 作为形式参数,那么如果尝试将一个 List<String> 的对象作为实际参数传进去,却发…

  • Java基础之Java异常

    Java基础之Java异常

    Java中有Error和Exception,它们都是继承自Throwable类。 二者的不同之处 Exception: 可以是可被控制(checked) 或不可控制的(unchecked)。 表示一个由程序员导致的错误。 应该在应用程序级被…

  • Java基础之Java分派机制

    Java基础之Java分派机制

    Java分派机制 在Java中,符合“编译时可知,运行时不可变”这个要求的方法主要是静态方法和私有方法。这 两种方法都不能通过继承或别的方法重写,因此它们适合在类加载时进行解析。 Java虚拟机中有四种方法调用指令: invokestati…

  • Java基础之集合框架

    Java基础之集合框架

    Java集合框架提供了数据持有对象的方式,提供了对数据集合的操作。Java集合框架位 于 java.util 包下,主要有三个大类: Collection 、 Map 接口以及对集合进行操作的工具 类。 Collection ArrayLi…

  • Java基础之面向对象基础

    Java基础之面向对象基础

    1、面向对象 面向对象(Object Oriented)是一种新兴的程序设计方法,或者是一种新的程序设计规范(paradigm),其基本思想是使用对象、类、继承、封装、多态等基本概念来进行程序设计。从现实世界中客观存在的事物(即对象)出发来…

  • Java静态代码块和非静态代码块

    Java静态代码块和非静态代码块

    1. 静态代码块: static { } 2. 非静态代码块 { } 静态代码块和非静态代码块的异同点如下: 相同点:都是JVM加载类时且在构造函数执行之前执行,在类中都可以定义多个,一般在代码块中对一些static变量进行赋值。 不同点:…

全部加载完成