下载 | 新版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日志并进行多维度分析。
目录
相关文章
|
2月前
|
Java API Maven
如何使用Java开发抖音API接口?
在数字化时代,社交媒体平台如抖音成为生活的重要部分。本文详细介绍了如何用Java开发抖音API接口,从创建开发者账号、申请API权限、准备开发环境,到编写代码、测试运行及注意事项,全面覆盖了整个开发流程。
231 10
|
2月前
|
监控 Java API
如何使用Java语言快速开发一套智慧工地系统
使用Java开发智慧工地系统,采用Spring Cloud微服务架构和前后端分离设计,结合MySQL、MongoDB数据库及RESTful API,集成人脸识别、视频监控、设备与环境监测等功能模块,运用Spark/Flink处理大数据,ECharts/AntV G2实现数据可视化,确保系统安全与性能,采用敏捷开发模式,提供详尽文档与用户培训,支持云部署与容器化管理,快速构建高效、灵活的智慧工地解决方案。
|
12天前
|
移动开发 前端开发 Java
Java最新图形化界面开发技术——JavaFx教程(含UI控件用法介绍、属性绑定、事件监听、FXML)
JavaFX是Java的下一代图形用户界面工具包。JavaFX是一组图形和媒体API,我们可以用它们来创建和部署富客户端应用程序。 JavaFX允许开发人员快速构建丰富的跨平台应用程序,允许开发人员在单个编程接口中组合图形,动画和UI控件。本文详细介绍了JavaFx的常见用法,相信读完本教程你一定有所收获!
Java最新图形化界面开发技术——JavaFx教程(含UI控件用法介绍、属性绑定、事件监听、FXML)
|
27天前
|
Java
java实现从HDFS上下载文件及文件夹的功能,以流形式输出,便于用户自定义保存任何路径下
java实现从HDFS上下载文件及文件夹的功能,以流形式输出,便于用户自定义保存任何路径下
86 34
|
1月前
|
Java 开发者 微服务
Spring Boot 入门:简化 Java Web 开发的强大工具
Spring Boot 是一个开源的 Java 基础框架,用于创建独立、生产级别的基于Spring框架的应用程序。它旨在简化Spring应用的初始搭建以及开发过程。
58 6
Spring Boot 入门:简化 Java Web 开发的强大工具
|
22天前
|
存储 JavaScript 前端开发
基于 SpringBoot 和 Vue 开发校园点餐订餐外卖跑腿Java源码
一个非常实用的校园外卖系统,基于 SpringBoot 和 Vue 的开发。这一系统源于黑马的外卖案例项目 经过站长的进一步改进和优化,提供了更丰富的功能和更高的可用性。 这个项目的架构设计非常有趣。虽然它采用了SpringBoot和Vue的组合,但并不是一个完全分离的项目。 前端视图通过JS的方式引入了Vue和Element UI,既能利用Vue的快速开发优势,
107 13
|
27天前
|
算法 Java API
如何使用Java开发获得淘宝商品描述API接口?
本文详细介绍如何使用Java开发调用淘宝商品描述API接口,涵盖从注册淘宝开放平台账号、阅读平台规则、创建应用并申请接口权限,到安装开发工具、配置开发环境、获取访问令牌,以及具体的Java代码实现和注意事项。通过遵循这些步骤,开发者可以高效地获取商品详情、描述及图片等信息,为项目和业务增添价值。
57 10
|
20天前
|
前端开发 Java 测试技术
java日常开发中如何写出优雅的好维护的代码
代码可读性太差,实际是给团队后续开发中埋坑,优化在平时,没有那个团队会说我专门给你一个月来优化之前的代码,所以在日常开发中就要多注意可读性问题,不要写出几天之后自己都看不懂的代码。
56 2
|
30天前
|
JavaScript 安全 Java
java版药品不良反应智能监测系统源码,采用SpringBoot、Vue、MySQL技术开发
基于B/S架构,采用Java、SpringBoot、Vue、MySQL等技术自主研发的ADR智能监测系统,适用于三甲医院,支持二次开发。该系统能自动监测全院患者药物不良反应,通过移动端和PC端实时反馈,提升用药安全。系统涵盖规则管理、监测报告、系统管理三大模块,确保精准、高效地处理ADR事件。
|
2月前
|
开发框架 Java 关系型数据库
Java哪个框架适合开发API接口?
在快速发展的软件开发领域,API接口连接了不同的系统和服务。Java作为成熟的编程语言,其生态系统中出现了许多API开发框架。Magic-API因其独特优势和强大功能,成为Java开发者优选的API开发框架。本文将从核心优势、实际应用价值及未来展望等方面,深入探讨Magic-API为何值得选择。
69 2