关闭

Spring xml配置文件头解析

最简洁xml文件头 详解 命名空间 头解析 模式内容Spring的xml配置虽然比较繁琐,不如推荐使用的注解方式简介,但是能读懂xml配置文件还是很重要的,尤其是对于一些老系统的维护,几乎不可避免要面对xml配置文件的问题。现在我们就从默认的xml文件头说起。最简洁xml文件头以下可谓是最简洁的spring文件头的内容,然而看起来依旧一大坨,令人眼花缭乱。其实细细分析,就会觉得东西其实并不多。<?x...
阅读(6) 评论(0)

Java Map初始化的一个错误:new HashMap().put("a", "b");

今天在使用PowerMock进行代码测试用例编写的时候,需要新建一个map,当时脑一抽,写成了:Map testMap = new HashMap().put("a", "b");然后收到了IDE的友善提醒:Incompatible types. Required: java.util.Map...
阅读(115) 评论(0)

使用枚举实现单例模式

前言单例模式的实现方式有多种,从最基础的非LazyLoad的懒汉式,到LazyLoad但需要双重检查的饿汉式,再到比较简单实现LazyLoad的静态内部类方式,均可实现单例模式。(忘了的可以查查资料:D)不过使用枚举实现单例模式,可称之为实现单例模式最简单的方法。实现public enum MySingleton { INSTANCE; // all the methods yo...
阅读(110) 评论(0)

Future/FutureTask & Callable/Runnable & Executor/ExecutorService/Executors

用途:笔记。 各类具体方法参阅JDK API。Callable/Runnable接口 Runnable用于实现线程。大多数情况下,如果只想重写 run() 方法,而不重写其他 Thread 方法,那么应使用 Runnable 接口。这很重要,因为除非程序员打算修改或增强类的基本行为,否则不应为该类创建子类。 Callable 接口类似于 Runnable,两者都是为那些其实例可能被另一个线程执行的...
阅读(66) 评论(0)

Java异常处理

Java的异常处理有两种方式: - 默默解决。使用try...catch。 - 甩锅。使用throw和throws。通常,我们喜欢用try/catch捕获异常,然后对异常进行处理。但是有时候,我们也会不予理会,直接将异常扔出去,让调用者自己去处理异常。当然对调用者来说,它也有两种同样的选择:自己处理掉,或者再往外扔,交给自己的调用者,由新的调用者继续背锅。以下是几种正常与不正常的异常处理方式示例...
阅读(58) 评论(0)

Java打log日志

最近写Java工程,需要在客户端打上log,以便进行出错追踪。刚开始试了一些log4j之类的包,想着功能强大点儿。但是由于配置、版本不兼容、傻叉Windows等一系列问题,最终放弃,干脆直接采用Java自带的log好了。关于Java内置Logger的介绍,比较好的有这篇,可以学习一下其基本用法。但是如果按照那篇博客的“(六)如何使用JDK内置logger ”写一个LogUtil的话,在我的需求下会出...
阅读(3952) 评论(0)

Java解析json——Jackson

在Java下,想要解析json文件,已经有了现成的Jackson框架。有几个关于Jackson的基础例子,或者也可以看本文最后的附录。看过之后也就大致了解Jackson的基本用法了。至少Java对象和json的直接转化还是比较简单的。在这里,我主要记录一下自己使用readTree从服务器接收json并解析的过程。需求写一个客户端程序,客户端从服务器接收json,并解析为Java自己的对象,进行处理。...
阅读(1103) 评论(0)

工厂的模式们

DIY SimpleFactory FactoryMethod AbstractFactory1.DIY没有工厂的年代,客户需要自己造打印机:public class PrinterLgl { private String name = null; public PrinterLgl(String name) { this.name = name; Sy...
阅读(264) 评论(0)

archlinux的JDK默认安装路径

JDK在archlinux的默认安装目录是/usr/lib/jvm/java-8-jdk(根据JDK版本不同而改变目录名),当然,我们可以将JDK安装路径设置为JAVA_HOME。 其实,在/usr/lib/jvm下共有三个文件夹,准确的说,是一个文件夹和两个文件夹的链接:lgl@pArch /usr/lib/jvm $ ls -l 总用量 4 lrwxrwxrwx 1 root root 1...
阅读(1782) 评论(0)

Java中的equals()和hashCode()

概述在我们使用类集框架(比如使用hashMap、hashSet)的时候,经常会涉及到重写equals()和hashCode()这两个方法。 这两个方法的联系是: 1. 如果两个对象不同,那么他们的hashCode肯定不相等; 2. 如果两个对象的hashCode相同,那么他们也未必相等。 所以说,如果想在hashMap里面让两个不相等的对象对应同一个值,首先需要让他们的hashCod...
阅读(713) 评论(0)

Java装饰者模式

问题提出关于日志消息,我们需要将其输出到屏幕或者是日志文档内,于是我们会写几个类: 接口ILogger 类ConsoleLogger负责将信息输出到Console 类 FileLogger负责将信息输出到文件中 但是问题在于,如果我们要对这两个输出类增加条件,比如“将信息转为大写”,“将信息转换成html格式输出”,那么两个类都要被该写成四个类才满足需求。如果要求更多,那么类的数目增加的会非常快。此...
阅读(721) 评论(0)

Java: Collection & Collections; Array & Arrays

在 Java2中,有一套设计优良的接口和类组成了Java集合框架Collection,使程序员操作成批的数据或对象元素极为方便。这些接口和类有很多对抽象数据类型操作的API,而这是我们常用的且在数据结构中熟知的。例如Map,Set,List等。并且Java用面向对象的设计对这些数据结构和算法进行了封装,这就极大的减化了程序员编程时的负担。程序员也可以以这个集合框架为基础,定义更高级别的数据抽象,比...
阅读(540) 评论(0)

写OO作业过程中现学的东西

获取后缀名—— String latter = name.substring(name.lastIndexOf(".") + 1); //不包括".",比如"java",而不是".java" 将文件中的内容读入到String数组中—— BufferedReader br = null; try{ br = new BufferedReader(new File...
阅读(509) 评论(0)

Java中的clone() 深拷贝 浅拷贝

上图展示了浅拷贝:对于非基本数据类型,clone过后,结果两个指针指向了同一块儿内存空间,所以仅仅是浅拷贝,这样的话如果对一个对象进行操作,另一个内容也会变,这显然是不合理的,应该每个对象分别保存自己的数据。 所以我们要进行深拷贝! 浅拷贝和深拷贝例子: import java.util.Vector; public class Student implements Cloneable{...
阅读(1286) 评论(0)

Java 字节流 字符流 转换流

我们知道Java中的流分为字符流和字节流,其中字符流主要针对字符文本进行处理,而字节流处理范围更为广泛,毕竟图片、电影等只要是文件都是以二进制的形式存在的,而不是字符。 字符流: FileReader FileWriter。 BufferedReader BufferedWriter 字节流: FileInputStream FileOutputStream...
阅读(3493) 评论(0)
22条 共2页1 2 下一页 尾页
    个人资料
    • 访问:77198次
    • 积分:1506
    • 等级:
    • 排名:千里之外
    • 原创:71篇
    • 转载:6篇
    • 译文:0篇
    • 评论:6条
    最新评论