首页 文章 精选 留言 我的

精选列表

搜索[Cookie处理],共10000篇文章
优秀的个人博客,低调大师

Java 21增强对Emoji表情符号的处理了

现一个 Java 21 中有意思的东西! 在java.Lang.Character类中增加了用于确定字符是否为 Emoji 表情符号的 API,主要包含下面六个新的静态方法: public static boolean isEmoji(int codePoint) { return CharacterData.of(codePoint).isEmoji(codePoint); } public static boolean isEmojiPresentation(int codePoint) { return CharacterData.of(codePoint).isEmojiPresentation(codePoint); } public static boolean isEmojiModifier(int codePoint) { return CharacterData.of(codePoint).isEmojiModifier(codePoint); } public static boolean isEmojiModifierBase(int codePoint) { return CharacterData.of(codePoint).isEmojiModifierBase(codePoint); } public static boolean isEmojiComponent(int codePoint) { return CharacterData.of(codePoint).isEmojiComponent(codePoint); } public static boolean isExtendedPictographic(int codePoint) { return CharacterData.of(codePoint).isExtendedPictographic(codePoint); } 这些静态方法通过接收字符的codePoint来判断是否为表情符号来返回boolean值。 所以,我们可以用isEmoji方法来判断字符串中是否有表情,比如: @Test void testEmoji() { String message = "欢迎来到 www.didispace.com ❤️,要不要来杯 ☕️ ?"; if(message.codePoints().anyMatch(Character::isEmoji)) { System.out.println("Message包含表情"); } } 除了判断字符串中是否包含表情符号之外,还能用isEmojiModifier和isEmojiModifierBase来判断Emoji是否被修改和是否可以被修改: @Test void testEmoji2() { String welcomeMsg ="欢迎来到 www.didispace.com ❤️,要不要来杯 ☕️ ?"; OptionalInt emojiOptional = welcomeMsg.codePoints().filter(Character::isEmoji).findFirst(); if (emojiOptional.isPresent()) { int emojiCodePoint = emojiOptional.getAsInt(); if (Character.isEmojiModifierBase(emojiCodePoint)) { System.out.println("Emoji can be modified"); if (Character.isEmojiModifier(emojiCodePoint)) System.out.println("Emoji is modified"); else System.out.println("Emoji has not been modified"); } else System.out.println("Emoji cannot be modified"); } else System.out.println("No emoji present"); } 使用正则表达式 这些新方法也可以通过属性构造正则表达式来使用,比如: String welcomeMsg = "欢迎来到 www.didispace.com ❤️,要不要来杯 ☕️ ?"; Matcher matcher = Pattern.compile("\\p{IsEmoji}").matcher(welcomeMsg); if(matcher.find()) { System.out.println("Message contains an emoji!"); } matcher = Pattern.compile("\\p{IsEmoji_Modifier_Base}").matcher(welcomeMsg); if(matcher.find()) { System.out.println("Message contains an emoji modifier base!"); } 如果您学习过程中如遇困难?可以加入我们超高质量的技术交流群,参与交流与讨论,更好的学习与进步!另外,不要走开,关注我!持续更新Java新特性专栏! 欢迎关注我的公众号:程序猿DD。第一时间了解前沿行业消息、分享深度技术干货、获取优质学习资源

优秀的个人博客,低调大师

ImageMagick 7.1.1-20 发布,多功能图片处理软件

ImageMagick 7.1.1-20 已发布,该版本可以在Linux,Windows,Mac Os X,iOS,AndroidOS 等平台上运行。 ImageMagick 是一个用来创建、编辑、合成图片的软件。它可以读取、转换、写入超过 200 种格式的图片,包括 PNG、JPEG、GIF、HEIC、TIFF、DPX、EXR、WebP、Postscript、PDF 和 SVG 等等。 ImageMagick 可被用于图片切割、颜色替换、各种效果的应用,图片的旋转、组合,文本,直线, 多边形,椭圆,曲线,附加到图片伸展旋转等。支持Linux、Windows、Mac OS X、iOS、Android OS 平台。 7.1.1-20 版本的更新内容包括有: 支持Windows 1.0 图标格式(ImageMagick/ImageMagick#6670)bdc2c9f 代码清理。476a094 支持 GetMagickTTL() 方法 (ImageMagick/ImageMagick#4533)66c30fc 修复time-to-live deadlockc3d651e 改进time-to-live timer4727c5e 防止整数溢出fa9c969 错误的参数类型bfcdb1e 让缓存限制 CPU6d9069d 修复缩进。47af159 添加了对 MaxPixelChannels 的检查。8126bac 添加了对读取 jpeg2000 图像时读取 meta channels的支持。3541957 添加了 jp2:assume-alpha 选项,当 jpeg2000 图像有 2 或 4 个通道时,该选项将始终启用 alpha 通道。07fd761 更正了对单通道的检查。43f6ada 支持 xmp:validate 定义以选择性能而不是安全性c4f9927 将新的 deflate 库添加到 pragma lib 列表中。ac00eb2 更多详情可查看change log。

优秀的个人博客,低调大师

Linux 6.3 中的 Nouveau 驱动程序漏洞已被处理

Linux 6.3是最新的稳定内核版本,于2023年4月23日发布。然而,这个版本中却隐藏着一个可能非常严重的漏洞,它影响了开源的NVIDIA显卡驱动程序Nouveau。 这个漏洞是一个使用后释放(use-after-free)的问题,它可能导致内核内存损坏,进而可能造成文件系统损坏或其他系统问题,甚至可能是一个安全隐患。这个问题已经存在了很久,但是在Linux 6.3中由于一个改动而变得更加明显。 幸运的是,Red Hat的开发者David Airlie在2023年6月16日找到了这个问题的原因,并提出了一个修复方案。他在dri-devel邮件列表上解释了这个问题的分析过程和修复方法。他的补丁已经得到了Nouveau开发者Karol Herbst和另一个受影响的用户的验证,表明这个使用后释放的问题已经被避免了。这个补丁只有几行代码,但希望能够彻底解决这个问题。 目前,这个补丁还没有被合并到主线内核中,但预计会在下一轮的DRM-Fixes中被发送给Linus Torvalds。这对于使用Nouveau驱动程序的Linux用户来说是一个好消息,因为他们可以继续享受Linux 6.3带来的新特性和性能提升,而不用担心自己的系统被破坏或者被攻击。 Nouveau驱动程序是Linux社区为NVIDIA显卡开发的开源驱动程序,由于缺乏官方支持和文档,开发进展缓慢而且功能不完善。尽管如此,Nouveau驱动程序仍然是许多Linux用户的选择,因为它可以提供基本的图形功能,并支持一些新型号的显卡。希望这个漏洞的修复能够让Nouveau驱动程序更加稳定和安全。 [1]: https://www.phoronix.com/news/Patch-For-Nouveau-Linux-6.3 "The Nasty Linux 6.3 Nouveau Driver Bug Appears To Have Been ... - Phoronix" [2]: https://www.phoronix.com/news/Linux-6.3-Released "Linux 6.3 Released With More Meteor Lake Enablement, Zen 4 ... - Phoronix" [3]: https://www.phoronix.com/linux/Nouveau "Linux Performance, Benchmarks & Open-Source News - Phoronix"

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册