摘要:
synchronized是Java中的关键字,是一种同步锁。它修饰的对象有以下几种:1. 修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码,作用的对象是调用这个代码块的对象;2. 修饰一个方法,被修饰的方法称为同步方法,其作用的范围是整个方法,作用的对象是调用这个方 阅读全文
摘要:
Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码。本文给大家介绍java中 synchronized的用法,对本文感兴趣的朋友一起看看吧 1.方法声明时使用,放在范围操作符(public等)之后,返回类型声明(void等)之前.这时,线程 阅读全文
摘要:
在 Java 5.0 提供了 java.util.concurrent (简称JUC )包,在此包中增加了在并发编程中很常用的实用工具类,用于定义类似于线程的自定义子系统,包括线程池、异步 IO 和轻量级任务框架。提供可调的、灵活的线程池。还提供了设计用于多线程上下文中的 Collection 实现 阅读全文
摘要:
java集合也叫容器 java集合类可以用于存储数量不等的多个对象,还可用于保存具有映射关系的关联数组。 1、存储对象可以考虑:①数组 ②集合 2、数组存储对象的特点: 弊端:①一旦创建,其长度不可变。②真实的数组存放的对象的个数是不可直接知道。 3、集合可分为Collection和Map两种体系 阅读全文
摘要:
最近阿里发布的 Java开发手册中强制线程池不允许使用 Executors 去创建,而是通过 ThreadPoolExecutor 的方式,这样的处理方式让写的同学更加明确线程池的运行规则,规避资源耗尽的风险 Executors利用工厂模式向我们提供了4种线程池实现方式,但是并不推荐使用,原因是使用 阅读全文
摘要:
堆,方法区,栈的关系 分配最大堆内存-Xmx32m 方法区内保存类的基本信息,包括方法的实现。方法区里面的信息很少清除 Java堆内保存着s1,s2的实例 Java栈内保存着s1和s2的方法show()的局部变量 栈的溢出测试 栈帧包括:局部变量表(原生类型或引用类型的对象引用),操作数栈(类似于寄 阅读全文
摘要:
Java内存区域 程序计数器(Program Counter Register):记录当前线程所执行字节码的行号指示器。字节码解释器工作时,判断是循环,分支,跳转,异常等条件,然后更新这个计数器的值来选取下一条要执行的指令。 这个部分是线程私有的,各线程之间不会相互影响 Java虚拟机栈(JVM S 阅读全文
摘要:
Java开发有个很基础的问题,虽然我们平时接触的不多,但是了解它却成为Java开发的必备基础——这就是JVM。在C++中我们需要手动申请内存然后释放内存,否则就会出现对象已经不再使用内存却仍被占用的情况。在Java中JVM内置了垃圾回收的机制,帮助开发者承担对象的创建和释放的工作,极大的减轻了开发的 阅读全文