肉山谷英雄传说新手任务登录英文网站怎么做装修网站建设网

news/2025/9/30 21:30:09/文章来源:
肉山谷英雄传说新手任务登录英文网站怎么做,装修网站建设网,山西网站建设费用,局域网wordpress文章目录 前言UUID 处理的更改正则表达式的更改结束 前言 Android 14 已经出来好久好久了… 今天其他的暂且不论#xff0c;单纯的讲一下 OpenJDK 17 更新的两点变更#xff08;扒源代码#xff09;~ 对正则表达式的更改UUID 处理 首先#xff0c;正则表达式的更改单纯的讲一下 OpenJDK 17 更新的两点变更扒源代码~ 对正则表达式的更改UUID 处理 首先正则表达式的更改现在为了更严格地遵循 OpenJDK 的语义不允许无效的组引用。您可能会看到 java.util.regex.Matcher 类抛出 IllegalArgumentException 的新情况因此请务必测试应用中使用正则表达式的情形。如需在测试期间启用或停用此变更请使用兼容性框架工具切换 DISALLOW_INVALID_GROUP_REFERENCE 标志。 其次UUID 处理现在验证输入参数时java.util.UUID.fromString() 方法会执行更严格的检查因此您可能会在反序列化期间看到 IllegalArgumentException。如需在测试期间启用或停用此变更请使用兼容性框架工具切换 ENABLE_STRICT_VALIDATION 标志。 巴拉巴拉以上是官网的言论诸君可以看官方的描述地址 UUID 处理的更改 原有代码逻辑~ /*** Creates a {code UUID} from the string standard representation as* described in the {link #toString} method.** param name* A string that specifies a {code UUID}** return A {code UUID} with the specified value** throws IllegalArgumentException* If name does not conform to the string representation as* described in {link #toString}**/public static UUID fromString(String name) {String[] components name.split(-);if (components.length ! 5)//仅会判断以-分割的数组长度是否等于5来抛出异常throw new IllegalArgumentException(Invalid UUID string: name);for (int i0; i5; i)components[i] 0xcomponents[i];long mostSigBits Long.decode(components[0]).longValue();mostSigBits 16;mostSigBits | Long.decode(components[1]).longValue();mostSigBits 16;mostSigBits | Long.decode(components[2]).longValue();long leastSigBits Long.decode(components[3]).longValue();leastSigBits 48;leastSigBits | Long.decode(components[4]).longValue();return new UUID(mostSigBits, leastSigBits);}新代码逻辑~ /*** Creates a {code UUID} from the string standard representation as* described in the {link #toString} method.** param name* A string that specifies a {code UUID}** return A {code UUID} with the specified value** throws IllegalArgumentException* If name does not conform to the string representation as* described in {link #toString}**/public static UUID fromString(String name) {// BEGIN Android-changed: Java 8 behaviour is more lenient and the new implementation// might break apps (b/254278943).// Using old implementation for apps targeting Android older than U.// 取反 如果设备的sdk版本大于等于 UPSIDE_DOWN_CAKE34的话且启用严格验证if (!(VMRuntime.getSdkVersion() VersionCodes.UPSIDE_DOWN_CAKE Compatibility.isChangeEnabled(ENABLE_STRICT_VALIDATION))) {return fromStringJava8(name);}//如果小于或者没开启严格验证则执行其他的验证 return fromStringCurrentJava(name);// END Android-changed: Java 8 behaviour is more lenient and the new implementation// might break apps (b/254278943).}如下是java8 的判断方式跟原来一致 /*** Extracted for testing purposes only.* hide*/public static UUID fromStringJava8(String name) {String[] components name.split(-);if (components.length ! 5)throw new IllegalArgumentException(Invalid UUID string: name);for (int i0; i5; i)components[i] 0xcomponents[i];long mostSigBits Long.decode(components[0]).longValue();mostSigBits 16;mostSigBits | Long.decode(components[1]).longValue();mostSigBits 16;mostSigBits | Long.decode(components[2]).longValue();long leastSigBits Long.decode(components[3]).longValue();leastSigBits 48;leastSigBits | Long.decode(components[4]).longValue();return new UUID(mostSigBits, leastSigBits);}如下是执行34或者开启严格验证的方法 /*** Extracted for testing purposes only.* hide*/public static UUID fromStringCurrentJava(String name) {if (name.length() 36) {char ch1 name.charAt(8);char ch2 name.charAt(13);char ch3 name.charAt(18);char ch4 name.charAt(23);if (ch1 - ch2 - ch3 - ch4 -) {long msb1 parse4Nibbles(name, 0);long msb2 parse4Nibbles(name, 4);long msb3 parse4Nibbles(name, 9);long msb4 parse4Nibbles(name, 14);long lsb1 parse4Nibbles(name, 19);long lsb2 parse4Nibbles(name, 24);long lsb3 parse4Nibbles(name, 28);long lsb4 parse4Nibbles(name, 32);if ((msb1 | msb2 | msb3 | msb4 | lsb1 | lsb2 | lsb3 | lsb4) 0) {return new UUID(msb1 48 | msb2 32 | msb3 16 | msb4,lsb1 48 | lsb2 32 | lsb3 16 | lsb4);}}}return fromString1(name);}private static UUID fromString1(String name) {int len name.length();if (len 36) {throw new IllegalArgumentException(UUID string too large);}int dash1 name.indexOf(-, 0);int dash2 name.indexOf(-, dash1 1);int dash3 name.indexOf(-, dash2 1);int dash4 name.indexOf(-, dash3 1);int dash5 name.indexOf(-, dash4 1);// For any valid input, dash1 through dash4 will be positive and dash5// negative, but its enough to check dash4 and dash5:// - if dash1 is -1, dash4 will be -1// - if dash1 is positive but dash2 is -1, dash4 will be -1// - if dash1 and dash2 is positive, dash3 will be -1, dash4 will be// positive, but so will dash5if (dash4 0 || dash5 0) {throw new IllegalArgumentException(Invalid UUID string: name);}long mostSigBits Long.parseLong(name, 0, dash1, 16) 0xffffffffL;mostSigBits 16;mostSigBits | Long.parseLong(name, dash1 1, dash2, 16) 0xffffL;mostSigBits 16;mostSigBits | Long.parseLong(name, dash2 1, dash3, 16) 0xffffL;long leastSigBits Long.parseLong(name, dash3 1, dash4, 16) 0xffffL;leastSigBits 48;leastSigBits | Long.parseLong(name, dash4 1, len, 16) 0xffffffffffffL;return new UUID(mostSigBits, leastSigBits);} 解析 从代码的角度看起来是多了好多验证梳理一下 1. 判断是否34sdk版本且未开启严格验证的情况下还是按照原有代码执行仅仅判断 以-分割的数组长度是否等于5若不等于5则主动抛出异常2. 如果sdk版本大于等于34且开启了严格验证则会执行fromStringCurrentJava fromString1方法fromStringCurrentJava方法中没有主动抛出异常的代码判断长度是否36不等于则执行 fromString1若等于则继续执行获取字符串下标8、13、18、23的值若这四个值不等于 - 则执行 fromString1 在fromString1 方法中传递的字符串长度不得大于36若超出则主动抛异常继续判断对于任何有效输入dash1 到 dash4 将为正数dash5 将为正数负数但检查 dash4 和 dash5 就足够了 若是dash4小于0dash5大于等于0则主动抛出异常正则表达式的更改 原有代码逻辑~ /*** Attempts to match the entire region against the pattern.** p If the match succeeds then more information can be obtained via the* ttstart/tt, ttend/tt, and ttgroup/tt methods. /p** return tttrue/tt if, and only if, the entire region sequence* matches this matchers pattern*/public boolean matches() {synchronized (this) {matchFound nativeMatcher.matches(groups);}return matchFound;新代码逻辑~ /*** Attempts to match the entire region against the pattern.** p If the match succeeds then more information can be obtained via the* {code start}, {code end}, and {code group} methods. /p** return {code true} if, and only if, the entire region sequence* matches this matchers pattern*/public boolean matches() {synchronized (this) {matchFound nativeMatcher.matches(groups);}//主要增加一个这个modCount;return matchFound;} modCount的描述 记录该匹配器状态被修改的次数 /*** Number of times this matchers state has been modified*/int modCount;结束 不是我说哈你都是系统代码了还起个 fromString1 这样的方法名称丢人不~ 就这有问题私聊我~ 再会~

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

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

