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

做网站建设要学多久/seo培训讲师招聘

做网站建设要学多久,seo培训讲师招聘,网站安全建设管理制度,客户评价 网站建设JDK9新特性 1.模块化系统 jar包结构的变化 jar -》model -》package -》class 通过不同的模块进行开发 每个模块都有自己的模块配置文件module-info.java 2.JShell JDK9自带的命令行开发,在进行简单的代码调试时可以直接编译使用 可以定义变量,方法&…

JDK9新特性

1.模块化系统

      jar包结构的变化

        jar -》model -》package -》class

      通过不同的模块进行开发

      每个模块都有自己的模块配置文件module-info.java

2.JShell

        JDK9自带的命令行开发,在进行简单的代码调试时可以直接编译使用

        可以定义变量,方法,和java中的一样

        /list 所有的代码片段 /vars 所有的变量  /methods 所有的方法

 

3.接口私有方法

       

4.钻石操作符使用升级

在jdk8中,如下代码是报错的

Comparator<Object> com = new Comparator<>() {@Overridepublic int compare(Object o1, Object o2) {return 0;}
};

<>必须写类型。

而在jdk9中,上述代码就不报错,这是对<>钻石运算符的一个升级。

5.try语句升级

6.String存储结构变更

String底层的char[]字符数组发生改变,变成了byte[]字节数组

StringBuffer和StringBuilder也变成了byte[]字节数组

ISO-8859-1/Latin-1(每个字节一个字节)的字符字符)或UTF-16(每个字符两个字节),具体取决于内容字符串的。编码标志将指示使用哪种编码。

7.集合特性of

