摘要:
介绍 我们都知道HashMap添加完数据,取出来的顺序是混乱的,而LinkedHashMap可以保证查询的顺序和插入顺序保持一致。 public class Client3 { public static void main(String[] args) { Map<String, String> 阅读全文
摘要:
介绍 协变和逆变描述的是类型转换后的继承关系。 定义A,B两个类型,A是B的子类,f(A) 表示类型转换后的类型,如List 协变 A ⇐ B,f(A) ⇐ f(B) 成立 逆变 A ⇐ B,f(A) >= f(B) 成立 不变 A ⇐ B,都不成立 数组的协变和逆变 public class Cl 阅读全文
摘要:
泛型擦除 java的泛型是一种伪泛型,编译器会去除泛型信息,字节码不会包含泛型信息。 public class Client { public static void main(String[] args) { List<String> nameList = new ArrayList<>(); L 阅读全文
摘要:
介绍 java中的引用有4种类型:强引用(Strong Reference),软引用(Soft Reference),弱引用(Weak Reference),虚引用(Phantom Reference),强度依次减弱。 前置准备 配置JVM参数,-Xms10M -Xmx20M,初始内存10M,最大内 阅读全文
摘要:
介绍 Fastjson是一个Java语言编写的高性能的JSON处理器,由阿里巴巴公司开发。无依赖,不需要例外额外的jar,能够直接跑在JDK上。 FastJson在复杂类型的Bean转换Json上会出现一些问题,可能会出现引用的类型,导致Json转换出错,需要制定引用。 FastJson采用独创的算 阅读全文
摘要:
介绍 发送邮件是一个很常见的需求,如用户注册,用户密码修改,密码找回等。今天我们看一下使用JavaSE和Spring实现发送邮件的功能。 邮件协议 SMTP协议是基于TCP/IP的一个应用层协议,类似于HTTP,全称为 Simple Mail Transfer Protocol,译作简单邮件传输协议 阅读全文
摘要:
介绍 验证码的目的是为了防范恶意攻击,如在发送手机短信之前校验验证码,可以防止短信接口被恶意调用导致的金钱损失。验证码有图片验证码,更智能的拖动验证码,点选验证码,今天我们看一下图片验证码的实现。 实现 添加maven依赖 <dependency> <groupId>com.github.pengg 阅读全文
摘要:
介绍 JSR-303 是JAVA EE6 中的一项子规范,叫做Bean Validation,Hibernate Validator 是 Bean Validation 的参考实现,提供了 JSR 303 规范中所有内置 constraint 的实现,除此之外还有一些附加的 constraint。 阅读全文
摘要:
二维码现在已经在我们的生活中大量使用,如手机支付,扫一扫登录,扫一扫加好友等。 生成二维码 添加maven依赖 <dependency> <groupId>com.google.zxing</groupId> <artifactId>javase</artifactId> <version>3.3. 阅读全文
摘要:
在java中直接执行python语句 添加maven依赖 <dependency> <groupId>org.python</groupId> <artifactId>jython-standalone</artifactId> <version>2.7.1</version> </dependen 阅读全文