当前位置: 首页 > news >正文

Java Memorandum

Java Memorandum

  • 1 定义安全的集合
  • 2 collection集合用迭代器删除元素时避免并发修改异常
  • 3 异常捕获
  • 4 @RequestBody和@RequestParam和@Parameter区别
    • 4.1 @RequestBody
    • 4.2 @RequestParam
    • 4.3 @Parameter

1 定义安全的集合

void old() {ArrayList<Apple> apples = new ArrayList<>();
}
void modern() {var apples = new ArrayList<Apple>();
}

modern() 中定义右侧的钻石语法<>被显式的<Apple> 替换掉了,这样编译器就有足够的信息来执行类型推断了。

2 collection集合用迭代器删除元素时避免并发修改异常

//用迭代器
var apples = new ArrayList<Integer>();
Iterator<Integer> iterator = apples.iterator();
//删除用iterator的方法
iterator.remove();
//而不使用collection的方法
apples.remove(apple);

3 异常捕获

int test(){  try {int[] a[3] = {1, 2, 3};System.out.println(a[3]);//数组下标越界异常return 0;//不执行了} catch (ArrayIndexOutOfBoundsException e){e.printStackTrace();//执行后,等待finally中的语句执行return 1;//已经执行finally中的语句返回2了,该语句不再执行} finally {return 2;}
}
//调用该函数,返回的结果是2。

4 @RequestBody和@RequestParam和@Parameter区别

4.1 @RequestBody

处理非Content-Type: application/x-www-form-urlencoded编码格式的数据,比如:application/jsonapplication/xml等类型的数据。
通常用于接收POST、DELETE等类型的请求数据。

4.2 @RequestParam

处理Content-Typeapplication/x-www-form-urlencoded编码的内容,Content-Type默认为该属性。
通常用于GET请求。

4.3 @Parameter

Controller方法的参数上,对参数的注解。

相关文章:

Java Memorandum

Java Memorandum 1 定义安全的集合2 collection集合用迭代器删除元素时避免并发修改异常3 异常捕获4 RequestBody和RequestParam和Parameter区别4.1 RequestBody4.2 RequestParam4.3 Parameter 1 定义安全的集合 void old() {ArrayList<Apple> apples new ArrayList<…...

大数据学习之 Hadoop部署

Hadoop部署 Linux桌面模式关闭 # 设置 systemctl set-default multi-user.target # 重启 reboot防火墙关闭 systemctl status firewalld systemctl stop firewalld # 关闭开机自启 systemctl disable firewalld配置Java环境 echo $JAVA_HOME java -version # Java配置 # 上传ja…...

xxe漏洞--xml外部实体注入漏洞

1.xxe漏洞介绍 XXE&#xff08;XML External Entity Injection&#xff09;是一种攻击技术&#xff0c;它允许攻击者注入恶意的外部实体到XML文档中。如果应用程序处理XML输入时未正确配置&#xff0c;攻击者可以利用这个漏洞访问受影响系统上的敏感文件、执行远程代码、探测内…...

Nginx反向代理与负载均衡:让网站像海豚一样灵活

引言&#xff1a;"当网站遇上海豚&#xff1a;Nginx让数据流动更流畅&#xff01;"想象一下&#xff0c;你的网站是一片繁忙的海域&#xff0c;而Nginx就像一群聪明的海豚&#xff0c;它们不仅能够迅速地找到最佳的捕食路线&#xff08;反向代理&#xff09;&#xf…...

企业应考虑的优秀云安全措施

作为云客户&#xff0c;企业有责任确保正确使用他们提供的工具来保证数据和应用程序的安全。让德迅云安全来跟大家一起研究一些典型企业应该考虑的优秀云安全措施。 在数据安全和隐私方面&#xff0c;企业是否在努力跟上疫情的发展?企业不是一个人。就像多年以前&#xff0c;C…...

如何将老板的游戏机接入阿里云自建K8S跑大模型(下)- 安装nvidia/gpu-operator支持GPU在容器中共享

文章目录 安装nvidia/gpu-operator支持GPU在容器中共享 安装nvidia/gpu-operator支持GPU在容器中共享 安装 nvidia/gpu-operator遇到两个问题&#xff1a; 由于我们都懂的某个原因&#xff0c;导致某些镜像一直现在不成功。 解决办法&#xff0c;准备一个&#x1fa9c;&#…...

代码随想录-Day16

104. 二叉树的最大深度 方法一&#xff1a;深度优先搜索 class Solution {public int maxDepth(TreeNode root) {if (root null) {return 0;} else {int leftHeight maxDepth(root.left);int rightHeight maxDepth(root.right);return Math.max(leftHeight, rightHeight) …...

31.@Anonymous

1►@Anonymous原理 大家应该已经习惯我的教学套路,很多时候都是先使用,然后讲述原理。 上节课我们使用了注解@Anonymous,然后接口就可以直接被访问到了,不用token!不用token!不用token!。 我们一般知道,注解是给程序看的,给机器看的,当然也是给程序员看的。注解如果…...

oracle 表同一列只取最新一条数据写法

select * from (select t.*,row_number() over(partition by 去重列名 order by 排序列名 desc) as rnfrom 表名)where rn1 1.row_number() over(....): 为每条数据分配一个行号,1.2.3....这样的 2.partition by : 以某列作为分组&#xff0c;每个分组行号从1开始&#xf…...

C语言游戏实战(12):植物大战僵尸(坤版)

植物大战僵尸 前言&#xff1a; 本游戏使用C语言和easyx图形库编写&#xff0c;通过这个项目我们可以深度的掌握C语言的各种语言特性和高级开发技巧&#xff0c;以及锻炼我们独立的项目开发能力&#xff0c; 在开始编写代码之前&#xff0c;我们需要先了解一下游戏的基本规则…...

提权方式及原理汇总

一、Linux提权 1、SUID提权 SUID&#xff08;设置用户ID&#xff09;是赋予文件的一种权限&#xff0c;它会出现在文件拥有者权限的执行位上&#xff0c;具有这种权限的文件会在其执行时&#xff0c;使调用者暂时获得该文件拥有者的权限。 为可执行文件添加suid权限的目的是简…...

【leetcode----二叉树中的最大路径和】

二叉树中的 路径 被定义为一条节点序列&#xff0c;序列中每对相邻节点之间都存在一条边。同一个节点在一条路径序列中 至多出现一次 。该路径 至少包含一个 节点&#xff0c;且不一定经过根节点。 路径和 是路径中各节点值的总和。 给你一个二叉树的根节点 root &#xff0c…...

Rust: 编译过程中链接器 `cc` 没有找到

这个错误信息表明在编译过程中链接器 cc 没有找到。cc 通常是 C 编译器的符号链接&#xff0c;它指向系统上的实际 C 编译器&#xff0c;如 gcc 或 clang。这个错误通常意味着你的系统缺少必要的编译工具链。 要解决这个问题&#xff0c;你需要确保你的系统上安装了 C 编译器。…...

【vue-3】动态属性绑定v-bind

1、文本动态绑定&#xff1a; <input type"text" v-bind:value"web.url"> 简写&#xff1a; <input type"text" :value"web.url"> 2、文字样式动态绑定 <b :class"{textColor:web.fontStatus}">vue学…...

Rust:多线程环境下使用 Mutex<T> 还是 Arc<Mutex<T>> ?

在 Rust 中&#xff0c;Mutex 本身不是线程不安全的&#xff1b;它提供了内部的线程同步机制。然而&#xff0c;如果你想在多线程环境中共享同一个 Mutex&#xff0c;你需要确保这个 Mutex 可以被多个线程访问。为此&#xff0c;你通常需要使用 Arc<Mutex<T>>。Arc…...

关于如何创建一个可配置的 SpringBoot Web 项目的全局异常处理

前情概要 这个问题其实困扰了我一周时间&#xff0c;一周都在 Google 上旅游&#xff0c;我要如何动态的设置 RestControllerAdvice 里面的 basePackages 以及 baseClasses 的值呢&#xff1f;经过一周的时间寻求无果之后打算决定放弃的我终于找到了一些关键的线索。 当然在此…...

docker三种自定义网络(虚拟网络) overlay实现原理

docker提供了三种自定义网络驱动&#xff1a;bridge、overlay、macvlan。 bridge驱动类似默认的bridge网络模式。 overlay和macvlan是用于创建跨主机网络。 支持自定义网段、网关&#xff0c;docker network create --subnet 172.77.0.0/24 --gateway 172.77.0.1 my_n…...

C#上位机1ms级高精度定时任务

precisiontimer 安装扩展包 添加引用 完整代码 using PrecisionTiming;using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; us…...

盘点28个免费域名申请大全

盘点28个免费域名申请大全 免费域名推荐学习使用&#xff0c;免费就意味着没任何保障。 名称稳定时间支持解析模式后缀格式说明地址EU.org28 年NS.eu.org/. 国家简写.eu.org需要审核&#xff0c;稳定性高&#xff0c;限制少&#xff0c;国内访问有问题&#xff0c;可 CFeu.orgp…...

【vue】封装的天气展示卡片,在线获取天气信息

源码 <template><div class"sen_weather_wrapper"><div class"sen_top_box"><div class"sen_left_box"><div class"sen_top"><div class"sen_city">山东</div><qctc-time cl…...

Ix开源平台:基于Kubernetes的私有云与家庭实验室一体化管理方案

1. 项目概述与核心价值最近在折腾一个叫Ix的开源项目&#xff0c;它来自ix-infrastructure这个组织。乍一看这个名字&#xff0c;你可能觉得有点抽象&#xff0c;但如果你对自托管、家庭实验室、私有云或者想找一个更现代、更易用的 TrueNAS 替代品感兴趣&#xff0c;那这个项目…...

从日志到环境变量:根治 Android Studio AVD 启动报错“The emulator process has terminated”

1. 从错误弹窗到日志分析&#xff1a;定位问题的第一步 当你兴冲冲地打开Android Studio准备启动AVD&#xff08;Android Virtual Device&#xff09;时&#xff0c;突然弹出一个冰冷的提示框&#xff1a;"The emulator process has terminated"&#xff0c;这感觉就…...

3个高效方法:免费获取百度网盘高速下载直链的完整指南

3个高效方法&#xff1a;免费获取百度网盘高速下载直链的完整指南 【免费下载链接】baidu-wangpan-parse 获取百度网盘分享文件的下载地址 项目地址: https://gitcode.com/gh_mirrors/ba/baidu-wangpan-parse 当我们面对百度网盘缓慢的下载速度时&#xff0c;常常感到无…...

如何3秒破解百度网盘提取码难题:开源工具baidupankey的技术解析与实战指南

如何3秒破解百度网盘提取码难题&#xff1a;开源工具baidupankey的技术解析与实战指南 【免费下载链接】baidupankey 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 你是否曾在寻找百度网盘资源时&#xff0c;被一个小小的提取码卡住&#xff0c;不得不花费…...

OpenClaw实战教程:声明式配置驱动的高效数据抓取方案

1. 项目概述&#xff1a;一个关于“OpenClaw”的实战教程 最近在GitHub上看到一个挺有意思的项目&#xff0c;叫“OpenClawTuto”。光看名字&#xff0c;你可能会有点摸不着头脑&#xff0c;这“OpenClaw”到底是个啥&#xff1f;是某种开源机械爪&#xff1f;还是一个代号&…...

多智能体强化学习环境PettingZoo:从核心概念到工程实践

1. 项目概述&#xff1a;从零理解PettingZoo如果你正在寻找一个能让你快速上手、高效构建多智能体强化学习&#xff08;Multi-Agent Reinforcement Learning, MARL&#xff09;实验环境的工具&#xff0c;那么Farama Foundation旗下的PettingZoo项目&#xff0c;绝对是你绕不开…...

基于Claude API构建可编程AI智能体:从对话到自动化生产单元

1. 项目概述&#xff1a;从Claude中“招聘”一个AI伙伴最近在GitHub上看到一个挺有意思的项目&#xff0c;叫“hire-from-claude”。初看这个标题&#xff0c;你可能会有点摸不着头脑&#xff1a;Claude不是Anthropic公司开发的那个AI助手吗&#xff1f;怎么还能从它那里“招聘…...

独立开发者如何利用 Taotoken 以更低成本试验多种 AI 模型能力

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 独立开发者如何利用 Taotoken 以更低成本试验多种 AI 模型能力 对于独立开发者或小型工作室而言&#xff0c;在产品开发的早期阶段…...

RFM69无线通信进阶:从基础收发到可靠数据传输系统构建

1. 项目概述&#xff1a;从点对点收发迈向可靠通信在物联网和嵌入式开发领域&#xff0c;无线通信模块是连接物理世界与数字世界的桥梁。RFM69系列模块&#xff0c;特别是工作在433MHz或915MHz等Sub-GHz频段的RFM69HCW&#xff0c;因其出色的抗干扰能力、较远的传输距离以及相对…...

紧急更新!Midjourney刚推送的--stylize 1000级调优补丁,已实测提升立体主义结构清晰度达4.8倍(附对比数据集下载)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Midjourney立体主义风格的本质解构 立体主义并非简单地将物体“打碎再拼合”&#xff0c;而是一种对多维时空感知的视觉转译——Midjourney 通过其隐式扩散先验&#xff0c;以概率化方式重构了布拉克与…...