摘要:比如这断程序: char word = '字'; System.out.println("字".getBytes().length); // 输出为 3 其输出结果为3, 小伙伴们就要问了:“奇怪了,'字'这个字符,明明是三个字节,怎么可以用char类型的变量来表示? char类型不是在java中是
阅读全文
随笔分类 - Java SE
摘要:比如这断程序: char word = '字'; System.out.println("字".getBytes().length); // 输出为 3 其输出结果为3, 小伙伴们就要问了:“奇怪了,'字'这个字符,明明是三个字节,怎么可以用char类型的变量来表示? char类型不是在java中是
阅读全文
摘要:虽然面向应用开发的程序员很少直接使用动态代理技术,但是诸如AOP,事务控制,Spring容器注入等等,实际上都是基于动态代理实现的,可见,动态代理是多么重要。这篇随笔记录了我对动态代理技术原理的一两点理解。 1. 什么是代理 1.1 什么是代理 下图所示为一般地代理模式类图,实际上,代理proxy代
阅读全文
摘要:String类是Java编程中应用最广泛的类,所以每一位程序员都应该仔细研究一番String类的内部实现,这样对我们理解String对象的工作机制、避免错误和提升代码效率有很大好处。你若打开Java语言规范 (Java 9),可以看到4.3.3节中对String对象的简述[1]: String对象的
阅读全文
摘要:对于初学者来说,使用CMD命令(Unix以及类Unix系统采用Termial)来编译和运行Java的好处是让初学者直观地体会到编译(Compile)这一步骤,加深记忆。所谓编译就是将文本文件xxx.java翻译为Java虚拟机可以识别的字节码文件xxx.class,这部分原理暂且不做深究,直接介绍如
阅读全文
|