相关文章

网站备案查询 工信部wordpress 删除标签页

导语 如果之前的单机版hadoop环境安装满足不了你,集群版hadoop一定合你胃口,轻松入手。目录 集群规划前置条件配置免密登录 3.1 生成密匙 3.2 免密登录 3.3 验证免密登录集群搭建 4.1 下载并解压 4.2 配置环境变量 4.4 修改配置 4.4 分发程序 4.5 初始化…

湛江企业自助建站时尚网站设计案例

1. 模型旋转角度尽量取整数,保证线条不会出现锯齿 2. 修改反锯齿模型为FXAA方式,默认的TemporalAA方式会闪烁 3. 动态更新的纹理尺寸一般都不会是2的N次方,比如401X518。 解决方案是 动态更新一张1024x1024的贴图的其中401X518,…

南宁网站建设招聘建设工程合同备案在什么网站上

2016只剩下不到百分之一的时间了,网上陆续看到各种企业或个人的总结或盘点,公司也必须规定每个员工要做年度工作总结,或许是环境释然,心里也有无数次要做总结的念头,尤其是月末年末这种感觉更重,但却没静下…

没用的博客园页面的要素介绍(待更新)

1. 关于那几行字点击查看"<b style=color:rgb(119, 248, 255)>又是一年雨季</b>","<b style=color:rgb(119, 248, 255)>青苔悄悄爬满缝隙</b>","<b style=color:…

