
Java
文章平均质量分 82
lantian___123
这个作者很懒,什么都没留下…
展开
-
快速了解Log4J
Log4J的三个组件:Logger:日志记录器,负责收集处理日志记录 (如何处理日志)Appender:日志输出目的地,负责日志的输出 (输出到什么 地方)Layout:日志格式化,负责对输出的日志格式化(以什么形式展现) 类结构图(来自http://www.blogjava.net/DLevin/archive/2012/06/28/381667.html)...原创 2012-12-13 00:23:45 · 439 阅读 · 0 评论 -
JNA入门实例
JNA(Java Native Access):建立在JNI之上的Java开源框架,SUN主导开发,用来调用C、C++代码,尤其是底层库文件(windows中叫dll文件,linux下是so【shared object】文件)。JNI是Java调用原生函数的唯一机制,JNA就是建立在JNI之上,JNA简化了Java调用原生函数的过程。JNA提供了一个动态的C语言编写的转发器(实际上也是...2012-12-09 20:22:24 · 250 阅读 · 0 评论 -
Ubuntu安装配置JDK、Tomcat 、Eclipse
在Linux下安装JDK Tomcat等Java运行环境,安装Java环境主要就是环境变量的设置。下载jdk 安装包 jdk-6u37-linux-x64.binwget http://download.oracle.com/otn-pub/java/jdk/6u37-b06/jdk-6u37-linux-x64.bin?AuthParam=1353294406_150b2aa0...原创 2012-11-19 15:22:09 · 87 阅读 · 0 评论 -
Java Thread 部分方法及概念
这里并不打算说明什么叫线程,但是可以简单举一线程的应用场景: 现有一拷贝程序,当我在拷贝一个非常大的文件时,突然想终止其拷贝,一个办法就是直接把该拷贝程序的进程kill,还有一办法就是多线程机制,一个线程专用于拷贝程序,另一线程监听中途终止的指令,一旦接受到其指令,马上要求另一线程停止操作。 优先级:线程的初始化优先级与创建此线程的线程的优先级一样。 守护进程(daem...2012-08-25 23:58:50 · 99 阅读 · 0 评论 -
适配器模式
Adapter问题引出:大家生活中可能碰到的一个问题就是你新买手机自带的耳机是2.5接口的,不幸的是有一天你的耳机坏了,你去市面上根本就找不到2.5的耳机了,基本上是3.5接口了,没办法你只好买了个3.5接口的耳机,老板告诉你:“我给你一个适配器”这不问题就解决了。问题分析:3.5的接口的耳机在你手机上本来是没法使用的,因为它没有按照2.5接口的设计,而现在我又想使用这幅耳机,于是...原创 2012-06-24 09:15:41 · 80 阅读 · 0 评论 -
5分钟了解Mockito
一、什么是mock测试,什么是mock对象? 先来看看下面这个示例:从上图可以看出如果我们要对A进行测试,那么就要先把整个依赖树构建出来,也就是BCDE的实例。 一种替代方案就是使用mocks从图中可以清晰的看出mock对象就是在调试期间用来作为真实对象的替代品。mock测试就是在测试过程中,对那些不容易构建的对象用一个虚拟对象来代替测试的方法就叫mock...2012-05-05 16:15:24 · 390 阅读 · 0 评论 -
Java程序员,不要过度依赖于String
在Java中永远,永远不要过度使用String 我想标题可能会引进部分人的不满,抑或作者带着强烈的个人色彩,但是如果你能认真读完全文,我想你会有新的收获。 永远也不要使用(非包装类型)的String、long、int,那些原始类型没有语义,这样的变量类型很难理解、维护麻烦、而且不易扩展,接下来看一个简单的例子-----关于电影票的服务 在看这个例子之前要...2012-04-03 13:43:26 · 142 阅读 · 0 评论 -
Java SE 7 Exception的使用
Java SE 7 Exception的使用在Java SE 7 中,作为Project Coin项目中众多有用的细小语言变化之一的加强型异常处理,现在来学习如何利用它。简介:在这边文章中,我们所涉及的一些变化是作为Java平台标准版7(Java SE 7)所发布,在JSR334(JavaSpecification Request)有详细的说明。现在我们重点讨论异常处理,特...2012-03-01 01:23:03 · 138 阅读 · 0 评论 -
一些实用类
1、TimeUnitTimeUnit出现在concurrent包中,但它实实在在是一个util类(实用的工具类),严格来说TimeUnit是一个enum类型,包含的常量从NANOSENDS到DAYS共七个。其目的就是从Thread类中的sleep方法中的毫秒参数解脱出来,首先举个例子小试牛刀 public class TimeUnitTest { public stat...原创 2012-02-16 01:55:49 · 105 阅读 · 0 评论 -
关于并发的一篇短文
JAVA并发前言:这是一篇根据《java编程思想》并发章节部分做的一个总结,把自己的理解记录在此,如果有兴趣不妨静下来读一读,如果想更深入的了解可以去翻一翻书本。 概念的引出:为什么会出现并发编程,往往是因为有相应的需求存在,所谓存在即合理嘛,既然有这样一个东西自有他的用处。提到并发编程就不得不说顺序编程了,相信大家对顺序编程再了解不过了,冯诺依曼结构就是要求计算机按照程序的顺序结...2012-02-14 01:02:59 · 87 阅读 · 0 评论 -
谈谈接口
接口一、此接口非彼接口 接口有两种定义:一种是我们常说的API(application program interface)应用程序接口,这类接口是有应用服务提供商或第三方软件厂商提供。如Java就提供了不少非常强大的API,各种开放应用平台也纷纷提供自己的API接口供程序员使用。第二种就是我们接下来重点要说的Java语言规范中提供的一种特性(Interface)。 二、...原创 2011-12-25 01:57:14 · 143 阅读 · 0 评论 -
对Boolean.getBoolean(String name)的己见
1、今天遇到这样一件事:想把String类型的true和false转换成boolean的原生类型,于是顺手的用Boolean.<alt+/>(快捷键),jdk提供了一个static 的 getBoolean(name)方法,调用之后并不是我预期的结果。最先值得怀疑的应该是自己代码有问题。细查后原来是被此方法名误解了。 2、这个方法名起的很邪恶。就是被他的字面意思给误解了。 ...原创 2011-10-12 15:24:43 · 198 阅读 · 0 评论 -
LinkedList源码分析
LinkedList的源码分析 LinkedList是一个双向循环链表,既然是双向的列表,就不能像ArrayList一样交给一个Object数组来存储。LinkedList需要定义新的数据类型来解决链表的问题,他就是Entry,Entry必须拥有指向前一个节点和指向下一个节点的属性,还有将要保存的元素本身。 private static class Entry<...原创 2011-09-24 03:14:07 · 76 阅读 · 0 评论 -
enum(java中的枚举)
Java 中的枚举(enum)枚举就是一组有限数据的集合,比如:性别就可以用枚举表示,他们的元素分别为男、女,最多还加个未知或者人妖。 枚举也是一种特殊的类,与普通类的区别在于普通类在定义的时候不明确他将会有哪些实例对象存在,完全由程序员自己去生成实例,而枚举只是他的值在定义的时候就已经实例话了,如下面的枚举定义方式: /** * 定义了颜色有红、绿、蓝三种颜色的枚举...原创 2011-06-04 00:50:19 · 185 阅读 · 0 评论 -
getResourceAsStream(String name) name的路径
关于class.getResourceAsStream(String name)与class.getClassLoader().getResourceAsStream(String name)的路径name问题 首先用类加载资源文件的方式可以有以下三种:(包结构图)1) InputStream inStream = DaoFactory.class.getResour...2011-04-28 12:54:43 · 114 阅读 · 0 评论 -
Arrays.asList()的返回值分析
[code=""java"] List list = Arrays.asList(2,3,4,5); list.set(1, 22); //调用add方法抛出java.lang.UnsupportedOperationException list.add(1, 22); [/code]抛出异常的原因:调用list.getC...2011-04-01 22:13:46 · 968 阅读 · 0 评论 -
对象的序列化
对象的序列化过程就是将对象状态转换成字节流和从字节流中恢复对象。RPC:Remote Procedure Call 远程过程调度,简而言之就是本地计算机调用远程计算机上的一个函数。...原创 2011-03-24 22:54:17 · 77 阅读 · 0 评论 -
类的加载器
类的加载:指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后再堆区里创建一个java.lang.Class对象,用来封装类在方法区内的数据结构类的加载最终产物是位于堆区的Class对象ClassLoader(类加载器);两种类型的类加载器1.JVM提供的加载器:a. 根类加载器(bootstrap)C ++编写,我们无法再java代...2011-03-19 13:31:22 · 77 阅读 · 0 评论