下载 | 新版Java开发手册有哪些亮点?

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 在《Java 开发手册(泰山版)》发布之后引发了程序界的广泛讨论,技术和道理都是越辩越明的,相信带给了大家不少的收获。《Java 开发手册(嵩山版)》特别增加了前后端规约,并修复了一些原来存在的一些问题,接下来让我们先品尝一些嵩山版带来的新的滋味吧。

image.png
在前后端程序员分工协作愈加普遍的今天,不但带来了效率上面的提升,也带来了诸多协作上的问题,本次开发手册新增的前后端规约旨在解决前后端程序员协作上的问题以及让大家规避常见的易于疏漏的错误。

正所谓“没有规矩,不成方圆”,大到前后端API的约定,小到前后端的时间格式约定,在现在的前后端协作当中存在着这样的问题,用苹果的宣传语来讲便是“唯一的不同,是处处不同”,每个系统都对应着自己的一套前后端约定非常不利于维护,混乱的约定更让系统接手与维护的人头痛不堪。规矩并非枷锁,而是老司机们上路的安全带,有了它,才能让我们在程序的世界里安全的驰骋,去最大可能的提升效率,去创造更大的奇迹。

API是前后端交互的基准石

在前后端交互的过程当中,API是重中之重,一个好的API应该能够明确协议、域名、路径、请求方法、请求内容、状态码、响应体等7个重要要素。一个好的API约定会让前后端双方能够为接下来的开发工作节省许多时间和沟通的成本,是我们前后端协作的基石。

神奇的大整数精度丢失

不同于后端程序的各种数字类型的明确区分,在JS的世界里数字只有一种类型,那就是Number类型,它其实是双精度浮点数,因此,它造成的麻烦总是使人困惑和痛苦,当我们将一个过大的整数传递给前端的时候,想象一下当它超过了双精度浮点数能最精确表示范围的时候会出现怎么样的悲剧吧?欲知详情如何,请见嵩山版开发手册吧。

系统错误信息与用户提示信息傻傻分不清楚

你是否曾经把异常带到了页面上?你是否把系统的错误提示发给了一脸懵的用户?今天,前后端规约将助你摆脱这样尴尬的境遇。用户体验不仅仅是产品设计需要考虑的部分,作为技术人的我们更应该注重产品本身的质量,因此用户提示一定要与系统本身的错误区分开,给用户更友好的提示也是系统鲁棒性的象征,另外发生错误的时候返回给前端的信息除了上面两种错误信息再搭配上错误码与HTTP状态码一起食用更香哦。

长度微妙的URL参数传递

很多场景需要我们用URL来做前后端的参数传递,但是比较微妙的是URL有最长长度的限制,而众多浏览器对URL最大长度限制却是不同的。不明确的地方都是不易察觉的深坑,不知道栽进去了多少的仁人志士,为了规避这样的深坑,前后端规约中特别指出,对于URL长度限制采用所有浏览器限制的最小值,为2048字节。

测试题大闯关

上面简单介绍了一下本次《Java 开发手册(嵩山版)》的一些有趣知识给大家品尝,更详细的内容还请参阅开发手册中的内容,相信能够给大家带来满满的收获。“纸上得来终觉浅,绝知此事要躬行”,本次我们还特别综合过往的规约和新增修订的内容给大家带来了一套试题,相信小伙伴们都迫不及待的要来试试啦,那么接下来就让我们开启一场激动人心的规约大闯关吧!

1 服务端发生错误时,返回给前端的响应信息必须包含以下哪几个部分?
A. HTTP状态码
B. errorCode
C. errorMessage
D. 用户提示信息

2 以下哪些时间类型在规约中不允许在程序中使用?
A. java.sql.Date
B. java.sql.Time
C. java.sql.Timestamp
D. java.util.Date

3 以下哪些选项不符合前后端交互的JSON格式数据中key的编码风格:
A. assetStatus
B. error_message
C. 3days
D. msg

4 前后端的时间格式统一为____,统一为GMT。
A. yyyy-MM-dd HH:mm:ss
B. yyyy-mm-dd HH:mm:ss
C. YYYY-MM-dd HH:mm:ss
D. yyyy-mm-DD HH:MM:ss

5 HTTP请求通过URL传递参数时,不能超过多少字节?
A. 1024字节
B. 2048字节
C. 4096字节
D. 8192字节

6 前后端交互的API,以下说法正确的是:
A. 请求的路径可以使用动词、名词、推荐使用名词单数
B. URL路径中单词要使用驼峰分隔
C. 路径禁止携带表示请求内容类型的后缀
D. 响应体body可放置多种数据类型,由Content-Type头来确定

7 对于日志的相关描述,下面正确的有?
A. 所有日志文件至少保存7天
B. 根据国家法律,网络运行状态、网络安全事件、个人敏感信息操作等相关记录,留存的日志不少于六个月,并且进行网络多机备份
C. 应用中的扩展日志(如打点、临时监控、访问日志等)命名方式:appName_logType_logName.log
D. 在日志输出时,字符串变量之间的拼接使用占位符的方式

