3.16学习心得

YOLOv改进 | YOLOv11更换主干Backbone之MobileNetV2(轻量化主干网络结构--高效轻量移动模型) 本文提出将YOLOv11的主干网络替换为轻量化的MobileNetV2,以提升模型在移动端设备的部署效率。MobileNetV2通过倒残差结构和线性瓶颈层,显著减少了计算量和参数量(降至1M~3M),同时保持多尺度特征提取能力。实验表明,改进后的模型在移动设备上可实现20-30 FPS的实时检测,适用于手机APP、无人机和工业监控等场景。核心代码展示了倒残差块的实现,通过深度可分离卷积和通道扩展/压缩实现高效特征提取。 阅读详情

今日主要学习了Java中的单例模式以及常见的异常报错处理。

在实际的开发中,绝大部分的服务性质的类都会设计成单例模式,所谓的单例模式,就是类只有一个对象,外部要使用该类的对象,通过调用一个类方法实现。

/**
 * 饱汉式单例模式
 * @author lzq31
 *
 */
public class Service2 {
	
	private static Service2 service = new Service2();
	
	private Service2() {
		
	}
	
	public static Service2 getInstance() {
		return service;
	}
}
/**
 * 饿汉式单例模式
 * @author lzq31
 *
 */
public class Service {
	
	private static Service service;
	
	private Service() {
		
	}
	
	public static Service getInstance() {
		if (null == service) {
			service = new Service();
		}
		return service;
	}
}


常见的处理异常的方式

try catch :

判断一个对象是否为空,使用 null != str

在程序方法设计,特别是方法的实现中,对于传入的参数,是不可知的,所以要对传入的参数进行最基础的验证后,才能使用,例如,判断是否为 null。

public static void fun1(String str, String subStr) {
    if (null != str && null != subStr) {
        if (str.indexOf(subStr) >= 0) {
            System.out.println("存在子串");
        } else {
            System.out.println("不存在子串");
        }
    } else {
        System.out.println("不合法字符串");
    }

}

在 try catch 结构中,catch 是可以省略的,也可以多异常的捕获,但是出现多异常的时候,父类异常只能出现在最下面。

在实际的开发中,一般最简单的方式就是使用一个 Exception 直接处理


finally :

无论是否出现异常都会被执行,特别要注意的是,如果没有写 catch ,那么 finally 是会被执行的,但是中断后的语句是不会被执行的。

public class Demo1 {
	public static void main(String[] args) {
		String str = "abc";
		str = null;
		fun1("abc", null);
	}

	public static int div(int m, int n) {
		int k = m / n;
		return k;
	}

	public static void fun1(String str, String subStr) {
		try {
			System.out.println("11111111");
			int i = 10 / 0;
			if (str.indexOf(subStr) >= 0) {
				System.out.println("存在子串");
			} else {
				System.out.println("不存在子串");
			}
			System.out.println("end");
		} catch (Exception ex) {
			System.out.println("程序出现错误");
			ex.printStackTrace();
			System.out.println("#"+ex.getMessage());
			
		} finally {
			// 一定会被执行的代码块
			System.out.println("finally");
		}
		
		System.out.println("fun1 end");

	}
}


throws:

在方法定义的后面显式的声明方法是有异常的,调用该方法的程序是要显式的处理异常,后者也可以再次抛出。

public class Demo2 {
	public static void main(String[] args) {
//		fun1();
//		fun2();
		try {
			fun3();
		} catch (Exception ex) {
			ex.printStackTrace();
		}
		
	}
	
	public static void fun1() {
		System.out.println("begin");
		int i = 0;
		try {
			i = 10 / 0;
		} catch(Exception ex) {
			ex.printStackTrace();
		}
		
		System.out.println(i);
		System.out.println("end");
	}
	
	// 使用 throws 抛出异常,通知调用该方法的程序,你要去处理。
	public static void fun2() throws Exception{
		System.out.println("begin");
		int i = 0;
		i = 10 / 0;
		System.out.println(i);
		System.out.println("end");
	}
	
	public static void fun3() throws Exception {
		System.out.println("begin");
		int i = 0;
		try {
			i = 10 / 0;
		} catch (Exception ex){
			// 不做处理
			throw new Exception("系统错误");
		}
		System.out.println(i);
		System.out.println("end");
	}
	
}

throw:

自定义的创建一个异常对象。在一般的异常发生时候,虚拟机会动态的创建一个「系统异常」抛出,和自定义使用 throw 抛出是一个概念。

public class Demo3 {
	public static void main(String[] args) throws Exception {
		fun1(17);
		System.out.println("end");
		
	}
	
