摘要:
1.synchronized的作用是什么 synchronized也叫作同步锁,解决的是多个线程之间对资源的访问一致性。换句话说,就是保证在同一时刻,被synchronized修饰的方法或代码块只有一个线程在执行,其他线程必须等待,解决并发安全问题。 其可以支持原子性、可见性和有序性。三大特性的说明 阅读全文
摘要:
1.概述 JVM(全称Java Virtual Machine)也叫Java虚拟机,它是一种抽象化的计算机。有句话叫 java语言是跨平台的,一次编译,多处运行。也就是说java代码只需要一次编译即可放到不同操作系统上进行运行,这完全依赖JVM,它将编译的class文件转化为对应操作系统所能运行的二 阅读全文
摘要:
1.概述 反射就是在运行状态,对于任意一个类,都可以直达这个类的属性和方法;对于任何一个对象,都可以调用它的任意一个方法和属性。而对于官方的解释是,反射允许对封装类的字段、方法以及构造函数进行编程访问。 2.反射的使用方式 反射的应用场景主要是先获取class对象,然后根据需求获取构造函数、成员变量 阅读全文
摘要:
1.概述 Apache Shiro 是一款 Java 安全框架,不依赖任何容器,可以运行在 Java SE 和 Java EE 项目中,它的主要作用是用来做身份认证、授权、会话管理、缓存和加密等操作。 和SpringSecurity的作用大概是一致的,但SpringSecurity由于其功能丰富而复 阅读全文
摘要:
很多业务数据在展示上需要进行脱敏处理,保护重要的敏感信息。如电话号码脱敏,期望展示的数据格式是156****7837;如身份证号码脱敏,期望展示的数据格式是420***********113X。 当然在记录操作日志时对密码等信息进行过滤,保证其安全。那么可以采用Fastjson进行配置(本文所用的是 阅读全文
摘要:
对于HTTP客户端,其实有很多种,而SpringBoot也提供了一种方式叫Spring WebClient。它是在Spring 5中引入的异步、反应式HTTP客户端,用于取代较旧的RestTemplate,以便在使用Spring Boot框架构建的应用程序中进行REST API调用,它支持同步、异步 阅读全文
摘要:
1.概述 在日常的开发过程中,日志也非常的重要。而当生产环境出现问题时,排查日志是一种非常有效的方式,那么如何快速精准的分析日志就显得尤为重要。 TLog是一款简单、易用、几乎零侵入、适合中小型公司使用的日志追踪框架,它提供了一种最简单的方式来解决日志追踪问题,会自动对日志进行打标签,自动生成tra 阅读全文
摘要:
1.概述 Orika是java Bean映射框架,可以实现从一个对象递归拷贝数据至另一个对象,它使用字节码生成器创建开销最小的快速映射,比其他基于反射方式实现更快。对于名称不相同或类型不一样,则需要单独映射。 2.实战演练 2.1环境准备 新建一个SpringBoot的项目,导入需要的依赖 <dep 阅读全文
摘要:
1.前言 Mybatis有四大核心对象,分别是Executor,StatementHandler,ParamterHandler,ResultSetHandler。 在很多时候,对表中的数据都需要记录插入时间,修改时间,插入人和修改人,若每次都在插入或修改代码中去设置这些信息,就显得有些冗余。那么此 阅读全文
摘要:
1.跨站点请求伪造 在项目进行安全测试时,通过AppScan进行漏洞扫描,出现一下问题: 也就是说请求头中缺失"Referer"或未验证Referer的值。由于是前后端分离的项目,前端使用nginx代理,后端部署在tomcat上。因此在后端需要验证Referer的值,添加如下的过滤器: packag 阅读全文