详细介绍:Music Tag Web 怎么安装 ffmpeg?

详细介绍:Music Tag Web 怎么安装 ffmpeg?pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", &quo…

2025-2026-1 20231301 《信息安全设计》第六周学习总结

View Post2025-2026-1 20231301 《信息安全设计》第六周学习总结2025-2026-1 20231301 《信息安全设计》第六周学习总结 目录作业信息学习内容总结一、Windows密码体系架构深度解析二、CryptoAPI核心编程实战三、CSP服…

作业-1

实验任务一task1-1#include<stdio.h> #include<stdlib.h> int main() {printf(" O \n");printf("<H>\n");printf("I I\n");printf(" O \n");printf("…

MacOS拉取git代码报.DS_Store 冲突修复

命令到冲突的文件夹下 1、先查看当前目录下面是否有.DS_Store 这个文件ls -a2、如果存在则继续运行git rm -r --cached .DS_Store

国家住房和城乡建设部官方网站下载百度官方网站

什么是&#xff1f;为什么&#xff1f;需要负载均衡 一个网站在创建初期&#xff0c;一般来说都是只有一台服务器对用户提供服务 ​ 从图里可以看出&#xff0c;用户经过互联网直接连接了后端服务器&#xff0c;如果这台服务器什么时候突然 GG 了&#xff0c;用户将无法访问这…

自己有网站怎么做点卡?商业网点建设中心网站

720云全景漫游制作工具自2014年8月上线后&#xff0c;为数十万创作者提供全景图片&全景视频&高清矩阵上传、编辑、分享一站式软件服务&#xff0c;获得众多创作者的青睐与认可&#xff0c;同时也承载了创作者越来越多的期望&#xff0c;为了给大家提供更灵活多样的功能…

完整教程:Coze源码分析-资源库-删除数据库-前端源码-核心API/总结

完整教程:Coze源码分析-资源库-删除数据库-前端源码-核心API/总结pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "…

完整教程:Java核心 之JVM

完整教程:Java核心 之JVM2025-09-30 21:13 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; f…

如何查询网站备案信息查询如何注册公司营业执照

使用rm -rf命令转载于:https://www.cnblogs.com/dyh-air/p/7726611.html

如何查询网站的注册信息黄骗免费网站

文章目录 1.计算机网络的功能:2.计算机网络的分类:3.主机间的通信方式:4.电报交换、报文交换、分组交换的区别:5.计算机网络的性能指标:6.0SI模型和TCP/IP模型:7.通信信通的方式:8.端到端的通信与点到点通信的区别:9.同步通信和异步通信:10.频分复用、时分复用、波分复用和码分…

9.30 闲话

never be back,but i am back于是我越来越念旧 czh: 不出意外的话,这应该是我的最后一舞了,之后 OI 可能就只是当做消遣了。已经初四,感觉继续冲 OI 希望已经不大,更何况在强省,又何况同校的同级的也比我强很多。…

哈尔滨建站模板搭建中铁建设登录入口

在.NET Core中实现Docker一键部署&#xff0c;通常涉及以下几个步骤&#xff1a;编写Dockerfile以定义镜像构建过程、构建Docker镜像、运行Docker容器&#xff0c;以及&#xff08;可选地&#xff09;使用自动化工具如Docker Compose或CI/CD工具进行一键部署。以下是一个详细的…

C语言⽂件管理讲解(1)

C语言⽂件管理讲解(1)pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", &qu…

前沿的设计网站做百度收录的网站

T2I Adapter是一款轻量级适配器&#xff0c;用于控制文本到图像模型并为其提供更准确的结构指导。它通过学习文本到图像模型的内部知识与外部控制信号&#xff08;如边缘检测或深度估计&#xff09;之间的对齐来工作。 T2I Adapter的设计很简单&#xff0c;条件被传递到四个特征…

深圳商城网站设计费用近一周的热点新闻

比我想象得要简单&#xff0c;看到了这里的讨论&#xff1a; v2ray是否可以局域网共享&#xff1f; Issue #210 v2ray/v2ray-core GitHub 这个博客就简单记录一下。相信有需求的朋友不止我一个。

长春行业网站男女做暧昧试看网站

新质生产力是未来几年着重发展的方向&#xff0c;关于如何实现产业化升级&#xff0c;各厂家会在自身的基础上进行产业化调整升级&#xff0c;利用新工具、新手段&#xff0c;大幅缩短研发设计周期&#xff0c;从而让产品迭代速度不断加快&#xff1b;提升产品品质&#xff0c;…