8 以下说明属于正确的前后端规约内容的有哪几项?
A. 推荐在接口路径中加入版本号,来进行相应的版本控制
B. 服务端返回的数据,推荐使用JSON格式而非XML
C. 服务器返回信息必须被标记是否可以缓存,如果缓存,客户端可能会重用之前的请求结果
D. HTTP请求通过body传递内容时,必须控制长度,超出最大长度后,后端解析会出错

9 常见的HTTP状态码以下描述错误的是:
A. 401: 请求要求身份验证,常见对于需要登录而用户未登录的情况
B. 402:服务器拒绝请求,常见于机密信息或通过复制其它登陆用户链接访问服务器的情况
C. 501:服务器不支持请求的功能,无法完成请求
D. 502: 服务器产生内部错误

10 对于前后端传递整数的场景,当十进制整数大于等于多少位时,服务端需要采用String类型返回防止精度丢失?
A. 14
B. 15
C. 16
D. 17

11 对以下关于错误码叙述正确的是?

A. 错误码应该体现错误等级以及其版本号
B. 错误码在某些特殊场景下可以直接输出给用户作为提示信息使用
C. 错误码之外的业务独特信息由error_message来承载,而不是让错误码本身涵盖过多具体业务属性
D. 错误码使用者避免随意定义新的错误码

下载《Java开发手册(嵩山版)》,"点击这里”,立即下载吧!
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
1月前
|
Java
Java开发实现图片URL地址检验,如何编码?
【10月更文挑战第14天】Java开发实现图片URL地址检验,如何编码?
68 4
|
9天前
|
Java API Maven
如何使用Java开发抖音API接口?
在数字化时代,社交媒体平台如抖音成为生活的重要部分。本文详细介绍了如何用Java开发抖音API接口,从创建开发者账号、申请API权限、准备开发环境,到编写代码、测试运行及注意事项,全面覆盖了整个开发流程。
52 10
|
1月前
|
监控 Java 测试技术
Java开发现在比较缺少什么工具?
【10月更文挑战第15天】Java开发现在比较缺少什么工具?
36 1
|
1月前
|
Java
Java开发实现图片地址检验,如果无法找到资源则使用默认图片,如何编码?
【10月更文挑战第14天】Java开发实现图片地址检验,如果无法找到资源则使用默认图片,如何编码?
59 2
|
15天前
|
SQL 安全 Java
安全问题已经成为软件开发中不可忽视的重要议题。对于使用Java语言开发的应用程序来说,安全性更是至关重要
在当今网络环境下,Java应用的安全性至关重要。本文深入探讨了Java安全编程的最佳实践,包括代码审查、输入验证、输出编码、访问控制和加密技术等,帮助开发者构建安全可靠的应用。通过掌握相关技术和工具,开发者可以有效防范安全威胁,确保应用的安全性。
33 4
|
16天前
|
缓存 监控 Java
如何运用JAVA开发API接口?
本文详细介绍了如何使用Java开发API接口,涵盖创建、实现、测试和部署接口的关键步骤。同时,讨论了接口的安全性设计和设计原则,帮助开发者构建高效、安全、易于维护的API接口。
43 4
|
27天前
|
开发框架 JavaScript 前端开发
HarmonyOS UI开发:掌握ArkUI(包括Java UI和JS UI)进行界面开发
【10月更文挑战第22天】随着科技发展,操作系统呈现多元化趋势。华为推出的HarmonyOS以其全场景、多设备特性备受关注。本文介绍HarmonyOS的UI开发框架ArkUI,探讨Java UI和JS UI两种开发方式。Java UI适合复杂界面开发,性能较高;JS UI适合快速开发简单界面,跨平台性好。掌握ArkUI可高效打造符合用户需求的界面。
84 8
|
23天前
|
存储 Java API
Java实现导出多个excel表打包到zip文件中,供客户端另存为窗口下载
Java实现导出多个excel表打包到zip文件中,供客户端另存为窗口下载
31 4
|
22天前
|
SQL Java 程序员
倍增 Java 程序员的开发效率
应用计算困境:Java 作为主流开发语言,在数据处理方面存在复杂度高的问题,而 SQL 虽然简洁但受限于数据库架构。SPL(Structured Process Language)是一种纯 Java 开发的数据处理语言,结合了 Java 的架构灵活性和 SQL 的简洁性。SPL 提供简洁的语法、完善的计算能力、高效的 IDE、大数据支持、与 Java 应用无缝集成以及开放性和热切换特性,能够大幅提升开发效率和性能。
|
23天前
|
存储 Java 关系型数据库
在Java开发中,数据库连接是应用与数据交互的关键环节。本文通过案例分析,深入探讨Java连接池的原理与最佳实践
在Java开发中,数据库连接是应用与数据交互的关键环节。本文通过案例分析,深入探讨Java连接池的原理与最佳实践,包括连接创建、分配、复用和释放等操作,并通过电商应用实例展示了如何选择合适的连接池库(如HikariCP)和配置参数,实现高效、稳定的数据库连接管理。
43 2
下一篇
无影云桌面