java
文章平均质量分 78
仲夏夜有蚊子
啥都没有呢奋斗中
展开
-
Synchronized 详解
////同步是针对对象而言的,下面是错误示例//class Foo extends Thread {// private int val;//// public Foo(int v) {// val = v;// }//// public void printVal(int v) {// synchronized(this)// {// while (转载 2013-04-02 16:42:49 · 454 阅读 · 0 评论 -
hadoop源代码下载导入eclipse
hadoop是一个分布式存储和分布式计算的框架。在日常使用hadoop时,我们会发现hadoop不能完全满足我们的需要,我们可能需要修改hadoop的源代码并重新编译、打包。下面将详细描述如何从svn上导入并对hadoop进行eclipse下编译。 因项目使用的hadoop版本是0.20.2,所以我们基于hadoop-0.20.2来进行二次开发。 (1)首先转载 2013-04-28 16:13:21 · 821 阅读 · 0 评论 -
hama源代码编译与调试
Hama是最近Apache开源项目中比较活跃的项目,目前刚刚成为Apache Top Level Project。本文主要讲述Hama开发和调试流程。本文用到的Hama是0.5.0版、Maven是3.0.4版、Eclipse是Eclipse Eclipse Java EE Indigo 3.7.2、OS是Fedora 3.4.4-3.fc17.x86_64。准备工作Hama转载 2013-04-28 19:26:59 · 1197 阅读 · 0 评论 -
JAVA读取文件,避免中文乱码
1、JAVA读取文件,避免中文乱码。 /** * 读取文件内容 * * @paramfilePathAndName * String 如 c:\\1.txt绝对路径 * @return boolean */ public static String readFile(String filePathAndName) {原创 2013-05-10 21:19:11 · 833 阅读 · 0 评论 -
递归删除指定目录中的指定名字的文件或目录
主要用于svn转换时。例如我从svn server1上down 下了项目源代码,则源代码每个目录中都有一个.svn目录记录你和那个server相连是否有更新等信息,如果这时你想把该项目上传到别的svn server2上,不删除.svn就不好办了。删除了.svn就能像上传新的项目一样上传本项目。import java.io.File;import java.util.ArrayLis原创 2013-05-07 20:47:04 · 700 阅读 · 0 评论 -
java hashCode() 和 equals()
今天下午研究了半天hashcode()和equals()方法,终于有了一点点的明白,写下来与大家分享(zhaoxudong 2008.10.23晚21.36)。 1. 首先equals()和hashcode()这两个方法都是从object类中继承过来的。 equals()方法在object类中定义如下: public boolean equals(Object obj) { r转载 2013-06-13 17:22:27 · 661 阅读 · 0 评论 -
五子棋判断五子相连
//主要看getLInkedCount方法怎么实现的就行,你可以自己运行一下看看结果。亲测import java.io.IOException;import java.util.ArrayList;import java.util.Random;public class test {private static final int xBound = 10;p原创 2013-09-11 09:07:45 · 1882 阅读 · 0 评论 -
log4j 配置详解
log4j.rootLogger=日志级别,appender1, appender2, ….日志级别:ALL,不区分大小写注意,需在控制台输入,只需将其中一个appender定义为stdout即可注意,rootLogger默认是对整个工程生效注意,如果只想对某些包操作,那么:log4j.logger.com.hutu=info, stdout,表示该日志对package转载 2013-11-20 09:30:36 · 804 阅读 · 0 评论 -
常见字符集关系
本图是尚学堂视频截图转载 2013-11-26 22:03:57 · 823 阅读 · 0 评论 -
WINXP下怎么设置JDK的环境变量
那位高手告诉我在WINXP下怎么设置JDK的环境变量,该试的方法我都试了,都不行。安装路径C:\Program Files\Java\jdk1.5.0_09 在网上找了N个方法我都试了, 用javac的时候,出现以下错误提示: "javac "不是内部或者外部命令,也不是可运行程序,或批处理文件。 而却运行 java -sersion 也好使, 那位转载 2013-04-28 16:13:01 · 700 阅读 · 0 评论 -
主线程 子线程 同步问题
问题描述:子线程循环10次,接着主线程循环100次,接着子线程循环10次,主线程再循环100次,如此循环50次;请写出程序package testThread;public class LoopTest {private boolean shouldMain = false;class MainThread implements Runnable{@Ov原创 2013-04-18 15:51:02 · 573 阅读 · 0 评论 -
java 线程池的简单使用
Java里面线程池的顶级接口是Executor,但是严格意义上讲Executor并不是一个线程池,而只是一个执行线程的工具。真正的线程池接口是ExecutorService。下面这张图完整描述了线程池的类体系结构。 标记一下比较重要的类:ExecutorService:真正的线程池接口。ScheduledExecutorService能和Timer/Ti转载 2013-04-18 17:02:39 · 537 阅读 · 0 评论 -
.java.io.StreamCorruptedException: invalid type code: AC解决办法
问题描述:在向一个文件写入可序列化对象时,每次只想向文件的末尾添加一个可序列化的对象,于是使用了FileOutputStream(文件名,true)间接的构建了ObjectOutputStream流对象,在向外读数据的时候第一次运行的时候不会报错,在第二次就会报java.io.StreamCorruptedException: invalid type code: AC错误。原因:转载 2013-03-21 16:18:48 · 961 阅读 · 0 评论 -
java 泛型详解
Java代码 class Point{ // 此处可以随便写标识符号,T是type的简称 private T var ; // var的类型由T指定,即:由外部指定 public T getVar(){ // 返回值的类型由外部决定 return var ; } public void se转载 2013-03-24 11:28:30 · 503 阅读 · 0 评论 -
log4j配置详解
log4j.rootLogger=日志级别,appender1, appender2, ….日志级别:ALL,不区分大小写注意,需在控制台输入,只需将其中一个appender定义为stdout即可注意,rootLogger默认是对整个工程生效注意,如果只想对某些包操作,那么:log4j.logger.com.hutu=info, stdout,表示该日志对package com.h转载 2013-04-16 19:41:55 · 727 阅读 · 0 评论 -
java数据类型详解
Java 语言是一个“强类型”的语言,在声明任何变量时,必须将该变量定义为一种数据类型。Java中的数据类型包括:基本数据类型和对象类型。对象类型不属于本章所讲述的内容,本节主要介绍数据的基本类型。Java 程序中,总共有 8 大基本类型,其中 4 种整型、1 种字符型、2 种浮点型、1 种布尔型,除了这几种基本类型外,其他都属于对象类型的数据。一.整型整型就是整数类型,也就是没有转载 2013-04-17 09:36:53 · 559 阅读 · 0 评论 -
EL表达式详解
EL表达式 1、EL简介1)语法结构 ${expression}2)[]与.运算符 EL 提供.和[]两种运算符来存取数据。 当要存取的属性名称中包含一些特殊字符,如.或?等并非字母或数字的符号,就一定要使用 []。例如: ${user.My-Name}应当改为${user["My-转载 2013-04-17 20:49:39 · 518 阅读 · 0 评论 -
UML类图与类的关系详解
1、关联双向关联:C1-C2:指双方都知道对方的存在,都可以调用对方的公共属性和方法。在GOF的设计模式书上是这样描述的:虽然在分析阶段这种关系是适用的,但我们觉得它对于描述设计模式内的类关系来说显得太抽象了,因为在设计阶段关联关系必须被映射为对象引用或指针。对象引用本身就是有向的,更适合表达我们所讨论的那种关系。所以这种关系在设计的时候比较少用到,关联一般都是有向的。转载 2013-04-18 16:22:58 · 640 阅读 · 0 评论 -
线程池工作原理和适用情况
在什么情况下使用线程池?单个任务处理的时间比较短将需处理的任务的数量大使用线程池的好处:减少在创建和销毁线程上所花的时间以及系统资源的开销如不使用线程池,有可能造成系统创建大量线程而导致消耗完系统内存以及”过度切换”。线程池工作原理:为什么要用线程池?诸如 Web 服务器、数据库服务器、文件服务器或邮件服务器之类的许多服务器应用程序都面向处理来自某些转载 2013-04-18 20:54:41 · 685 阅读 · 0 评论 -
简单线程池的实现
简单介绍 创建线程有两种方式:继承Thread或实现Runnable。Thread实现了Runnable接口,提供了一个空的run()方法,所以不论是继承Thread还是实现Runnable,都要有自己的run()方法。 一个线程创建后就存在,调用start()方法就开始运行(执行run()方法),调用wait进入等待或调用sleep进入休眠期,顺利运行完毕或休眠被中断或运转载 2013-04-18 17:09:40 · 524 阅读 · 0 评论 -
java枚举类型详解
1. 枚举类型 1.1枚举类型简介 J2SE 5.0 以及之前的JDK有两种基本方法可以来定义新类型:通过Classes 以及Interface. 对于大部分面向对象编程来说,这两种方法看起来似乎足够了.但是在一些特殊情况下,这些方法就不适合.例如,我们想定义一个类型 Priority, 它只能接受 High, Medium, Low 三种值. 其他任何值都是非法的.J转载 2014-11-27 09:47:04 · 762 阅读 · 0 评论