公司网站建设费用包括哪些免费做网站的公司

web/2025/9/30 9:48:10/文章来源:
公司网站建设费用包括哪些,免费做网站的公司,网奇e游通旅游网站建设系统如何修改上传到服务器,域名空间做网站目录 一、JShell 二、Dynamic Class-File Constants类文件新添的一种结构 三、局部变量类型推断#xff08;var ”关键字”#xff09; 四、新加的一些实用API 1. 新的本机不可修改集合API 2. Stream 加强 3. String 加强 4. Optional 加强 5. 改进的文件API 五、移…目录 一、JShell 二、Dynamic Class-File Constants类文件新添的一种结构 三、局部变量类型推断var ”关键字” 四、新加的一些实用API 1. 新的本机不可修改集合API 2. Stream 加强 3. String 加强 4. Optional 加强 5. 改进的文件API 五、移除的一些其他内容 六、标准Java异步HTTP客户端 七、更简化的编译运行程序 八、Unicode 10 九、Remove the JavaEE and CORBA Moudles 十、JEP : 335 : Deprecate the Nashorn JavaScript Engine  十一、JEP : 336 : Deprecate the Pack200 Tools and API  十二、新的Epsilon垃圾收集器 十三、ZGC 十四、支持G1上的并行完全垃圾收集 十五、JEP 331 : Low-Overhead Heap Profiling免费的低耗能飞行记录仪和堆分析仪 Oracle 表示会对 Java 11 提供大力支持这一支持将会持续至 2026 年 9 月。这是据 Java 8 以后支持的首个长期版本。jdk9和jdk10不是所以接下来介绍的有一些可能是在jdk9或者jdk10就已经支持的。 下面介绍的重点关注以下几个新特性即可 JEP 321HTTP Client 标准化JEP 333ZGC(可伸缩低延迟垃圾收集器)JEP 323Lambda 参数的局部变量语法JEP 330启动单文件源代码程序 一、JShell java9引入了jshell这个交互性工具让Java也可以像脚本语言一样来运行可以从控制台启动 jshell 在 jshell 中直接输入表达式并查看其执行结果。当需要测试一个方法的运行效果或是快速的对表达式进行求值时jshell 都非常实用。 把环境变量换成Jdk9然后打开cmd查看jdk版本为11输入jshell就可以开启 尝试使用 除了表达式之外还可以创建 Java 类和方法。jshell 也有基本的代码完成功能。我们在教人们如何编写 Java 的过程中不再需要解释 “public static void mainString [] args” 这句废话。  二、Dynamic Class-File Constants类文件新添的一种结构 Java的类型文件格式将被拓展支持一种新的常量池格式CONSTANT_Dynamic加载CONSTANT_Dynamic会将创建委托给bootstrap方法。 其目标是降低开发新形式的可实现类文件约束带来的成本和干扰。 三、局部变量类型推断var ”关键字” var javastack javastack;System.out.println(javastack); 局部变量类型推断就是左边的类型直接使用 var 定义而不用写具体的类型编译器能根据右边的表达式自动推断类型如上面的 String 。 var javastack javastack; 就等于 String javastack javastack; 在声明隐式类型的lambda表达式的形参时允许使用var 使用var的好处是在使用lambda表达式时给参数加上注解 (Deprecated var x, Nullable var y) - x.process(y); 四、新加的一些实用API 1. 新的本机不可修改集合API 自 Java 9 开始Jdk 里面为集合List/ Set/ Map都添加了 of 和 copyOf 方法它们两个都用来创建不可变的集合来看下它们的使用和区别。 示例1 var list List.of(Java, Python, C);var copy List.copyOf(list);System.out.println(list copy); // true 示例2 var list new ArrayListString();var copy List.copyOf(list);System.out.println(list copy); // false 示例1和2代码差不多为什么一个为true,一个为false? 来看下它们的源码 static E ListE of(E... elements) {switch (elements.length) { // implicit null check of elementscase 0:return ImmutableCollections.emptyList();case 1:return new ImmutableCollections.List12(elements[0]);case 2:return new ImmutableCollections.List12(elements[0], elements[1]);default:return new ImmutableCollections.ListN(elements);} } static E ListE copyOf(Collection? extends E coll) {return ImmutableCollections.listCopy(coll); } static E ListE listCopy(Collection? extends E coll) {if (coll instanceof AbstractImmutableList coll.getClass() ! SubList.class) {return (ListE)coll;} else {return (ListE)List.of(coll.toArray());} } 可以看出 copyOf 方法会先判断来源集合是不是 AbstractImmutableList 类型的如果是就直接返回如果不是则调用 of 创建一个新的集合。 示例2因为用的 new 创建的集合不属于不可变 AbstractImmutableList 类的子类所以 copyOf 方法又创建了一个新的实例所以为false. 注意使用of和copyOf创建的集合为不可变集合不能进行添加、删除、替换、排序等操作不然会报 java.lang.UnsupportedOperationException 异常。 上面演示了 List 的 of 和 copyOf 方法Set 和 Map 接口都有。 除了更短和更好阅读之外这些方法也可以避免您选择特定的集合实现。在创建后继续添加元素到这些集合会导致 “UnsupportedOperationException” 2. Stream 加强 Stream 是 Java 8 中的新特性Java 9 开始对 Stream 增加了以下 4 个新方法。 1) 增加单个参数构造方法可为null Stream.ofNullable(null).count(); // 0 2) 增加 takeWhile 和 dropWhile 方法 Stream.of(1, 2, 3, 2, 1).takeWhile(n - n 3).collect(Collectors.toList()); // [1, 2] 从第一个元素开始计算将n3的元素留下当 n 3 时就截止。 Stream.of(1, 2, 3, 2, 1).dropWhile(n - n 3).collect(Collectors.toList()); // [3, 2, 1] 这个和上面的相反一旦 n 3 不成立就开始计算。 3iterate重载 这个 iterate 方法的新重载方法可以让你提供一个 Predicate (判断条件)来指定什么时候结束迭代。 3. String 加强 如以下所示。 // 判断字符串是否为空白 .isBlank(); // true// 去除首尾空白 Javastack .strip(); // Javastack// 去除尾部空格 Javastack .stripTrailing(); // Javastack// 去除首部空格 Javastack .stripLeading(); // Javastack // 复制字符串Java.repeat(3);// JavaJavaJava// 行数统计A\nB\nC.lines().count(); // 3 4. Optional 加强 Opthonal 也增加了几个非常酷的方法现在可以很方便的将一个 Optional 转换成一个 Stream, 或者当一个空 Optional 时给它一个替代的。 Optional.of(javastack).orElseThrow(); // javastackOptional.of(javastack).stream().count(); // 1Optional.ofNullable(null).or(() - Optional.of(javastack)).get(); // javastack 5. 改进的文件API InputStream 终于有了一个非常有用的方法transferTo可以用来将数据直接传输到 OutputStream这是在处理原始数据流时非常常见的一种用法如下示例。 var classLoader ClassLoader.getSystemClassLoader();var inputStream classLoader.getResourceAsStream(javastack.txt);var javastack File.createTempFile(javastack2, txt);try (var outputStream new FileOutputStream(javastack)) {inputStream.transferTo(outputStream);} 五、移除的一些其他内容 1、移除项 移除了com.sun.awt.AWTUtilities移除了sun.misc.Unsafe.defineClass使用java.lang.invoke.MethodHandles.Lookup.defineClass来替代移除了Thread.destroy()以及 Thread.stop(Throwable)方法移除了sun.nio.ch.disableSystemWideOverlappingFileLockCheck、sun.locale.formatasdefault属性移除了jdk.snmp模块移除了javafxopenjdk估计是从java10版本就移除了oracle jdk10还尚未移除javafx而java11版本则oracle的jdk版本也移除了javafx移除了Java Mission Control从JDK中移除之后需要自己单独下载移除了这些Root Certificates Baltimore Cybertrust Code Signing CASECOM AOL and Swisscom 2、废弃项 -XXAggressiveOpts选项-XX:UnlockCommercialFeatures-XX:LogCommercialFeatures选项也不再需要 六、标准Java异步HTTP客户端 这是 Java 9 开始引入的一个处理 HTTP 请求的的 HTTP Client API该 API 支持同步和异步而在 Java 11 中已经为正式可用状态你可以在 java.net 包中找到这个 API。 来看一下 HTTP Client 的用法 public class HTTPClientTest {Testpublic void testName2() throws Exception {HttpClient client HttpClient.newHttpClient(); // 创建Http客户端// 工厂模式通过build获得HttpRequest对象HttpRequest request HttpRequest.newBuilder(URI.create(http://127.0.0.1:8080/test/)).build();// 返回内容的解析器将返回内容转化为StringBodyHandlerString responseBodyHandler BodyHandlers.ofString();// 异步请求非阻塞式CompletableFutureHttpResponseString sendAsync client.sendAsync(request, responseBodyHandler);sendAsync.thenApply(t - t.body()).thenAccept(System.out::println);//HttpResponseString response sendAsync.get();//String body response.body();//System.out.println(body);}Testpublic void testName() throws Exception {HttpClient client HttpClient.newHttpClient();HttpRequest request HttpRequest.newBuilder(URI.create(http://127.0.0.1:8080/test/)).build();BodyHandlerString responseBodyHandler BodyHandlers.ofString();// 同步请求阻塞式HttpResponseString response client.send(request, responseBodyHandler);String body response.body();System.out.println(body);} } 上面的 .GET() 可以省略默认请求方式为 Get 七、更简化的编译运行程序 JEP 330 : 增强java启动器支持运行单个java源代码文件的程序. 一个命令编译运行源代码看下面的代码。 // 编译javac Javastack.java// 运行java Javastack 在我们的认知里面要运行一个 Java 源代码必须先编译再运行两步执行动作。而在未来的 Java 11 版本中通过一个 java 命令就直接搞定了如以下所示。 java Javastack.java 注意点 : 执行源文件中的第一个类, 第一个类必须包含主方法并且不可以使用别源文件中的自定义类, 本文件中的自定义类是可以使用的. 八、Unicode 10 Unicode 10 增加了8518个字符, 总计达到了136690个字符. 并且增加了4个脚本.同时还有56个新的emoji表情符号 九、Remove the JavaEE and CORBA Moudles 在java11中移除了不太使用的JavaEE模块和CORBA技术 CORBA来自于二十世纪九十年代Oracle说现在用CORBA开发现代Java应用程序已经没有意义了维护CORBA的成本已经超过了保留它带来的好处。 但是删除CORBA将使得那些依赖于JDK提供部分CORBA API的CORBA实现无法运行。目前还没有第三方CORBA版本也不确定是否会有第三方愿意接手CORBA API的维护工作。 在java11中将java9标记废弃的Java EE及CORBA模块移除掉具体如下 1、xml相关的 java.xml.ws, java.xml.bind java.xml.ws java.xml.ws.annotation jdk.xml.bind jdk.xml.ws被移除 只剩下java.xmljava.xml.crypto,jdk.xml.dom这几个模块 2、java.corba java.se.ee java.activation java.transaction被移除 但是java11新增一个java.transaction.xa模块 十、JEP : 335 : Deprecate the Nashorn JavaScript Engine  废除Nashorn javascript引擎在后续版本准备移除掉有需要的可以考虑使用GraalVM  十一、JEP : 336 : Deprecate the Pack200 Tools and API  Java5中带了一个压缩工具:Pack200这个工具能对普通的jar文件进行高效压缩。其  实现原理是根据Java类特有的结构合并常数  池去掉无用信息等来实现对java类的高效压缩。由于是专门对Java类进行压缩的所以对普通文件的压缩和普通压缩软件没有什么两样但是对于Jar  文件却能轻易达到10-40%的压缩率。这在Java应用部署中很有用尤其对于移动Java计算能够大大减小代码下载量。 Java5中还提供了这一技术的API接口你可以将其嵌入到你的程序中使用。使用的方法很简单下面的短短几行代码即可以实现jar的压缩和解压 压缩 Packer packerPack200.newPacker();OutputStream outputnew BufferedOutputStream(new  FileOutputStream(outfile));packer.pack(new JarFile(jarFile), output);output.close(); 解压 Unpacker unpackerPack200.newUnpacker();outputnew JarOutputStream(new FileOutputStream(jarFile));unpacker.unpack(pack200File, output);output.close(); Pack200的压缩和解压缩速度是比较快的而且压缩率也是很惊人的在我是使用  的包4.46MB压缩后成了1.44MB0.322%而且随着包的越大压缩率会根据明显据说如果jar包都是class类可以压缩到1/9的大  小。其实JavaWebStart还有很多功能例如可以按不同的jar包进行lazy下载和 单独更新设置可以根据jar中的类变动进行class粒度的下载。 但是在java11中废除了pack200以及unpack200工具以及java.util.jar中的Pack200 API。因为Pack200主要是用来压缩jar包的工具由于网络下载速度的提升以及java9引入模块化系统之后不再依赖Pack200因此这个版本将其移除掉。 十二、新的Epsilon垃圾收集器 A NoOp Garbage Collector JDK上对这个特性的描述是: 开发一个处理内存分配但不实现任何实际内存回收机制的GC, 一旦可用堆内存用完, JVM就会退出. 如果有System.gc()调用, 实际上什么也不会发生(这种场景下和-XX:DisableExplicitGC效果一样), 因为没有内存回收, 这个实现可能会警告用户尝试强制GC是徒劳. 用法 : -XX:UnlockExperimentalVMOptions -XX:UseEpsilonGC class Garbage {int n (int)(Math.random() * 100);Overridepublic void finalize() {System.out.println(this : n is dying);} } public class EpsilonTest {public static void main(String[] args) {boolean flag true;ListGarbage list new ArrayList();long count 0;while (flag) {list.add(new Garbage());if (list.size() 1000000 count 0) {list.clear();count;}}System.out.println(程序结束);} } 如果使用选项-XX:UseEpsilonGC, 程序很快就因为堆空间不足而退出 使用这个选项的原因 : 提供完全被动的GC实现, 具有有限的分配限制和尽可能低的延迟开销,但代价是内存占用和内存吞吐量. 众所周知, java实现可广泛选择高度可配置的GC实现. 各种可用的收集器最终满足不同的需求, 即使它们的可配置性使它们的功能相交. 有时更容易维护单独的实现, 而不是在现有GC实现上堆积另一个配置选项. 主要用途如下 : 1、性能测试(它可以帮助过滤掉GC引起的性能假象)2、内存压力测试(例如,知道测试用例 应该分配不超过1GB的内存, 我们可以使用-Xmx1g –XX:UseEpsilonGC, 如果程序有问题, 则程序会崩溃) 非常短的JOB任务(对象这种任务, 接受GC清理堆那都是浪费空间) 1、VM接口测试 2、Last-drop 延迟吞吐改进 十三、ZGC ZGC, A Scalable Low-Latency Garbage Collector(Experimental) ZGC, 这应该是JDK11最为瞩目的特性, 没有之一. 但是后面带了Experimental, 说明这还不建议用到生产环境. 1、GC暂停时间不会超过10ms         2、既能处理几百兆的小堆, 也能处理几个T的大堆(OMG)         3、和G1相比, 应用吞吐能力不会下降超过15%         4、为未来的GC功能和利用colord指针以及Load barriers优化奠定基础         5、初始只支持64位系统 ZGC的设计目标是支持TB级内存容量暂停时间低10ms对整个程序吞吐量的影响小于15%。 将来还可以扩展实现机制以支持不少令人兴奋的功能例如多层堆即热对象置于DRAM和冷对象置于NVMe闪存或压缩堆。 GC是java主要优势之一. 然而, 当GC停顿太长, 就会开始影响应用的响应时间.消除或者减少GC停顿时长, java将对更广泛的应用场景是一个更有吸引力的平台. 此外, 现代系统中可用内存不断增长,用户和程序员希望JVM能够以高效的方式充分利用这些内存, 并且无需长时间的GC暂停时间. ZGC是一个并发, 基于region, 压缩型的垃圾收集器, 只有root扫描阶段会STW, 因此GC停顿时间不会随着堆的增长和存活对象的增长而变长. 用法 : -XX:UnlockExperimentalVMOptions –XX:UseZGC, 因为ZGC还处于实验阶段, 所以需要通过JVM参数来解锁这个特性 详细可看新一代垃圾回收器ZGC的探索与实践 - 美团技术团队 (meituan.com) 十四、支持G1上的并行完全垃圾收集 对于 G1 GC相比于 JDK 8升级到 JDK 11 即可免费享受到并行的 Full GC快速的 CardTable 扫描自适应的堆占用比例调整IHOP在并发标记阶段的类型卸载等等。这些都是针对 G1 的不断增强其中串行 Full GC 等甚至是曾经被广泛诟病的短板你会发现 GC 配置和调优在 JDK11 中越来越方便。 十五、JEP 331 : Low-Overhead Heap Profiling免费的低耗能飞行记录仪和堆分析仪 通过JVMTI的SampledObjectAlloc回调提供了一个开销低的heap分析方式 提供一个低开销的, 为了排错java应用问题, 以及JVM问题的数据收集框架, 希望达到的目标如下 :         提供用于生产和消费数据作为事件的API         提供缓存机制和二进制数据格式         允许事件配置和事件过滤         提供OS,JVM和JDK库的事件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/84391.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

