Category Archives: java基础

Java 设计模式-代理模式

简介 在23中开发模式中,代理模式也是一种非常常见的开发模式。代理模式为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。它可以在目标对象实现的基础上,增强额外的功能操作,扩展目标对象的功能。 为了保持行为的一致性,一般情况下代理类和委托类会实现相同的接口,所以对于外部访问者而言几乎看不到差别,通 […]

阅读更多 »

Java double、float和BigDecimal以及货币计算方式

在文章之前先看一个简单的例子:

看似简单的数值计算输出结果会令不少初入的程序员咂舌,输出结果如下:

不仅仅是Java,其它很多编程语言也有这样的问题。多数情况下的计算结果是正确的,但是上面这种情况在计算机中也不是错误的。因为float或者double在计算机中只是为了 […]

阅读更多 »

Java Comparator与Comparable

Java Comparator与Comparable Java从1.2开始添加了一些很实用的工具,可以对数组或者列表进行排序。今天这篇博文主要介绍对列表进行排序相关的两个接口Comparator与Comparable,直接翻译可以译为比较器和可以比较的,Compartor是定义在java.util包下的,而Comparable是定义下java.lang包下的。 对列表进行排序实际上是Collect […]

阅读更多 »

Google Java编程规范指南

■ Google代码编码规范下载:https://github.com/google/styleguide 1 前言 1.1 术语说明 1.2 指南说明 2 源文件基础 2.1 文件名 2.2 文件编码:UTF-8 2.3 特殊字符 3 源文件结构 3.1 许可证或版权信息 3.2 package语句 3.3 import语句 3.4 类声明 4 格式 4.1 大括号 4.2 块缩进:2个空格 4 […]

阅读更多 »

Java网络编程-初识Socket

Socket套接字计算机网络通信的基本技术之一。大多数基于网络的软件,如浏览器、即时通讯工具(QQ)或者P2P下载(迅雷)都是基于Socket实现的。本文介绍了Socket的一些基础知识点,对UDP协议没有过多的涉及,简要分析了Socket和HTTP,最后有一个类似于QQ多人聊天的小示例可以下载示例源代码查看。 Socket介绍 在了解Socket之前,首先要了解什么是客户端/服务器(client […]

阅读更多 »

Java 多线程对于异常的处理

概要 本文主要介绍一个类的使用,线程内部类UncaughtExceptionHandler。通过简要分析一下线程对于异常的处理,如checked exception我们可以直接捕获它,而对于unchecked exception也就是平常所说的RuntimeException的处理方式,加深对处理异常的理解。 当 Thread 因未捕获的异常而突然终止时,调用处理程序的接口。 Thread.get […]

阅读更多 »

Arrays.asList的使用及异常问题

一次在调试ListView问题的时候偶然发现了一个很是奇葩的问题,为了方便在ListView中添加删除条目,所以我将一个数组转换为了一个List,主要是List有更便利的方式来改变长度,调试中的bug果真是难住我了,就是因为忽略了这个方法Arrays.asList。 ArrayList 平常最常使用的就是java.util.ArrayList,然而Arrays.asList返回的是java.uti […]

阅读更多 »