Java开发者必须牢记:在Java中字符仅以一种形式存在,那就是Unicode(不选择任何特定的编码,直接使用他们在字符集中的编号,这是统一的唯一方法).由于java采用unicode编码,char 在java中占2个字节.2个字节(16位)来表示一个字符. 这里的Java中是指在JVM中.在内存中.在代码里声明的每一个char.String类型的变量中. 例如:   1 2 3 4 5 6 7 System.out.println(System.getProperty("file.encodi…
http://blog.csdn.net/gjb724332682/article/details/43229563 Java中字符仅以一种形式存在,那就是Unicode.由于java采用unicode编码,char 在java中占2个字节.2个字节(16位)来表示一个字符.这里的Java中是指在JVM中.在内存中.在代码里声明的每一个char.String类型的变量中.例如: public static void main(String[] args) { System.out.println…
在<Think in java>中有这样一句话:复用代码是Java众多引人注目的功能之一.但要想成为极具革命性的语言,仅仅能够复制代码并对加以改变是不够的,它还必须能够做更多的事情.在这句话中最引人注目的是"复用代码",尽可能的复用代码使我们程序员一直在追求的,现在我来介绍一种复用代码的方式,也是java三大特性之一---继承. 继承 在讲解之前我们先看一个例子,该例子是前篇博文(java提高篇-----理解java的三大特性之封装)的. 从这里我们可以看出,Wife.Hu…
Java 内存模型,许多人会错误地理解成 JVM 的内存模型.但实际上,这两者是完全不同的东西.Java 内存模型定义了 Java 语言如何与内存进行交互,具体地说是 Java 语言运行时的变量,如何与我们的硬件内存进行交互的.而 JVM 内存模型,指的是 JVM 内存是如何划分的. Java 内存模型是并发编程的基础,只有对 Java 内存模型理解较为透彻,我们才能避免一些错误地理解.Java 中一些高级的特性,也建立在 Java 内存模型的基础上,例如:volatile 关键字.为了让大家能…
今天,问以前的同事,他们写接口按什么编码,怎么看到有\u的一些看不懂的内容,一问,原来是信息隐藏,防止信息泄漏. 然后在网上查了Java如何把中文转换成unicode编码,转自:http://blog.csdn.net/sunmenggmail/article/details/27539023 package mobi.chenwei.wing.util; public class CharacterSetToolkit { /** * @param args */ public static…
概述 Java所有集合类都在java.util包下,支持并发的集合在java.util.concurrent(juc)包下. 集合与数组区别: 数组大小是固定的,集合大小可以根据使用情况进行动态扩容. 数组可以存放基本数据类型,集合只能存放引用数据类型. Java中集合分为单列集合(实现Collection接口)和双列集合(实现Map接口)两种形式,常用集合框架图如下图所示: Map集合 常用实现类有HashMap,HashTable,LinkedHashMap. HashMap HashMap…
Java虚拟机运行时栈帧结构(周志明书上P237页) 栈帧是什么? 栈帧是一种数据结构,用于虚拟机进行方法的调用和执行. 栈帧是虚拟机栈的栈元素,也就是入栈和出栈的一个单元. 2018.1.2更新(在网上看到一个更好的解释): 栈帧(Frame)是用来存储数据和部分过程结果的数据结构,同时也被用来处理动态链接 (Dynamic Linking).方法返回值和异常分派(Dispatch Exception). 栈帧在什么地方? 内存 -> 运行时数据区 -> 某个线程对应的虚拟机栈 ->…
1. 多字节字符与单字节字符 char与wchar_t 我们知道C++基本数据类型中表示字符的有两种:char.wchar_t.  char叫多字节字符,一个char占一个字节,之所以叫多字节字符是因为它表示一个字时可能是一个字节也可能是多个字节.一个英文字符(如’s’)用一个char(一个字节)表示,一个中文汉字(如’中’)用3个char(三个字节)表示. wchar_t被称为宽字符,一个wchar_t占2个字节.之所以叫宽字符是因为所有的字都要用两个字节(即一个wchar_t)来表示,不管是…
上一篇文章介绍了Set集合的通用知识.Set集合中包含了三个比较重要的实现类:HashSet.TreeSet和EnumSet.本篇文章将重点介绍这三个类. 一.HashSet类 HashSet简介 HashSet是Set接口的典型实现,实现了Set接口中的所有方法,并没有添加额外的方法,大多数时候使用Set集合时就是使用这个实现类.HashSet按Hash算法来存储集合中的元素.因此具有很好的存取和查找性能. HashSet特点 1.不能保证元素的排列顺序,顺序可能与添加顺序不同,顺序也有可能发…
目录 1.什么是类的加载(类初始化) 2.类的生命周期 3.接口的加载过程 4.解开开篇的面试题 5.理解首次主动使用 6.类加载器 7.关于命名空间 8.JVM类加载机制 9.双亲委派模型 10.ClassLoader源码分析 11.自定义类加载器 12.加载类的三种方式 13.总结 14.特别注意 @ 前言 你是否真的理解java的类加载机制?点进文章的盆友不如先来做一道非常常见的面试题,如果你能做出来,可能你早已掌握并理解了java的类加载机制,若结果出乎你的意料,那就很有必要来了解了解j…