Amp

Java笔试面试总结—try、catch、finally语句中有return 的各类情况

前提是你 提交于 2020-07-28 12:29:56
前言 之前在刷笔试题和面试的时候经常会遇到或者被问到 try-catch-finally 语法块的执行顺序等问题,今天就抽空整理了一下这个知识点,然后记录下来。 正文 本篇文章主要是通过举例的方式来阐述各种情况,我这里根据 try-catch-finally 语法块分为两种大情况讨论:try-catch 语法块和 try-catch-finally 语句块,然后再在每种情况里再去具体讨论。 一、try-catch 语句块 我们可以看看下面程序: public static void main(String[] args) { System.out.println(handleException0()); } /** * try,catch都有return * @return */ private static String handleException0() { try{ System.out.println("try开始"); String s = null; int length = s.charAt(0); System.out.println("try结束"); return "try块的返回值"; }catch (Exception e){ System.out.println("捕获到了异常"); return "catch的返回值"; } } 执行结果 :

灵动微MM32W系列低功耗MCU智能锁解决方案

纵饮孤独 提交于 2020-07-28 12:27:16
智能锁方案中使用到 灵动微 MM32W系列低功耗MCU,配合手机通过APP读取智能锁蓝牙信息,尝试配对,配对成功即可正常通讯,手机APP通过蓝牙把指令发送给智能锁进行解锁,整个流程简单可靠,该方案将彻底告别传统钥匙开锁。蓝牙智能锁安全便捷,符合用户的需求,可应用的日常场景广泛,例如:门锁(家门、仓库门、货车门等);车锁(电动车锁、自行车锁、摩托车锁等);私人箱柜锁(抽屉锁、更衣柜、旅行箱、工具箱等)。接下来灵动微总代理英尚微给大家介绍一个使用场景非常丰富的蓝牙应用方案——基于MM32W系列开发的蓝牙智能锁方案。 图1方案场景 硬件资源如下: 本方案基于MM32BLE_TestBoard进行测试验证,搭配上一颗微型的双向直流马达作为开锁方式的载体,这里只用马达驱动开锁,关锁默认为手动操作,用户可以通过手机APP来操作开锁。在硬件原理上,本方案使用到的DC马达是通过一颗专用的IC芯片来驱动,其控制引脚连接到MCU的PD2和PD3,通过控制两个IO的电平可以对马达进行不同运动状态的操作;使用PB1连接到绿色LED指示灯,可作为蓝牙连接状态的指示;模拟锁体状态功能引脚PA1配置为上拉输入,低功耗唤醒引脚选择PA0配置为上拉输入;蓝牙相关的功能引脚与前面介绍的方案一致,此处不做过多展开。以下为DC马达驱动原理图: 图2 方案应用图 软件资源如下: 结合上述使用到的硬件资源

C++ 九阴真经之序列化与反序列化

