java
文章平均质量分 64
iteye_17722
这个作者很懒,什么都没留下…
展开
-
java版的二分查找算法
/** * @param data 从小到大排好序的数组 * @param goal 要查找的数 * @param left * @param right * @return 目标数的数组下标,没有找到为-1 ; */ public static int find(int[] data,int goal,int left,int righ...原创 2011-05-18 11:42:32 · 75 阅读 · 0 评论 -
java传值or传引用 二
(接一) 5. 如何实现类似 swap 的方法 传值还是传引用的问题,到此已经算是解决了,但是我们仍然不能解决这样一个问题:如果我有两个 int 型的变量 a 和 b,我想写一个方法来交换它们的值,应该怎么办? 结论很让人失望——没有办法!因此,我们只能具体情况具体讨论,以经常使用交换方法的排序为例: /** 例 6 */ /** * @(#) Test.java * ...原创 2011-02-14 16:32:45 · 98 阅读 · 0 评论 -
JAVA代码编写的30条建议
(1) 类名首字母应该大写。字段、方法以及对象(句柄)的首字母应小写。对于所有标识符,其中包含的所有单词都应紧靠在一起,而且大写中间单词的首字母。例如: ThisIsAClassName thisIsMethodOrFieldName 若在定义中出现了常数初始化字符,则大写static final基本类型标识符中的所有字母。这样便可标志出它们属于编译期的常数。 Java包(Packag...原创 2011-02-14 17:57:51 · 57 阅读 · 0 评论 -
全局变量的优缺点
使用全局变量的优点是:可以减少变量的个数,减少由于实际参数和形式参数的数据传递带来的时间消耗。但是,使用全局变量也有许多缺点:(1)全局变量保存在静态存贮区,程序开始运行时为其分配内存,程序结束释放该内存。与局部变量的动态分配、动态释放相比,生存期比较长,因此过多的全局变量会占用较多的内存单元。(2)全局变量破坏了函数的封装性能。前面的章节曾经讲过,函数象一个黑匣子,一般是通过函数参数和返回值进行...原创 2011-02-15 10:06:54 · 2741 阅读 · 0 评论 -
java 正则表达式 常用符号总结
•句点.表示单个字符 •方括号[]表示可能出现字符集里的单个字符 •括号()可表示多个字符,还有分组功能 •大括号{}表示次数 •转义字符“\” •一般正则表达式是由通配符和固定字符组成 •^”符号称为“否”符号 •\d \D \w \W \s \S等快捷符号 ...原创 2011-02-28 13:40:33 · 174 阅读 · 0 评论 -
Java内存管理的9个小技巧
1、别用new Boolean()。 在很多场景中Boolean类型是必须的,比如JDBC中boolean类型的set与get都是通过Boolean封装传递的,大部分ORM也是用Boolean来封装boolean类型的,比如: 以下是引用片段: ps.setBoolean("isClosed",new Boolean(true)); ps.setBoolean("isClosed...原创 2011-03-02 22:55:03 · 72 阅读 · 0 评论 -
Java关键字new和newInstance的区别方法
在初始化一个类,生成一个实例的时候,newInstance()方法和new关键字除了一个是方法,一个是关键字外,最主要有什么区别?它们的区别在于创建对象的方式不一样,前者是使用类加载机制,后者是创建一个新类。那么为什么会有两种创建对象方式?这主要考虑到软件的可伸缩、可扩展和可重用等软件设计思想。 Java中工厂模式经常使用newInstance()方法来创建对象,因...原创 2011-03-15 15:07:37 · 75 阅读 · 0 评论 -
Java反射机制学习笔记
一. 反射机制描述 Java的反射机制允许程序在运行时透过反射API取得任何一个已知名称的class的内部信息,主要包括属性名,属性名的修饰符,方法名,方法返回值,方法修饰符等信息。 二. Java类反射中的主要方法 Constructor getConstructor(Class[] params) -- 获得使用特殊的参数类型的公共构造函数, ...原创 2011-03-15 16:57:55 · 68 阅读 · 0 评论 -
JNI javah 未找到 javadoc: 错误 - 找不到类
在编译生成 .class 文件后,进入该文件目录 ,执行类似如下命令: wen@ubuntu:~/workspace/TestCanShu/bin/com/time$ javah -classpath /home/wen/workspace/TestCanShu/bin【包名:如wen@ubuntu:~/workspace/TestCanShu/bin/com/time$ javah -...原创 2011-03-30 12:18:31 · 144 阅读 · 0 评论 -
java 集合
这里说的集合指的是小写的collection,集合有4种基本形式,其中前三种的父接口是Collection。 List 关注事物的索引列表 Set 关注事物的唯一性 Queue 关注事物被处理时的顺序 Map 关注事物的映射和键值的唯一性 一、Collection 接口 Collection接口是 Set 、List 和 Queue 接口的父接口,提供了多数集合常用的方法声明,...原创 2011-04-11 11:47:43 · 63 阅读 · 0 评论 -
java传值or传引用 一
第一种说法 1. 简单类型是按值传递的 Java 方法的参数是简单类型的时候,是按值传递的 (pass by value)。这一点我们可以通过一个简单的例子来说明: /* 例 1 */ /** @(#) Test.java * @author fancy */ public class Test { public static void test(boolean...原创 2011-02-14 16:25:21 · 60 阅读 · 0 评论 -
java线程中的interrupt,isInterrupt,interrupted方法
在java的线程Thread类中有三个方法,比较容易混淆,在这里解释一下(1)interrupt:置线程的中断状态(2)isInterrupt:线程是否中断(3)interrupted:返回线程的上次的中断状态,并清除中断状态举个例子: class MyThread extends Thread { ...... ...... public voi...原创 2011-02-11 10:23:39 · 223 阅读 · 0 评论 -
进程和线程的区别
通俗一点说,进程就是程序的一次执行,而线程可以理解为进程中的执行的一段程序片段。 用一点文词说就是,每个进程都有独立的代码和数据空间(进程上下文);而线程可以看成是轻量级的进程。一般来讲(不使用特殊技术),同一进程所产生的线程共享同一块内存空间。 同一进程中的两段代码是不可能同时执行的,除非引入线程。 线程是属于进程的,当进程退出时该进程所产生的线程都会被强...原创 2011-02-11 09:51:41 · 67 阅读 · 0 评论 -
java 经典排序算法
1、冒泡排序 Bubble Sort 最简单的排序方法是冒泡排序方法。这种方法的基本思想是,将待排序的元素看作是竖着排列的“气泡”,较小的元素比较轻,从而要往上浮。在冒泡排序算法中我们要对这个“气泡”序列处理若干遍。所谓一遍处理,就是自底向上检查一遍这个序列,并时刻注意两个相邻的元素的顺序是否正确。如果发现两个相邻元素的顺序不对,即“轻”的元素在下面,就交换它们的位置。显然,处理一遍之后,...原创 2011-05-18 14:43:04 · 88 阅读 · 0 评论 -
Eclipse中附上/载入Java(JDK) 源代码
在Eclipse中,大家都习惯按F3键方便地查看类、方法和变量的声明和定义的源代码。但是有时候在查看一些在JDK库中声明/定义的类、方法和变量的源代码时,Eclipse给你打开的却是相应的.class文件(bytecode),这是因为Eclipse还没有把相应的JDK库源文件载入/关联。 这个时候你可以点击Eclipse打开.class文件时出现的那个“Attach Source...原创 2011-05-18 15:04:07 · 98 阅读 · 0 评论 -
Java 判断文件的编码
首先,不同编码的文本,是根据文本的前两个字节来定义其编码格式的。定义如下: ANSI: 无格式定义; Unicode: 前两个字节为FFFE; Unicode big endian: 前两字节为FEFF; UTF-8: 前两字节为EFBB; 知道了各种编码格式的区别,写代码就容易了. public s...原创 2011-05-23 18:28:11 · 104 阅读 · 0 评论 -
java中使用队列:java.util.Queue
在java5中新增加了java.util.Queue接口,用以支持队列的常见操作。该接口扩展了java.util.Collection接口。 Queue使用时要尽量避免Collection的add()和remove()方法,而是要使用offer()来加入元素,使用poll()来获取并移出元素。它们的优点是通过返回值可以判断成功与否,add()和remove()方法在失败的时候会抛出异常。 ...原创 2011-01-14 16:46:40 · 241 阅读 · 0 评论 -
HashMap和Hashtable,list、set和map 的区别
HashMap和Hashtable 区别: 两句话总结: HashMap => 不同步、空键值、效率高; Hashtable => 同步、非空键值、效率略低 list、set和map 的区别 List按对象进入的顺序保存对象,不做排序或编辑操作。Set对 每个对象只接受一次,并使用自己内部的排序方法(通常,你只关心某个元素是否属于Set,而不关心它的顺...原创 2011-01-25 16:56:50 · 341 阅读 · 0 评论 -
Java中集合容器类List和Set的用法
List(interface):次序是List最重要的特点;它确保维护元素特定的顺序。List为Collection添加了许多方法,使得能够向List中间插入与移除元素;Set(interface):存入Set的每个元素必须是唯一的,因为Set不保存重复元素。加入Set的Object必须定义equals()方法以确保对象的唯一性。Set与Collection有完全一样的接口。Set接口不保证维护...原创 2011-01-25 17:35:32 · 75 阅读 · 0 评论 -
关于java的集合类,以及HashMap中Set的用法!
关于java的集合类,以及HashMap中Set的用法! package com.tiantian;import java.util.*;public class JAVAContainer { public static void main(String[] args) throws Exception { // ...原创 2011-01-25 17:37:40 · 74 阅读 · 0 评论 -
java 异常总汇
1. java.lang.nullpointerexception 这个异常大家肯定都经常遇到,异常的解释是"程序遇上了空指针",简单地说就是调用了未经初始化的对象或者是不存在的对象,这个错误经常出现在创建图片,调用数组这些操作中,比如图片未经初始化,或者图片创建时的路径错误等等。对数组操作中出现空指针,很多情况下是一些刚开始学习编程的朋友常犯的错误,即把数组的初始化和数组元素的初始化混淆起来...原创 2011-01-26 16:52:37 · 64 阅读 · 0 评论 -
Java线程之守护线程(Daemon)
Java有两种Thread:“守护线程Daemon”与“用户线程User”。 我们之前看到的例子都是用户,守护线程是一种“在后台提供通用性支持”的线程,它并不属于程序本体。 从字面上我们很容易将守护线程理解成是由虚拟机(virtual machine)在内部创建的,而用户线程则是自己所创建的。事实并不是这样,任何线程都可以是“守护线程Daemon”或“用户线程User”。他们在几乎每个方面...原创 2011-02-06 12:59:53 · 80 阅读 · 0 评论 -
java Future 接口介绍
在Java中,如果需要设定代码执行的最长时间,即超时,可以用Java线程池ExecutorService类配合Future接口来实现。 Future接口是Java标准API的一部分,在java.util.concurrent包中。Future接口是Java线程Future模式的实现,可以来进行异步计算。 Future模式可以这样来描述:我有一个任务,提交给了Future,Future替我完成这...原创 2011-11-23 15:47:26 · 126 阅读 · 0 评论