	public static void fun1(int age) throws Exception {
		if (age < 18) {
			throw new Exception("您的年龄不合法");
		} else {
			System.out.println("您已经进入VIP房间");
		}
	}
}

    
Autosar PNC网络管理配置-UserData的使用 之前配置的网络管理报文中的data都由ComM管理,后面客户新增了需求,最后两个byte需要发送,本文记录一下相关配置的修改能配置生成的,尽量不手码,毕竟手写一堆bug~ 阅读详情

相关推荐

LTC2990电池监控芯片I²C驱动开发与多通道同步采样实践

电池监控是嵌入式电源管理系统的核心环节,其本质依赖高精度模拟信号采集、数字转换与实时状态评估。LTC2990作为集成电压/电流/温度三合一的专用监控IC,通过真差分输入、内置基准和I²C数字接口,显著简化了SOC/SOH估算的硬件链路。其技术价值在于以单芯片替代传统ADC+运放+传感器组合,在宽压(2.7–36 V)、高共模(80 V)场景下保障工业级测量可靠性。典型应用于电动工具、车载BMS、UPS及便携式储能设备的电池健康监测子系统。本文聚焦LTC2990底层驱动实现,涵盖I²C时序约束、寄存器原子读写

weixin_42599558的博客 131

VMware Workstation Pro16 虚拟机中自适应界面窗口图标大小

VMware Workstation Pro16 虚拟机中自适应界面窗口图标大小

qq_45656180的博客 3223

手把手教你用AD9834 DDS模块DIY一个可调信号源(附AD原理图/PCB/程序)

本文详细介绍了如何使用AD9834 DDS模块DIY一个高精度可调信号源,涵盖硬件搭建、原理图解读、PCB优化和程序烧录等关键步骤。通过STM32控制实现0-10MHz频率范围输出,特别适合电子设计与射频实验,提供完整的AD原理图、PCB设计和程序代码参考。

weixin_31854867的博客 406

第13周项目1-数组大折腾(4)

问题及代码: /* *Copyright(c)2014,烟台大学计算学院 *All  rights reserved. *文件名称:test.cpp *作者:陈银丽 *完成日期:2014年11月24日 *版本号:v1.0 * *问题描述:创建一个长度为16的整型数组并初始化,*输入描述: *程序输出: */

CKL1029的专栏 711

XGBoost与Embedding混合建模实战解析

在机器学习领域,特征工程与模型融合是提升预测性能的关键技术。Embedding技术通过将高维稀疏特征(如文本、ID类数据)转化为低维稠密向量,有效捕获语义关联;而XGBoost作为强大的集成学习算法,擅长处理结构化特征并进行自动特征组合。两者结合的混合架构(如Semantic Boosted Trees)在金融风控和推荐系统等场景中展现出显著优势,尤其在处理用户行为序列、商品ID等复杂特征时,相比传统方法能获得更好的模型效果。本文通过电商推荐和金融反欺诈等案例,详解如何实现Embedding+XGBoost

weixin_28718641的博客 324

ESP32 IDF开发 应用篇⑲ 空中升级OTA

在实际产品开发过程中,在线升级可以远程解决产品软件开发引入的问题,更好地满足用户需求。OTA(空中)更新是使用 Wi-Fi 连接而不是串行端口将固件加载到 ESP 模块的过程。(1)、ESP32 的 OTA 升级有三种方式:·Arduino IDE:主要用于软件开发阶段,实现不接线固件烧写·Web Browser:通过 Web 浏览器手动提供应用程序更新模块·HTTP Server:自动使用http服务器 - 针对产品应用在三种升级情况下,必须通过串行端口完成第一个固件上传。

lu330274924的博客 3324

第十三周项目 1 数组大折腾(4)——删除元素