自己在线制作logo免费网站心理学门户网站开发与实现

🍅 点击文末小卡片 ,免费获取网络安全全套资料,资料在手,涨薪更快 研判(入侵检测) 研判我理解为人工层面对入侵检测事件进行再分析,即借助已有的设备告警根据经验判断是否为真实action 研判工作…

昆山公司网站建设电话免费网站建设 免备案

JIRA 重建索引加快速度 JIRA数据量大时,做一遍reindex的速度会很慢,经常需要几个小时 这是后需要查看CPU,如果做reindex时候CPU占用率不高,增加 index的线程数以加快 reindex 配置步骤 停止掉JIRA在home目录下的 jira-config.…

南充北京网站建设域名价格排行

目录 一、EnableWebMvcSecurity 二、MvcRequestMatcher 三、AuthenticationPrincipal 四、异步 Spring MVC 整合 五、Spring MVC 和 CSRF 整合 1、自动包含 Token 2、解析 CsrfToken Spring Security提供了一些与Spring MVC的可选整合。本节将进一步详细介绍这种整合。 …

h5网站制作价格大连企业做网站

TCP是通过确认机制和超时重传机制实现可靠传输 UDP UDP它不属于连接型协议,因而具有资源消耗小,处理速度快的优点,所以通常音频、视频和普通数据在传送时使用UDP较多,因为它们即使偶尔丢失一两个数据包,也不会对接收结…

