![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 80
dpwangyanli
这个作者很懒,什么都没留下…
展开
-
熔断机制的一种实-- 滑动窗口
2018-06-08 18:55:59 · 278 阅读 · 0 评论 -
Java String is number
(StringUtils.isEmptyString(str)) { return false; } char[] chars = str.toCharArray(); int sz = chars.length; boolean hasExp = false; boolean hasDecPoint = false; boolean allowSigns = false;原创 2014-01-24 21:00:41 · 163 阅读 · 0 评论 -
Java 解析XML dom4j
最高版本为1.6.1。dom4j1.6.1的完整版大约11M,是一个名为dom4j-1.6.1.zip的压缩包,解压后有一个dom4j-1.6.1.jar文件,这就是应用时需要引入的类包,另外还需要引入jaxen-1.1-beta-6.jar文件,否则执行时可能抛java.lang.NoClassDefFoundError: org/jaxen/JaxenException异常,其他的包可以选择用之。 2.应用import java.io.File;import java.io.File原创 2014-01-23 19:20:51 · 60 阅读 · 0 评论 -
sleep()和 wait() 区别
/* * Sleep是Thread类的静态方法。 * sleep的作用是让线程休眠制定的时间,在时间到达时恢复,也就是说sleep将在接到时间到达事件时恢复线程执行. */ //Thread.sleep(10); /* * Wait是Object的方法,也就是说可以对任意一个对象调用wait方法, * 调用wait方法将会将调用者的线程挂起,直到其他线程调用同一个对象的notify方法才会重新激活调用者. */ new Te2013-08-30 19:49:14 · 59 阅读 · 0 评论 -
final, finally, finalize的区别
2)finally是异常处理语句结构的一部分,表示总是执行。public class TestExample { public static void main(String[] args) { System.out.println("test3 " + test3());//输出 test3 1 System.out.println("test1 " + test1());//输出 test1 2 System.out.println2013-08-30 16:29:43 · 46 阅读 · 0 评论 -
String,StringBuffer,StringBuilder区别
2013-08-30 12:33:40 · 32 阅读 · 0 评论 -
Java 匿名内部类
内部类根本没有出现class关键字,但是事实上它还是被创建了。 * 该匿名类实现了InterfaceTest接口,直接在方法体中就提供实现。 * 当然如果你需要传入参数,直接在InterfaceTest后面的括号中传入参数就可以了。 * 其实它相当于一个局部内部类,只是没有名字,外部无法引用它。 * 匿名类在编译后的class文件直接是按照匿名类的排列顺序来的,直接在外部类名 * 后面加上"$"和序号。譬如这个匿名内部com.mode.Anonym原创 2013-08-30 10:17:03 · 46 阅读 · 0 评论 -
Java 成员内部类
2013-08-29 20:08:08 · 44 阅读 · 0 评论 -
Java 内部类 - 避免修改接口
2013-08-29 19:42:58 · 84 阅读 · 0 评论 -
Java 内部类 - 实现多重继承
2013-08-29 19:27:07 · 75 阅读 · 0 评论 -
Java 内部类 - 隐藏特性 & 无条件访问外部类属性
可以,所以我们能通过内部类来隐藏我们的信息。可以看下面的例子 InterfaceTest:package com.mode.infa;public interface InterfaceTest { public void test();} Example:package com.mode;import com.mode.infa.InterfaceTest;public class Example { private String name = &q原创 2013-08-29 19:09:56 · 50 阅读 · 0 评论 -
Java 深复制 浅复制
原创 2014-03-11 18:03:53 · 39 阅读 · 0 评论 -
HashMap、HashTable、LinkedHashMap和TreeMap
2014-07-28 18:37:55 · 61 阅读 · 0 评论 -
使用工具类读取文件
port java.io.FileInputStream;import java.io.IOException;/** * Created by kenny.dong on 2018/6/6. */public class FileUtilTest { /** * 测试读取一个外部文件并依次按行读取 * 依赖jar包:commons-io:commons-io: * compile group: 'commons-io', name: '2018-06-06 13:32:35 · 148 阅读 · 0 评论 -
XML和JSON互相转换
endency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.32</version></dependency> 测试代码:package com.2018-06-02 18:33:14 · 107 阅读 · 0 评论 -
Java中Calendar的坑
8/4/2. */public class CalendarTest { /** * Calendar.getTime 方法是返回自1970-01-01 00:00:00 UTC(Epoch Time)的毫秒数,然后转化为Date类型。 * 现在有一个case是: * 当前时间是20180329,现在有一个year=2018,month=2的年份过来,想format为yyyyMM格式 * 如果你把年份和月份直接给到Calendar,问题就2018-04-02 15:52:56 · 463 阅读 · 0 评论 -
Java Integer 比较
Integer f = 321; System.out.println(a == b); System.out.println(c == d); System.out.println(e == f); } } output: true true false 看到这个结果,一定非常的奇怪,为什么会出现这种情况。 原因就在Integer的方法 va原创 2015-06-16 16:20:07 · 93 阅读 · 0 评论 -
Java引用传递和值传递
并指向对象的内存地址)当传递的是基本数据类型的时候,它传递也是此其引用的副本,只不过基本类型的内存分配方式不同,导致如果在方法中修改基本类型时候,其实是在栈中新开辟空间并指向新开辟的空间的。而且基本数据类型调用==时候,其实是去比较指向的内存的实际内容是否相等的。当传递的是引用类型时候,它也传递是引用副本,并且副本也指向了同样的对象地址。所以你修改副本也会把对象的实际内容修改掉的。 Java内部的地址分配可以参考:http://blog.csdn.net/aaa1117a8w5s6d/art原创 2014-08-03 13:40:49 · 41 阅读 · 0 评论 -
父类子类变量,块,构造函数加载先后顺序
态成员变量初始化子类的静态代码块初始化父类的非静态成员变量初始化父类的非静态代码块调用父类的默认构造方法初始化子类的非静态成员变量初始化子类的非静态代码块调用子类的构造方法测试代码:package com;public class TestHello { static class A { public int a1 = 21; static int原创 2014-08-03 11:09:09 · 67 阅读 · 0 评论 -
Java多线程
来实现的。每用java命令启动一个java应用程序,就会启动一个JVM进程。在同一个JVM进程中,有且只有一个进程,就是它自己。在这个JVM环境中,所有程序代码的运行都是以线程来运行。 一般常见的Java应用程序都是单线程的。比如,用java命令运行一个最简单的HelloWorld的Java应用程序时,就启动了一个JVM进程,JVM找到程序程序的入口点main(),然后运行main()方法,这样就产生了一个线程,这个线程称之为主线程。当main方法结束后,主线程运行完成。JVM进程也随即退出 。原创 2014-07-31 19:07:59 · 50 阅读 · 0 评论 -
同步容器与并发容器
的一部分)及Collections.synchronizedXXX等方法返回的容器。 可以通过查看Vector,Hashtable等这些同步容器的实现代码,可以看到这些容器实现线程安全的方式就是将它们的状态封装起来,并在需要同步的方法上加上关键字synchronized。但在某些情况下,我们需要实现额外的复合操作,比如获取最后一个元素或者删除最后一个元素:public static Object getLast(Vector list) { int lastIndex =原创 2014-07-30 17:59:57 · 51 阅读 · 0 评论 -
ArrayList和LinkedList区别
。 3).对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据。 实现原理:http://zhangshixi.iteye.com/blog/674856时间和空间复杂度对比1.对ArrayList和LinkedList而言,在列表末尾增加一个元素所花的开销都是固定的。对ArrayList而言,主要是在内部数组中增加一项,指向所添加的元素,偶尔可能会导致对数组重新进行分配;而对LinkedList而言,这个开销是统一的,分配一个内部Entry对象原创 2014-07-29 19:22:32 · 55 阅读 · 0 评论 -
HashSet,TreeSet和LinkedHashSet的区别
s方法。也就是说,只要两个对象用equals方法比较返回true,Set就不 会接受这两个对象。HashSet1)不能保证元素的排列顺序,顺序有可能发生变化2)不是同步的3)集合元素可以是null,但只能放入一个null当向HashSet结合中存入一个元素时,HashSet会调用该对象的hashCode()方法来得到该对象的hashCode值,然后根据 hashCode值来决定该对象在HashSet中存储位置。简单的说,HashSet集合判断两个元素相等的标准是两个对象通过equals方法比较相等,原创 2014-07-29 19:08:14 · 78 阅读 · 0 评论 -
Java 内部类
原创 2013-08-29 15:49:20 · 48 阅读 · 0 评论 -
熔断机制的一种实-- 滑动窗口
package com.codahale.metrics;import java.util.concurrent.ConcurrentSkipListMap;import java.util.concurrent.TimeUnit;import java.util.concurrent.atomic.AtomicLong;/** * 熔断机制的一种实-- 滑动窗...2018-06-08 18:55:59 · 756 阅读 · 0 评论 -
sleep()和 wait() 区别
1)这两个方法来自不同的类分别是Thread和Objectpublic class TestExample { public static void main(String[] args) { try{ System.out.println("I'm going to bed"); /* * Sleep是Thread类的静态方法。 ...2013-08-30 19:49:14 · 94 阅读 · 0 评论 -
final, finally, finalize的区别
1)final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。内部类要访问局部变量,局部变量必须定义成final类型。例子2)finally是异常处理语句结构的一部分,表示总是执行。public class TestExample { public static void main(String[] args) { System.out.pri...2013-08-30 16:29:43 · 58 阅读 · 0 评论 -
String,StringBuffer,StringBuilder区别
String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全) String 类型和 StringBuffer 类型的主要性能区别其实在于:1)String 是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象。...2013-08-30 12:33:40 · 58 阅读 · 0 评论 -
Java 匿名内部类
如果一个局部内部类没有名字,就是匿名内部类。package com.mode;import com.mode.infa.InterfaceTest;public class AnonymousClass { public void test(){ /* * 匿名内部类根本没有出现class关键字,但是事实上它还是被创建了。 * 该匿名类实现了Int...原创 2013-08-30 10:17:03 · 117 阅读 · 0 评论 -
Java 成员内部类
Java的成员内部类仅仅定义在方法体中,生命周期也随着方法的结束而结束。当定义在静态方法中时,就是静态内部类;定义在成员方法中时,就是成员内部类。package com.mode;public class LocalInnerClass { private String local = "local"; public void test() { String n...2013-08-29 20:08:08 · 97 阅读 · 0 评论 -
Java 内部类 - 避免修改接口
大家假想一下如果,你的类要继承一个类,还要实现一个接口,可是你发觉你继承的类和接口里面有两个同名的方法怎么办?你怎么区分它们??这就需要我们的内部类了。看下面的代码 InterfaceTest:package com.mode.infa;public interface InterfaceTest { public void test();} Duplicat...2013-08-29 19:42:58 · 139 阅读 · 0 评论 -
Java 内部类 - 实现多重继承
内部类可以使java也有用多继承的特点,这个特点非常重要,个人认为它是内部类存在的最大理由之一,正是由于他的存在使得Java的继承机制更加完善。 大家都知道Java只能继承一个类,它的多重继承在我们没有学习内部类之前是用接口来实现的。但使用接口有时候有很多不方便的地方。比如我们实现一个接口就必须实现它里面的所有方法。而有了内部类就不一样了。它可以使我们的类继承多个具体类或抽象类。大家看下...2013-08-29 19:27:07 · 161 阅读 · 0 评论 -
Java 内部类 - 隐藏特性 & 无条件访问外部类属性
对于隐藏性来说,平时我们对类的访问权限,都是通过类前面的访问修饰符来限制的,一般的非内部类,是不允许有 private 与protected权限的,但内部类可以,所以我们能通过内部类来隐藏我们的信息。可以看下面的例子 InterfaceTest:package com.mode.infa;public interface InterfaceTest { public v...原创 2013-08-29 19:09:56 · 209 阅读 · 0 评论 -
Java 内部类
1.定义放在一个类的内部的类我们就叫内部类。2.作用a.内部类可以很好的实现隐藏,也就是封装性。一般的非内部类,是不允许有 private 与protected权限的,但内部类可以 例子b.内部类拥有外围类的所有元素的访问权限 例子c.可是实现多重继承 例子d.可以避免修改接口而实现同一个类中两种同名方法的调用 例子3.种类1)静态内部类 它相当于外部类的静态成...原创 2013-08-29 15:49:20 · 53 阅读 · 0 评论 -
Java String is number
ibcommons-lang-java 包中提供了一个类NumberUtils.java的isNumber()方法来验证一个string是否是numberic。现在分享出来。public static boolean isNumber(String str) { if (StringUtils.isEmptyString(str)) { retur...原创 2014-01-24 21:00:41 · 747 阅读 · 0 评论 -
HashMap、HashTable、LinkedHashMap和TreeMap
Java为数据结构中的映射定义了一个接口java.util.Map,它有四个实现类,分别是HashMap、HashTable、LinkedHashMap和TreeMap。他们的类图结构为: 关键技术剖析:Map用于存储键值对,根据键得到值,因此不允许键重复,值可以重复。1)HashMap是一个最常用的Map,它根据键的hashCode值存储数据,根据键可以直接获取它的值,具有很快的...2014-07-28 18:37:55 · 84 阅读 · 0 评论 -
HashSet,TreeSet和LinkedHashSet的区别
Set接口Set不允许包含相同的元素,如果试图把两个相同元素加入同一个集合中,add方法返回false。Set判断两个对象相同不是使用==运算符,而是根据equals方法。也就是说,只要两个对象用equals方法比较返回true,Set就不 会接受这两个对象。HashSet1)不能保证元素的排列顺序,顺序有可能发生变化2)不是同步的3)集合元素可以是null,但只能放入一个null当向...原创 2014-07-29 19:08:14 · 66 阅读 · 0 评论 -
使用工具类读取文件
package com.kenny.file;import org.apache.commons.io.FileUtils;import org.apache.commons.io.IOUtils;import org.apache.commons.io.LineIterator;import org.junit.Test;import java.io.File;im...2018-06-06 13:32:35 · 140 阅读 · 0 评论 -
XML和JSON互相转换
依赖jar包<dependency> <groupId>org.json</groupId> <artifactId>json</artifactId> <version>20171018</version></dependency>&2018-06-02 18:33:14 · 205 阅读 · 0 评论 -
Java中Calendar的坑
package com.dev.tool.log.service;import org.junit.Test;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;/** * Created by kenny.dong on 201...2018-04-02 15:52:56 · 635 阅读 · 0 评论