![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
lovewendy19860402
码工一个,哈哈
展开
-
可变集合求交集
今天在设计一个接口的时候,接口传递过来的是一个数组,根据数组中的参数去库中查询是否可变更,将可变更的参数再以数组的形式返回给对方。用到了集合求交集的一些东西 首先直接获取的是一个数组,并以数组去库中查询,获取的是一个list,没办法,只有将以前的数组用Arrays.asList转换成一个list,利用list.retainAll(dbList)获取两个集合的交集。这个时候抛出了Unsup...原创 2014-08-07 10:33:00 · 108 阅读 · 0 评论 -
bitset和lambda表达式
今天看了下lambda表达式,突然想看一下list中removeif的源码,发现挺有意思的首先说一下BitSet这个类,这个类按照jdk里面说的是一个按需增长的位向量,没一个位置都是一个boolean值,我自己的理解就是一个很容易扩大的数组,每个数组的位置,都是一个boolean值,每个默认值为false 好,这会来看一下removif的源码,前提得先明白lambda表达式,remo...原创 2018-06-05 10:57:02 · 150 阅读 · 0 评论 -
java参数传递地址问题
java对象传递时,改变形参对象的引用,其实不会影响到实参的对象值 代码如下 在基础方法里面打印name值时,由于这个时候a的地址已经指向了a2,所以打印的是abc值,但是主方法a1并没有发生任何变化,所以主方法在打印name时,打印的值是a1作为形参传递到方法中赋予的值 ...原创 2017-10-11 14:53:00 · 366 阅读 · 0 评论 -
java 自定义annotation
自定义annotation 包含2部分1 自定义注解2 自定义注解处理器 @Target(ElementType.FIELD)@Retention(RetentionPolicy.RUNTIME)@Documentedpublic @interface FruitColor { public enum Color {BLUE, RED, GREEN};...原创 2014-11-24 11:13:23 · 70 阅读 · 0 评论 -
mysql 索引建立规则
索引创建规则: 1、表的主键、外键必须有索引; 2、数据量超过300的表应该有索引; 3、经常与其他表进行连接的表,在连接字段上应该建立索引 4、经常出现在Where子句中的字段,特别是大表的字段,应该建立索引; 5、索引应该建在选择性高的字段上; 6、索引应该建在小字段上,对于大的文本字段甚至超长字段,不要建索引; 7、复合索引的建立需要进行仔细分析;尽量考虑用单...原创 2014-11-11 15:25:09 · 121 阅读 · 0 评论 -
jsonobject jackjson
默认情况下1 阿里的json转换工具,将抛弃对象为空的属性包括包装类型的对象,原子类型按默认值给出值,并对属性进行排序 2 net.sf的json工具对包装类型数据,按照0处理,非包装类型对象,如果是null,则为null,原子类型按默认值给出,字符串按照空串,并对属性进行排序,但是该处理工具可以通过JsonConfig进行一些额外处理。 3 jackjson工具对包装类型数...2014-10-27 15:16:05 · 348 阅读 · 0 评论 -
java 数组拷贝
java中大多数用到list作为数组集合非常多,如果对其进行拷贝,一般分几种情况 调用自身的clone方法,这个方法能到数组的拷贝值,不是引用值 利用Arrays.copy()这个工具类提供的 System.copyarray() 如果看一下Arrays.copy方法就会发现,他的底层调用也是使用System.copyarray()方法实现拷贝的...2014-10-13 11:22:21 · 89 阅读 · 0 评论 -
java Integer Long类型的比较
今天有同事问我,两个Integer类型的数值进行比较的时候,为什么老是不相等,之前也接触过,只是记得不太清楚了,好像是包装类型缓存了一个字节的数值吧,然后直接让他换成compareTo进行比较,闲下来,自己又翻了下api,直接贴一下源码了 Integer和Long的包装类型,自己缓存了一个字节的数值,如果进行比较的时候,是调用其valueOf方法,返回对象进行比较,如果这个时候,数值正好...2014-09-12 14:29:38 · 719 阅读 · 0 评论 -
linux下安装jdk
判断一下是否安装java了直接命令java -version 下载jdk版本jdk-6u27-linux-x64.bin 拷入测试机器目录 /home/jdk修改对应文件权限chmod 777 jdk-6u27-linux-x64.bin直接命令./jdk-6u27-linux-x64.bin解压一下 配置环境变量vi /etc/profile...原创 2015-05-04 14:22:57 · 85 阅读 · 0 评论 -
深入研究java.lang.ThreadLocal类
深入研究java.lang.ThreadLocal类 http://lavasoft.blog.51cto.com/62575/51926一、概述 ThreadLocal是什么呢?其实ThreadLocal并非是一个线程的本地实现版本,它并不是一个Thread,而是threadlocalvariable(线程局部变量)。也许把它命名为ThreadLocalVar更加合适。...原创 2014-09-01 14:48:52 · 73 阅读 · 0 评论 -
javamail发送邮件 javax.mail.MessagingException: 501 Syntax: HELO hostname
今天在将服务部署到正式环境时,有一个定时发送邮件的功能,老是包javax.mail.MessagingException: 501 Syntax: HELO hostname异常,后来查了下api,发现javamail在发送邮件的时候,会获取 va在发送邮件的时候,如果是linux环境,提取本地的hostname的时候,会改hostname,然后改ip发送邮件,由于hostname对...2014-08-26 17:17:49 · 229 阅读 · 0 评论 -
Calendar清空时间
/** * 获取当前月的第一天,无小时 * * @date 2014-8-23 * @time 上午10:25:49 * @return * @return Date * */ public static Date getFistMonthDay() { // 获取前月的第一天 Calendar cal = Calendar.getInstance...原创 2014-08-23 17:08:04 · 2896 阅读 · 0 评论 -
eclipse格式化java和xml文件
java打开Eclipse的Window菜单,然后Preferences->Java->Code Style->Formatter->Edit/Show(根据不同版本可用的按钮会不一样) ->Line Wrapping->Maximum line width:由默认的80改成自己想要设定的长度 xmlwindow-preferences-xm...原创 2014-08-23 16:57:47 · 515 阅读 · 0 评论 -
comparable和comparator
开发肯定会涉及到排序,在java中,普通的数值排序直接使用一系列的算法即可,如果是对象的复杂排序,则可以使用comparable和comparator两个接口来实现,他们两者的区别如下 1 comparable是java.lang包下面的,是使得对象本身即可排序,将对象实现该接口,实现compareTo方法即可,比较该对象本身和传递对象的顺序,通过指定的字段进行比较,如果该对象小于、等于...原创 2014-08-23 11:16:06 · 66 阅读 · 0 评论 -
年轻代gc jvm crash
最近公司线上部分服务器出现了gc异常崩溃,检查了下异常崩溃日志,但是应用日志并没有出现很大的异常,但是在日志文件系统发现了hs_err_pid32506.log日志,这基本判定是jvm 异常了打开日志文件 当时线程崩溃的是GCTaskThread 这个是当时所有Thread的列表,执行的线程exited是GCTaskThread 这块就发现是eden区域满了的时候发生了异常...原创 2018-07-31 10:12:10 · 475 阅读 · 0 评论