
Java
文章平均质量分 78
rainbow702
写些什么呢。。。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
新建对象的疑问
对于Java中新建一个对象,大家可能再熟悉不过了,如:public class Person { private String name; public void setName(String name) { this.name = name; } public String getName() { return name; } public原创 2016-01-14 17:32:37 · 475 阅读 · 0 评论 -
利用InetAddress类确定特殊IP地址
IP地址分为普通地址和特殊地址。在前面的文章中所使用的大多数都是普通的IP地址,在本文中将介绍如何利用InetAddress类提供的十个方法来确定一个IP地址是否是一个特殊的IP地址。 一、isAnyLocalAddress方法 当IP地址是通配符地址时返回true,否则返回false.这个通配符地址对于拥有多个网络接口(如两块网卡)的计算机非常拥有。使用通配符地址可以允许在...原创 2014-05-14 16:45:52 · 916 阅读 · 0 评论 -
BigDecimal 中divide 的解释
从中文版的API文档找到的内容,但里面的解释不详细,望高手作答:方法1:pubilc BigDecimal divide(BigDecimal divisor) API中的解释: 返回一个 BigDecimal,其值为 (this / divisor),其首选标度为 (this.scale() - divisor.scale());如果无法表示准确的商值(因为它有无穷的十进制扩展),则抛出 ...原创 2012-04-02 14:21:39 · 1345 阅读 · 0 评论 -
Java出现access denied java.net.SocketPermission解决方法
1. 执行java PerfectTime出现异常 java.security.AccessControlException: access denied (java.net.SocketPermission 127.0.0.1:2005 connect,resolve)无法解析和连接到127.0.0.1的2005端口上,原因是在PerfectTime中设置了安全管理器<System.se...原创 2012-01-21 13:13:31 · 1052 阅读 · 0 评论 -
DecimalFormat 中的 # 与 0 的区别(中文帮助文档中翻译可能是错误的)
想对数字进行格式化的时候,可能会使用到 java.text.DecimalFormat 类。中文帮助文档中,有如下符号 位置 本地化 含义 0 数字 是 阿拉伯数字 # 数字 是 阿拉伯数字,如果不存在则显示为 0 但是,new java.text.DecimalFormat(...原创 2012-01-08 13:21:48 · 316 阅读 · 0 评论 -
Java 内部类调用外部类方法的一个注意点
今天在写代码的时候,涉及到使用一个内部类去调用外部类方法的问题,总是得不到我想要的结果,后经过DEBUG,才发现哪里出现了问题。现写了一个简单的代码,来重现这个问题。 打印出来的结果为:a: 20a: 0a: 20 为什么是这么一个结果呢?我想,对第一个 20,大家应该没有任何意见吧。那么第二个为什么是 0 呢?我一开始一直以为打印出来的应该是 20,所以一直没想通,但看了...2011-08-10 13:39:08 · 874 阅读 · 0 评论 -
用 Java 实现断点续传 (HTTP)
在网上看J2EE的职位时,不仅需要了解SSH框架及数据库等基本知识,还有不少要求了解 FTP或者HTTP之类的协议。起初,我不知道到底是什么才叫了解FTP或者HTTP协议(现在也没怎么理解这句话)。偶尔有一次,听老大电话面试一个人,问到了对方了不了解HTTP协议,然后直接问了对方“断点续传”的原理是什么?我想,这就是对HTTP协议有了解的一个表现吧。今天突然想起来了“断点续传”,于是就找了一篇贴子...原创 2011-09-08 09:37:13 · 474 阅读 · 0 评论 -
SimpleDateFormat 的使用注意点
Bug: Call to method of static java.text.DateFormatPattern id: STCAL_INVOKE_ON_STATIC_DATE_FORMAT_INSTANCE, type: STCAL, category: MT_CORRECTNESS As the JavaDoc states, DateFormats are inherently uns...原创 2011-08-22 22:28:23 · 358 阅读 · 0 评论 -
通过 IDEA 去 Debug Jar包
代码打成Jar之后,要如何进行Debug呢? 下面以 IDEA 来例进行说明: 首先,以以下方式来启动 Jar包java -Xdebug -Xrunjdwp:transport=dt_socket,address=5005,server=y,suspend=y -jar test.jar启动之后,你会发现,有如下提示:Listening for transport dt_socket at原创 2017-03-20 16:09:16 · 24633 阅读 · 7 评论 -
Java获取本地IP (windos平台、linux平台)
import java.net.InetAddress;import java.net.NetworkInterface;import java.net.SocketException;import java.util.ArrayList;import java.util.Enumeration;import java.util.List;public final c...原创 2014-05-15 11:34:23 · 172 阅读 · 0 评论 -
linux jdk的 rpm 方式安装
在RHEL上,系统会自带一个JDK,今天要安装一个更高版本的JDK。本来是想让高版本的JDK与系统自带的JDK共存于RHEL上的,但是搞了好久,也没弄成功。后来只好将系统自带的JDK给卸载了,然后安装新的高版本的JDK。过程如下:// 查找已安装的 jdk rpm包rpm -qa|grep jdk 将查找到的每个jdk包,使用下面的命令依次删除// 'xxxxxxxx...原创 2014-06-13 15:28:28 · 182 阅读 · 0 评论 -
新建对象的疑问
对于Java中新建一个对象,大家可能再熟悉不过了,如:public class Person { private String name; public void setName(String name) { this.name = name; } public String getName() { return name; } publ...原创 2015-05-13 18:44:52 · 137 阅读 · 0 评论 -
接口的继承
Java中,extends 这个关键表示继承,我们一般使用它来实现某个抽象类,如: public abstract class Type1 { public abstract void test();}public class Type3 extends Type1{ @Override public void test() { }} 但其实...原创 2015-05-07 15:32:30 · 175 阅读 · 0 评论 -
一个类所实现的两个不同的接口中,有同名的方法,怎么知道实现的是哪个接口中的方法...
今天遇到一个问题,代码(后面各个版本的代码都是基于此代码进行变更的)如下: public interface Type1 { void f(); void f1(); void f11();} public interface Type2 { void f(); void f2(); void f22();} ...原创 2015-05-07 15:17:11 · 1325 阅读 · 0 评论 -
Junit测试含有‘启动新线程’这一操作的方法时瞬间结束的问题
之前写了一篇关于FutureTask的Blog: http://rainbow702.iteye.com/admin/blogs/2206301里面的源码如下(不包含之前写好的main方法): public class Preloader { private final FutureTask<Long> future = new FutureTask<Lon...原创 2015-04-26 20:37:06 · 268 阅读 · 0 评论 -
FutureTask的使用示例
今天看书,有关于 FutureTask 的介绍,感觉还蛮有意思的,可以用它来做一些比较花时间的事情。下面打个通俗的比方来说明一下它的用处:比如,早上一大早的去公交站台等公交,但那该死的公交20分钟才一班。如果一直死等公交,那么这20分钟无疑就被浪费了。我们可以利用这20分钟,去买个韭菜饼,再买一盒豆浆,然后一边吃一边等。这样就明显提高了时间的利用率。 下面给出一个段简单的代码来说明一...原创 2015-04-26 20:05:52 · 315 阅读 · 0 评论 -
Java 的数值是怎么存储的
今天来说说Java中,数值的二进制格式是怎么样的。 如果你能很快的写出下面五条System out 的结果,那么,你可以不用继续看本博客了,因为你看下去也是浪费时间。^_^ int min = Integer.MIN_VALUE;int min2 = Integer.MIN_VALUE - 1;int max = Integer.MAX_VALUE;int...原创 2015-03-19 21:36:44 · 227 阅读 · 0 评论 -
正则表达式,分组匹配示例
假设有如下几行文本:"xxx" : {"name" : "123"}"yyy" : {"name" : "456"}"zzz" : {"name" : "789"} 如果匹配出第1条和第3条,那么可以使用以下的正则表达式:"((xxx)|(zzz))".* 其中,最外层的括号是不能省原创 2013-09-22 11:16:15 · 355 阅读 · 0 评论 -
Java编码问题汇总
工作中经常遇到java编码问题,由于缺乏研究,总是无法给出确切的答案,这个周末在网上查了一些资料,在此做些汇总。问题一:在java中读取文件时应该采用什么编码?Java读取文件的方式总体可以分为两类:按字节读取和按字符读取。按字节读取就是采用InputStream.read()方法来读取字节,然后保存到一个byte[]数组中,最后经常用new String(byte[]);把字节数组...原创 2014-02-24 17:28:42 · 98 阅读 · 0 评论 -
通过 Java 去监测某个目录下的文件变动
最近处理了一个需求,大概是这样的:己方搭建好FTP服务器对方往该服务器的指定目录(假设叫 目录A)上传文件己方需要将对方上传好的文件解析并更新到数据库中己方对 目录A 只有 “读”的权限,即,不能对 目录A中的文件进行删除、重命名、移动等操作。对于这个需求,我一开始想出的 解决方案 是:开启一个线程,定期去读取 目录A 下的所有文件将每两次读取的文件列表进行对比,新出现的文件名对应的文原创 2017-03-18 15:29:38 · 8160 阅读 · 2 评论 -
Java文件下载相关设置
每当遇到文件下载时,总是想不起来需要给 Response 设置哪些 Header,这次干脆记录下来,方便以后查询:response.addHeader("Content-Disposition", "attachment;filename=" + fileName); response.setContentType("application/octet-stream");其中:fi原创 2017-02-25 15:20:19 · 2061 阅读 · 0 评论 -
Java获取本地IP (windos平台、linux平台)
import java.net.InetAddress;import java.net.NetworkInterface;import java.net.SocketException;import java.util.ArrayList;import java.util.Enumeration;import java.util.List;public final cl原创 2016-01-14 16:32:36 · 527 阅读 · 0 评论 -
linux jdk的 rpm 方式安装
在RHEL上,系统会自带一个JDK,今天要安装一个更高版本的JDK。本来是想让高版本的JDK与系统自带的JDK共存于RHEL上的,但是搞了好久,也没弄成功。后来只好将系统自带的JDK给卸载了,然后安装新的高版本的JDK。过程如下:// 查找已安装的 jdk rpm包rpm -qa|grep jdk 将查找到的每个jdk包,使用下面的命令依次删除// 'xxxxxxxx'原创 2016-01-14 16:38:01 · 348 阅读 · 0 评论 -
JDK环境变量设置
话说,用JAVA也四五年了,但是每次重新安装JDK后,环境变量的设置总是要去网上搜索,看看应该设置什么值到PATH 和 CLASSPATH中去。今天刚好又帮别人设置了环境变量,趁还记得,就在此列了一下,以后用得着就直接来BLOG里来看一下就OK了,不用四处找了。 JAVA_HOMEF:\xxxx\Java\1.7\jdkPATH%JAVA_HOME%\bin;%JAVA_H原创 2016-01-14 17:07:10 · 314 阅读 · 0 评论 -
Java 的数值是怎么存储的
今天来说说Java中,数值的二进制格式是怎么样的。 如果你能很快的写出下面五条System out 的结果,那么,你可以不用继续看本博客了,因为你看下去也是浪费时间。^_^ int min = Integer.MIN_VALUE;int min2 = Integer.MIN_VALUE - 1;int max = Integer.MAX_VALUE;int m原创 2016-01-14 17:15:20 · 371 阅读 · 0 评论 -
FutureTask的使用示例
今天看书,有关于 FutureTask 的介绍,感觉还蛮有意思的,可以用它来做一些比较花时间的事情。下面打个通俗的比方来说明一下它的用处:比如,早上一大早的去公交站台等公交,但那该死的公交20分钟才一班。如果一直死等公交,那么这20分钟无疑就被浪费了。我们可以利用这20分钟,去买个韭菜饼,再买一盒豆浆,然后一边吃一边等。这样就明显提高了时间的利用率。 下面给出一个段简单的代码来说明一下原创 2016-01-14 17:18:04 · 418 阅读 · 0 评论 -
Junit测试含有‘启动新线程’这一操作的方法时瞬间结束的问题
之前写了一篇关于FutureTask的Blog: http://rainbow702.iteye.com/admin/blogs/2206301里面的源码如下(不包含之前写好的main方法): public class Preloader { private final FutureTask future = new FutureTask(new Callable() {原创 2016-01-14 17:20:52 · 562 阅读 · 1 评论 -
一个类所实现的两个不同的接口中,有同名的方法,怎么知道实现的是哪个接口中的方法
今天遇到一个问题,代码(后面各个版本的代码都是基于此代码进行变更的)如下: public interface Type1 { void f(); void f1(); void f11();} public interface Type2 { void f(); void f2(); void f22();} pu原创 2016-01-14 17:27:09 · 5765 阅读 · 1 评论 -
接口的继承
Java中,extends 这个关键表示继承,我们一般使用它来实现某个抽象类,如: public abstract class Type1 { public abstract void test();}public class Type3 extends Type1{ @Override public void test() { }} 但其实,接原创 2016-01-14 17:29:53 · 358 阅读 · 0 评论 -
利用InetAddress类确定特殊IP地址
IP地址分为普通地址和特殊地址。在前面的文章中所使用的大多数都是普通的IP地址,在本文中将介绍如何利用InetAddress类提供的十个方法来确定一个IP地址是否是一个特殊的IP地址。 一、isAnyLocalAddress方法 当IP地址是通配符地址时返回true,否则返回false.这个通配符地址对于拥有多个网络接口(如两块网卡)的计算机非常拥有。使用通配符地址可以允许在服转载 2016-01-14 16:29:53 · 629 阅读 · 0 评论 -
Java编码问题汇总
工作中经常遇到java编码问题,由于缺乏研究,总是无法给出确切的答案,这个周末在网上查了一些资料,在此做些汇总。问题一:在java中读取文件时应该采用什么编码?Java读取文件的方式总体可以分为两类:按字节读取和按字符读取。按字节读取就是采用InputStream.read()方法来读取字节,然后保存到一个byte[]数组中,最后经常用new String(byte[]);把字节数组转转载 2016-01-14 16:04:23 · 398 阅读 · 0 评论 -
使用 JDBC API getColumns() 获取 Mysql 的 表字段时,返回为空 的解决方案
针对 Mysql 数据库,考虑下面这种场景用户 A ,创建了一个 database,取名为 test,test中有一个表,叫 tab001test 的 jdbc url 则为: jdbc:mysql://localhost:3306/test用户 B ,创建了一个 database,取名为 demo,demo中有一个表,叫 tab002demo 的 jdbc url 则为: jdbc:mys原创 2017-03-02 09:55:51 · 7499 阅读 · 0 评论 -
JAVA 以UTF-8导出CSV文件时产生乱码的解决方法
JAVA 以UTF-8导出CSV文件时产生乱码的解决方法原创 2016-01-14 13:07:07 · 7635 阅读 · 2 评论 -
JDBC API getTables()、getColumns() 中,通配符进行转义的问题
在我的 使用 JDBC API 获取 Mysql 的 表字段 时,返回为空 的解决方案 这篇Blog中,提及到了如何使用 JDBC API 来获取 column 的信息。但是,当时没有讲到一个注意点,现在补充一下。在 getColumns() 这个API中,它的4个参数的注释如下: catalog - a catalog name; must match the catalog name原创 2017-03-02 10:12:36 · 8647 阅读 · 0 评论 -
针对不同数据库,获取当前用户所有有权限查看的表,以及表的创建时间、更新时间、注释等信息,表中字段的相关信息(包含分页实现)
最近在处理一个需求,需求是这样的:给定任意一个数据库的JDBC连接、用户名、密码查询出所有有权限访问的表的相关信息:表名,创建时间,更新时间,注释要支持分页数据库类型有:MySQL、GBase、Oracle、DB2、Greenplum、Hive本来还有 HDFS和Kafka的,但是后来去掉了。我自己平时主要使用的是 mysql, 所以,对于 mysql 而言,这个需求还是比较好处理的。但原创 2017-03-01 19:17:27 · 8187 阅读 · 0 评论 -
Java 中 转换 CST 时间为 Date 对象
今天遇到一个需要把 Wed Mar 01 10:47:12 CST 2017 这种类型的字符串转化为 Java 的 Date 对象,我参照 SimpleDateFormat 类中的说明,直接写了下面的 代码:private static final String DATE_FORMAT = "EEE MMM dd HH:mm:ss z yyyy";new SimpleDateFormat(DATE_原创 2017-03-01 17:04:08 · 12596 阅读 · 2 评论 -
List 快速删除连续的多个元素
现假设有下面这个List:List<Integer> list = new ArrayList<>();list.add(1);list.add(2);list.add(3);list.add(4);如果我想把 2 和 3 这两个元素从该List中移除,大家的第一想法可能是:list.remove(1);// 此处为啥还是 1 ,这个应该不用解释了吧list.remove(1);这样做,原创 2017-02-06 10:31:29 · 7224 阅读 · 0 评论 -
Retrofit 设置 超时时间
现象在代码中,通过retrofit 框架发送请求去调用其他系统中的 REST 接口时,正常情况下,都没有啥问题。 但是今天碰到一个问题是,在发送一个请求时,过了10秒钟之后,系统就报SocketTimeout这个异常。每次报这个异常的时候都是10秒钟的时候报的。解析既然超时时间这么有规律,那么,肯定是在哪边设置了超时时间。带着这个疑问,稍微翻了一下源码,就找到了. 首先,我的 retrofit原创 2016-12-09 21:49:13 · 25353 阅读 · 4 评论 -
power mock 入门介绍及使用示例
相关框架JUnit4、Mockit、PowerMock 相关maven依赖<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> <scope>test</scope></dependency><dependency>原创 2016-06-29 15:20:51 · 34406 阅读 · 1 评论 -
JDK环境变量设置
话说,用JAVA也四五年了,但是每次重新安装JDK后,环境变量的设置总是要去网上搜索,看看应该设置什么值到PATH 和 CLASSPATH中去。今天刚好又帮别人设置了环境变量,趁还记得,就在此列了一下,以后用得着就直接来BLOG里来看一下就OK了,不用四处找了。 JAVA_HOMEF:\xxxx\Java\1.7\jdkPATH%JAVA_HOME%\bin;%JAVA_...原创 2014-11-18 19:21:11 · 125 阅读 · 0 评论