随笔分类 -  JVM

Java 虚拟机等
深入理解java虚拟机(7)---线程安全 & 锁优化
摘要:关于线程安全的话题,足可以使用一本书来讲解这些东西。<Java Concurrency in Practice> 就是讲解这些的,在这里 主要还是分析JVM中关于线程安全这块的内容。 1.线程安全是什么? 线程安全,有经验的开发人员都听过这个名词,但是能否给到一个准确的定义,很难。 在 Java C 阅读全文

posted @ 2016-05-27 11:40 Joyfulmath 阅读(1106) 评论(0) 推荐(0)

深入理解java虚拟机(6)---内存模型与线程 & Volatile
摘要:其实关于线程的使用,之前已经写过博客讲解过这部分的内容: http://www.cnblogs.com/deman/category/621531.html JVM里面关于多线程的部分,主要是多线程是如何实现的,以及高效并发。 1.Java内存模型 CPU在运行的时候,不可能把所有的东西都放在寄存器 阅读全文

posted @ 2016-05-26 15:24 Joyfulmath 阅读(2058) 评论(0) 推荐(2)

java注解框架
摘要:我们经常会在java代码里面看到:“@Override”,“@Target”等等样子的东西,这些是什么? 在java里面它们是“注解”。 下面是百度百科的解释:java.lang.annotation.Retention可以在您定义Annotation型态时,指示编译器如何对待您的自定义 Annot 阅读全文

posted @ 2016-05-24 10:37 Joyfulmath 阅读(11552) 评论(1) 推荐(0)

深入理解java虚拟机(5)---字节码执行引擎
摘要:字节码是什么东西? 以下是百度的解释: 字节码(Byte-code)是一种包含执行程序、由一序列 op 代码/数据对组成的二进制文件。字节码是一种中间码,它比机器码更抽象。 它经常被看作是包含一个执行程序的二进制文件,更像一个对象模型。字节码被这样叫是因为通常每个 opcode 是一字节长, 但是指 阅读全文

posted @ 2016-05-19 16:21 Joyfulmath 阅读(3067) 评论(2) 推荐(2)

深入理解java虚拟机(4)---类加载机制
摘要:类加载的过程包括: 加载class到内存,数据校验,转换和解析,初始化,使用using和卸载unloading过程。 除了解析阶段,其他过程的顺序是固定的。解析可以放在初始化之后,目的就是为了支持动态加载。 从java开发者来讲,我们并不关心具体细节,只要知道整个流程以及每个流程大体干了那些事情。 阅读全文

posted @ 2016-05-08 10:53 Joyfulmath 阅读(2020) 评论(0) 推荐(1)

深入理解java虚拟机(3)---类的结构
摘要:计算机在开始的时候,只认识0和1,所以汇编语言是和机器结构或者说CPU绑定的。ARM体系结构就是这样一种体现,指令集的概念。 随着高级语言的出现,从字编码发展到了字节编码,计算机的先驱希望能够让语言能够脱离语言的环境,从而程序员只要开发代码,而无需适配设备。 java语言就是这样被创建了。java通 阅读全文

posted @ 2016-05-04 20:57 Joyfulmath 阅读(993) 评论(0) 推荐(0)

深入理解java虚拟机(2)------垃圾收集器和内存分配策略
摘要:GC可谓是java相较于C++语言,最大的不同点之一。 1.GC回收什么? 上一篇讲了内存的分布。 其中程序计数器栈,虚拟机栈,本地方法栈 3个区域随着线程而生,随着线程而死。这些栈的内存,可以理解为在编译期已经确定。 方法结束,或者线程结束时,内存就自然被回收了。 一个interface的多个实现 阅读全文

posted @ 2015-10-15 21:04 Joyfulmath 阅读(674) 评论(0) 推荐(0)

深入理解java虚拟机(1)------内存区域与内存溢出
摘要:在C++领域,关于C++的内存存储,结构等等,有一本书:深度探索C++对象模型,讲解的非常透彻。 而Java确把这一工作交给了虚拟机来处理。 我们首先来看看关于内存的问题。 1.问题: 1)java 的局部变量存在那里,类型怎么存放的? 2)static 变量 3)final 变量 4)method 阅读全文

posted @ 2015-09-28 08:36 Joyfulmath 阅读(1328) 评论(0) 推荐(0)

Java基础之子类父类属性覆盖
摘要:当java的子类和父类具有相同名字的属性时,到底java是怎么处理的。先看代码:package com.joyfulmath.study.field;public class Person { public String name; public String getName() { ... 阅读全文

posted @ 2015-09-10 15:39 Joyfulmath 阅读(13942) 评论(0) 推荐(0)

导航