深入理解Java ThreadLocal 经验

学习一个东西首先要知道为什么要引入它,就是我们能用它来干什么。所以我们先来看看ThreadLocal对我们到底有什么用,然后再来看看它的实现原理。

jopen 2013-08-03   15261   0
P

Inside in JVM (深入理解java虚拟机英文) 文档

在一个jvm实例的内部,类型信息被存储在一个称为方法区的内存 逻辑区中。类型信息是由类加载器在类加载时从类文件中提取出来 的。类(静态)变量也存储在方法区中。<br> jvm实现的设计者决定了类型信息的内部表现形式。如,多字节变量 在类文件是以big-endian存储的,但在加载到方法区后,其存放 形式由jvm根据不同的平台来具体定义。<br> jvm在运行应用时要大量使用存储在方法区中的类型信息。在类型信息 的表示上,设计者除了要尽可能提高应用的运行效率外,还要考虑空间 问题。根据不同的需求,jvm的实现者可以在时间和空间上追求一种平 衡。

aaakkk 2014-10-27   9727   0

深入理解Android(二):Java虚拟机Dalvik 经验

编者按:随着移动设备硬件能力的提升,Android系统开放的特质开始显现,各种开发的奇技淫巧、黑科技不断涌现,InfoQ特联合《深入理解Android》系列图书作者邓凡平,开设深入理解Android专栏,探索Android从框架到应用开发的奥秘。

bwnx 2015-12-14   60488   0

[好书推荐]深入理解Java虚拟机 资讯

Java语言使程序的开发效率得到了很大的提升。作为一名Java程序员,在编写程序时除了尽情发挥Java的各种优势外,还应该去了解和思考一下Java技术体系中这些技术特性是如何实现的。认识这些技术运作的本质,是自己思考“程序这样写好不好”的基础和前提。当我们在使用一种技术时,如果不再依赖书本和他人就能得到这些问题的答案,那才算上升到了“不惑”的境界。本书将深入分析Java技术中最重要的那些特性的实现原理,帮助读者全面的了解Java语言。

jopen 2016-01-13   37616   0
JVM   虚拟化  

深入理解java虚拟机【并发编程缓存】 经验

随着多核CPU的高速发展,为了充分利用硬件的计算资源,操作系统的并发多任务功能正变得越来越重要,但是CPU在进行计算时,还需要从内存读取输出,并 将计算结果存放到内存中,然而由于CPU的运算速度比内存高几个数量级,CPU内的寄存器数量和容量有限,为了不让CPU长时间处于等待内存的空闲状态

jopen 2014-01-22   15520   0

深入理解Java虚拟机---自动内存管理机制 经验

本文介绍的Java虚拟机(JVM)的自动内存管理机制主要是参照《深入理解Java虚拟机》(第2版)一书中的内容,主要分为两个部分:Java内存区域和内存溢出异常、垃圾回收和内存分配策略。因此我也会分为两个部分来讲解,但这并不代表这两个部分在JVM中是分割的。反之,其实这两个部分关联性很强。

forms 2016-09-26   8722   0

深入理解Java之线程池 经验

如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。

AleB27 2016-04-06   14328   0

Java 集合深入理解:List 经验

一个 List 是一个元素有序的、可以重复、可以为 null的集合(有时候我们也叫它“序列”)。

wqux9633 2016-10-12   9738   0

深入理解 JSON 经验

知道JSON是一种语法上衍生于JS语言的一种轻量级的数据交换格式,也明白了JSON相对于一般的JS数据结构(尤其是对象)的差别,更进一步,仔细地讨论了JS中关于JSON处理的3个函数和细节。

uoz84g11 2017-03-29   39170   0

深入理解RunLoop 经验

RunLoop 是 iOS 和 OS X 开发中非常基础的一个概念,这篇文章将从 CFRunLoop 的源码入手,介绍 RunLoop 的概念以及底层实现原理。

cey6 2015-06-01   47262   0

深入理解 GraphQL 经验

通过上一篇文章我们对 GraphQL 有了基础的了解。我们知道 GraphQL 使用 Schema 来描述数据,并通过制定和实现 GraphQL 规范 定义了支持 Schema 查询的 DSQL (Domain Specific Query Language,领域特定查询语言)。Schema 帮助将复杂的业务模型数据抽象拆分成细粒度的基础数据结构,而 DSQL 的实现则赋予了前端开发者自由组织和定制请求数据的能力。如果以一张图来表示的话,可以将 GraphQL 看做一条以 通用基础业务数据模型 为基础、将传统后端服务和前端页面紧密且自由地联系在一起的纽带。

Nichol8035 2016-03-11   42069   0
GraphQL  

RxAndroid深入理解 经验

现在项目里面大多都已经使用了rxjava, 因此对于很多rxjava的扩展库,也都可以使用在项目里了。 RxAndroid 已经成为标配了,基本只要使用了Rxjava, 你肯定能看见RxAndroid的身影。

mynk3578 2016-11-29   23457   0

对JDK的深入理解 经验

今天对Java的jdk有了更加深入的理解: Java的jdk其实一共包含三部分内容: 1、工具包 2、类库 3、JRE

