摘要:Java本身都是值传递式的调用,对于对象传递的是地址值。给地址值重新赋值等于重新指向,不会影响外层。 而且这里Integer对象也有特殊性。其实现上可能类似 class Integer{ final int value; //一旦赋值,就不能改变。 } 这就出现:调用时传的地址值不能改变外层+对象本身又不能改变。导致这个值没法改变 解决方案很多 1、java风格就是,单个值用返回值。return ...
        
阅读全文
 
    
        
        
摘要:转自:http://www.tuicool.com/articles/AraaQbZ 论integer是地址传递还是值传递 Integer 作为传参的时候是地址传递 , 可以参考如下例子,在程序刚启动的时候把 Integer 的index 对象锁住 ,并且调用了 wait方法,释放了锁的资源,等待n
        
阅读全文
 
    
        
        
摘要:有时候为了研究Javac的原理,要去看看class文件的内容是如何组织的,这时候很有必要查看class文件。方法有很多种,这里推荐使用JDK自带的javap工具。 首先建立如下源码: 使用javac编译器把源文件编译好,再接着使用javap工具查看class文件,命令如下 javap -verbos
        
阅读全文
 
    
        
        
摘要:有时候我们定义了long型的变量,当我们给该变量赋值过长的整数时,系统依然会提示长度超过范围,解决办法如下: long timeShow = 1437565243495L; 我们需要在整形变量的后面加上“L”,便可以避免系统报错。
        
阅读全文
 
    
        
        
摘要:对String的特殊值的判断上,除了要关注是否为null,还要关注是否是空字符串。 经常处理的时候直接判断是否为Null就好了,这样很容易出现问题: 很容易出现漏洞,正确方式如下:
        
阅读全文
 
    
        
        
摘要:/** * 转全角的函数(SBC case) * 全角空格为12288,半角空格为32,其他字符半角(33-126)与全角(65281-65374)的对应关系是:均相差65248 * @param input 任意字符串 * @return 全角字符串 */ public static String ToSBC(String...
        
阅读全文
 
    
        
        
摘要:String fdbs = "WXB,WXA,FDA,WXB"; String[] str = fdbs.split(","); Set set = new HashSet(); for (int i = 0; i < str.length; i++) { set.add(str[i]); }...
        
阅读全文
 
    
        
        
摘要:// 解压 String pw = "123456"; String cmd = "unzip -P " + pw + " /root/lianliandownload/" + fileName + " -d /root/lianliandownload "; try { Runtime.getRuntime().ex...
        
阅读全文
 
    
        
        
摘要:执行下面代码时报错: 最后一行报错: 查看Arrays$ArrayList的源代码,如下(1.8版本): 进入父类找下addAll方法: 实现只存在于父类中,如下所示: 父类AbstractList add方法直接抛出异常。 所以问题就在这里,我们改下代码,如下就不报错了: List<String>
        
阅读全文
 
    
        
        
摘要:今天发现了Bug,看下日志,应该是某个逻辑一直没进,看下代码: 标红的这句话,判断存在问题。一个小疏忽浪费了不少时间。看下String.equals的源代码: 很明显是绝对返回false的,以此记录,希望以后不要范这种低级错误了。
        
阅读全文
 
    
        
        
摘要:之前想获取一个资源文件做一些处理,使用getClass().getResourceAsStream()一直拿不到文件。 具体的用法。 具体文件和代码的位置是,代码在src/main/java目录下,资源文件在src/main/resources/目录下。 会从当前类的目录下去找,这个文件如果不和该类
        
阅读全文
 
    
        
        
摘要:当我们使用maven或者gradle时,我们不需要担心源码的问题。Maven会帮我们下载jar包的同时下载对应的源码包。一般为source.jar,比如servlet-api-2.5-sources.jar。我们就可以看到对应的源码了。 但是当我们需要看tomcat 目录lib包下面的jar包的源码
        
阅读全文
 
    
        
        
摘要:转自:https://www.cnblogs.com/acm-bingzi/p/6673823.html 很多时候我们需要在项目中读取外部属性文件,用到了System.getProperty("")方法。这个方法需要配置JVM系统属性,那么如何配置呢? 那就是使用java -D 配置系统属性。使用格
        
阅读全文
 
    
        
        
摘要:今天查看以前所写的代码,看到有一部分被人改了,代码如下: 一个很明显的错误,当时我的脑海中是这样想的: Integer会自动拆箱进行比较,这样就变成了以下的代码: 看来有些还是搞混了,Integer的比较是对象之间的比较,不会进行自动拆箱,拆箱和装箱的时机是发生在赋值操作中。 引以为戒!!!!错的太
        
阅读全文
 
    
        
        
摘要:转:http://zoroeye.iteye.com/blog/2026984?utm_source=tuicool&utm_medium=referral md5加密实现方法有很多种,也导致很难选择。大概分析下自己了解的一些用法。 1.sun官方 sun提供了MessageDigest和BASE6
        
阅读全文
 
    
        
        
摘要:声明:转载请注明出处 static{}(即static块),会在类被加载的时候执行且仅会被执行一次,一般用来初始化静态变量和调用静态方法,下面我们详细的讨论一下该语句块的特性及应用。 一、在程序的一次执行过程中,static{}语句块中的内容只被执行一次,看下面的示例: 示例一 结果:你会发现虽然执
        
阅读全文
 
    
        
        
摘要:我们常用的一些接口Callable、Runnable、Comparator等在JDK8中都添加了@FunctionalInterface注解。 通过JDK8源码javadoc,可以知道这个注解有以下特点: 1、该注解只能标记在"有且仅有一个抽象方法"的接口上。 2、JDK8接口中的静态方法和默认方法
        
阅读全文
 
    
        
        
摘要:一、简介: BeanUtils提供对Java反射和自省API的包装。其主要目的是利用反射机制对JavaBean的属性进行处理。我们知道,一个JavaBean通常包含了大量的属性,很多情况下,对JavaBean的处理导致大量get/set代码堆积,增加了代码长度和阅读代码的难度。 二、用法: Bean
        
阅读全文
 
    
        
        
摘要:需要注意的就是把List拆分,遍历add,然后把list设置到返回对象中
        
阅读全文
 
    
        
        
摘要:Build path is incomplete. Cannot find class file for org.springframework.aop.Advisor 初学spring,记录一下出现的错误 在写AOP的时候,出现了错误Build path is incomplete. Cannot
        
阅读全文