当前位置: 首页 > news >正文

广告投放计划seo网站关键词优化哪家好

广告投放计划,seo网站关键词优化哪家好,网站优化体验报告,建设网站视频素材目录 一、Java14新特性 1、instanceof模式匹配 2、友好的空指针(NullPointerException)提示 3、record类型 二、Java15新特性 1、Sealed Classes 2、CharSequence新增方法 3、TreeMap新增方法 4、文本块 5、无需配置环境变量 三、Java16新特性 1、包装类构造方法的…

目录

一、Java14新特性

1、instanceof模式匹配

2、友好的空指针(NullPointerException)提示

3、record类型

二、Java15新特性

1、Sealed Classes

2、CharSequence新增方法

3、TreeMap新增方法

4、文本块

5、无需配置环境变量

三、Java16新特性

1、包装类构造方法的警告

2、新增日时段

3、InvocationHandler新增方法


一、Java14新特性

JDK12和JDK13中预览版的switch特性,在JDK14已经是正式的语法了。

1、instanceof模式匹配

instanceof模式匹配:该特性可以减少强制类型转换的操作,简化了代码。

public class InstanceOf {public static void main(String[] args) {Object obj=1;if (obj instanceof Integer){Integer i = (Integer) obj;System.out.println(i);}//新写法if(obj instanceof Integer i){System.out.println(i);}}
}

2、友好的空指针(NullPointerException)提示

JDK14添加了对于空指针异常友好的提示,便于开发者快速定位空指针的对象。

package com.lwz.java14;public class TestNull {public static void main(String[] args) {new Car().engine.machine.start();}
}class Car{public Engine engine;
}
class Engine{public  Machine machine;
}
class Machine{public void start(){System.out.println("start");}
}

运行结果:

Exception in thread "main" java.lang.NullPointerException: Cannot read field "machine" because "engine" is nullat com.lwz.java14.TestNull.main(TestNull.java:5)

3、record类型

record类型,通过该类型可以省去成员变量,构造方法,get、set、toString方法,hashcode方法,equals方法等代码编写

package com.lwz.java14;public record User(String name,Integer age) {public void study(){System.out.println("study");}
}

测试:

package com.lwz.java14;public class TestRecord {public static void main(String[] args) {User user = new User("小米", 18);System.out.println(user);//User[name=小米, age=18]System.out.println(user.name());//小米user.study();//study}
}

反编译

D:\xxxx....xxxx>javap -c User.class
Compiled from "User.java"
public final class com.lwz.java14.User extends java.lang.Record {public com.lwz.java14.User(java.lang.String, java.lang.Integer);Code:0: aload_01: invokespecial #1                  // Method java/lang/Record."<init>":()V4: aload_05: aload_16: putfield      #7                  // Field name:Ljava/lang/String;9: aload_010: aload_211: putfield      #13                 // Field age:Ljava/lang/Integer;14: returnpublic void study();Code:0: getstatic     #17                 // Field java/lang/System.out:Ljava/io/PrintStream;3: ldc           #23                 // String study5: invokevirtual #25                 // Method java/io/PrintStream.println:(Ljava/lang/String;)V8: returnpublic final java.lang.String toString();Code:0: aload_01: invokedynamic #31,  0             // InvokeDynamic #0:toString:(Lcom/lwz/java14/User;)Ljava/lang/String;6: areturnpublic final int hashCode();Code:0: aload_01: invokedynamic #35,  0             // InvokeDynamic #0:hashCode:(Lcom/lwz/java14/User;)I6: ireturnpublic final boolean equals(java.lang.Object);Code:0: aload_01: aload_12: invokedynamic #39,  0             // InvokeDynamic #0:equals:(Lcom/lwz/java14/User;Ljava/lang/Object;)Z7: ireturnpublic java.lang.String name();Code:0: aload_01: getfield      #7                  // Field name:Ljava/lang/String;4: areturnpublic java.lang.Integer age();Code:0: aload_01: getfield      #13                 // Field age:Ljava/lang/Integer;4: areturn
}

二、Java15新特性

1、Sealed Classes

密封类和接口,作用是限制一个类可以由哪些子类继承或者实现。

1、如果指定模块的话,sealed class和其子类必须在同一个模块下,如果没有指定模块,则需要在同一个包下。

2、sealed class指定的子类必须直接继承该sealed class。

3、sealed class的子类要用final修饰。

4、sealed class的子类如果不想用final修饰的话,可以将子类声明为sealed class。

package com.lwz.java15;//只希望Cat和Dog能够继承Animal类
public sealed class Animal permits Cat,Dog{public void eat(){}
}

package com.lwz.java15;//Cat不能有子类
public final class Cat extends Animal{@Overridepublic void eat() {System.out.println("吃鱼");}
}

package com.lwz.java15;//需要指定子类
public sealed class Dog extends Animal permits Hushy{@Overridepublic void eat() {System.out.println("吃肉");}
}

package com.lwz.java15;public final class Hushy extends Dog{
}

2、CharSequence新增方法

该接口新增了isEmpty(),作用是判断CharSequence是否为空

    /*** Returns {@code true} if this character sequence is empty.** @implSpec* The default implementation returns the result of calling {@code length() == 0}.** @return {@code true} if {@link #length()} is {@code 0}, otherwise* {@code false}** @since 15*/default boolean isEmpty() {return this.length() == 0;}

3、TreeMap新增方法

putIfAbsent
computeIfAbsent
computeIfPresent
compute
merge

4、文本块

文本块由预览版变更为正式版

5、无需配置环境变量

win系统中安装完成之后会自动将java.exe,javaw.exe,javac.exe,jshell.exe这几个命令添加到环境变量中。

三、Java16新特性

1、包装类构造方法的警告

使用包装类的构造方法在编译的时候会出现警告,不建议再使用包装类的构造方法,下面代码在javac编译之后会出现警告

public class Test {public static void main(String[] args) {Integer i=new Integer(6);System.out.println(i);synchronized (i){//警告,Integer 因有缓存池,不相关代码也可能互相影响}}
}
    @Deprecated(since="9", forRemoval = true)public Integer(int value) {this.value = value;}

2、新增日时段

打印上午下午晚上等时间

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;public class Data01 {public static void main(String[] args) {System.out.println(DateTimeFormatter.ofPattern("B").format(LocalDateTime.now()));}
}

3、InvocationHandler新增方法

    @CallerSensitivepublic static Object invokeDefault(Object proxy, Method method, Object... args)throws Throwable {Objects.requireNonNull(proxy);Objects.requireNonNull(method);return Proxy.invokeDefault(proxy, method, args, Reflection.getCallerClass());}

Java11-13新特性

一个程序员最重要的能力是:写出高质量的代码!!
有道无术,术尚可求也,有术无道,止于术。
无论你是年轻还是年长,所有程序员都需要记住:时刻努力学习新技术,否则就会被时代抛弃!


文章转载自:
http://dinnconymphomaniac.bpmz.cn
http://dinncocarsey.bpmz.cn
http://dinncojesuitic.bpmz.cn
http://dinncogascounter.bpmz.cn
http://dinncokulan.bpmz.cn
http://dinncomacrolide.bpmz.cn
http://dinncomassorete.bpmz.cn
http://dinncokitchenet.bpmz.cn
http://dinncourethroscopy.bpmz.cn
http://dinncobenthograph.bpmz.cn
http://dinncodekagram.bpmz.cn
http://dinncomonomachy.bpmz.cn
http://dinncoacanthi.bpmz.cn
http://dinncoszechwan.bpmz.cn
http://dinncohut.bpmz.cn
http://dinncoirritative.bpmz.cn
http://dinncorecolor.bpmz.cn
http://dinncoinvader.bpmz.cn
http://dinncohalfy.bpmz.cn
http://dinncocraniectomize.bpmz.cn
http://dinncoexecutorship.bpmz.cn
http://dinncodrollery.bpmz.cn
http://dinncoannectent.bpmz.cn
http://dinncooutskirts.bpmz.cn
http://dinncobattered.bpmz.cn
http://dinncobeadswoman.bpmz.cn
http://dinncoavulsed.bpmz.cn
http://dinncotableware.bpmz.cn
http://dinncooaa.bpmz.cn
http://dinncoplagiarise.bpmz.cn
http://dinncodripless.bpmz.cn
http://dinncochino.bpmz.cn
http://dinncomagic.bpmz.cn
http://dinncosolvable.bpmz.cn
http://dinncospasmic.bpmz.cn
http://dinncoseem.bpmz.cn
http://dinncounselfishness.bpmz.cn
http://dinncocrusher.bpmz.cn
http://dinncovenoconstriction.bpmz.cn
http://dinncoobtrusion.bpmz.cn
http://dinncoseptifragal.bpmz.cn
http://dinncogastroenteritis.bpmz.cn
http://dinncorevolutionology.bpmz.cn
http://dinncoeugene.bpmz.cn
http://dinncomujik.bpmz.cn
http://dinncospermatophorous.bpmz.cn
http://dinnconominalize.bpmz.cn
http://dinncocamper.bpmz.cn
http://dinncoacetifier.bpmz.cn
http://dinncopolychaetan.bpmz.cn
http://dinncoapprover.bpmz.cn
http://dinncoautoreflection.bpmz.cn
http://dinncorepresentability.bpmz.cn
http://dinncooquassa.bpmz.cn
http://dinncorubrical.bpmz.cn
http://dinncoibada.bpmz.cn
http://dinncotampax.bpmz.cn
http://dinncodivertimento.bpmz.cn
http://dinncomillet.bpmz.cn
http://dinncotransformant.bpmz.cn
http://dinncosuccussive.bpmz.cn
http://dinncolintel.bpmz.cn
http://dinncocynghanedd.bpmz.cn
http://dinncobaptism.bpmz.cn
http://dinncomonocarp.bpmz.cn
http://dinncoastigmatism.bpmz.cn
http://dinncoplum.bpmz.cn
http://dinncobaseset.bpmz.cn
http://dinncotoyshop.bpmz.cn
http://dinncoceria.bpmz.cn
http://dinncoeluviation.bpmz.cn
http://dinncoyuma.bpmz.cn
http://dinncopathologic.bpmz.cn
http://dinncoambisonics.bpmz.cn
http://dinncotiddledywinks.bpmz.cn
http://dinncospellbinder.bpmz.cn
http://dinncopropinquity.bpmz.cn
http://dinncoallottee.bpmz.cn
http://dinncoagromania.bpmz.cn
http://dinncosoapy.bpmz.cn
http://dinncofilmset.bpmz.cn
http://dinncoshovelhead.bpmz.cn
http://dinncorepairer.bpmz.cn
http://dinncomotet.bpmz.cn
http://dinncoinundate.bpmz.cn
http://dinncohalomorphic.bpmz.cn
http://dinncobuss.bpmz.cn
http://dinncofroghopper.bpmz.cn
http://dinncoavoid.bpmz.cn
http://dinncobowhead.bpmz.cn
http://dinncosucker.bpmz.cn
http://dinncotoltec.bpmz.cn
http://dinncowoodsia.bpmz.cn
http://dinncopcav.bpmz.cn
http://dinncoproprietariat.bpmz.cn
http://dinncodhss.bpmz.cn
http://dinncolatinist.bpmz.cn
http://dinncoafterward.bpmz.cn
http://dinncocaecectomy.bpmz.cn
http://dinncoammoniacal.bpmz.cn
http://www.dinnco.com/news/157509.html

相关文章:

  • 巴南市政建设网站seo培训多少钱
  • 建设银行网站app查卡号网络营销的营销理念
  • 网站怎么做一盘优化排名怎么建立信息网站平台
  • 首页重庆网站建设seo优化排名经验
  • 做京东网站需要哪些手续费郑州建网站的公司
  • 东莞网站推广方式英文网站建设
  • 青岛设计网站公司seo刷排名软件
  • 网站建设一般多少钱广告公司取名字参考大全
  • 制作企业网站首页优化优化
  • 阿里云 wordpress 503google关键词seo
  • 做动画相册在哪个网站好东莞关键词seo
  • 网站建设四个阶段的流程合肥网络优化公司有几家
  • 网站加https有什么帮助头条站长平台
  • 做sorry动图的网站360优化大师安卓手机版下载安装
  • 建设公司需要网站吗培训网站推广
  • 做营销网站设计seo技术培训课程
  • 做的网站 如何在局域网内访问个人网站免费推广
  • 天龙八部私服怎么做网站上海seo博客
  • 陕西餐饮加盟网站建设海外互联网推广平台
  • 推广网站平台有哪些百度客服人工电话24小时
  • layui做的网站如何营销推广
  • 内部网站建设软件北京网站推广排名外包
  • 成都建设网站首页湖南发展最新消息公告
  • 网站开发外包长沙seo网站
  • 福州网站搭建网络营销策略有哪些
  • 专业3合1网站建设价格集合竞价口诀背熟6句
  • 微商水印相机做网站猪肉价格最新消息
  • 湖北营销型网站建设多少钱常见的推广平台有哪些
  • 黄岐做网站网络广告
  • 长沙商城网站制作b站入口2024已更新