asp企业网站源码docker wordpress 备份

学习是有境界的,下面以C语言中的结构型为例简单分析。 第一种境界:理解了。 结构型是自定义数据类型,与C语言中基本的数据类型如int的作用相同,用于定义变量。(变量是内存中存储单元的标识,C语言中通过变…

数字营销 h5 网站开发外包岗位为什么不能去

目录 面试官:redis的分片集群有什么作用 面试官:Redis分片集群中数据是怎么存储和读取的? 面试官:redis的分片集群有什么作用 候选人:分片集群主要解决的是,海量数据存储的问题,集群中有多个m…

网站制作 常见问题广告设计与制作需要学什么专业

用手机号申请了163免费邮箱,在网页端或手机网易邮箱客户端可以正常登录,但在电脑Foxmail客户端中,按相同的邮件服务器进行设置,显示密码不正确。难道163邮箱已经不支持PC中的Foxmail客户端了吗?让我们一同探究解决之道…

用织梦网站后台发布文章为什么还需要审核河南开封网站建设

id:19 A.三数论大小(引用) 题目描述 输入三个整数,然后按照从大到小的顺序输出数值。 要求:定义一个函数,无返回值,函数参数是三个整数参数的引用,例如int &a, int &b, int &c。…

检察院网站建设自查如何做360购物网站

目录 前言 一、设计理念 1.1 支持不同的计算设备与计算单元 1.2 存储空间的分配与维护 1.2.1 简单内存池的实现 1.3 浅拷贝与写操作检测 1.4 底层接口扩展 1.5 类型转换与求值 1.6 数据接口与规范 前言 一个深度学习框架的初步实现为例,讨论如何在一个相对…

怎么给网站添加图标做视频有收益的网站

目录 dirsearch下载地址: githack下载(一次不成功可多试几次) 一、什么是Git 1.git结构 2.git常用命令及示例 3.Git泄露原理 二、Git泄露 1.Log 2.Stash 3.Index 工具准备:dirsearch、githack dirsearch下载地址: GitHub - mauroso…

猎奇网站源码垂直类网站怎么做

在当今的自动化工业领域,川崎工业机器人以其卓越的性能和可靠的工作效率赢得了广泛的赞誉。作为机器人的核心组成部分,伺服电机的作用至关重要。然而,就像所有机械设备一样,也可能会遭遇电机磨损或故障,需要适时的川崎…

龙岗区网站建设哪个公司好东莞网站制作百年

目录 说明: 1. 参数模型(全局字典) 2. 实现过程(C) 创建功能包 参数命令行的使用 YAML参数文件 rosparam命令 使用示例 编程方法(C) 配置代码编译规则 编译并运行 编译 运行 3. 实…

保定模板建站哪家好淮南网站建设

最近很无聊.....得到了3天假期~~~ 于是乎把Ubuntu10.10下载下来安装了 结果第二天root用户就登陆不上了 进入单用户模式后读shower文件发现密码那就一"!" 真是奇怪.... 之前在网上查说passwd命令没加载... 结果明明加载了 改了之后终于用上root权限了 结果又是惨…

企业网站规划书范文如何做网站诊断

使用conda或anaconda的小伙伴们都知道,图形界面时不靠谱的,而在命令行下,所有的操作就会稳定很多,且极少出现问题。因此,熟记conda的命令行就变得十分有用。但对于我这样近50岁依旧奋斗在代码第一线的大龄程序员而已&a…

网站推广文案手机网站怎么导入微信

本文来自pilishen.com----原文链接; 欢迎来和pilishen一起学习php&Laravel;学习群:109256050OAuth2是一个安全框架,控制着程序受保护部分的准入,主要是控制不同的客户端如何来调取API,保证它们在请求相应资源的时候…

网站前台 后台无限免费视频直播

前言 在一个句子,哪怕其中的每个单词都拼写正确,而且语法也无懈可击,仍然可能有歧义或者并非书写者希望表达的意思。程序也有可能表面上是一个意思,而实际上的意思却相差甚远。本篇讲述了几种可能引起上述歧义的程序书写方式 1、…

建设网站工作室如何管理好一个团队

配置 昇腾 Ascend C/C 开发环境 flyfish 这里以Orange Pi Ai Pro 为例 先说如何配置MindStudio,然后再说如何查看Orange Pi Ai Pro的一些信息 Orange Pi AI Pro 开发板是香橙派联合华为精心打造的高性能AI 开发板,其搭载了昇腾 AI 处理器。Linux 桌面…

企业网站建设费属于办公费吗整站排名优化公司

如今为了适应需求的不断变化,动态表单设计器应运而生。它主要是为了满足界面的不断变化和提高开发速度。比如:一些页面客户可能也无法确定页面的终于布局,控件的位置,在哪种情况下显示或不显示等可能须要随时改动。为了应对这些需…

禹城做网站的百度seo规则最新

在微信视频号中看到喜欢的视频,想要缓存下载到手机,却怎么也找不到办法。很多朋友会选择去录屏,但保存下来的视频实在是不美观,而且费时费力!着实没必要!下面给大家推荐一款亲测有效的微信视频号视频下载方…

网站关键词优化代理电子商务网站开发目的

多线程编程 (1) -NSThread 每个iOS应用程序都有个专门用来更新显示UI界面、处理用户触摸事件的主线程,因此不能将其他太耗时的操作放在主线程中执行,不然会造成主线程堵塞(出现卡机现象),带来极坏的用户体验。一般的解决方案就是将那些耗时的…