随笔分类 - Java基础
Lambda表达式
摘要:1、Lambda表达式初步认识 java是一个面向对象的语言,而Lambda表达式却是一个匿名函数,因此java把Lambda表达式抽象成一个匿名内部类(jdk中没有抽象出来,但是它是一个匿名内部类的实现,在下面的截图中,很明显可以看到是一个内部类的地址 为了证实如上所说,我就随手写了一个lambd
springboot创建拦截器interceptor
摘要:springboot创建自定义拦截器 在springboot中创建拦截器很方便,首先创建自定义拦截器,自定义拦截器需要实现HandlerInterceptor接口,然后根据自己的需求去重写相应的方法。 下面例子自定义两个拦截器,TestInterceptor1和TestInterceptor2 pa
openjdk下载源
摘要:背景 sun被oracle收购之后,慢慢的各种资源开始限制,现在从oracle官网下载jdk很是麻烦,很多公司开始使用openjdk,可是因为墙的存在,下载速度很慢,然后就出现了国内的各种下载源,这里使用的是清华大学的,速度很快,资源也很丰富。 访问下边链接即可下载所需的openjdk 根据需要下载
Jar包混淆加密
摘要:背景 一般公司开发的项目上线前都会做安全审核,为了保护一些私密代码和一些敏感信息,均需要加密处理,比如各种密码、license处理的等,就用到jar包混淆。 混淆工具 jar包混淆工具挺多的,实现原理不尽相同,这里使用的classfinal, classfinal介绍 ClassFinal是一款ja
Java8 Stream
摘要:1、Stream概述 Java 8 是一个非常成功的版本,这个版本新增的Stream,配合同版本出现的 Lambda ,给我们操作集合(Collection)提供了极大的便利。 那么什么是Stream? Stream将要处理的元素集合看作一种流,在流的过程中,借助Stream API对流中的元素进行
使用JWT实现认证
摘要:为什么使用JWT? 随着技术的发展,分布式web应用的普及,通过session管理用户登录状态成本越来越高,因此慢慢发展成为token的方式做登录身份校验,然后通过token去取redis中的缓存的用户信息,随着之后jwt的出现,校验方式更加简单便捷化,无需通过redis缓存,而是直接根据token
Java自动关闭流
摘要:背景 也许大家在使用流时因为未关闭、或者未正常关闭引发了很多问题。其实java7引入了自动关闭流机制,只是我们未使用而已。 自动关闭流例子 import java.io.*; public class AutoCloseTest { public static void main(String[]
序列化和反序列化
摘要:什么是序列化、意义及使用场景 序列化:将对象写入到IO流中 反序列化:从IO流中恢复对象 意义:序列化机制允许将实现序列化的Java对象转换位字节序列,这些字节序列可以保存在磁盘上,或通过网络传输,以达到以后恢复成原来的对象。序列化机制使得对象可以脱离程序的运行而独立存在。 使用场景:所有可在网络上
Lombok
摘要:lombok项目背景 官方介绍如下: Project Lombok is a java library that automatically plugs into your editor and build tools, spicing up your java. Never write anoth