Java 7 路线图更新:反响强烈

SpringBoot+Vue+MySQL 高校学科竞赛平台 完整可运行版(源码+文档) 本项目基于SpringBoot+Vue+MySQL构建高校学科竞赛管理平台,覆盖学生、教师、领队教师、管理员四大角色,实现竞赛发布、报名、刷题、评分、公示等全流程闭环管理。系统架构清晰,技术主流,配套完整源码、数据库脚本、万字论文、开题报告、答辩PPT及部署文档,支持一键运行,适用于毕业设计、课程设计及院系二次开发,真正实现“开箱即用”。 阅读详情

在Devoxx大会上,Java SE首席工程师Mark Reinhol,做了一个关于Java 7(2010年初发布)最新发展方向的演讲。虽然,Mark称这次演讲的内容只是暂时的计划、不具约束力,但是仍然在社区中引起了很多反响,特别是针对闭 包特性(Closures)的遗漏。

出席会议的Hamlet D'Arcy提供了一个Mark演讲中有关Java 7特性的总结。其中一些比较重要的变化包括:

模块化——294和Jigsaw项目

292——JVM对动态语言的支持

JSR 203——更多新的I/O API已基本完成,包括真正异步的I/O(不仅仅是非阻塞I/O)和一个真正的文件系统API。

JSR TBD:小的语言变化(见下)

安全重抛出——允许一个广泛的catch语句,编译器可以更加智能的基于try语句块中抛出的异常管理重新抛出。(我以前没有见过,不过看起来不错)

Nulll解引用(dereference)表达式——Null通过'?'语法检查,类似于Groovy...使开发人员避免一连串null检查。

更好的类型推断(type inference)——与泛型实例化有关,但目前还不清楚这种推断会达到什么程度(我觉得越多越好)。

多捕捉(Multi-catch)——(是的!)允许在catch语句中用逗号分割一系列异常类型。

Joe Darcy正在领导Open JDK开发,他的博客地址是http://blogs.sun.com/darcy

JSR 296——Swing应用框架——仍然需要更简化以方便Swing应用开发。

6u10特性的向前兼容(Java Kernal、QUickstarter、新Plug-in等)。

他同时提到了曾经考虑过但可能不会引入到Java 7的特性:

闭包——围绕提议没有形成一致意见
具体化泛型(Reified generics)

第一类属性(1st class properties)

操作符重载

BigDecimal语法

JSR 295——Bean绑定

Java.net开展了一次有关“哪些Java 7未采纳的特性是你最感兴趣的”的调查,其中闭包明显处于其他特性之前:

闭包                                47.4% (734 Votes)
具体化泛型                               17.2% (266 Votes)

第一类属性                               10.4% (162 Votes)

操作符重载                                4.3% (67 Votes)

BigDecimal语法                       3.4% (54 Votes)

JSR-295 Bean绑定                  7.3% (113 Votes)

我对任何特性都不感兴趣         9.7% (150 Votes)

Ricky Clarkson认为没有闭包Java将灭亡:

果然被证实了。虽然James Gosling想要闭包,虽然已经有了3个闭包原型编译器,虽然其他JVM语言支持闭包,Java 7还是没有闭包。

Martin Kneissl也认为Java 7中没有闭包是个坏消息:

应该增加闭包而不是Java 5中的“for”循环新形式。在Java 6中就应该有闭包。现在似乎Java 7中也不会有了。

闭包并不难以理解。至少当你把它们与Java中的匿名内部类作比较时是这样的。有的人不赞同。他们觉得总有一些愚蠢的程序员,所以应该限制语言以防止他们引起太多破坏,我不认同这个理由。这是不可能的。不称职的程序员在任何语言中都会搬起石头砸自己的脚。

幸运的是,JVM上还有其他语言可以使用Java的优点:库、可移植性和工具(某种程度上)。

Dustin Marx在关于Java 7中最期待的特性的帖子中对闭包有一些矛盾的看法:

就在我写这篇帖子的时候,已经有160票投完(不过很快就会出现新的投票),其中Java SE 7中最期待的落选特性是闭包。目前,闭包特性已经得到了总票数的几乎一半。从某种意义上说,这并不奇怪。闭包似乎主宰了Java SE 7的讨论直到被宣布不会在Java SE 7中引入。但是讨论是围绕着闭包的概念和如何实现闭包进行的争论。虽然闭包是Java SE 7最期待的落选特性之一,但是我个人对此非常矛盾。我有时会偶然的在工作中意识到闭包是多么有用,但是多数情况下没有它我也可以应付。也就是说,我不介意它被引入,但是当我听到没有被包含在Java SE 7中时这并没有困扰我。但是,如果我们相信目前的投票结果,那么接近一半的Java开发人员最想要这个特性。这与Java.net有关开发人员最想要Java SE 7引入闭包的问卷调查是一致的。