巧了我就是萌 提交于 2020-07-28 12:03:11
C++中将对象进行序列化的常用方法有三种: protobuf、 Boost.Serializatio、 MFC Serialization。 根据使用场景,各有优势 protobuf :需要单独定义格式,一般用于网络通信,用于数据包的传输。 Boost.Serializatio : 能够创建或重建程序中的等效结构,并保存为二进制数据、文本数据、XML或者实用户自己定义的其它文件 MFC Serialization: MFC 对 CObject 类中的序列化提供内置支持 对于以下小型项目,如果需要保持程序中的等效结构,但又不想引入boost库的话,其实也可以自行实现,基于二进制的序列化与反序列化并不难,下面将详细介绍实现过程,支持C++基础类类型及stl容器类型。 测试效果: void print(const std::string& msg) { //反序列化 std::istringstream iss(msg); std::vector<std::string> d; Deserialize(iss, d); for(auto item : d) { std::cout << item << std::endl; } int val; Deserialize(iss, val); std::cout << "-->" << val << std::endl; std:

运维告警管理—多渠道的通知必达

心不动则不痛 提交于 2020-07-28 11:30:46
睿象云 智能告警平台 CA 中通知策略实现了被分派人接收告警的通知方式,确保告警发生/认领/关闭时,能以用户习惯的接收告警的方式,实时收到告警通知,同时,尽可能减少告警遗漏。 如果你想实现电话、短信、微信、邮件、APP,5种通知方式,您需要: • 个人信息中,填写正确的电话号码;点击右上角 个人中心可修改手机号 • 个人信息中,填写正确的邮箱地址;点击右上角 个人中心可修改邮箱 • 个人信息中,绑定并关注 Cloud Alert 微信公众号; 扫描下方二维码,下载APP,安装,登陆。 为满足大部分客户的个性化通知需求,通知策略包含6个部分: 1. 告警状态; 2. 通知时间; 3. 告警级别; 4. 延迟策略; 5. 通知方式; 6. 通知人。 告警状态 • 发生时:告警发生/trigger时,如果被分派人想收到告警通知,可以设置发生时通知; • 确认时:在CA平台 PC端、微信端、APP端点击 认领 按钮告警后,意味有人认领/ack告警了,如果被分派人想收到确认告警信息,可以设置确认时通知; • 关闭时:告警解决/resolve后,如果被分派人想收到告警关闭信息,可以设置关闭时通知; 通知时间 可以根据用户实际工作时间,设置不同的通知策略,可设置告警在任何时间发生,均通知;可设置告警在工作时间发生,才通知;可设置告警在非工作时间,才通知。例如,在工作时间时刻在电脑前

PHP监控进程状态,完成掉线自动重启

China☆狼群 提交于 2020-07-28 11:29:26
1. 利用Shell脚本实现 #!/bin/bash PORT=0 while [ true ];do read -p "please enter the port that you want to minitor:" port if [ $port -gt 65536 ] || [ $port -lt 1 ];then echo 'the port you enter is not correctly' else PORT=$port break fi done while [ true ]; do if [ `netstat -anp 2> /dev/null | grep ${PORT} | wc -l` -gt 0 ] ;then echo 'service is online' else echo 'service is offline' cd /home/eko/share/live_admin/script php ./ws.php & fi sleep 3 done 2. 利用Swoole定时器实现 class Server { const PORT = 8811; public function port() { $shell = "netstat -anp 2>/dev/null | grep ". self::PORT . " | grep LISTEN |

mysql多实例安装

天大地大妈咪最大 提交于 2020-07-28 10:31:12
一、下载 1)打开 https://dev.mysql.com/downloads/mysql/ 2)选择 Linux - Generic 3)下载 (mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz) 二、解压 # cd /usr/local/src # wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz # xz -d mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz && tar xvf mysql-8.0.20-linux-glibc2.12-x86_64.tar # 将mysql放到/usr/local/mysql下 # mv mysql-8.0.20-linux-glibc2.12-x86_64 /usr/local/mysql 三、配置并安装 # 安装前的准备 # 调整PATH变量,方便使用短路径调用 ## 将路径加入PATH中,然后加载配置,让系统认识这个路径 echo "export PATH=/usr/local/mysql/bin:$PATH" >> /etc/profile source /etc/profile 1) vim /etc/my.cnf #

为什么Google会优先使用while(1); 他们的JSON响应?

 ̄綄美尐妖づ 提交于 2020-07-28 10:07:53
问题: Why does Google prepend while(1); 为什么Google会优先使用 while(1); to their (private) JSON responses? 他们的(私有)JSON响应? For example, here's a response while turning a calendar on and off in Google Calendar : 例如,这是在 Google日历中 打开和关闭日历时的响应: while(1);[['u',[['smsSentFlag','false'],['hideInvitations','false'], ['remindOnRespondedEventsOnly','true'], ['hideInvitations_remindOnRespondedEventsOnly','false_true'], ['Calendar ID stripped for privacy','false'],['smsVerifiedFlag','true']]]] I would assume this is to prevent people from doing an eval() on it, but all you'd really have to do is replace the while

【520 Debug】如此机智的你为何至今还是单身?

