随笔分类 - Java
摘要:Java语言是一种静态类型的编程语言。静态类型的含义是指在编译时进行类型检查。Java源代码中的每个变量的类型都要显式地进行声明。所有变量、方法的参数和方法返回值的类型在程序运行之前就必须是已知的。Java语言的这种静态类型特性使编译器可以在编译时执行大量的检查来发现代码中明显的类型错误,不过这样的
阅读全文
摘要:现在的Java程序员习惯使用Iterator<E>接口或者增强for循环来遍历集合。如果回到JDK 1.0,Enumeration接口则是遍历向量、哈希表的不二之选。本节就解读和翻译一下Enumeration<E>接口的源代码。当然,有一点还是得再强调一下:Enumeration<E>的泛型实在JD
阅读全文
摘要:OpenJDK中的Coin项目(Project Coin)的目的就是为了收集对Java语言的语法进行增强的建议。在Coin项目开始之初,曾经广泛地向社区征求提议。在短短的一个月时间内就收到将近70条提议。最后又9条提议被列入考虑之中。在这9条提议中,有6条成为Java7的一部分,剩下的2条提议会在J
阅读全文
摘要:Map基本概念 数据结构中Map是一种重要的形式。Map接口定义的是查询表,或称查找表,其用于储存所谓的键/值对(key-value pair),其中key是映射表的索引。 JDK结构中还存在实现Map类似功能的遗留集合: Hashtable(线程安全的散列映射表) Properties(属性映射表
阅读全文
摘要:需求背景 最近在做的项目显示的字体感觉太丑,于是乎想着DIY改进一下。 查阅资料,总觉得别人写的都不咋地,于是决心写一篇略微完善点的关于项目字体优化方面的文章。 当然,这篇文章不会教你如何使用TrueType去创建属于你自己的字体,而是使用现成的字体库。 读取、使用系统字体回顾 读取系统字体的字体名
阅读全文
摘要:令人纳闷的数组初始化细节 这个细节问题我很久以前就想深入研究一下,但是一直没有能够抽出时间,借这系列文章的东风,尽量解决掉这个"心头病"。 下面以一维int数组为例,对数组初始化方式进行分类。 1) int[] a = new int[2]; a[0] = 1; a[1] = 2; 2) int[]
阅读全文
摘要:折磨人的小妖精 main方法 真的有公司会这么变态,用main方法来折磨你吗?你得承认,的确有比较low的公司会这么做。本文对这些与main方法相关的问题做一个小结。 编译器只检查语法问题(包括检查异常,Checked Exception),如果没有语法问题,编译器会将源程序编译成字节码文件,由虚拟
阅读全文
摘要:一、不该被遗忘的移位位运算 本文主要介绍移位运算(Shift Operation), 适当介绍一下其它相关的位运算。 甭说计算机刚发明那会,就连21世纪初那段日子,计算机内存都是KB/MB计算的。编写的程序需要充分考虑计算机的储存容量,好的程序必须是执行效率高,代码精炼,占用资源尽可能少,不容许任何
阅读全文
摘要:一句题外话 面试刚入行的Java新手,侧重基础知识;面试有多年工作经验的老鸟,多侧重对具体问题的解决策略。 从一类面试题说起 考察刚入行菜鸟对基础知识的掌握程度,面试官提出关于String类的内容挺常见的。 这些题你都做对了吗?如果你不是靠蒙全做对了,我相信你一定是能够清楚地说出这些问题背后的原理了
阅读全文
摘要:一、JSP注释格式来源 JSP是Sun Microsystems公司制定的一种服务器端动态网页技术的组件规范,其主体由HTML、CSS、JavaScript和Java拼凑组成。 正是因为JSP是一种组件规范,也就是说JSP是多种语言技术的整合,使得JSP必须能够尽可能兼容多种语言的注释。 二、JSP
阅读全文
摘要:《Core Java Volume I Fundamentals》介绍了三种创建Class对象的方法。本文将举例说明这三种创建Class对象 创建类的方法。 一、public final native Class<?> getClass() Object类中的getClass()方法将返回一个Cla
阅读全文
摘要:阅读《Core Java Volume I Fundamentals》反射部分,总觉得许多概念艰涩难懂、模棱两可。我想造成这个结果的主要原因可能是Cay S. Horstmann和Gary Cornell这两位大牛认为阅读本书的读者可能并不具备深入了解Java虚拟机技术的知识基础或根本没有精力去啃《
阅读全文
摘要:前段日子看到有人修改了linux系统下Eclipse的启动界面,因此自己试着修改了一下windows平台的启动界面。本文总结一下修改Eclipse 4.5(代号Mars)启动界面的方法。 方法一:修改splash.bmp启动图 Eclipse启动画面实际就是eclipse\plugins\org.e
阅读全文
摘要:一、Socket简单介绍 Socket通信作为Java网络通讯的基础内容,集中了异常、I/O流模式等众多知识点。学习Socket通信,既能够了解真正的网络通讯原理,也能够增强对I/O流模式的理解。 1)Socket通信分类 (一)基于TCP的Socket通信:使用流式套接字,提供可靠、面向连接的通信
阅读全文
摘要:一、前言 C语言本身没有输入输出语句,而是调用"stdio.h"库中的输入输出函数来实现。同样,C++语言本身也没有输入输出,不过有别于C语言,C++有一个面向对象的I/O流类库"iostream"。在C++中,我们将数据从一个对象到另一个对象的流动抽象为"流"。Java继承C++的流机制,不过在具
阅读全文
摘要:Java桌面开发过程中,很多人都写过类似下面的代码。 代码虽然简单,但是其中还是包含点我不知道的知识点。下面结合自己学习的内容介绍一下WindowConstants接口。 原来这些常量并非是JFrame所特有的,而是在一个特定的接口中定义的。当然,在WindowConstants接口中也有相关说明:
阅读全文
摘要:2016的第一天,我决定写一篇博客来纪念这一天,希望一年好运吧。 String|StringBuffer|StringBuilder这三者在我们学习JAVASE核心API的时候常常出来,而且大多数入门教材都扯了一大堆他们的区别,只是没有讲清楚为什么会有这些区别。 重申一下三者的区别: ...
阅读全文
摘要:Java语言中equals()方法的使用可以说比较的频繁,但是如果轻视equals()方法,一些意想不到的错误就会产生。哈哈,说的有点严重了~ 先谈谈equals()方法的出身。equals()方法在java.lang.Object类中声明,由于Object类是Java所有类的基类,因此equ...
阅读全文
摘要:首先补充2个专业单词:生命周期 lifetime 作用域 scope 关于变量生命周期问题,稍不留神就容易犯错。下面举几道练习题来巩固这个知识点,意在让自己做注意这个小问题。 1. 程序执行的结果是: 分析:t.method(5)调用method(int x)方法,传入参数是x = 5。int x
阅读全文
摘要:平常在各种排序算法中常需要交换元素的位置,那么如何能够准确高效地交换两个元素的位置呢?Java/C/C++中交换两个变量值有三种方法。下面具体分析一下。 1)临时变量temp---普通,推荐1 int temp = a;2 a = b;3 b = temp; 2)加减运算(不能用乘除,会有精...
阅读全文

浙公网安备 33010602011771号