背景知识:
进程,线程,堆,栈。
线程安全:
当多个线程在不用额外的同步控制或其他协调操作访问一个对象,能够获得正确结果,则为线程安全。
堆是进程和线程共有的空间,分全局堆和局部堆。
堆是java虚拟机管理最大的一块内存,是线程共享的区域,是为了存放对象实例,以及为对象实例和数组分配内存。
栈(就是一个方法对应 栈),是线程独有的,是线程安全的。
原因:每个进程的内存空间中都有一块堆,进程中的所有线程都可以访问到这个区域,可能会造成线程不安全。
背景知识:
进程,线程,堆,栈。
线程安全:
当多个线程在不用额外的同步控制或其他协调操作访问一个对象,能够获得正确结果,则为线程安全。
堆是进程和线程共有的空间,分全局堆和局部堆。
堆是java虚拟机管理最大的一块内存,是线程共享的区域,是为了存放对象实例,以及为对象实例和数组分配内存。
栈(就是一个方法对应 栈),是线程独有的,是线程安全的。
原因:每个进程的内存空间中都有一块堆,进程中的所有线程都可以访问到这个区域,可能会造成线程不安全。