
Java
兜里有糖心里不慌
前路漫漫,但心之所向。
展开
-
Java中HashMap详解
本文转载自alex09的ITeye博客原文连接地址HashMap 和 HashSet 是 Java Collection Framework 的两个重要成员,其中 HashMap 是 Map 接口的常用实现类,HashSet 是 Set 接口的常用实现类。虽然 HashMap 和 HashSet 实现的接口规范不同,但它们底层的 Hash 存储机制完全一样,甚至 HashSet 本身就采用 Hash转载 2016-04-18 19:56:50 · 622 阅读 · 0 评论 -
Google Java编程风格指南
Google Java编程风格指南作者:Hawstein 出处:http://hawstein.com/posts/google-java-style.html 声明:本文采用以下协议进行授权: 自由转载-非商用-非衍生-保持署名|Creative Commons BY-NC-ND 3.0 ,转载请注明作者及出处。1.前言这份文档是Google Java编程风格规范的完整定义。当且仅当一个Jav转载 2016-08-30 10:51:02 · 671 阅读 · 0 评论 -
《深入理解JVM》--JVM类加载机制总结
概述:虚拟机的类加载机制主要是指:虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验,转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型的一整套机制类的加载流程:其主要的加载流程(生命周期)如图:在这个生命周期的流程图中,加载,验证,准备,初始化,卸载这五个阶段的顺序是确定的,也就是说要加载类时需要依次进行这个五个阶段,但是类的解析阶段则不一定,有可能在初始化之后才开始进行解原创 2017-01-15 21:43:06 · 2023 阅读 · 0 评论 -
《深入理解JVM》--内存管理机制
Java内存区域的分类程序计数器(线程私有):可以看做是当前线程所执行的字节码的行号指示器。每一条线程都需要有一个独立的程序计数器来确定正在执行的字节码的地址。Java虚拟机栈(线程私有):主要描述的是Java方法执行的内存模型,每个方法在执行的同时都会创建一个栈帧,用于存储局部变量表,操作数栈,动态连接,方法出口等信息。若是线程请求的深度的栈的深度超出了虚拟机所允许的深度,就会抛出StackO原创 2017-01-18 00:15:58 · 670 阅读 · 0 评论 -
Java并发编程
线程关于什么是线程,以及线程和进程之间的区别可以看之前的一篇文章《Linux下的TCP/IP编程—线程及多线程服务端》线程的一些基础知识线程是有优先级的。但是这种优先级并不可靠,主要取决于其JVM是如何进行实现的,所以说依赖于线程优先级的编程是不可靠的,程序的正确性不能依赖于线程的优先级,可以通过线程的priority属性来设置线程的优先级。线程的状态(声明周期):NEW:初始状态,线程被构建,原创 2017-02-02 10:11:40 · 506 阅读 · 0 评论 -
《Java并发编程的艺术》--并发机制的底层实现原理
前言在Java的并发编程中最重要的就是两个关键字volatile和synchronized,其中volatile可以说是轻量级的synchronized,它可以保证共享变量的可见性,而且由于不需要切换线上下文,所以执行成本比synchronized更低。下边就来看一下volatile和synchronized的异同。volatile在Java语言规范中对volatile的定义如下: Java编程原创 2017-02-27 16:42:52 · 2296 阅读 · 1 评论