Osvaldo Doederlein对新特性感到兴奋,不过仍然很期望闭包:

Java 7是多年基础设施智能化的最好版本:294/Jigsaw,并发类加载——我认为这会提高大应用程序的启动时间,特别是类似于JavaEE服务器和IDE 等基于微内核的应用,XRender——将最终使Java成为Linux桌面应用的一等公民,G1,全64位支持(将在6u12中首次亮相,获取beta版),ForkJoin。

这么多的好特性,我几乎都快忘了失去闭包的悲伤了。我猜是时候转移到Scala、JavaFX或者其他现代JVM语言上了(只要不是类似于Ruby 或者Python的动态类型语言)。我认为从现在开始五年,如果我编写某种低层次的运行时,我会只写“标准”Java代码。多亏社区的保护,Java语言 正在慢慢转为一种遗产和低层次的角色。

另一方面,Matt Grommes关注于BigDecimal语法:

我致力于一个金融系统有一年多时间了,BigDecimal语法简直太痛苦了。我真的非常不满意。

Stephen Colebourne向Devoxx和JavaEdge的与会者展示了JDK7语言的10种可能变化,并请他们投票:

绝对的胜者是——null处理。Null处理获得了50张最优先支持票,是排在第二位的字符串切换(string switch)特性票数的两倍,几乎是全部最优先支持票数的三分之一。而且,几乎有三分之二的与会者把它放在了前四位优先支持的特性里。

其他受欢迎的特性包括字符串切换、异常的多捕捉、对Map的增强型for-each循环(能够删除或者查找索引)和ARM风格的资源管理。

不受欢迎的特性(特别认为是糟糕建议的)是通过[]访问List/Map和字符串插值(字符串中的${variable} )。

泛型推断和多行字符串处于相对较低优先级但与会者不是特别反感。

值得一提的是,在Devoxx上对闭包特性的投票结果是50:50。

告别wx.showActionSheet:微信小程序自定义底部弹框的5种实现方式对比 本文深入对比了微信小程序中替代原生wx.showActionSheet的五种自定义底部弹框实现方案。从基础视图层模拟到组件化封装,再到利用第三方UI库、CSS3动画及Page-Meta组件,详细分析了各方案的优缺点与适用场景,旨在帮助开发者根据项目需求,选择最合适的方案以实现高度定制化、交互丰富的弹框效果。 阅读详情

相关推荐

Matlab生成dsp程序——环境搭建(c2000系列[F28335、F2837x]都适用)

一、环境配置 (28377D的操作是一模一样就是硬件设置的时候需要选择28377d进行相应的设置) 1)matlab与ccs联合编译需要安装对应的matlab版本和ccs版本,且只有2016a以上的matlab支持c2000系列。具体对应关系参照: http://software-dl.ti.com/ccs/esd/documents/ccs_matlab.html 2)matlab版本确定之后,还需要安装有关于ccs的相关软件: I、TI Code Composer Studio xxxx(对应

qq_42151264的博客 2万+

关于“JDK7为什么不加入Closure(闭包)”的我的一点想法

  今天看到InfoQ上的文章:Java 7 路线图更新:反响强烈 其中关于“闭包(closure)”的争论引起了俺的兴趣:Ricky Clarkson认为没有闭包Java将灭亡Martin Kneissl也认为Java 7中没有闭包是个坏消息Dustin Marx在关于Java 7中最期待的特性的帖子中对闭包有一些矛盾的看法Osvaldo Doederlein对新特性感到兴奋,不过仍然很期望闭包...

koen 165

交换机基本介绍(分类、性能指标、硬件构成及工作方式)

一、交换机的分类与性能指标 1.1交换机的分类 按照网络构成方式来分的话,交换机分为三类:接入层交换机、汇聚层交换机和核心层交换机。 按照OSI模型来划分的话,分为:二层交换机、三层交换机和四层交换机 还有一种按照硬件形态来划分,可以分成两类:盒式交换机和机框式交换机。 盒式交换机是一种有固定端口数,有时也会带有少量扩展槽的交换机。机架式交换机是一种插槽式的交换机,这种交换机扩展性较好,可支持不同的网络类型,可支持更大端口密度的网络。一般在数据中心的接入层都会采用盒式交换机,盒式...

monologuezjp的博客 4万+

InnoDB 内存结构总览:Change Buffer、AHI 与 Log Buffer

