Java SE
feihong247
这个作者很懒,什么都没留下…
展开
-
java.io.tmpdir在哪里?
操作系统不同 这个系统属性所表示的目录也不同On Windows: java.io.tmpdir:[C:\DOCUME~1\joshua\LOCALS~1\Temp\]On Solaris: java.io.tmpdir:[/var/tmp/]On Linux: java.io.tmpdir: [/tmp]On Mac OS X: java.io.tmpdir:转载 2012-07-16 08:33:16 · 26054 阅读 · 2 评论 -
从开关灯到位运算
问题: 大厅里有64盏灯,每盏灯都编了号码,分别为1-64。每盏灯都由一个开关来控制。(开关按一下,灯亮,再按一下灯灭。开关的编号与被控制的灯相同。)开始时,灯是全灭的。现在按照以下规则按动开关。第一次,将所有的灯点亮。第二次,将所有2的倍数的开关按一下。第三次,将所有3的倍数的开关按一下。以此类推。第N次,将所有N的倍数的开关按一下。问第N次(N小于等于64)转载 2012-08-12 18:32:59 · 1334 阅读 · 0 评论 -
Java自带的性能监测工具用法简介——jstack、jconsole、jinfo、jmap、jdb、jsta、jvisualvm
JDK内置工具使用一、javah命令(C Header and Stub File Generator)二、jps命令(Java Virtual Machine Process Status Tool)三、jstack命令(Java Stack Trace)四、jstat命令(Java Virtual Machine Statistics Monitoring To转载 2012-08-16 16:46:28 · 56130 阅读 · 0 评论 -
java.util.ResourceBundle使用详解
一、认识国际化资源文件 这个类提供软件国际化的捷径。通过此类,可以使您所编写的程序可以: 轻松地本地化或翻译成不同的语言 一次处理多个语言环境 以后可以轻松地进行修改,支持更多的语言环境 说的简单点,这个类的作用就是读取资源属性文件(properties),然后根据.properties文件的名转载 2012-08-16 17:29:55 · 868 阅读 · 0 评论 -
java与javac版本不一致问题
如果安装多个版本的jdk的话,比如:jdk1.5.0_09、jdk1.5.0_17和jdk1.6.0_12,会发现java -version和javac -version的结果不一致。尽管在环境变量中设置了java_home和path及classpath,如下:C:\Users\can_do>set pathC:\Java\jdk1.5.0_17\bin;PATHEXT=.COM;原创 2012-08-17 19:25:33 · 18805 阅读 · 4 评论 -
单例模式讨论篇:单例模式与垃圾回收
Jvm的垃圾回收机制到底会不会回收掉长时间不用的单例模式对象,这的确是一个比较有争议性的问题。将这一部分内容单独成篇的目的也是为了与广大博友广泛的讨论一下这个问题。为了能让更多的人看到这篇文章,请各位博友看完文章之后,点一下“顶”,让本篇文章排名尽量的靠前。笔者在此谢过。讨论命题:当一个单例的对象长久不用时,会不会被jvm的垃圾收集机制回收。 首先说一下为什么会产生这转载 2012-08-25 00:17:27 · 586 阅读 · 0 评论 -
java 中的Exception RuntimeException 区别
在java的异常类体系中,Error和RuntimeException是非检查型异常,其他的都是检查型异常。所有方法都可以在不声明throws的情况下抛出RuntimeException及其子类 不可以在不声明的情况下抛出非RuntimeException简单的说,非RuntimeException要自己写catch块处理掉。1.RuntimeExcep原创 2012-08-16 15:39:16 · 14162 阅读 · 0 评论 -
用java实现的快速排序
package com.phj.math;public class QuickSort {public static void main(String[] args) {Quick qs = new Quick();int data[] = { 44, 22, 2, 32, 54, 22, 88, 77, 99, 11 };qs.data = data;qs原创 2012-09-01 17:51:47 · 498 阅读 · 0 评论 -
详解java类的生命周期
引言 最近在阅读笔者的文章时,对java类的生命周期问题有一些疑惑,笔者打开百度搜了一下相关的问题,看到网上的资料很少有把这个问题讲明白的,主要是因为目前国内java方面的教材大多只是告诉你“怎样做”,但至于“为什么这样做”却不多说,所以造成在基础和原理方面的知识比较匮乏。 首先来了解一下jvm(java虚拟机)中的几个比较重要的内存区域,这几个区域在java类转载 2012-09-03 09:29:55 · 550 阅读 · 0 评论 -
Java JDK 为什么要封装类?
1.基本类型只能按值传递,而每个基本类型对应的封装类是按引用传递的。2.从性能上说java中的基本类型是在堆栈上创建的,而所有的对象类型都是在堆上创建的,(对象的引用在堆栈上创建)。比如Integer i=new Integer(10); 其中new Integer()是在堆上创建的,而他的引用Integer i是在堆栈上。封装类的出现,是为了更方便的使用一些基本类型不具备的方法,比如va转载 2012-08-16 15:03:34 · 1707 阅读 · 0 评论 -
判断是否是回文
package com.phj.math;import java.util.Scanner;public class HuiWenTest {public static void main(String[] args) {// TODO Auto-generated method stubString str = "hello World!!dlroW olleh"原创 2012-09-01 18:23:57 · 595 阅读 · 0 评论 -
详解java类的生命周期
引言 最近有位细心的朋友在阅读笔者的文章时,对java类的生命周期问题有一些疑惑,笔者打开百度搜了一下相关的问题,看到网上的资料很少有把这个问题讲明白的,主要是因为目前国内java方面的教材大多只是告诉你“怎样做”,但至于“为什么这样做”却不多说,所以造成大家在基础和原理方面的知识比较匮乏,所以笔者今天就斗胆来讲一下这个问题,权当抛砖引玉,希望对在这个问题上有疑惑的朋友有所帮转载 2012-08-24 23:37:44 · 601 阅读 · 0 评论 -
Java中的位运算
Java的位运算(bitwise operators )直接对整数类型的位进行操作,这些整数类型包括long、int、short、char 和 byte,位运算符具体如下表:运算符说明左移位,在低位处补0>> 右移位,若为正数则高位补0,若为负数则高位补1转载 2012-08-25 21:27:16 · 577 阅读 · 0 评论 -
内存详解
级别: 中级Andrew Hall, 软件工程师, IBM2009 年 5 月 11 日Java™ 堆耗尽并不是造成 java.lang.OutOfMemoryError 的惟一原因。如果本机内存 耗尽,则会发生普通调试技巧无法解决的 OutOfMemoryError。本文将讨论本机内存的概念,Java 运行时如何使用它,它被耗尽时会出现什么情况,以及如何在 Windows转载 2012-08-12 18:05:25 · 1272 阅读 · 0 评论 -
java生成PDF===iText
一、前言 在企业的信息系统中,报表处理一直占比较重要的作用,本文将介绍一种生成PDF报表的Java组件--iText。通过在服务器端使用Jsp或JavaBean生成PDF报表,客户端采用超级连接显示或下载得到生成的报表,这样就很好的解决了B/S系统的报表处理问题。 二、iText简介 iText是著名的开放源码的站点sourceforge一个项目,是用于生成PDF文档原创 2012-08-12 12:19:41 · 4292 阅读 · 0 评论 -
ThreadLocal和线程同步机制的比较
早在JDK 1.2的版本中就提供java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以很简洁地编写出优美的多线程程序。ThreadLocal很容易让人望文生义,想当然地认为是一个“本地线程”。其实,ThreadLocal并不是一个Thread,而是Thread的局部变量,也许把它命名为ThreadLocalVari转载 2012-07-26 21:22:13 · 762 阅读 · 0 评论 -
图形验证码生成工具类
生成验证码效果 ValidateCode.java 验证码生成类Java代码 package cn.dsna.util.images; import java.awt.Color; import java.awt.Font; import java.awt.Graphics2D; imp转载 2012-08-05 14:08:25 · 2360 阅读 · 4 评论 -
Ubuntu 11.04 下安装配置 JDK 7
第一步:下载jdk-7-linux-i586.tar.gz[plain] view plaincopywget -c http://download.oracle.com/otn-pub/java/jdk/7/jdk-7-linux-i586.tar.gz (注:如果下载不下来,建议使用迅雷下载,然后拷贝到Linux系统上。)原创 2012-07-21 16:50:18 · 2830 阅读 · 1 评论 -
Java 常见乱码原理 及 解决方案
String odsStr = "测试";String newStr = new String(odsStr.getBytes("GBK"), "ISO8859_1"); 首先需要说明一下我们经常用到的字符集,有ISO8859-1,GB2312,GBK,GB18030,UNICODE。这里ISO8859-1字符集只 包含英文字符,使用一个字节存储。GB2312、GBK和GB18转载 2012-08-07 22:58:44 · 9683 阅读 · 0 评论 -
Java读取文件方法大全
一、java读写txt文件总结11、按字节读取文件内容2、按字符读取文件内容3、按行读取文件内容4、随机读取文件内容 [java] view plaincopypublic class ReadFromFile { /** * 以字节为单位读取文件,常用于读二转载 2012-08-07 17:32:22 · 778 阅读 · 0 评论 -
System.out.write()和System.out.println() 的 区别
eg:class StreamTest { public static void main(String[] args) throws Exception { int data; while((data=System.in.read())!=-1) {转载 2012-08-07 18:13:58 · 2886 阅读 · 0 评论 -
Exception in thread "main" com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too lo
今天在测试往数据库存图像、读图像以及更新图像时,前面存和读都没问题,但是后面用一张新图new.jpg更新时就出现上面的异常,图像字段为img,BLOB类型。 Data truncation即字段过长,放不下。网上找了半天都是关于编码的。即中文字符一个字符占据的空间是一个英文字符的两倍,因此而导致放不下。但是我这个是图像的存取,存取的是Binary Stream(字节流),所以我怀疑可能转载 2012-07-24 23:53:46 · 3271 阅读 · 0 评论 -
java+mysql存储图片或其它大对象到数据库时的两个问题
1、当图片文件超过1M的时候,出错如下: JDBC错误:Packet for query is too large (1298910 > 1048576). You can change this value on the server by setting the max_allowed_packet' variable. 这是因为mysql默认一个包最大1M,需要修改my.in转载 2012-07-24 23:55:06 · 1094 阅读 · 0 评论 -
监控采集数据,整点定时器原理
Java代码 package test; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.Timer; import java.util.TimerTask; public转载 2012-08-09 16:46:49 · 1320 阅读 · 0 评论 -
java中的BitSet学习
(1)BitSet类 大小可动态改变, 取值为true或false的位集合。用于表示一组布尔标志。 此类实现了一个按需增长的位向量。位 set 的每个组件都有一个 boolean 值。用非负的整数将 BitSet 的位编入索引。可以对每个编入索引的位进行测试、设置或者清除。通过逻辑与、逻辑或和逻辑异或操作,可以使用一个 BitSet 修改另一个 BitSet 的内容。转载 2012-08-09 21:47:16 · 94 阅读 · 0 评论 -
java中的BitSet学习
(1)BitSet类 大小可动态改变, 取值为true或false的位集合。用于表示一组布尔标志。 此类实现了一个按需增长的位向量。位 set 的每个组件都有一个 boolean 值。用非负的整数将 BitSet 的位编入索引。可以对每个编入索引的位进行测试、设置或者清除。通过逻辑与、逻辑或和逻辑异或操作,可以使用一个 BitSet 修改另一个 BitSet 的内容。转载 2012-08-09 21:50:36 · 22949 阅读 · 4 评论 -
private static final long serialVersionUID = ??? 的作用
private static final long serialVersionUID = ???此变量有什么用途?一般在什么情况下加入这样的变量?它的值有什么要求?你可以这样理解: serialVersionUID 用来表明类的不同版本间的兼容性。如果你修改了此类, 要修改此值。否则以前用老版本的类序列化的类恢复时会出错。为了在反序列化时,确保类版本的兼容性转载 2012-07-25 22:52:34 · 14997 阅读 · 2 评论 -
使用java.util.BitSet 求素数的算法
找出100以内的素数素数定义:质数,又称素数,指在一个大于1的自然数中,除了1和此整数自身外,无法被其他自然数整除的数(也可定义为只有1和本身两个因数的数)。使用java.util.BitSet求素数的算法:例如要找100以内的素数,1,声明一个BitSet bs,第0,1位置false;其余位是true。2,从2开始遍历bs,如果是true就进行内循环遍历。3,内转载 2012-08-09 21:44:19 · 1920 阅读 · 0 评论 -
java 关于文件的读写操作
今天在此做一个总结,关于文件的读写操作:package com.phj.file.read;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;impo原创 2012-10-24 21:17:14 · 1702 阅读 · 0 评论