
Java
totally123
这个作者很懒,什么都没留下…
展开
-
Java中switch支持的数据类型
在Java7之前,switch只能支持 byte、short、char、int 或者其 对应的封装类 以及Enum 类型。在Java7中,呼吁很久的 String 支持也终于被加上了。注:byte,short,char可以自动提升(自动类型转换)为int,其实最后放的还是int类型!转载 2016-05-30 16:09:46 · 773 阅读 · 0 评论 -
Java使用Validator进行Bean校验
工具类package com.yjy.util;import com.google.common.base.Preconditions;import com.google.common.collect.Lists;import com.google.common.collect.Maps;import com.yjy.exception.ParamException;impor...转载 2018-03-28 17:58:29 · 3129 阅读 · 0 评论 -
判断IP是否在某个网段内
/** * 判断IP是否在某个网段内 * * @param ip IP地址,如 192.168.1.127 * @param segment 网段,如 192.168.1.64/26 * @return boolean */ public static boolean isInRange(String ip, String转载 2018-01-09 18:32:42 · 3799 阅读 · 0 评论 -
Java获取不同系统的换行符
不同的系统平台有不同换行符,如Linux是 \n , Windows是 \r\nJava可以根据系统平台得到换行符,代码如下所示:String lineSeparator = System.getProperty("line.separator", "\n");转载 2017-02-28 10:16:57 · 3665 阅读 · 0 评论 -
HashMap与Hashtable的区别
第一,继承不同:public class Hashtable extends Dictionary implements Mappublic class HashMap extends AbstractMap implements Map第二Hashtable 中的方法是同步的,而HashMap中的方法在缺省情况下是非同步的。在多线程并发的环境下,可以直接使用Hashtable,但是要使用Has转载 2016-09-06 16:15:59 · 193 阅读 · 0 评论 -
synchronized和Lock的区别
Lock不是Java语言内置的,synchronized是Java语言的关键字,因此是内置特性。Lock是一个类,通过这个类可以实现同步访问;Lock和synchronized有一点非常大的不同,采用synchronized不需要用户去手动释放锁,当synchronized方法或者synchronized代码块执行完之后,系统会自动让线程释放对锁的占用;而Lock则必须要用户去手动释放锁,如果没有转载 2016-09-18 13:33:37 · 200 阅读 · 0 评论 -
Java多线程拾遗
使用继承Thread类的方法创建线程类时,多个线程之间无法共享线程类的实例变量。采用Runnable接口的方式创建的多个线程可以共享线程类的示例变量:因为程序所创建的Runnable对象只是线程的target,而多线程可以共享同一个target,所以多个线程可以共享同一个线程类的实例变量。线程状态转换图: Deamon Thread(后台线程) :后台运行,为其他的线程提供服务,典型的有JVM的转载 2016-08-11 10:51:31 · 263 阅读 · 0 评论 -
JSTL: empty 可以减少很多繁冗的判空
${empty student.name } empty是判空 为空返回的true,不为空返回的是false ${(empty student.name) ? '空' : '非空'} <c:if test="${! empty obj}">${key}</c:if> <c:if test="${empty obj}">所有</c:if> 当key不为空时输出key的值。当key为空转载 2016-08-25 10:37:12 · 358 阅读 · 0 评论 -
BlockingQueue包含的方法之间的关系
BlockingQueue转载 2016-08-12 10:19:43 · 300 阅读 · 0 评论 -
创建线程的三种方式对比
Thread、Runnable、Callable:转载 2016-08-11 13:40:04 · 328 阅读 · 0 评论 -
进程和线程
Java进程和线程讲解:转载 2016-08-11 10:31:38 · 233 阅读 · 0 评论 -
Runnable和Callable的区别
相同点:两者都是接口;两者都需要调用Thread.start启动线程。不同点:实现Callable接口的任务线程能返回执行结果,而实现Runnable的不能;Callable接口的call方法允许抛出异常,而Runnable接口的run方法的异常只能在内部消化,不能继续往上抛;Callable接口支持返回执行结果,此时需要FutureTask.get方法实现,此方法会阻塞主线程直到获取“转载 2016-09-01 12:06:10 · 324 阅读 · 0 评论 -
Thread类中start和run方法的区别
start方法被用来启动新创建的线程,而且start方法内部调用了run方法;如果直接调用run方法,程序中依然只有主线程这一个线程,其程序执行路径还是只有一条,还是要顺序执行,还是要等待run方法体执行完毕后才可继续执行下面的代码,这样就没有达到写线程的目的。转载 2016-09-01 11:58:34 · 507 阅读 · 0 评论 -
List、Set、Map判断两个对象相等的标准
List 通过equals()方法比较返回true即可HashSet 先比较两个对象hashCode()方法返回的值是否相等,如果不相等就认为两个对象是不相等的,如果两个对象的hashCode相等就继续调用equals()方法进一步判断两个对象是否相等,如果equals()方法返回true认为两个对象相等,返回false认为两个对象不相等TreeSet 两个对象通过compareTo(Ob转载 2016-08-09 14:05:43 · 5718 阅读 · 2 评论 -
Java方法重载规则
方法重载的要求就是两同一不同:同一类中方法名相同,参数列表不同。至于方法的其他部分,如方法返回值类型、修饰符等,与方法重载没有任何关系。转载 2016-06-03 16:02:37 · 10041 阅读 · 0 评论 -
Java方法重写规则
方法重写的规则要遵循“两同两小一大”规则:“两同”:即方法名相同,形参列表相同;“两小”:指的是子类方法返回值类型应比父类方法返回值类型更小或相等,子类方法声明抛出的异常类应比父类方法声明抛出的异常类更小或者相等;“一大”:指的是子类方法的访问权限应比父类方法的访问权限更大或相等。注意:覆盖方法和被覆盖的方法要么都是类方法,要么都是实例方法,不能一个是类方法,一个是实例方法!例如,如下代码将转载 2016-06-04 10:03:36 · 1096 阅读 · 0 评论 -
利用Filter和ThreadLocal保存和获取常用对象
场景:在Web项目中,有一些对象是经常用到的,如Session中的用户、HttpServletRequest等,当然可以通过Spring依赖注入,但是依赖注入不方便的时候,可以通过ThreadLocal存储每一个请求所用到的数据。Filter解析Session获得用户和HttpServletRequestpackage com.yjy.filter;import com.yjy.c...转载 2018-03-29 11:33:56 · 1746 阅读 · 0 评论