本文系统梳理InnoDB内存结构中的ChangeBuffer、Adaptive Hash Index(AHI)与LogBuffer。ChangeBuffer缓存二级索引页不在内存时的变更,减少随机IO,仅在页加载时合并;聚簇索引修改立即执行,因数据本身不可延后。AHI基于高频等值查询自动构建哈希索引,加速定位,仅支持等值操作。LogBuffer为redo log内存缓冲,配合磁盘日志实现崩溃恢复。三者均服务于性能优化,其中ChangeBuffer与AHI共享BufferPool空间,而LogBuffer独立

bksczm的博客 303

CAN 比特率和采样点计算

架构根据输入频率和比特率自动计算。

ldinvicible的专栏 789

RagFlow 文档解析

RAGFlow 的设计哲学是“高质量输入,高质量输出”,它通过提供可解释性和可控性的生成结果,让用户能够信任并依赖于系统提供的答案。

weixin_43008312的博客 3999

第三篇 第 6 课

前置:第三篇第 1 课(stdx 引入),第二篇第 1 课(std.regex)。环境:仓颉 SDK 1.2.0。本文所有代码与输出均逐行实测。

weixin_41618057的博客 527

基于MATLAB的脑功能网络工具箱:BCT与FCLab

脑功能网络分析是神经科学领域的一个重要研究方向,它通过分析大脑中神经元之间的连接模式和信息传递方式,揭示脑网络的结构和功能。在这个领域,MATLAB是一个广泛使用的工具,提供了丰富的函数和工具箱来进行脑功能网络的分析和可视化。这些工具箱提供了丰富的函数和工具,使得脑功能网络的计算和分析变得更加简单和高效。在上述示例代码中,我们首先导入BCT工具箱,并构建一个邻接矩阵来表示脑网络的连接关系。在上述示例代码中,我们首先导入FCLab工具箱,并导入脑功能数据。函数对数据进行预处理,如去除噪声、降采样等操作。

web_bug407的博客 2611

V8 机制、手写核心函数与 TypeScript 类型体操

或固定初始化(如数组先定长、对象先给全字段)保持类型与形状稳定;这些都比"换框架"更基础。只能处理纯数据(丢函数、Date、RegExp、循环引用报错)。生产级深拷贝要处理:原始值短路、循环引用、V8(Chrome / Node 的 JS 引擎)不是"解释一行跑一行"那么简单,它用。图:V8 执行流程——解释执行 + 热点优化,优化失败会 Deopt 回退。JS 内存自动管理,但"自动"不等于"不会漏"。是"固定间隔最多执行一次"。手写 Promise 是"懂异步"的试金石。是"停下后才执行最后一次",

qq_38468358的博客 355

车辆重识别/再辨识数据集: Vehicle Re-ID Datasets Collection

车辆数据库 1.VERI-Wild: A Large Dataset and a New Method for Vehicle Re-Identification in the Wild (2019-CVPR) 数据库名称:VERI-Wild 论文:链接 数据库描述: 车辆图像由一个包含174个摄像机,拍摄范围覆盖超过200平方公里的市区CCTV系统拍摄。摄像机是24小时连续拍摄30天,其长时间的...

AI炼丹师 6858

LeRobot 入门教程(十)LIBERO 机器人终身学习评估

LIBERO是一项专注于机器人终身学习(LLDM)的基准测试平台,包含130项任务,分为5大套件(空间推理、物体操作、目标约束等)。LeRobot框架已集成LIBERO,支持单/多套件评估,并兼容SmolVLA模型。训练需使用预处理数据集(HuggingFaceVLA/libero),观测数据需符合规范(8维状态+双摄像头图像)。该平台采用MuJoCo模拟,支持无头服务器运行,旨在推动机器人持续学习算法的发展与标准化评估。

2506_90492529的博客 1665

信创环境下PageOffice文档控件适配与实践

信创适配做到文档控件这一层,拼的已经不是"有没有国产版本",而是同一个功能在两类终端上是否真的等价。等价的标准很具体:同一次点击能得到同样的结果,同一份公文能得到同样的版式,同一个项目不需要维护两套代码。这背后是三件并不轻松的工作:服务端用一套接口同时支撑两类终端,客户端把两种系统与四种芯片的安装包分发清楚,文档内核层由产品侧跟着 WPS 的版本走。浏览器这一层的压力,则被收进了产品自己的窗口里——升级节奏由产品掌握,不再交给运气。

zi_wu_xian的专栏 332

【突变检验合集】含Pettitt突变检验等

突变检验方法合集

WW、forever的博客 3534

【从零理解 Spring AI · 12】MCP 的两种角色:做客户端还是做服务端

上一篇讲了 MCP 的概念:标准协议、三大角色、M+N 替代 M×N。

nice_lcj520的博客 563

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Java 集合容器高频面试题全解:HashMap 树化阈值、1.7 死循环与 ConcurrentHashMap 演进(2026 招聘 JD 真题复盘)