public class Demo {public static void main(String[] args) {//对于不可变集合的增强//JDK8创建一个不可变集合ArrayList<String> list = new ArrayList<>();list.add("张三");list.add("张三");list.add("张三");//集合工具类Collection<String> results = Collections.unmodifiableCollection(list);System.out.println(results);//报错/*results.add("李四");System.out.println(results);*///JDK9中创建自读集合List<String> list2 = List.of("张三", "张三", "张三");//报错/*list2.set(0,"李四");*/System.out.println(list2);Set<String> set1 = Set.of("AA", "BB", "CC");System.out.println(set1);Map<String, String> map = Map.of("k1", "v1", "k2", "v2");System.out.println(map);}
}

8.InputStream增强

public class Demo {public static void main(String[] args) throws Exception{//直接通过一个方法将输入流传递到输出流FileInputStream fileInputStream = new FileInputStream("D:\\a.txt");FileOutputStream fileOutputStream = new FileOutputStream("D:\\b.txt");try(fileOutputStream;fileInputStream) {fileInputStream.transferTo(fileOutputStream);}catch (IOException e){e.printStackTrace();}}
}

9.增强的Stream API

public class Demo {public static void main(String[] args) {//从开头开始,到第一个不满足条件的结束List<Integer> list = Arrays.asList(10,20,30,40,30,20,10);list.stream().takeWhile(t->t<40).forEach(System.out::println);//和takeWhile相反,从头开始第一个不满足开始后面的List<Integer> list2 = Arrays.asList(5,20,30,50,60,20,10);list2.stream().dropWhile(t->t<40).forEach(System.out::println);//允许通过Stream<String> streams = Stream.of("AA","BB",null);System.out.println(streams.count());//不允许通过Stream<Object> stream1 = Stream.of(null);System.out.println(stream1.count());//允许通过,ofNullable中可以为一个nullStream<Object> stream2 = Stream.ofNullable(null);System.out.println(stream2.count());//iterate//可以提供条件结束迭代//原本的方式Stream.iterate(1,integer -> integer + 1).limit(50).forEach(System.out::println);//增强的方式//条件写在括号里面Stream.iterate(1,i -> i<60,i -> i + 1).forEach(System.out::println);}
}

10.Optional 类中stream()使用

public class Demo {public static void main(String[] args) {List<String> list = new ArrayList<>();list.add("张三");list.add("李四");list.add("王五");list.add("赵六");Optional<List<String>> optional = Optional.ofNullable(list);optional.stream().forEach(System.out::println);//flatMap可以便利Optional中的每一个元素optional.stream().flatMap(x->x.stream()).forEach(System.out::println);}
}

JDK10新特性

1.局部变量类型推断

java是强语言类型,前面是什么类型,后面就是什么类型,这个var能推断出后面是什么类型

js是弱语言类型,什么类型都行

public class Demo {public static void main(String[] args) {//局部类型推断var i = 1;var list = new ArrayList<String>();//不能推断的情况//初始值为nullvar a = null;//方法引用var r = System.out::println;//Lambda表达式var c = (Integer b) -> {return b+"";};var d = {2,3,4};}
}

var 不是一个关键字:你不需要担心变量名或方法名会与 var发生冲突

2.新增不可变集合方法(只读)

public class Demo1 {public static void main(String[] args) {//只读集合增强//将不是只读集合的集合变成只读集合//copyOf//示例1var list1 = List.of("AA","BB","CC");var list2 = List.copyOf(list1);System.out.println(list1==list2);//true//示例2var list3 = new ArrayList<String>();list3.add("AA");list3.add("BB");List<String> list4 = List.copyOf(list3);System.out.println(list3==list4); //false}
}

JDK11新特性

1.垃圾回收器ZGC

2.Optional加强

isEmpty()判断是否为空

3.新增HTTP客户端API

public static void main(String[] args) throws Exception {HttpClient client = HttpClient.newHttpClient();HttpRequest request =HttpRequest.newBuilder(URI.create("http://www.baidu.com")).build();HttpResponse.BodyHandler<String> responseBodyHandler = HttpResponse.BodyHandlers.ofString();HttpResponse<String> response = client.send(request, responseBodyHandler);String body = response.body();System.out.println(body);
}

JDK 14 新特性

空指针异常更加具体

JDK 16 新特性

switch增强

public class Demo {public static void main(String[] args) {int level = new Random().nextInt(12);String jiJi = null;switch (level){case 3,4,5 -> jiJi =  "春天";case 6,7,8 -> jiJi =  "夏天";case 9,10,11 -> jiJi =  "秋天";case 12,1,2 -> jiJi = "冬天";};System.out.println(jiJi);}
}

相关文章:

阶段十-java新特性

JDK9新特性 1.模块化系统 jar包结构的变化 jar -》model -》package -》class 通过不同的模块进行开发 每个模块都有自己的模块配置文件module-info.java 2.JShell JDK9自带的命令行开发&#xff0c;在进行简单的代码调试时可以直接编译使用 可以定义变量&#xff0c;方法&…...

win10重装系统历程

win10系统更新出问题了&#xff0c;重置系统卡死&#xff0c;遂决定重装。 微软官方工具制作U盘启动盘&#xff0c; 进行到分区时&#xff0c;一冲动把盘都格式化了&#xff0c; 后面了解到&#xff0c;即便进不了系统也有办法备份数据的... 进行到安装时&#xff0c;提示W…...

【知识积累】深度度量学习综述

原文指路&#xff1a;https://hav4ik.github.io/articles/deep-metric-learning-survey Problem Setting of Supervised Metric Learning 深度度量学习是一组旨在衡量数据样本之间相似性的技术。 Contrastive Approaches 对比方法的主要思想是设计一个损失函数&#xff0c;直…...

webrtc网之sip转webrtc

OpenSIP是一个开源的SIP&#xff08;Session Initiation Protocol&#xff09;服务器&#xff0c;它提供了一个可扩展的基础架构&#xff0c;用于建立、终止和管理VoIP&#xff08;Voice over IP&#xff09;通信会话。SIP是一种通信协议&#xff0c;用于建立、修改和终止多媒体…...

【Spring】依赖注入之属性注入详解

前言&#xff1a; 我们在进行web开发时&#xff0c;基本上一个接口对应一个实现类&#xff0c;比如IOrderService接口对应一个OrderServiceImpl实现类&#xff0c;给OrderServiceImpl标注Service注解后&#xff0c;Spring在启动时就会将其注册成bean进行统一管理。在Co…...

6-tornado配置文件的使用(命令行解析、文件设置)

tornado.options options 可以让服务运行前提前设置参数&#xff0c;而常见的2种设置参数方式为&#xff1a;1. 命令行设置 2. 文件设置命令行解析 使用tornado.options.define前定义&#xff0c;通常在模块的顶层。 然后&#xff0c;可以将这些选项作为以下属性的属性进行访…...

k8s ingress service endpoints 解决微信服务器验证问题(内网穿透)

最近公司要搞微信公众号开发&#xff0c;想用自己公司内网的电脑调试&#xff0c;但涉及到微信服务器地址(URL)验证的问题&#xff08;内网穿透&#xff09;&#xff0c;查了网上一堆文章有推荐ngrok的&#xff0c;但被微信墙了&#xff1b;有推荐sunny-ngrok的&#xff0c;免费…...

postgresql-effective_cache_size参数详解

在 PostgreSQL 中&#xff0c;effective_cache_size 是一个配置参数&#xff0c;用于告诉查询规划器关于系统中可用缓存的估计信息。这个参数并不表示实际的内存量&#xff0c;而是用于告诉 PostgreSQL 查询规划器系统中可用的磁盘缓存和操作系统级别的文件系统缓存的大小。它用…...

CUDA锁页内存的使用

1.定义指针变量 float *host_Weights; // 锁页内存 float *dev_Weights; // 设备端内存2.分配内存 cudaHostAlloc((void**)&host_Weights, numInputs * sizeof(float), cudaHostAllocDefault); // 用锁页内存&#xff0c;可以有效加快数据传递速度 cudaMalloc((vo…...

python常见代码用法

1.result [[]] * n 和 result [[] for _ in range(n)] 辨析 n 3 result [[]] * nprint(result) # 输出&#xff1a;[[], # [], # []]print(result[0] is result[1] is result[2]) # 输出&#xff1a;True* 运算符进行复制&#xff0c;这些空列表实际…...

MTU TCP-MSS(转载)

MTU MTU 最大传输单元&#xff08;Maximum Transmission Unit&#xff0c;MTU&#xff09;用来通知对方所能接受数据服务单元的最大尺寸&#xff0c;说明发送方能够接受的有效载荷大小。 是包或帧的最大长度&#xff0c;一般以字节记。如果MTU过大&#xff0c;在碰到路由器时…...

【ARM Trace32(劳特巴赫) 高级篇 20 -- SNOOPer 使用介绍】

请阅读【Trace32 ARM 专栏导读】 文章目录 Trace32 SNOOPer 介绍SNOOPer 主要功能:SNOOPer 使用场景SNOOPer.ERRORSTOPSNOOPer.ModeSNOOPer.PCSNOOPer.RateSNOOPer.SELectSNOOPer.SIZESNOOPer.TDelaySNOOPer.TOutSNOOPer.TValueSNOOPer PC 采样Trace32 SNOOPer 介绍 在 Laut…...

MySQL笔记-第11章_数据处理之增删改

视频链接&#xff1a;【MySQL数据库入门到大牛&#xff0c;mysql安装到优化&#xff0c;百科全书级&#xff0c;全网天花板】 文章目录 第11章_数据处理之增删改1. 插入数据1.1 实际问题1.2 方式1&#xff1a;VALUES的方式添加1.3 方式2&#xff1a;将查询结果插入到表中 2. 更…...

ANSYS常见error解答(转)

根据SimC结构工作室这段时间的答疑总结&#xff0c;给出了部分关于ANSYS常见error的解释说明&#xff0c;希望对大家有所帮助。 1.KBC is not a recognized BEGIN command, abbreviation, or macro.This command will be ignored. 答&#xff1a;ANSYS 对命令的使用有严格的规…...

【Let‘s Encrypt SSL】使用 acme.sh 给 Nginx 安装 Let’s Encrypt 提供的免费 SSL 证书

安装acme.sh 安装 acme.sh 并设置邮箱用来接受重要通知&#xff0c;如证书快过期未更新通知 curl https://get.acme.sh | sh -s emailmyexample.com执行命令后几秒就安装好了&#xff0c;如果半天没有反应请 CtrlC 后重新执行命令。acme.sh 安装在 ~/.acme.sh 目录下&#xf…...

XML学习及应用

介绍XML语法及应用 1.XML基础知识1.1什么是XML语言1.2 XML 和 HTML 之间的差异1.3 XML 用途 2.XML语法2.1基础语法2.2XML元素2.3 XML属性2.4XML命名空间 3.XML验证3.1xml语法验证3.2自定义验证3.2.1 XML DTD3.2.2 XML Schema3.2.3PCDATA和CDATA区别3.2.4 参考 4.xml解析4.1准备…...

Docker部署Nacos集群并用nginx反向代理负载均衡

首先找到Nacos官网给的Github仓库&#xff0c;里面有docker compose可以快速启动Nacos集群。 文章目录 一. 脚本概况二. 自定义修改1. example/cluster-hostname.yaml2. example/.env3. env/mysql.env4. env/nacos-hostname.env 三、运行四、nginx反向代理&#xff0c;负载均衡…...

C++STL的stack和queue(超详解)

文章目录 前言stack栈的题目最小栈JZ31 栈的压入、弹出序列150. 逆波兰表达式求值 stack的模拟实现queue的模拟实现dequedeque底层设计 前言 栈和队列这一块其实有数据结构的基础&#xff0c;学起来非常简单。 stack 栈的成员函数就这么写&#xff0c;除了emplace其他都已经非…...

【C语言实现windows环境下Socket编程TCP/IP协议】

C语言实现windows环境下Socket编程TCP/IP协议 主要是记录解决一些在我本地编译运行时出现的问题connect &#xff1a;No error关于头文件关于stray /xxx和socket&#xff1a;No error问题千万记得是服务器先启动哦&#xff0c;客户端后启动下面附上我改好的代码 主要是记录解决…...

CGAL的3D简单网格数据结构

由具有多个曲面面片的多面体曲面生成的多域四面体网格。将显示完整的三角剖分&#xff0c;包括属于或不属于网格复合体、曲面面片和特征边的单元。 1、网格复合体、 此软件包致力于三维单纯形网格数据结构的表示。 一个3D单纯形复杂体由点、线段、三角形、四面体及其相应的组合…...

正则表达式(9):扩展正则表达式

正则表达式&#xff08;9&#xff09;&#xff1a;扩展正则表达式 小结 本博文转载自 前文中一直在说&#xff0c;在Linux中&#xff0c;正则表达式可以分为”基本正则表达式”和”扩展正则表达式”。 我们已经认识了”基本正则表达式”&#xff0c;现在&#xff0c;我们来认…...

静态SOCKS5:了解基本概念和协议

SOCKS5是一种网络协议&#xff0c;是SOCKS协议的第五个版本&#xff0c;它提供了一种安全的、加密的网络连接&#xff0c;可以帮助用户在互联网上保护自己的隐私和安全。静态SOCKS5是指使用静态IP地址和端口的SOCKS5代理服务器&#xff0c;这种代理服务器可以提供更稳定、更快速…...

用23种设计模式打造一个cocos creator的游戏框架----(十二)状态模式

1、模式标准 模式名称&#xff1a;状态模式 模式分类&#xff1a;行为型 模式意图&#xff1a;允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类。 结构图&#xff1a; 适用于&#xff1a; 1、一个对象的行为决定于它的状态&#xff0c;并且它必须…...

js 转换为数组并返回(Array.of())

Array提供了方法直接将一组值转换为数组并返回 Array.of()方法 Array.of(1,2,3) 结果...

git上传文件夹后打不开,有@.....

这种情况是你上传的这个文件夹也是个git仓库&#xff0c;需要删除.git文件。 如果你删除.git文件后&#xff0c;上传git还是不行&#xff0c;文件夹还是…&#xff0c;那就需要清理以下整个项目的缓存&#xff1a; git rm -r --cached ....

31、应急响应——Windows

文章目录 一、账户排查1.1 登录服务器的途径1.2 弱口令1.3 可疑账号 二、网络排查三、进程排查四、注册表排查五、内存分析 一、账户排查 1.1 登录服务器的途径 3389smb 445httpftp数据库中间件 1.2 弱口令 弱口令途径&#xff1a;3389、smb 445、http、ftp、数据库、中间件…...

QT linux下使用Qt Creator调试附加进程,加快调试

文章目录 一、调试附加进程二、配置流程&#xff08;1&#xff09;开放linux内核配置项&#xff08;2&#xff09;命令行直接启动程序&#xff08;3&#xff09;调试附加到进程 一、调试附加进程 使用附加进程调试要比直接调试速度要快&#xff0c;但是不足之处是&#xff0c;…...

IDEA Maven项目如何引用本地jar包,并打包发布

jar包位于当前路径下的lib目录中 引入所需要的配置 查看当前jar包的相关信息 包的引入,需要使用到当前包的artifactId, groupId, version 需要到包的/META-INF/maven/ 下面的 pom.xml 文件里面找 在Maven构建项目时&#xff0c;生成的依赖包中的/META-INF/maven目录存放了一些…...

Unity中Batching优化的GPU实例化(3)

文章目录 前言一、UNITY_SETUP_INSTANCE_ID(v);二、在UnityInstancing.cginc文件中&#xff0c;看一下Unity这句话做了什么1、使用了该 .cginc 后&#xff0c;会自动预定义该函数2、需要满足GPU实例化条件&#xff0c;才会执行对应语句3、满足GPU实例化后&#xff0c;主要执行的…...

Web应用JSON数据保护(密码算法、密钥、数字签名和数据加密)

1.JSON&#xff08;JavaScript Object Notation&#xff09; JSON是一种轻量级的数据交换格式&#xff0c;采用完全独立于编程语言的文本格式来存储和表示数据。JSON通过简单的key-value键值对来描述数据&#xff0c;可以被广泛用于网络通信、数据存储等各种应用场景&#xff0…...