1、多线程中的变量 首先我介绍的是volatile关键字,其次是原子变量,最后则是ThreadLocal线程本地变量2、java基本内存模型 用到volatile这个关键字以及后面的原子变量之前,我们必须先了解一下什么是java基本内存模型。 先明确几个概念: 主内存:主内存就是所有线程共享的内存,对于一个共享变量来说,主内存存放其真实数据(本尊数据) 线程工作内存:线程对数据操作时,都会
一、Java的三大特性详解封装(Encapsulation):就是把对象的属性和操作(或服务)结合为一个独立的整体,并尽可能隐藏对象的内部实现细节。继承:子类继承父类,子类可以使用父类的非私有属性和方法。多态:对象在不同时刻表现出来的不同状态。多态的表现:父类的引用指向子类对象,该引用可以被提升,也可以被强制转换。重写与重载方法的重写Overriding和重载Overloading是Java多态性
一、Collection概述特点:代表一组任意类型的对象,无序、无下标、不能重复。方法:boolean add(Object obj) //添加一个对象。boolean addAll(Collection c) //讲一个集合中的所有对象添加到此集合中。void clear() //清空此集合中的所有对象。boolean contains(Object o) //检查此
一、volatile 原理线程频繁对主内存读写操作,会产生性能问题,因此线程都有一个自己的工作内存。读写操作都会在工作内存中执行,而不会到主内存中。volatile 的底层实现原理是内存屏障:对 volatile 变量的写指令后会加入写屏障对 volatile 变量的读指令前会加入读屏障1.1 保证可见性写屏障(sfence)保证在该屏障之前的,对共享变量的改动,都同步到主存当中public vo
一、总统路线二、基本概念2.1 进程与进程进程:程序由指令和数据组成,但是这些指令要运行, 数据要读写,就必须将指令加载到cpu,数据加载至内存。在指令运行过程中还需要用到磁盘,网络等设备,进程就是用来加载指令管理内存管理IO的当一个指令被运行,从磁盘加载这个程序的代码到内存,这时候就开启了一个进程进程就可以视为程序的一个实例,大部分程序都可以运行多个实例进程(例如记事本,浏览器等),部分只可以运
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号