
java
a54cc
这个作者很懒,什么都没留下…
展开
-
JAVA与正则表达式(一年级)
<br /><br /><br />§1黑暗岁月<br />有一个String,如何查询其中是否有y和f字符?最黑暗的办法就是:<br />程序1:我知道if、for语句和charAt()啊。<br />class Test{<br /> public static void main(String args[]) {<br /> String str="For my money, the important thing "+<br /> "about the meeting was bridge-b转载 2010-12-08 09:48:00 · 210 阅读 · 0 评论 -
private class
A class can be marked by the "private" access specifier only<br />if its a nested member of another class.<br /><br />Top level classes cannot be marked as "private". Hence you<br />can have private classes in a java file but they must be<br />nest原创 2010-11-08 10:47:00 · 220 阅读 · 0 评论 -
enums
EnumsLanguage Contents<br /> <br />In prior releases, the standard way to represent an enumerated type was the int Enum pattern:// int Enum Pattern - has severe problems!<br />public static final int SEASON_WINTER = 0;<br />public static final in转载 2010-11-09 09:54:00 · 217 阅读 · 0 评论 -
java 对象 深拷贝
<br /> 熟悉C++的朋友对这个话题应该很熟悉,浅拷贝就是指两个对象共同拥有同一个值,一个对象改变了该值,也会影响到另一个对象。深拷贝就是两个对象的值相等,但是互相独立。本来想把以前写的一篇文章扩充一下,没想到居然牵扯出很多复杂的问题。本文测试环境是windows xp sp3中文版、NetBeans6.7.1,JDK1.6-update16。这里抛砖引玉,希望大家能提宝贵意见。<br /> 首先,Java中常用的拷贝操作有三个,operator = 、拷贝构造函数 和 cl转载 2010-11-17 16:42:00 · 919 阅读 · 0 评论 -
遍历map
<br /><br />JAVA遍历Map所有元素<br />2010-03-09 17:18<br />//JDK1.5 <br />Map map = new HashMap(); <br />for(Object obj : map.keySet()) { <br /> Object key = obj; <br /> Object value = map.get(obj); <br />} <br /> <br />//JDK1.4 <b转载 2010-11-17 17:04:00 · 283 阅读 · 0 评论 -
UNICODE,GBK,UTF-8区别
<br /> <br /> 最近迷上改魔兽地图,破解解压修改挺好玩的~ 有个文件头的问题,搞了半天才知原来是utf-8码...总算把这些都搞清楚了.<br /><br />简单来说,unicode,gbk和大五码就是编码的值,而utf-8,uft-16之类就是这个值的表现形式.而前面那三种编码是一兼容的,同一个汉字,那三个码值是完全不一样的.如"汉"的uncode值与gbk就是不一样的,假设uncode为a040,gbk为b030,而uft-8码,就是把那个值表现的形式.utf-8转载 2011-03-07 23:42:00 · 210 阅读 · 0 评论 -
final 内部类 变量
<br />内部类用到类外方法的变量时要加final<br /> <br />有很多匿名内部类对象的生存范围比一次方法调用什么的长多了,<br />比如监听器,线程什么的.<br />所以只有把这些引用拷贝一份了,<br />如果不是final的话,这些还是可以随意赋值的,<br />那样内部类里面拷贝的那一份就过期了.转载 2011-02-22 17:15:00 · 176 阅读 · 0 评论 -
synchronized
当两个对象实例线程调用一个sync的非static方法时候,sync不起任何作用,这是经过理论和实践检验的。 类中 synchronized void fun() 其实就是 void fun(){synchronized(this){}}synchronized static void fun() 等效于 void fun(){synchronized(this.getClass()){}}synchronized 的意思就是,把(xxx)作为信号量,同步{}。xxx一定是个对象,可能是实例,也可能是类对象转载 2011-03-22 14:52:00 · 228 阅读 · 0 评论 -
java中String的操作api
创建一个字符串实例变量StringBuffer buf = new StringBuffer("Java"); // Append buf.append(" Almanac v1/"); // Java Almanac v1/ buf.append(3); // Java Almanac v1/3 // Set int index = 15; buf.setCharAt(in转载 2011-05-17 10:25:00 · 1137 阅读 · 0 评论 -
再说final变量
从jdk1.0到今天,JAVA技术经过十余年的发展,技术上已经发生了巨大的变化.但final变量的定义从它诞生那天起,就没有发生任何变化,也就是这十多年它就一直表示它原来的意思.但遗憾的是,经过十多年仍然有90%的人没有理解它的真实含义,也没有一篇文章,包括我所见到的所有介绍JAVA的书籍(包括TKJ)都没有说清楚,我相信肯定有些作者是理解的,但没有一个作者向读者说清楚.而中国网友大多数人被一篇胡说八道的>的文章跑过马.(脸红一下:当初我也是).final变量的定义本身并不复杂,就是变量一经初始转载 2010-11-03 13:06:00 · 206 阅读 · 0 评论 -
得到当前的线程
<br />15.3.2 得到当前的线程<br />既然线程是代码的执行器,那么每行代码在真正执行的时候,都是由某个线程负责的。如何得到这个线程呢?下面的内容给出了答案。<br />1.Thread类的静态方法currentThread()<br />我们知道,Java的线程是执行Java程序的基本单位。也就是说,所有的Java代码最终都是由线程执行的,就好像所有的音符都是由演奏家演奏的。如果在程序中需要得到"执行当前代码的线程的引用",那么就可以使用Thread类的静态方法Thread curr转载 2010-11-02 14:52:00 · 1657 阅读 · 0 评论 -
java String
首先你要明白,字符串为空的说法,null还是"",这两个是完全不同的意义, null表示这个字符串不指向任何的东西,如果这时候你调用他的方法,那么就会出现空指针异常 而""表示他指向一个长度为0的字符串,这时候调用他的方法是安全的<br /><br />string.length也好用转载 2010-10-21 10:52:00 · 139 阅读 · 0 评论 -
函数局部变量风格
<br />似乎在cpp里让被调用函数负责内存分配,调用方管理句柄(指针)的做法java里不是很好用~很难传出来额。<br /><br />应该尽量让调用方分配内存。原创 2010-10-21 10:52:00 · 140 阅读 · 0 评论 -
int string 转换
<br /> 1 如何将字串 String 转换成整数 int?<br /> A. 有两个方法:<br /> 1). int i = Integer.parseInt([String]);<br /> 或 i = Integer.parseInt([String],[int radix]);<br /> 2). int i = Integer.valueOf(my_str).intValue();<br /> 注: 字串转成 Double, Float, Long 的方法大同小异.<br />转载 2010-10-21 10:50:00 · 188 阅读 · 0 评论 -
java exception
<br />catch没有抛出的exception会编译不过~原创 2010-10-21 10:53:00 · 157 阅读 · 0 评论 -
java 值传递
<br />1.函数实际上是值传递的。<br />2.引用类似于指针<br />3.在函数里拿多个引用互相赋值,最终这些原引用的拷贝都会丢弃,实际上是无用功。这种问题类似于c cpp中需要指针的指针的情况,比如对指针进行内存分配,如果只用指针,存放内存首地址的参数指针会在函数返回时被丢弃。<br />4.小心new这类的东西实际上是隐含的引用赋值。原创 2010-10-21 10:53:00 · 145 阅读 · 0 评论 -
InputStream,String,File相互转化
<br />1. String --> InputStream<br />InputStream String2InputStream(String str){<br />ByteArrayInputStream stream = new ByteArrayInputStream(str.getBytes());<br />return stream;<br />}<br />2. InputStream --> String<br />String inputStream2String转载 2010-10-21 10:50:00 · 806 阅读 · 1 评论 -
java cpp 变量声明分配区别
<br />java中 Box a;实际上只是一个声明,没有实际的分配。<br />而c cpp这样已经在栈里头分配内存了。<br /><br />对类来说,java一定要初始化,要么从别的引用获得,要么自己new。<br /><br />这种情况下a类似一个指针原创 2010-10-21 10:51:00 · 250 阅读 · 0 评论 -
各种buffer间拷贝
/*<br /> * Copyright 2001-2004 The Apache Software Foundation.<br /> *<br /> * Licensed under the Apache License, Version 2.0 (the "License");<br /> * you may not use this file except in compliance with the License.<br /> * You may obtain a copy of the Lic转载 2010-10-25 17:11:00 · 258 阅读 · 0 评论 -
浅析Java中CountDownLatch用法
CountDownLatch如其所写,是一个倒计数的锁存器,当计数减至0时触发特定的事件。利用这种特性,可以让主线程等待子线程的结束。下面以一个模拟运动员比赛的例子加以说明。 1import java.util.concurrent.CountDownLatch; 2 import java.util.concurrent.Executor; 3 import java.util.concurrent.ExecutorService; 4 import java.util.concurrent.Execut转载 2011-04-29 15:23:00 · 317 阅读 · 0 评论