Python 官方文档:入门教程 => 点击学习
目录1 与 jdk 相关的升级1.1 jdk 版本要求:1.2 利用 jdk8 版本更新的内容2 核心容器的更新3 JetBrains Kotlin 语言支持4 响应式编程风格5 J
第一:基于 JDK8 的反射增强
请看下面的代码:
public class Test {
//循环次数定义:10 亿次
private static final int loopCnt = 1000 * 1000 * 1000;
public static void main(String[] args) throws Exception {
//输出 jdk 的版本
System.out.println("java.version=" + System.getProperty("java.version"));
t1();
t2();
t3();
}
// 每次重新生成对象
public static void t1() {
long s = System.currentTimeMillis();
for (int i = 0; i < loopCnt; i++) {
Person p = new Person();
p.setAge(31);
}
long e = System.currentTimeMillis();
System.out.println("循环 10 亿次创建对象的时间:" + (e - s));
}
// 同一个对象
public static void t2() {
long s = System.currentTimeMillis();
Person p = new Person();
for (int i = 0; i < loopCnt; i++) {
p.setAge(32);
}
long e = System.currentTimeMillis();
System.out.println("循环 10 亿次给同一对象赋值的时间: " + (e - s));
}
//使用反射创建对象
public static void t3() throws Exception {
long s = System.currentTimeMillis();
Class<Person> c = Person.class;
Person p = c.newInstance();
Method m = c.getMethod("setAge", Integer.class);
for (int i = 0; i < loopCnt; i++) {
m.invoke(p, 33);
}
long e = System.currentTimeMillis();
System.out.println("循环 10 亿次反射创建对象的时间:" + (e - s));
}
static class Person {
private int age = 20;
public int getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
}
}
jdk1.8 版本(就是 JDK8)运行时间如下:
当切换到 jdk1.7 版本之后,运行时间如下:
有此我们可以看出,在反射创建对象上,jdk8 确实做了加强。
可以在 Spring 的 Jira 上了解更多关于组件索引的相关信息。
Kolin概述:是一种支持函数式编程编程风格的面向对象语言。Kotlin 运行在 JVM 之上,但运行环境并不限于 JVM。
Kolin 的示例代码:
{
("/movie" and accept(TEXT_html)).nest {
GET("/", movieHandler::findAllView)
GET("/{card}", movieHandler::findOneView)
}
("/api/movie" and accept(APPLICATION_JSON)).nest {
GET("/", movieApiHandler::findAll)
GET("/{id}", movieApiHandler::findOne)
}
}
Kolin 注册 bean 对象到 spring 容器:
val context = GenericApplicationContext {
reGISterBean()
registerBean { Cinema(it.getBean()) }
}
WebClient webClient = WebClient.create();
Mono person = webClient.get()
.uri("http://localhost:8080/movie/42")
.accept(MediaType.APPLICATION_jsON)
.exchange()
.then(response -> response.bodyToMono(Movie.class));
终止支持的类库
到此这篇关于Java_Spring之Spring5 的新特性的文章就介绍到这了,更多相关Java Spring5新特性内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
--结束END--
本文标题: Java_Spring之Spring5 的新特性
本文链接: https://lsjlt.com/news/203196.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0