随笔分类 - Java
摘要:前言 在这个信息技术发展迅速的时代,万万没想到,Spring自2003年发展至今,仍是技术选型中的首选,某些项目甚至有Spring全家桶的情况。 在Java开发者面试当中,Spring的原理也常被面试官用于考察候选人的技术深度,同时也能反映候选人对技术是否有热情,是否具有探索精神。 本文带着一个开发
阅读全文
摘要:首先,坐好准备工作,在feature-resolve-conflict分支上作如下改动: 在master分支作如下改动: 假如现在我们需要将master分支合并到feature-resolve-conflict分支。 1、首先拉到最新的feature-resolve-conflict代码 2、然后右
阅读全文
摘要:注解简单来说就是配置,是特别的配置,之前常用的配置文件,可以用注解替换。然后通过反射去获取注解的信息。 如何定义一个注解 你在IDE中新建一个注解定义,是这样的结构的: 然后大概有4个对上述结构加上一些配置,当然,这配置是以注解的形式添加的=_=! 此注解使用在哪里 此注解会应用的哪里,可通过如下配
阅读全文
摘要:简化定义匿名实现类 匿名实现类的传统方式 创建一个线程,需要实现 接口,并实现 方法,用传统的方式是这样的: 无参数、单语句方法体 用lambda可以简化成这样: 所以也可以这样: 所以,没参数、单语句的是这样的: 无参数、多语句方法体 当然实现方法中有多条语句的情况下,应该是这样的: 多参数、多语
阅读全文
摘要:HashMap是常用的集合类,以Key Value形式存储值。下面一起从代码层面理解它的实现。 构造方法 它有好几个构造方法,但几乎都是调此构造方法: 放入元素,put(K key, V value) 实际的逻辑在putVal方法: 通过hash和数组长度计算数组下标,indexFor(int h,
阅读全文
摘要:阻塞队列 阻塞队列有几个实现: ArrayBlockingQueue LinkedBlockingQueue PriorityBlockingQueue DelayQueue SynchronousQueue LinkedTransferQueue LinkedBlockingDeque 他们的共同
阅读全文
摘要:公司用Kryo,先接触下,简单记录下。 引入包 简单的使用 实体对象: 使用kryo序列化和反序列化: 简单地和JDK自带序列化和反序列化对比 import java.io.FileInputStream; import java.io.FileNotFoundException; import j
阅读全文
摘要:今天面试有一道题,写一个死锁的程序,自己也是短路了,没写出来,回来写下。 死锁常见的情况是A线程持有a锁、阻塞于b锁,B线程持有b锁,阻塞于a锁,形成一个循环阻塞的状态。 用了下Java栈跟踪工具jstack,可以生成当前虚拟机中的线程快照,此文件称为thread dump。(而用jmap dump
阅读全文
摘要:Object类的其中一个方法是拷贝方法 ,而拷贝可以分为深拷贝和浅拷贝,它们的区别主要在于对象中的引用拷贝后是否指向同一个对象。 浅拷贝 深拷贝 Java实现的深拷贝和浅拷贝 Java中 是浅拷贝,以下代码有深拷贝和浅拷贝两种方法: 用浅拷贝运行的日志,可以看到属性中的User对象地址是一样的: 用
阅读全文
摘要:有时候需要给集合(如List)按数量分组,比如全集太大时,需要分批处理;或效率有点低,分批并发处理。于是,写了个将List按数量分组的方法。
阅读全文
摘要:写一个小程序,用来计算它包含的代码所需的耗时。虽然简单,测试代码是否耗时还是有点用的,不用重新写嘛~
阅读全文
摘要:写一个Java原生的序列化和反序列化的DEMO。 需序列化的类: package com.nicchagil.nativeserialize; import java.io.Serializable; public class User implements Serializable { priva
阅读全文
摘要:> 参考的优秀文章 1、十分钟搞清字符集和字符编码 2、Java中byte与16进制字符串的互相转换 3、【异常处理】Incorrect string value: '\xF0\x90\x8D\x83...' for column... Emoji表情字符过滤的Java实现 4、Why a surr
阅读全文
摘要:参考的优秀文章: 《Java编程思想》第四版 《Effective Java》第二版 Map接口是映射表的结构,维护键对象与值对象的对应关系,称键值对。 > hashcode()和equals() hashcode()和equals()即用于识别对象的身份。 在HashMap或类似的实现中,查找一个
阅读全文
摘要:HashSet,锋芒毕露,我们最常用到。其他两个,我们较少用到,今天,我们看看他们的区别。 import java.util.HashSet; import java.util.Set; public class HashSetTester { public static void main(Str
阅读全文
摘要:看ConcurrentHashMap的,一般都看过HashMap的了,那么我们就直奔主题吧。 > 参考的优秀文章 Java集合 ConcurrentHashMap原理分析 > 构造方法 直接来到这个构造方法,可以看到,默认的concurrencyLevel为16,可以理解为分16个segment,操
阅读全文
摘要:Java中有很多连接类的类实现java.io.Closeable,而关闭资源是一项重复的劳动,写一个简单的工具类避免重复劳动。 > JDK7.0中,哪些类实现java.io.Closeable? 还有这些接口继承此接口 > 简单的工具类 虽然简单,也记录一下吧,免得下次又写一次。
阅读全文
摘要:公司有本《Java网络编程》一直闲置在书架上,反正我对Socket方面不太懂,今天跟着书学习一番。 > 参考的优秀书籍 《Java网络编程》 --中国电力出版社 > 最简单的服务器端 当客户端连接进来,向客户端发送“welcome”以表咋程序员的亲切感~~ import java.io.IOExce
阅读全文
摘要:HashMap源码一直是众多Java程序员的必经之路,今天我也看看,大家凑热闹不?基于水平有限,有些地方理解错误、理解不了,请大家指出哦~~ 版本说明 查看的版本是jdk1.7.0_71 结构概要图 从构造方法看起吧 HashMap有4个构造方法,具体看下代码,可知第2、3个方法都是调用第1个方法进
阅读全文
摘要:大家知道,在集合中判断集合中的两个元素是否相同,依赖的是hashcode()和equals()两个方法。 > 一个简单的实验 public class Teacher { private Integer id = null; public Teacher(Integer id) { super();
阅读全文