logo头像

From zero to HERO

Java中如何获取泛型的Class对象

Java中如何获取泛型的Class对象

Java中的泛型有着很重要的作用,它能够让我们的数据容器类型安全,避免发生转换异常。不过Java中的泛型也为人诟病,它会在编译中被全部转换成Object对象,也就是泛型擦除,这造成了诸多不便,除...

后端Java开发如何防御XSS攻击

后端Java开发如何防御XSS攻击

跨站脚本攻击(XSS)可以让攻击者在受害者的浏览器中执行恶意脚本来修改网页内容、将用户重定向到非法网站、伪造用户登录态、窃取用户的隐私信息、甚至还能给程序开个后门等等,所以不得不防。今天就来分享...

Java Bean如何抽象简化

Java Bean如何抽象简化

今天在封装第三方应用的开放接口,写了很多返回值的类,这些类很多都是结构相似只是个别字段名称不一样。为了单独的字段就要复制一个改改不胜其烦,而且起名是最头疼的事情。就像下面这两个: @Equals...

2021年 JVM 生态报告解读

2021年 JVM 生态报告解读

最近知名安全机构Snyk和知名JDK供应商Azul联合推出了2021年度的JVM生态报告。该报告历经六周,相关调研收集了全球2000多名Java开发者的问卷回复。经过调研,对当前的JVM生态有了...

函数式编程类库vavr

函数式编程类库vavr

每当JDK发布了新版本就有同学说“你发任你发,我用Java 8”,可在工作中有不少人依然不太擅长使用Java8的新特性,而这些特性往往让Java不再“臃肿”。不过我个人认为Java8所有的新特性...

Java17新特性

Java17新特性

Java 17 目前已经进入Rampdown Phase One阶段,所有的功能特性都已经被冻结。这说明Java 17的新特性已经定了,不会再增加新的JEP(JDK增强建议)。之所以关心Java...

Java SE支持路线图确定

Java SE支持路线图确定

最近Oracle发布了Java SE支持路线图,以帮助开发者了解Java SE的维护和支持选项以及相关的时间表,以便可以为公司和个人使用Java SE做出最佳决策。 自2017年9月以来,Ora...

Java 8 中的函数式断言Predicate

Java 8 中的函数式断言Predicate

最近在搞Excel导入,数据校验是少不了的,但是不同的数据字段有不同的校验策略,五花八门的,甚至不确定,没有办法使用JSR303。所以就搞一个校验策略工具,把校验策略抽象出来。这里尝试了Java...

Java 8 Stream 的特点

Java 8 Stream 的特点

Java 8 的Stream API 提供了不少可替代Java 集合框架的操作。但是不少同学在学习和使用Stream时依然感到很困惑,不知道何时使用Stream,甚至想不起来使用Stream,甚...

新的虚拟机平台GraalVM,编程语言可以无缝沟通了

新的虚拟机平台GraalVM,编程语言可以无缝沟通了

1. 前言在许多年前,一群不需要产出的IT学术研究人员搞了一个有趣的实验性项目叫MaxineVM,它是一个一个用Java实现的元循环Java虚拟机。其实我也不知道这么高端的名字是啥意思,反正是一...