孤者浪人 提交于 2020-07-28 09:59:28
今天,过节?哦,是520。但作为程序员,要加班的520如何找对象?有对象的要加班如何陪对象?这不就是个循环Bug吗? 但云妹向来贴心~(解Bug不就是我们每天在做的事儿吗?!) 机智的程序员,是不是感觉马上就可以抱得心上人归了哇哈哈哈哈哈哈! 诚邀:“520 Debug”贡献! 相信各位程序员都很会“Debug”和对象“存储”大家还有很多妙招!点击 【 阅读 】 留言,贡献你是如何取悦对象的!我们将挑选最佳”解Bug方案“,送上社区专属 AiMaShi情侣套装 ! 重磅福利 转发此条内容到朋友圈, 集“赞”最多并且截图发送到后台的机智小伙伴 除了抱得心上人归外还有机会获得 京鱼座小蛮腰蓝牙音箱 ~ 最后,祝没有对象的各位都能早日找到对象~ 来源: oschina 链接: https://my.oschina.net/u/4090830/blog/4286025

Discourse 如何启用 matomo 代码跟踪

ぐ巨炮叔叔 提交于 2020-07-28 09:59:11
如何在 matomo 中启用代码跟踪? 当你问到这个问题的时候,我们确定自你应该对 Matomo 比较了解,并且知道 Matomo 是干什么的了。 Matomo 的前身是Piwik,好像是最近才开始改名的,是个非常出名的开源网站统计分析程序,提供了顶级关键字和搜索引擎,网站,社交媒体网站,首页网址,页面标题,用户国家,提供商,操作系统,浏览器市场份额,屏幕分辨率。 更加主要的是,你将会获得所有用户访问的数据,能够有效避免因为网站屏蔽给你带来的问题,比如说 GA 在很多时候就访问不了。 Matomo 是基于 PHP 和 MySql 平台的,搭建也非常容易。我们这里就主要讲 如何在 Discourse 中嵌入进去。 首先你需要为你的主题安装主题组件,安装的方法请参考: Discourse 如何安装一个主题组件或者主题组件 页面中的内容。 我们使用的仓库地址为: https://github.com/ossez-com/discourse-matomo-analytics ,这个 Fork 仓库地址 https://github.com/discourse/discourse-matomo-analytics.git 的内容的。 我们使用自己的仓库地址主要是对指南创建新的链接,并且做了些更新。 在安装完成后,你应该会看到下面的内容: 下面的界面表示已经安装好了,如果你不喜欢这个插件

华为云618年中钜惠,新购满额送华为手机P40 Pro

99封情书 提交于 2020-07-28 08:59:54
华为云,618年中钜惠 精选云产品1折起,助力“新基建” 注册即享6600元上云礼包 1核2G云服务器低至88元/年 新购满额送华为手机P40 Pro 赶快抢购吧!【 活动地址 】 更多华为云年中钜惠购买攻略 新购满额即送华为手机P40 Pro 更多活动详情,点击【 传送门 】前往 关于华为云 华为于2017年成立Cloud BU,全力构建并提供可信、开放、全球化的云服务。截至2019年底,华为云已经上线200多个云服务、190多个解决方案,包括69款华为云鲲鹏云服务、43款昇腾云服务,300万企业和开发者选择华为云进行云端开发。 最近,Gartner发布最新《Market Share: IT Services, Worldwide 2019》研究报告,华为云全球IaaS市场排名上升至第六,其增速高达222%,中国市场排名前三。短短几年,华为云已经取得了非常亮眼的成绩。 在中国,华为云已经为政府、互联网、汽车制造、金融、基因等多个行业提供上云服务,包括30多个国家级部委、600多家政府与公共事业单位、互联网50强企业中的30家、20多家大型车企以及14家基因领域的企业等等。 在海外,华为云在新加坡、智利、巴西、墨西哥、秘鲁大区陆续开服,与合作伙伴在全球23个地理区域运营45个可用区。 截至2019年,华为云与2000家技术合作伙伴开展深度合作,云市场上架3500个合作伙伴应用