/* * Copyright (c) 2014, 烟台大学计算机学院 * All rights reserved. * 文件名称 :main.cpp * 作 者 :韩娟 * 完成日期 :2014年11月20日 * 版 本 号 :v1.0 * * 问题描述 : 创建一个16个元素的数组,通过初始化赋值,删除数组中整除3的元素,输出剩下的元素 * 输入描述 : 略 * 程序输

souljuan的专栏 569

高光谱图像处理和分析软件(包含雷尼绍Renishaw wdf 文件导入解析功能)

是一款基于微软windows操作系统的多传感器成像工具,用于处理和分析高光谱图像。它是一个模块化的系统,由一个基本的引擎,一个图形用户界面,一个化学计量工具箱和可选的用户提供的模块组成。它支持最重要的光谱成像技术,如UV/Vis、红外、拉曼、太赫兹、光发射/吸收和质谱。除此之外,还允许用户将高光谱图像与物理属性图和传统高分辨率彩色照片合并在一起 链接:https://pan.baidu.com/s/1ruQ5YSh5_ZS9wx_V3Q5Oow 提取码:qdx0 ...

业余程序员小徐的博客 8068

DDR学习心得(一)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、DDR3内部结构二、使用步骤1.引入库2.读入数据总结 前言 最近在学习DDR3/DDR4相关知识,从中总结了一些心得,想放在优快云上记录下来。之前在优快云上看了不少大神的帖子,对我的学习颇有帮助,现在我也想把我的学习新的记录下来,希望可以和各位大神进行技术交流。这也是我第一次写技术文章,如有错误还请各位及时指正 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多

weixin_45618498的博客 7085

ROS Noetic + Realsense ROS 2.3.2 在鲁班猫4上的完整工作空间搭建与相机启动调试

本文详细介绍了在鲁班猫4(RK3588S)开发板上搭建ROS Noetic与Realsense ROS 2.3.2开发环境的完整流程,包括Realsense SDK安装、工作空间配置、D435i深度相机驱动调试等关键步骤,为机器人视觉系统开发提供实用指南。

weixin_33217202的博客 235

【笔记】1.1 拉伸力-伸长(延伸)曲线和应力-应变曲线

过了B点后,由于颈缩导致的截面半径迅速减小,导致真应力迅速上升,切线斜率明显提高。假设试样原长为ε,在力的作用下伸长了dε,那么根据应变的定义,瞬时的应变为dε/ε,总的应变为瞬时应变的累计,假设在瞬时的条件下,试样受载荷变化量为 ΔF ,变化的截面积为 ΔA ,而且ΔA→0,那么瞬时的。由于原始的截面积和原始的标距长度为常数,故得到的曲线长相和拉伸力-伸长(延伸)曲线没啥区别。因为用的都是原始的截面积和原始的标距长度,故称为公称应力和公称应变。如果拉伸力→应力,伸长长度→应变,就会得到应力-应变曲线。

m0_73676887的博客 5269

Ubuntu学习心得——运用篇——Ubuntu16.04指令集(基础)+问题集

Ubuntu学习心得——运用篇——Ubuntu16.04指令集(基础) FOR THE SIGMA FOR THE GTINDER FOR THE ROBOMASTER 简介: 操作系统版本:Ubuntu16.04(注意:不同的ROS版本对应相应的Ubuntu操作系统版本的切勿安装错误) http://www.ubuntu.org.cn/download/desktop 桌面版ubuntu16.0...

whl970831的博客 1867

高通开发系列 - Camera之摄像头调试记录

记录一些调试内容

fulinux的博客 1215

ROS学习心得——机器人篇——同一局域网下机器人与主机的通信

ROS学习心得——机器人篇——同一局域网下机器人与主机的通信 FOR THE SIGMA FOR THE GTINDER FOR THE ROBOMASTER 简介: 关于这一章我将详细的介绍如何利用一台搭载这mini PC(Ubuntu16.04)的机器人与一台装有虚拟机(Ubuntu16.04)主机进行基于ROS的通信,通过SSH从主机发送指令给机器人(mini PC)完成相应操作。 本教程结...

whl970831的博客 4384

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

WT系列语音芯片发声链路、PWM/DAC与3.3V输出调参实战

语音芯片的本质是将数字音频还原为模拟波形,再通过PWM输出或DAC输出驱动喇叭。采样压缩、解码调制、隔直耦合、RC滤波与阻抗匹配共同决定响度、音质和稳定性。3.3V供电下输出幅度按平方关系下降,容易带来音量偏小、POP音、破音与串扰;选对功放、喇叭和滤波参数,才能提升小家电、玩具等语音提示的可靠性。围绕WT系列语音芯片,从发声信号链、输出路径到实测排错逐段拆解,帮助硬件与嵌入式开发者把声音调稳。

weixin_34187862的博客 312

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Java入门1.2.3—一个老鸟的Java学习心得

Java入门1.2.3—一个老鸟的Java学习心得 基本信息 作者: 臧萌 出版社:清华大学出版社 ISBN:9787302217831 上架时间:2010-3-30 出版日期:2010 年3月 开本:16开 其他详细信息查看:http://www.china-pub.com/196571 编辑推荐 Java编程老鸟潜心写作,奉献高效率的Java学习心得完全站在没有编程经验...

weixin_30807779的博客 236

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

《论文写作》学习心得

(2)已有工作的说明;(3)已有工作局限性,以 However 开头(尊重同领域的研究者,大家都是一步一步走来的,不要有过分的指责),目的是说明找到的“坑”,然后后续的工作能够把这个“坑”填上;可以将摘要中的每一句扩展为引言中的一段,形成层次分明、逻辑严谨的结构,这样一来,有助于清晰地展现研究的背景、目的和重要性,使引言部分不仅具备信息量,还能引导读者顺利进入论文的主题。16. 参考文献不能成为简述的主角,表达一个完整的意思后,再把文献的引用加上去,同时也不能让参考文献称为句子的主语、宾语,不能反客为主。

m0_62262740的博客 1016

Ubuntu学习心得——安装篇——Ubuntu16.04安装(VMware虚拟机+16.04+中文界面设置+输入法安装)

Ubuntu学习心得——安装篇——Ubuntu16.04安装 FOR THE SIGMA FOR THE GTINDER FOR THE ROBOMASTER 简介: 该篇参考了多个博客主们的文章,在此,感谢他们的开源,愿意将经验分享出来。 由于经济问题,本篇将以VMware虚拟机为载体,Ubuntu16.04为镜像文件为大家提供示范,为大家带来最简洁快速的Ubuntu安装方法。(穷啊!) 操作系...

whl970831的博客 3724

VGG16网络介绍及代码撰写详解(总结1)

本文是介绍VGG16网络,个人对其的知识总结,网络设计的知识点,以及代码如何撰写,

weixin_52531699的博客 3216

寿险条款学习心得

寿险条款学习心得 一、条款共同内容1、  保险合同得构成2、  投保范围(1)  投保人(2)  被保人        主要要素:年龄、身体状况,以及投保人与被保人的的关系3、  保险责任不同条款最大的不同就是责任定义的不同可以对保险的责任定义进行一个单独的整理        寿险的保险责任主要有:、(1)       身故(2)       残

顾强 3618

pic16f616单片机C语言编程,PIC16F616型单片机介绍

为了给前一段时间学习PIC16F616型单片机的一个总结和方便大家的交流,我写了这篇关于PIC单片机的学习心得,都是在看了手册和编程调试后用自己的语言组织的,其中有不足或者有疑问的地方希望大家能及时的给予纠正和批评,提出宝贵的意见。PIC16F616是一款14引脚、8位的CMOS单片机.采用精简指令集,仅有35条指令,由于采用了数据总线和指令总线分离的哈佛总线结构,使得除少量指令不是单周期之外,大...

weixin_39816362的博客 561

FPGA入门学习心得

本文主要分享自己的FPGA入门学习心得,芯片为 EP4CE10F17C8N,编程语言为Verilog HDL主要从 如下重要过程下手:基础语法学习指南,对一些主要关键词进行分析,ip核的认识及学习,自行编写简单程序,根据所用模块手册编写时序。

m0_72794059的博客 1850

【参赛作品16】opengauss实践总结学习心得

Opengauss实践总结 实验一 在ECS上安装部署openGauss数据库 一、实验内容 1、实验内容:本实验主要内容为弹性云服务器(openEuler)上安装部署openGauss数据库,并进行简单的数据库相关操作。 2、实验概览: 实验概览图 二、实验过程 1.进入华为官网,购买弹性云服务器ECS(openEuler ARM 操作系统)。购买时需自定义购买进行基础配置、网路配置、高级配置等。 2.修改操作系统配置。使用SSH工具(比如:PuTTY等)从本地电脑通过配置弹性云...

Gauss松鼠会 3220

CSS3 HTML5学习心得

1.字符串 str.charAt(字符串索引),若索引超过字符串长度,返回空。 str.indexof(“某字符”),找到这个字符顺序第一次出现的索引。 str.lastIndexof(“某字符”),找到某字符串倒序最后出现的索引,若没有返回-1。 str.Uppercase(),将str转换为大写。 str.Lowercase(),将str转换为小写。 str.substr(2,3),

为了N 1169

Struts2学习心得

struts2的学习心得,稍做一些记录 ,如下: 1. 首先,struts2实在WebWork2基础上发展而来的,同时也属于MVC框架。struts2 和struts1的一些区别,你可以自己去揣摩,我自己看了一些资料,总结几点如下:      a. struts2不像struts1一样与servletAPI和strutsAPI之间存在紧密的耦合性,既不依赖于strutsAPI的Action,也...

hengltyy的博客 548

第七周学习心得与体会

冯·诺依曼结构也称普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构。程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置,因此程序指令和数据的宽度相同。1945年,冯•诺依曼联合计算机科学家们提出了计算机系统结构具体设计的报告,其遵循图灵机的设计,并且还提出用电子元件构造计算机,同时也约定了用二进制来进行计算和存储;体系结构将计算机系统具体定义为五个部分,分别是运算器,控制器,存储器,输入设备,输出设备;

LS_Sy的博客 1256
上一篇: 20180316
下一篇: Java知识点总结与概括
Coldzerace
博客等级 码龄9年 3粉丝 65原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值