
java基础
nannan408
这个作者很懒,什么都没留下…
展开
-
log4j日志级别
OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL,7个后面兼容前面2010-03-12 18:01:49 · 72 阅读 · 0 评论 -
线程wait和notify的针对每个线程,实现·随时暂停和唤醒
多线程的利用在进行进程调度中具有重要的意义,是java的一个比较有意义的功能,它实现了时间和空间上的合理分配。以下例子实现了两个线程的随时单独暂停和继续,多个线程只要往上加就可以了,代码如下:public class TestThread implements Runnable { public int state1 = 0; public int state = 0;...2010-11-25 12:55:01 · 179 阅读 · 0 评论 -
StringBuffer和Double.ValueOf一起用导致的错误
StringBuffer虽然是同步的,然而如果不注意它的用法,则会出现一些问题。比如StringBuffer stringBuffer=new StringBuffer("")stringBuffer.append(1).append(2);Double dd=Double.ValueOf(stringBuffer.toString);这三句咋一看是没什么问题的,但是一放...2010-12-04 16:36:21 · 251 阅读 · 0 评论 -
java如何打包zip等压缩文件
直接调用jdk的类可以了。 package javaio;import java.io.*;import java.util.zip.*;public class ZipCompress{ public static void main(String args[]){ try{ ZipCompress zip=new ZipCompress(); FileOutputStream...原创 2012-01-03 19:35:57 · 157 阅读 · 0 评论 -
如何让页面一打开就远程自动下载文件
在页面或者后台response,直接用文件头加你的文件,文件流写出。比如在页面这样写,当然,最好在后台写:<%@ page language="java" import="java.util.*" pageEncoding="gbk"%><%String path = request.getContextPath();String basePath = request.g...原创 2012-01-03 19:52:40 · 418 阅读 · 0 评论 -
为什么new FileOutPutStream和new File创建不了文件?java.io.FileNotFoundException 系统找不到指定的路径 ...
FileOutPutStream在c盘等一级目录下是可以创建文件的,如: new FileOutputStream("c:\\kk.txt");但是在c\\test等就创建不了,File也是一样,为什么呢?直接去看jdk,大概是为了防止随意创建文件对磁盘攻击吧。 因此“java.io.FileNotFoundException 系统找不到指定的路径"的问题会经常出现在我们的编...2012-01-04 23:27:45 · 2190 阅读 · 0 评论 -
java用Ant.jar的zip写文件解决文件名中文问题(转)
package ejbModule.util;import java.io.BufferedOutputStream;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java...2012-01-09 13:51:45 · 177 阅读 · 0 评论 -
Myeclipse6.5不能启动和运行缓慢、运行错误的一些问题总结
Myeclipse6.5对1.6支持部好,最好把eclipse.ini的jdk等级调成1.5.运行时候的参数设置不对,可能会引起运行缓慢或者频繁报错,影响编程效率。下面是经过验证比较稳定的eclipse.ini配置。-showsplashorg.eclipse.platform-vmargs-Dosgi.requiredJavaVersion=1.5-Xms1024m...2012-03-15 11:32:00 · 116 阅读 · 0 评论 -
Comparator和Comparable在排序中的应用
Comparator可以实现数组排序,与原类没有很大耦合。comparable也可实现数组排序,原类里面要自定义逻辑,耦合大一点。总体来说Comparator可能好一点。具体例子可以参照:http://www.blogjava.net/fastunit/archive/2008/04/08/191533.html...原创 2012-11-06 10:53:36 · 113 阅读 · 0 评论 -
Myeclipse copy的工程无法发布的问题-Exploded location overlaps an existing deployment
1.前言。 直接copy,直接在Myeclipse下面配置的tomcat跑会和原来的工程发布目录有冲突。解决办法为修改发布的默认目录。2. 操作方法。右键->properties->MyEclipse->Web->Web Context-root重命名一下,比如我这里是和当前的工程名一致。确定,ok....2013-06-09 09:16:00 · 183 阅读 · 0 评论 -
java如何最小值int变成最大值?可作为字符串排序使用
[b]1.前言。[/b] 如题。[b]2.例子,可以直接运行。[/b][code="java"]public class Test { public static void main(String[] args) { System.out.println(minToMaxMaxToMin(1000000)); System.out.println(minT...2013-11-30 00:29:09 · 228 阅读 · 0 评论 -
eclipse指定jvm路径,在没有配置jvm环境变量的时候可直接打开。
1.前言。 如题。2.代码。这个写在eclipse.ini的第一行[code="java"]-vmC:\Program Files\Java\jre6\bin\javaw[/code]2014-01-10 15:37:35 · 673 阅读 · 0 评论 -
System.arraycopy把多个byte数组合并为一个byte数组,节省空间。
1.前言。 如题。2.代码。 [code="java"] public class Tset { public static void main(String[] args) {// System.out.println(Long.toBinaryString(14000l));// System.out.println(new Timestamp()....2014-05-22 14:34:32 · 747 阅读 · 0 评论 -
jdk5后并发线程优雅的创建方式ExecutorService+Callable比thread和runable两种方式简单和实用,可以替代后两者。...
1.前言。 如题。ExecutorService可用在并发创建rar包,并发多线程执行同一任务中2.例子。[code="java"]public void testCall() throws Exception{ //声明一个类,可以被调用,类似于线程,但它可以拥有返回值 class MyCall implements Callable{...原创 2014-01-23 16:48:53 · 159 阅读 · 0 评论 -
java时间转换总结
1.如题。 后续将时间问题都放本篇。2.java时间处理 (1)java如何精确到毫秒?[code="java"]java.text.SimpleDateFormat formatter=new java.text.SimpleDateFormat("yyyyMMddHHmmss.SSS");//时间格式想精确到多少位后面加S就行了[/code] (2)如...2014-07-01 09:35:37 · 110 阅读 · 0 评论 -
java的addall和system.arraycopy的效率对比
1.前言。 如题。2.对比。 addall底层调用的是system.arraycopy,两者应该是相差无几的。2014-07-11 18:22:49 · 355 阅读 · 0 评论 -
Unicode和汉字的相互转化
import java.util.regex.Matcher;import java.util.regex.Pattern;public class Unicode{ public Unicode() { } public static void main(String[] args) { String str = "哈哈"; String str1 = S...2010-11-08 22:23:38 · 125 阅读 · 0 评论 -
两个float比较大小的问题
两个float,单纯比较大小,比如float a=3.3ffloat b=4,5f;if(b>a){ System.out.println("ok");}这样是成功的,但是两个float 相乘除,特别是在entrySet遍历的时候,两个float相乘除,就会出问题,具体问题也不是很清楚了,大概是是相除的时候转换为double型了吧。但是单独测试两个float相乘除没问题...2010-11-08 00:56:12 · 1256 阅读 · 0 评论 -
myclipse的export失败的一个问题
在用eclipse将工程导出为jar或者可执行程序的时候,经常会遇到导出失败的问题。这个原因一般有两个个(附解决办法): 1.误删了bin下的class,导致找不到class。解决办法有两个:(1)点击Project--->Clean---->Clean Project Selected below,选择你的工程---->ok.(2)直接...2011-09-25 12:48:41 · 117 阅读 · 0 评论 -
如何查看和结束进程
linenum CMD 查看进程与结束进程 By Shawl.qiu 问: 为什么要用结束命令? 图形界面结束不是更好. 答: 图形界面需要 点点点, 完成结束流程 命令方式可用一条命令结束某程序的所有进程. 例(关闭所有 IE 窗口): cmd: taskkill /im iexplore.exe /t /f 1.1 查看进程 cmd: taskl...2010-04-30 11:22:26 · 116 阅读 · 0 评论 -
java多线程详解
一:理解多线程多线程是这样一种机制,它允许在程序中并发执行多个指令流,每个指令流都称为一个线程,彼此间互相独立。 线程又称为轻量级进程,它和进程一样拥有独立的执行控制,由操作系统负责调度,区别在于线程没有独立的存储空间,而是和所属进程中的其它线程共享一个存储空间,这使得线程间的通信远较进程简单。多个线程的执行是并发的,也就是在逻辑上“同时”,而不管是否是物理上的“同时”。如果系统只...原创 2010-01-31 21:48:56 · 74 阅读 · 0 评论 -
Java 单例的进程阻塞的一种方法
定义一个全局锁,在服务处理中一直阻塞直到锁释放。原创 2010-01-31 22:06:13 · 252 阅读 · 0 评论 -
重构----改善既有代码的设计(引用)
1. 为什么要重构书里,以及网上,都列举了很多理由,但是从我实际角度出发呢,是因为已有的代码写的非常复杂,导致但我们需要增加新功能时,非常麻烦,往往因为结构很复杂,会有不知道怎么下手的感觉。所以如果能够把代码组织得结构良好,会大大方便我们的工作。另外,结构复杂的代码中隐藏了很多bug,现在的状况是往往要等到用户报告bug我们再赶紧修正,这对哪一方都很不好,特别是从我的角度来说,显得很被动。希望...原创 2010-02-19 14:33:28 · 98 阅读 · 0 评论 -
阻塞队列和生产者-消费者模式 (引用)
自Java5以来提供的BlockingQueue是一种特殊的队列, 它 是支持两个附加操作的 Queue,这两个操作是:检索元素时等待队列变为非空,以及存储元素时等待空间变得可用。以JDK中的例子略加改写如下1 import java.util.concurrent.ArrayBlockingQueue;2 import java.util.concurrent.Blockin...原创 2010-02-19 18:37:12 · 100 阅读 · 0 评论 -
java非阻塞算法(重要)
Java™ 5.0 第一次让使用 Java 语言开发非阻塞算法成为可能,java.util.concurrent 包充分地利用了这个功能。非阻塞算法属于并发算法,它们可以安全地派生它们的线程,不通过锁定派生,而是通过低级的原子性的硬件原生形式 —— 例如比较和交换。非阻塞算法的设计与实现极为困难,但是它们能够提供更好的吞吐率,对生存问题(例如死锁和优先级反转)也能提供更好的防御。在本文...原创 2010-02-19 18:47:43 · 97 阅读 · 0 评论 -
java静态变量使用场景分析
静态变量 在程序运行期间,类中的静态变量其内存空间对所有该类的实例是共享的,因此在某些时候,为了节省内存空间开销,共享资源, 我们可以将类中的变量声明为静态变量。 但是因为静态变量生命周期太长,并且不易被系统回收,所有如果使用不合理,就会适得其反,从而造成大量内存的浪费。 因此建议在全部符合下列条件的情况下才使用静态变量: (1)变量所包含的对象体积较大,占用内存较多 (2...2010-02-24 21:00:22 · 328 阅读 · 0 评论 -
2009年3月java试题及答案
2009年3月全国计算机等级考试Java二级笔试试卷2010-01-09 21:23一、选择题(每小题2分,共70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应的位置上,答在试卷上不得分。(1)下列叙述中正确的是A)栈是“先进先出”的线性表B)队列是“先进后出”的线性表C)循环队列是非线性结构D)有序线性表既可以...原创 2010-05-20 23:54:31 · 270 阅读 · 0 评论 -
2009年9月java试题及答案
2009年9月全国计算机等级考试二级笔试试卷 Java语言程序设计 (考试时间90分钟,满分100分) 一、选择题(每小题2分,共70分) (1)下列数据结构中,属于非线性结构的是 A)循环队列 B)带链队列 C)二叉树 D)带链栈 (2)下列数据结构中,能够按照“先进后出”原则存取数据的是 A)...原创 2010-05-20 23:55:38 · 243 阅读 · 0 评论 -
jdk1.5后,如何用enum使得switch可用对String进行操作
switch不能判断String,在jdk1.7已经入了支持,但是jdk1.6以下还不行,如果一定要在jdk1.6下支持String,可以通过enum实现。代码如下:[code="java"]public class test { public static void main(String[] args) { boolean a = true; aa cc = aa.valueO...原创 2010-05-29 13:53:14 · 255 阅读 · 0 评论 -
Map和Properties的遍历例子
prperties的遍历有点麻烦,map的遍历有entrySet和迭代,foreach等,但这些都是有迹可循的。以下是个完整的方法,包含两者的遍历,已经经过本人测试。当然实现方法可以有很多,我的观点是能用,好用,则不拘一格。 public static void putHashCCde(Properties prop) { Enumeration en = prop.propertyN...2010-12-19 23:18:17 · 146 阅读 · 0 评论 -
javax.swing.filechooser.FileNameExtensionFilter无法导入相应的类
此问题是因为jdk1.5无这个类,但是1.6以后是有的,所以只需要把eclipse的编译器改为jdk1.6的就可以了。原创 2010-10-12 06:30:45 · 508 阅读 · 0 评论 -
Logger4j配置
1.把log4j.jar(一般是log4j-1.2.11这种名字的类型)导入工程.2.在src下面新建log4j.properties.写入下面内容//全局默认的日志级别 log4j.rootLogger=INFO,stdout,rolling //自己要定义的日志 log4j.logger.com.woogo.golf=ERROR, A1 //配置App...原创 2010-11-03 21:32:36 · 117 阅读 · 0 评论 -
Java如何定义三维数组
java 定义三维数组,有很多方法,这里举两种:1.直接定义法,直接定义三维 int a[][][] = new int[1][1][1];2.二维转三维,先定义若干二维,再直接填充进三维中. public final static int[][] a0 = { { 0, 1, 2}, {3,4,5}, {4,6,7} }; public final static int[][] ...2011-09-10 20:21:00 · 5341 阅读 · 0 评论 -
一个Myeclipse视图跑出来,脱离窗口的问题
也许经常使用Myeclipse的程序员会发现,视图窗口有时候会脱离了Myeclipse主窗口,造成分离的状况,即使关掉后,再打开,仍然是同样的情况,这会造成非常的不方便。 解决这个问题可以有两种方法: 一、再新建个workspace,原来的workspace不要了。 二、直接将视图重置,视图重置选项在哪里呢?首先,直接在Myeclipse主窗口的最上层选项中,找到"Win...2011-02-13 17:16:10 · 144 阅读 · 0 评论 -
java 序列化和反序列化(针对字符串的例子)
1.前言. 摘自:http://blog.youkuaiyun.com/linminqin/article/details/76542762.例子.[code="java"]package lmiky.test.obj;import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;impor...原创 2014-11-04 14:09:20 · 495 阅读 · 0 评论