JavaSE
文章平均质量分 55
veryitman
不断的给别人和自己创造心流
展开
-
还有你不知道的Java枚举特性(下篇)
简介这篇是博文 还有你不知道的Java枚举特性(上篇) 的下篇,可以点击下面的链接前往。本篇主要内容:Java 枚举是一个特殊的类,聊聊其方法的重写如何使用接口来组织 Java 枚举?如何使用枚举实现 Java 的单例模式JDK 数据结构中关于枚举的集合 EnumSet 和字典 EnumMap重写枚举的方法所有的枚举类都继承自 Enum,在这个父类当中 toString、equ...原创 2019-08-31 11:46:20 · 478 阅读 · 0 评论 -
Java基础: 关键字 final
1. 修饰变量 该变量既可以是局部变量也可以是成员变量,final关键字修饰的成员变量即常量,可以被继承或者覆盖和隐藏!主要从以下两方面来说明问题。 修饰基本数据类型 final修饰的该变量就是常量,一旦赋值不可以改变其值。一般情况,final修饰成员变量的话与static结合,使该常量可以被类直接调用,而不必创建对象,节省空间。再者,如果该常量中不含不确定因素,就称之为编译时期原创 2011-06-03 21:17:00 · 4895 阅读 · 0 评论 -
Java基础:字符与 char
1. Java 字符采用的是 Unicode 编码 用两个字节来表示一个字符。 需要注意: * Java的class文件采用UTF-8编码方式,JVM运行时采用UTF-16编码方式。 * Java的字符编码是unicode编码,即两个字节(16位)。 * Java中的String类是按照unicode进行编码的。 对于我们常用原创 2011-03-07 20:14:00 · 3344 阅读 · 0 评论 -
Java基础: PrintWriter
希望您在看这篇博客之前,知道Java IO技术,至少写过IO操作的Demo!另外建议您看看: Java IO:IO流中的flush方法这篇博客,主要使用Socket实例(很简单的小例子)来引出问题,然后在探讨问题。1. Socket服务端package mark.zhang;import java.io.BufferedReader;import java.io.Inpu原创 2011-08-11 22:29:35 · 3654 阅读 · 2 评论 -
Java基础:IO 流中的 flush
无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。内容概要Java IO流的设计不得不让人拍案叫绝,佩服设计者鬼斧天工的手法。如果你是Java初学者,我敢保证第一次接触Java的IO类,一定会 ”狂晕!”,倒不是因为它有多么难学而是太多,而且及其让人有种 “不识庐山...原创 2011-06-02 10:11:00 · 43010 阅读 · 35 评论 -
Java基础: 由 intern 看 String
String这个类,是Java中很经典的类,从我们学Java的那天起就与他结下“梁子”,在以后的日子他更是如影随形,对你不离不弃。所以,了解String,理解String很有必要。1. 简介看看JDK中对String类的描述:public final class String extends Objectimplements Serializable, Comparable, Cha原创 2011-06-03 16:56:00 · 2495 阅读 · 4 评论 -
Java基础: 关键字 protected
在开发中,经常遇见 protected 关键字。特别是一些回调方法中,今天小结一下。 下面先展示一下关于Java 中访问权限的修饰符之间的关系,如下图所示: 做几个测试,说明 protected 关键字。 1. 同一个包不同类中,可以访问 protected 成员,无继承关系package mark.test;public class Person {原创 2011-05-23 18:05:00 · 1783 阅读 · 2 评论 -
Java基础:数据类型
1. 分类基本数据类型4 类 8 种 --> 逻辑型 boolean 文本型 char 整数型 byte short int long 浮点型 float double 引用数据类型3类 --> 类 class 接口 interface 数组 2. 基本数据类型 数据提升:运算之前,先转换为高一级原创 2011-03-07 19:16:00 · 1152 阅读 · 0 评论 -
Java 枚举:实现接口
所有的枚举类都继承自 Enum,因为 Java 不支持多继承,所以枚举无法继承其它类。但是,枚举与普通类一样,可以实现接口。package mark.demo;public class EnumDemo { public static void main(String[] args) { for (Color color : Color.values()) { c原创 2012-09-05 13:46:25 · 12089 阅读 · 0 评论 -
Java 枚举:switch 支持枚举
JDK1.5 才开始有枚举类型,同时可爱的 Java 组织丰富了 switch 语句,即支持枚举。朋友做了一个关于人工智能的教程,教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!点这里可以跳转到教程,对人工智能感兴趣的同学可以了解一下。在看下面内容之前,推荐大家看看博主之前写的一篇关于Java枚举的文章Java 枚举:理解枚举本质,然后再看下面的内容。下面举例给大家...原创 2012-09-05 18:04:18 · 59879 阅读 · 0 评论 -
Java 枚举:覆写 toString,再看 equals、hashCode
仍然采用 Java 枚举:理解枚举本质 例子。稍加修改。package mark.demo;public class EnumDemo { public static void main(String[] args) { for (Color color : Color.values()) { System.out.println(color); } } pub原创 2012-09-05 12:53:30 · 13212 阅读 · 0 评论 -
Java基础: String 的 split()
Jdk的api文档中,描述split方法很详细,但是不仔细研究一下,隐藏的信息是无法显现出来的。 一个实例,分解字符串"boo:and:foo"package mark.zhang;public class TestSplit { public static void main(String[] args) { String str = "boo:and:foo"; Strin原创 2011-06-21 14:39:00 · 1585 阅读 · 0 评论 -
Java基础: HashSet 与 hashCode、equals
大家都说 Java 很简单,的确 Java 入门不难,但是要想深入了解 Java 那不是一朝一夕能够做到的!学习 Java 最重要的一点是要学习其设计思想和设计理念,比如集合框架、IO框架的设计等。通过一个实例谈谈 HashSet 与 hashCode、equals 的使用,以及在使用时的注意事项。设计一个 Person 类,如下:package mark.zh原创 2011-10-21 19:37:42 · 8103 阅读 · 2 评论 -
还有你不知道的Java枚举特性(上篇)
简介博文 Java 枚举的本质 跟大家一起学习了 Java 语言中枚举到底是什么,探索其本质和原理。用一句话来概括其本质就是:“Java 中的枚举是一个特殊的 Java 类”,有兴趣的同学可以点击了解上面那篇文章。今天跟大家一起学习和总结一下 Java 中的枚举的其他特性和用途,由于内容较多,这次的分享分为两篇文章来写,欢迎大家拍砖、指正和交流!本篇主要内容:Java switch 语句...原创 2019-08-10 13:16:51 · 420 阅读 · 0 评论 -
Java 枚举:理解枚举本质
C 语言中可以这样来定义枚举enum color { RED=0, GREEN, BLUE, YELLOW} col;关键字 enum 定义枚举,在定义枚举的同时,声明该枚举变量 col.注意:C 语言中枚举成员的值是根据上下文自动加 1 的(GREEN = 1, BLUE = 2 等)。C 语言中 switch 语句支持枚举类型#include<s...原创 2012-09-05 11:09:40 · 17612 阅读 · 9 评论 -
Java 异常: try...catch...finally
在看下面的内容之前,想问大家一个问题:finally 语句是不是一定会被执行 使用 Integer.valueOf 方法模拟异常,来说明关于 try catch finally 之间的问题。示例 1:没有异常,正常情况public class TryCatchFinally { public static void main(String[] args) {原创 2012-08-15 12:40:51 · 2842 阅读 · 1 评论 -
jni tutorial:windows下的HelloJNI
你需要保证你满足下面条件:1. 使用 Eclipse 在 windows(32位操作系统)下学习。2. 安装了MinGW,并且配置好,保证 gcc 可以使用。一、新建项目HelloJNI.javapackage it.man.jni;public class HelloJNI { static { System.loadLibrary("HelloJN原创 2013-08-11 00:17:41 · 2065 阅读 · 0 评论 -
java 基础:static 与构造方法
了解静态代码块,可以先抽几分钟时间看看链接 http://blog.csdn.net/androidbluetooth/article/details/6454135先给个示例程序package it.mark;import java.util.HashMap;public class StaticDemo { public static HashMap map;原创 2012-12-02 21:52:53 · 2530 阅读 · 0 评论 -
java 关键字: volatile、strictfp、transient
1. volatile入门(1). java中volatile关键字的含义(2). 初学Java多线程:慎重使用volatile关键字进阶(1). Java 理论与实践: 正确使用 Volatile 变量(2). 关于原子操作和volatile关键字~扩展 Java 原子操作2. strictfpJava中原创 2012-11-13 17:59:59 · 2028 阅读 · 0 评论 -
Java 异常: 编译时和运行时异常
Throwable 类是所有异常类的父类RuntimeException 继承自 Throwable在 JDK 文档里面中文意思如下:之前,写代码的时候 throw 某个异常,发现有些异常就是不需要 throws 语句(在方法声明后面),而有些必须加上 throws 语句在方法声明后面),原创 2012-11-29 18:50:33 · 3351 阅读 · 0 评论 -
Java基础: 关键字 this
在正式进入主题之前,先来点“热身”操作-成员变量的初始化!举一个例子,如下所示:public class Animal { int weight = 10; String gender = "male"; /** * constructor 1 */ public Animal() { // 初始化成员变量 this.weight = 12; this.ge原创 2011-05-25 15:13:00 · 1057 阅读 · 0 评论 -
Java基础: 静态与动态代码块
定义:在定义属性的位置上,在任何方法之外,定义一个代码块 种类:分为两类即动态代码块、静态代码块 动态初始代码块:在初始化属性之前调用初始化代码块 {……} 静态初始代码块:在类加载时运行 static{……} 只被运行一次,往往用作一个类的准备工作示例代码:package mark.zhang;public class Linux { /** * 动态代码原创 2011-05-30 10:21:00 · 5892 阅读 · 0 评论 -
Java基础: 优化 String 的那些事儿
看这篇博客之前,假设你看过http://blog.csdn.net/androidbluetooth/article/details/6525146共享两篇好文章:String中三种加法的区别JAVA的确是一种令程序员陷入两难境地的言语, 确切的说是思想. 它提供了如此丰富的library,让程序员能够很容易的写出功能强大的程序. 同时它也封装了如此原创 2011-07-22 21:40:14 · 2120 阅读 · 1 评论 -
面向对象: 类之间关系
面向对象编程的基本特征,众所周知:1. 封装性2. 继承性3. 多态性当然,还会有人提出第四个特性:4. 抽象性呵呵,第四个特性包含两个意思,即行为抽象、数据抽象。行为抽象:体现在类的方法上(包括抽象类以及接口)。数据抽象:体现在类的属性上(包括抽象类以及接口)。但是个人认为抽象性应该包原创 2011-11-09 23:12:06 · 2631 阅读 · 0 评论 -
Algorithm: 字符串转换为 unicode 字节数组
只要牵扯到字符编码的编程,脾气就会异常的,看着那一堆堆乱码,就巴不得拿刀砍死它!现在有个这样的需求:使用打印机打印指定的内容,然后按照指定的协议与设备通信。该打印机认识 unicode 编码的字符。所以,需要将指定内容(String)转换为 unicode 编码,然后转换为对应的 unicode 字节数组。编码实现:/** *原创 2012-06-23 23:10:50 · 2974 阅读 · 5 评论 -
Java基础:Java语句
Java语句 -------关键语句介绍 一、while语句 一般形式:while(条件表达式) { 语句体………} 执行过程:条件表达式为真,执行语句体。否则,退出! 二、do wh原创 2011-03-14 21:45:00 · 2820 阅读 · 0 评论 -
Java_NetWork_Java字节序
在前面两篇博客中,介绍了字节序和网路字节序。如果你有兴趣的话,可以访问 Java_NetWork_Endianness-字节序、 Java_NetWork_Endian相关的几个函数。这篇博客主要说说JavaVM与字节序,通过一个例子来说明。我们知道,不同的cpu或者原创 2011-09-25 11:44:28 · 2853 阅读 · 0 评论 -
由BigDecimal引发的思考
由BigDecimal引发的思考本文综合网上牛人以及Java API所写,还有自己的一些项目经历。主要实用工具Eclipse3.5、jdk1.6,测试框架JUnit4等。float和double只能用来做科学计算或者是工程计算,在商业计算中我们要用java.math.BigDec原创 2011-05-16 22:05:00 · 2885 阅读 · 0 评论 -
Java基础:Java运算符
提示:如果你有足够的精力,请记住运算符的优先级!1. 算术运算符 + - * / %(求余/求模运算符) ++ -- ++ -- 稍微有点麻烦,有个好办法:自己写个Demo测试一下,就可以搞定! 2. 关系运算符 > = 3原创 2011-03-08 09:13:00 · 1176 阅读 · 0 评论 -
Java基础:Java问号表达式
一般形式:x? y : z;【表达式0?表达式1:表达式2;】执行过程:表达式0为真,返回表达式1的值,否则返回表达式2的值。例子:返回三个数中的最大者public int maxOfThree(int fir, int sec, int thi)原创 2011-03-14 09:56:00 · 11127 阅读 · 0 评论 -
Java编程陷阱-类成员初始化
<br />Java编程陷阱-类成员初始化<br /> <br />如果你忽略Java的细节,恐怕你的代码会充满bug,下面讨论关于类成员初始化问题。<br /> <br />第一类,初始化成员变量在构造方法之前<br />主要参考TIJ中的代码,来说明问题!!<br />1.原创 2011-05-27 16:49:00 · 2596 阅读 · 0 评论 -
Java_NetWork_Endianness-字节序
Endianness-字节序维基百科:http://zh.wikipedia.org/wiki/%E5%AD%97%E8%8A%82%E5%BA%8F原创 2011-05-18 11:18:00 · 3207 阅读 · 2 评论 -
Java_NetWork_Endian相关的几个函数
ntohl() 简述: 将一个无符号长整形数从网络字节顺序转换为主机字节顺序。#include , u_long PASCAL FAR ntohl( u_long netlong); netlong:一个以网络[字节顺序表达的32位数。 注释:原创 2011-08-01 16:27:55 · 2372 阅读 · 0 评论 -
OSI
网络基础知识,需要加强。遂记之!1. OSI模型参考图:2. TCP、IP3. HTTP协议与TCP/IP协议 TCP/IP协议基础 TCP/IP协议包括两个子协议:一个是TCP协议(Transmission Control Protocol,传输控制协议),另一原创 2011-07-08 17:51:07 · 1290 阅读 · 0 评论 -
Parameter... parameter
看到如上所示的参数,当时就懵了。。。如果,您已经很熟悉这种参数表示形式的话,对您来说阅读这篇文章是在浪费生命。在说本篇文章主题之前,先扯会淡,且看!public class Ubuntu { public static void main(String[] args) {原创 2011-07-08 21:10:35 · 1628 阅读 · 1 评论 -
JUnit: 小技巧
现在JUnit有很多开源框架,所以测试不再麻烦!在实际开发中,软件测试是必需的!下面算是一些借鉴吧! 1. 不要用TestCase的构造函数初始化Fixture,而要用setUp()和tearDown()方法。2. 不要依赖或假定测试运行的顺序,因为J原创 2011-04-29 22:50:00 · 2293 阅读 · 0 评论 -
Java基础:数组
主要讨论一下,一维数组。关于多维数组,请举一反三!!!!!1. 数组Java中,数组是引用类型数据,可以看做是对象,数组中的每个元素相当于该对象的成员变量。数组中的元素,可以是任何数据类型(基本数据类型或者引用类型)。数组可以分为一维数组和多为数组。 2. 数组的初始化数组的初始化分为两步,即声明数组和为数组分配空间(此时也可以为数组手动赋值),如下:int[] a原创 2011-06-10 09:56:00 · 1604 阅读 · 0 评论 -
MySQL: 基于 jdbc 远程操作
/************************************************************ 声明:如需转载,请注明出处! **********************************************************原创 2012-07-04 19:24:21 · 11426 阅读 · 2 评论 -
JUnit: Hamcrest 使用
hamcrest 是一款比较不错的 JUnit 测试 jar 包,本文介绍 hamcrest 在 Java 语言的使用。如果你使用过 eclipse 和 JUnit4 的话,hamcrest 的使用会让你如虎添翼。 1. 下载hamcrest 连接 Google,搜索 hamcrest 即可。 下载列表:http://code.google.com/p/hamc原创 2011-05-09 12:08:00 · 6448 阅读 · 2 评论 -
Java 易错点: 自动装箱与自动拆箱
jdk 升级之后,引入了很多新的特性,如本文所说的自动装箱与自动拆箱。关于自动装箱与自动拆箱,请自行查阅资料。package mark.zhang;public class MyCounter { public static void main(String[] args) { long startCountTime = System.currentTime原创 2012-05-21 23:05:09 · 1667 阅读 · 4 评论