- 博客(7)
- 资源 (7)
- 收藏
- 关注
原创 熟悉synchronized锁机制
由于同一进程的多个线程共享同一片存储空间,在带来方便的同时,也带来了访问冲突这个严重的问题。Java语言提供了专门机制以解决这种冲突,有效避免了同一个数据对象被多个线程同时访问。 需要明确的几个问题: synchronized关键字可以作为函数的修饰符,也可作为函数内的语句,也就是平时说的同步方法和同步语句块。如果 再细的分类,synchronized可作用于instance变量、object ...
2018-10-24 20:43:14 180
转载 Java并发编程volatile关键字详解
Java并发编程:volatile关键字解析 volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。 volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于volatile关键字是与Java的内存模...
2018-10-09 23:52:46 164
原创 Java中常用垃圾回收算法
Java中常用的垃圾收集算法: (1).标记-清除算法: 最基础的垃圾收集算法,算法分为“标记”和“清除”两个阶段:首先标记出所有需要回收的对象,在标记完成之后统一回收掉所有被标记的对象。 标记-清除算法的缺点有两个:首先,效率问题,标记和清除效率都不高。其次,标记清除之后会产生大量的不连续的内存碎片,空间碎片太多会导致当程序需要为较大对象分配内存时无法找到足够的连续内存而不得不提前触发另一...
2018-10-05 22:30:32 889
原创 Java虚拟机判断对象存活的两种方案:引用计数法与可达性分析算法
java堆和方法区主要存放各种类型的对象(方法区中也存储一些静态变量和全局常量等信息),那么我们在使用GC对其进行回收的时候首先要考虑的就是如何判断一个对象是否应该被回收。也就是要判断一个对象是否还有其他的引用或关联使得这个对象处于存活的状态。我们需要将不在存活状态的所有对象标记出,以便于GC进行回收。 判断对象是否存活有两种比较常见的方法:引用计数法与可达性分析算法。 引用计数法 引用计数...
2018-10-05 20:03:19 482
原创 Java虚拟机方法区介绍
JAVA虚拟机方法区介绍 1、JVM内存模型 大多数JVM将内存分配为Method Area(方法区)、Heap(堆)、ProgramCounter Register(程序计数器)、JAVA MethodStack(JAVA方法栈)、Native MethodStack(本地方法栈)。 1.1 Method Area 线程共享,存储已经被虚拟机加载的类信息、常量、静态变量、即...
2018-10-04 21:29:56 989
原创 java虚拟机内存区域的划分以及作用简介
一、运行时数据区 什么叫运行时数据区呢,看下图就知道了,今天的重点就围绕这张图讲。 1、程序计数器(寄存器) 当前线程所执行的字节码行号指示器 字节码解释器工作依赖计数器控制完成 通过执行线程行号记录,让线程轮流切换各条线程之间计数器...
2018-10-04 20:38:49 434
原创 了解RESTful接口设计风格
1、RESTful发展背景及简介 网络应用程序,分为前端和后端两个部分。当前的发展趋势,就是前端设备层出不穷(手机、平板、桌面电脑、其他专用设备......)。因此,必须有一种统一的机制,方便不同的前端设备与后端进行通信。这导致API构架的流行,甚至出现"APIFirst"的设计思想。RESTful API是目前比较成熟的一套互联网应用程序的API设计理论。 REST(Representati...
2018-10-03 21:20:13 6068
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人