ydx3 2015-07-20   17208   0
JDK   Java开发  
P8

  深入理解incarnation 文档

Oracle10g引入了一个很重要的功能,就是可以跨越resetlogs进行数据恢复。这就需要我们比较深入的了解一个概念,incarnation。我们通过下面的几个实验,来说明什么是incarnation,希望能对大家有所帮助。

mapele 2011-06-26   696   0

深入理解 GCD 经验

本文主要整理了 GCD 中常见的 API 以及底层的实现原理。对于队列来说,需要理解它的数据结构,转发机制,以及底层的线程池模型。

robinchou 2016-09-06   16032   0
P74

  深入理解JVM 文档

Java技术与Java虚拟机说起Java,人们首先想到的是Java编程语言,然而事实上,Java是一种技术,它由四方面组成:Java编程语言、Java类文件格式、Java虚拟机和Java应用程序接口(Java API)。它们的关系如下图所示:图1  Java四个方面的关系运行期环境代表着Java平台,开发人员编写Java代码(.java文件),然后将之编译成字节码(.class文件)。最后字节码被装入内存,一旦字节码进入虚拟机,它就会被解释器解释执行,或者是被即时代码发生器有选择的转换成机器码执行。从上图也可以看出Java平台由Java虚拟机和Java应用程序接口搭建,Java语言则是进入这个平台的通道,用Java语言编写并编译的程序可以运行在这个平台上。这个平台的结构如下图所示:在Java平台的结构中,可以看出,Java虚拟机(JVM)处在核心的位置,是程序与底层操作系统和硬件无关的关键。它的下方是移植接口,移植接口由两部分组成:适配器和Java操作系统,其中依赖于平台的部分称为适配器;JVM通过移植接口在具体的平台和操作系统上实现;在JVM的上方是Java的基本类库和扩展类库以及它们的API,利用JavaAPI编写的应用程序(application)和小程序(Javaapplet)可以在任何Java平台上运行而无需考虑底层平台,就是因为有Java虚拟机(JVM)实现了程序与操作系统的分离,从而实现了Java的平台无关性。那么到底什么是Java虚拟机(JVM)呢?通常我们谈论JVM时,我们的意思可能是:对JVM规范的的比较抽象的说明;对JVM的具体实现;在程序运行期间所生成的一个JVM实例。对JVM规范的的抽象说明是一些概念的集合,它们已经在书《TheJavaVirtualMachineSpecification》(《Java虚拟机规范》)中被详细地描述了;对JVM的具体实现要么是软件,要么是软件和硬件的组合,它已经被许多生产厂商所实现,并存在于多种平台之上;运行Java程序的任务由JVM的运行期实例单个承担。在本文中我们所讨论的Java虚拟机(JVM)主要针对第三种情况而言。它可以被看成一个想象中的机器,在实际的计算机上通过软件模拟来实现,有自己想象中的硬件,如处理器、堆栈、寄存器等,还有自己相应的指令系统。JVM在它的生存周期中有一个明确的任务,那就是运行Java程序,因此当Java程序启动的时候,就产生JVM的一个实例;当程序运行结束的时候,该实例也跟着消失了。下面我们从JVM的体系结构和它的运行过程这两个方面来对它进行比较深入的研究。

myth369 2011-06-07   432   0
JVM   Java开发  

深入Java虚拟机之内存优化 经验

前面一篇文章介绍了Java虚拟机的体系结构和内存模型,既然提到内存,就不得不说到内存泄露。众所周知,Java是从C++的基础上发展而来的,而C++程序的很大的一个问题就是内存泄露难以解决,尽管Java的JVM有一套自己的垃圾回收机制来回收内存,在许多情况下并不需要java程序开发人员操太多的心,但也是存在泄露问题的,只是比C++小一点。比如说,程序中存在被引用但无用的对象:程序引用了该对象,但后续不会或者不能再使用它,那么它占用的内存空间就浪费了。

openkk 2011-12-27   33164   0
JVM   Java开发  

深入理解Android虚拟机体系结构 经验

Dalvik虚拟机是Google公司自己设计用于Android平台的Java虚拟机,它是Android平台的重要组成部分,支持dex格式(Dalvik Executable)的Java应用程序的运行。dex格式是专门为Dalvik设计的一种压缩格式,适合内存和处理器速度有限的系统。Google对其进行了特定的优化,使得Dalvik具有高效、简洁和节省资源的特点。从Android系统架构图可知,Dalvik虚拟机运行在Android的运行时库层

ijtd5456 2016-11-14   10947   0

Android - 深入理解 JNI 经验

JNI : Java Native Interface 即JAVA本地调用,为何需要这种技术呢

fmms 2012-02-07   92842   0

深入理解Memcached原理 经验

1.为什么要使用memcache 由于网站的高并发读写需求,传统的关系型数据库开始出现瓶颈,例如: 1)对数据库的高并发读写: 关系型数据库本身就是个庞然大物,处理过程非常耗时(如解析SQL语句,事务处理等)。如果对关系型数据库进行高并发读写(每秒上万次的访问),那么它是无法承受的。

limeng05 2016-02-03   34408   0
1 2 3 4 5 6 7 8 9 10