HashMap 树化阈值 8 的泊松分布依据、退化阈值 6 的防抖设计、JDK 1.7 头插成环死循环的排查与修复、1.8 尾插后为何仍线程不安全、ConcurrentHashMap 放弃分段锁的原因与 ForwardingNode 协作扩容、computeIfAbsent 死锁陷阱、大集合找重复的场景题选型,附三层追问链自测。题目来源为 38 期公开招聘 JD 样本与字节、拼多多、建行、美团、快手公开面经。

蒙眼过河 422

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

spdlog 同步日志库使用详解

spdlog是一个轻量级 C++ 日志库,支持同步日志、异步日志、多线程日志、日志文件轮转和自定义日志格式。对于嵌入式 Linux 应用开发,我建议先使用。它可以帮我们完成:日志级别过滤。时间戳和线程 ID 输出。日志格式化。终端和文件输出。多线程安全写入。日志文件按大小或时间轮转。我们不需要自己实现互斥锁、文件写入、日志格式化和轮转等底层功能。

zengjiajun2006的博客 1121

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

JavaSE通关手册:数据类型与变量

代码无需额外处理,编译时编译器自动完成转换。

xys_678的博客 231

Java 多态 学习笔记

多态是面向对象编程的重要特性,指同一操作作用于不同对象时产生不同行为。其核心在于“父类引用指向子类对象”,结合方法重写实现运行时动态绑定。多态使代码更灵活、可扩展,如用Person p = new Student();统一处理各类人员注册,无需修改调用逻辑。但多态无法直接调用子类特有方法,需通过instanceof判断并强制转换。编译时看左边(类型),运行时看右边(实际对象),实现解耦与维护便利。

AA_AA114514的博客 368

IDEA 简介:从零认识 IntelliJ IDEA

IDEA 全称,是由 JetBrains 公司开发的一款主流 Java 集成开发环境(IDE)。它集代码编辑、编译、调试、测试、版本控制、构建管理等功能于一体,被大量 Java 开发者视为日常开发的首选工具。所谓 IDE(Integrated Development Environment,集成开发环境),就是把写代码所需的各类工具整合到同一个界面中。相比只用文本编辑器加命令行编译,IDE 能显著减少重复操作,让开发者把精力集中在业务逻辑上。

ztI10的博客 176

Java实现批量线段相交检测(跨积判定+扫描线优化与踩坑复盘)

【代码】Java实现批量线段相交检测(跨积判定+扫描线优化与踩坑复盘)

m0_64476639的博客 341

动态代理两大流派:JDK 代理与子类代理

业务类想加日志,最直白的写法是侵入式修改: 问题很明显:每个方法都要改一遍,改一个业务要动十处。代理模式的解法是:调用方不直接依赖 ,而是依赖一个代理对象。代理对象长得跟目标一模一样,调用它 → 代理先执行增强逻辑 → 再转调真实对象。 关键在于:代理对象的类型是哪来的?这就是"动态"二字的含义:代理类在运行时才诞生。两个角色: 承载增强逻辑, 负责生成代理类。 组装代理并调用: 输出: 业务代码 一行没动,增强逻辑全在 里。这就是 AOP 的味道。 内部四步: 第 2 步 内部:先查 (同一个接口

Android的专栏 603

c++ explicit关键字详解

explicit。

拒绝AI文,努力在AI时代写出感动人心的好文章 166

TRingBuffer两端都能增删(快递站版)

TRingBuffer 是一个支持两端增删、下标访问且容量动态增长的环形双端队列。它通过无符号索引的永不归零设计,利用减法自动模运算实现空满判断与元素计数,避免了传统环形缓冲浪费格子的问题。内部以票号(索引)标记首尾,扩容时重排元素为连续存储,保证 O(1) 操作与高缓存效率。虽不线程安全,但其高效性使其成为游戏开发中事件队列、命令缓冲等场景的理想选择。

u013768914的博客 312

Teamcenter Java SOA 开发:连接、查询与保存

本文介绍如何通过 Java 调用 Teamcenter SOA 接口实现外部系统对接,涵盖连接登录、查询保存等核心操作。以最小闭环示例展示 Connection、Service、ModelObject 等关键组件的使用,强调错误处理与事务管理要点。梳理了 DataManagement、Query、File Management 等 API 模块分工,并结合“工作移交WebService”案例,说明幂等性设计与流程状态返回的重要性。适用于 Web 门户、ERP 集成等场景,建议批量操作用 bulk 接口优化性

软件工程师文艺 257
上一篇: 2009年1月开发语言排行榜
下一篇: 练手小项目一:JAVA聊天室系統說明书
不善^
博客等级 码龄18年 635粉丝 235原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值