PHP学习笔记 - 进阶篇(10) 异常处理 抛出一个异常 从PHP5开始,PHP支持异常处理,异常处理是面向对象一个重要特性,PHP代码中的异常通过throw抛出,异常抛出之后,后面的代码将不会再被执行. 既然抛出异常会中断程序执行,那么为什么还需要使用异常处理? 异常抛出被用于在遇到未知错误,或者不符合预先设定的条件时,通知客户程序,以便进行其他相关处理,不至于使程序直接报错中断. 当代码中使用了try catch的时候,抛出的异常会在catch中捕获,否则会直接中断. 1.基本语法 try…
<Java核心技术·卷Ⅰ:基础知识(原版10>学习笔记 第5章 继承 目录 <Java核心技术·卷Ⅰ:基础知识(原版10>学习笔记 第5章 继承 5.1 类.超类和子类 5.1.1 定义子类 5.1.2覆盖方法 5.1.3子类构造器 5.1.4 继承的层次 5.1.5 多态 5.1.6 理解方法调用 5.1.7 阻止继承:final类和方法 5.1.8 强制类型转换 5.1.9 抽象类 5.1.10 受保护访问 5.2 Object: 所有类的超类 5.2.1 equals方法 5…
Effective STL 学习笔记 Item 21:Comparison Function 相关 */--> div.org-src-container { font-size: 85%; font-family: monospace; } Table of Contents 1. Always have comparison functions return false for equal values 2. Strict Weak Ordering 1 Always have compar…
如需转载,请注明出处:Flutter学习笔记(21)--TextField文本框组件和Card卡片组件 今天来学习下TextField文本框组件和Card卡片组件. 只要是应用程序就少不了交互,基本上所有的应用程序都会有用户名.密码输入框,搜索框等等,前面我们有写过一篇基于Form表单的输入功能,今天来看一下TextField文本框组件,文本输入是最常见的一种交互方式,TextField组件就是用来做文本输入的组件.注意这个要和Text组件区分开来,Text组件主要用于显示文本,并不能接受输入文…
本篇介绍指令的最后两个属性,require和controller 当一个指令需要和父元素指令进行通信的时候,它们就会用到这两个属性,什么意思还是要看栗子: html: <outer‐directive> <inner‐directive></inner‐directive> </outer‐directive> 这里有两个指令,一个outer-directive指令元素,它里面又有一个inner-directive指令元素. js: app.directiv…
5.21.1.10 Write Atomicity Normal 这个特性控制AWUN和NAWUN参数的操作.设置的属性值在set Feature命令的Dword 11中表明. 如果提交Get Feature命令查询这个特性,属性值填写到completion应答CQE的Dword 0中返回. [补充知识] 在Feature中设置原子操作的位置在Feature Identitiers的0Ah处,如下: [参照spdk代码如下] [参考Figure 286 可知,当前只用了一个bit位,参考代码如下…
5.23 Format NVM command - NVM Command Set Specific Format NVM命令用于低级格式化NVM媒介.这个命令被host主机使用,来变更LBA数据大小和(或)元数据大小.一个低级格式化可以销毁命令指定的相关所有namespace或仅特定的namespace上的所有数据和元数据(参考Identify Controller数据结构中的Format NVM Attributes字段).Foamat NVM命令成功完成之后,之前包含在对应namespac…
本文不涉及集群搭建操作 关于在lua脚本中操作redis的应用场景 大家都知道redis对于单个集合的操作是原子性的;但是有可能有一种场景是这样.比如说抢红包,现在有十个人抢五份红包,抽象到我们java代码里就是十个线程争抢五份资源, 而这个逻辑如果使用redis操作的话,是需要进行多步骤的数据增改操作,但是因为是多步骤,所以在第一个步骤或第二个步骤进行操作的时候redis都没任何问题,但是第三步可能就失败了.但因为不是原子性的,第一个步骤和第二个就不会回滚,数据就会不一致,但其它线程也不知道,…
材料说明: 文档<NVM-Express-1_4-2019.06.10-Ratified.pdf>来自于NVMe网站:https://nvmexpress.org/ 笔记目的是学习NVMe基本概念,为学习NVMe over Fabric打基础,所以当前记录中与PCIe相关的内容,以及其他无关紧要的内容,都先跳过. 1 引言(入门简介) 1.2 内容范围 NVMe基础规格说明书为NVM subsystem中由controller负责的通信 定义寄存器接口.[注:对于NVMe over Fabri…
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常与多线程相关内容. 2. 书面作业 本次PTA作业题集异常.多线程 1.finally 题目4-2 1.1 截图你的提交结果(出现学号) 1.2 4-2中finally中捕获异常需要注意什么? finally块中的代码一定会被执行,finally最好的作用就是利用resource.close();释放资源,finally中的异常要在finally中用try/catch捕获,不要在外层捕获.同时在finally中最好不要使用r…
打腿 把注意力调整到脚部,尽量不要让他打出水面,因为在空气中大腿完全是无用功,但是如果只是脚跟出水一点,倒也没什么关心,但是主观上,要控制一下,如果你听到你的打腿是"咚咚咚咚"这样的声音,那你一定是在砸水了. 扶板抬头打腿练习,除了练打腿之外,还能练习比如平衡和腰部核心等更多的东西,那就不是呼吸管和徒手能比的. 如果你想要做的更好,就需要注意更多的东西啦,比如,脚尖绷直,膝盖不能弯曲地太大,通常初学,绷直了打先,以后可以再感受弯曲的角度. 在努力想要提升打腿效率的同时,打腿的幅度不要太…
8.8 Reservations 预订 NVMe的reservation预订功能,用于让两个或多个主机能够协调配合的访问共享namespace.使用这些功能的协议和方式超出了本规格说明书的范围.对这些reservations功能的错误应用可能破坏数据或危害系统操作. namespace上的reservation限制主机访问namespace.如果namespace在reservation情况下,主机提交命令到namespace缺乏足够的权限,那么命令就会被controller终止掉,返回Rese…
8.20 非对称namespace访问报告 8.20.1 非对称namespace访问报告概况 非对称Namespace访问(ANA)在如下场景下产生,基于访问这个namespace的controller和NVM subsystem内部配置,namespace访问特征(例如性能或范围媒介的能力)可能变化.ANA(Asymmetric Namespace Access)Reporting用于指示关于这些访问特征的主机信息. 共享namespace可以借助于多PCIe端口或网络端口(涉及NVMe o…
Lab 1 Exercise 10 为了能够更好的了解在x86上的C程序调用过程的细节,我们首先找到在obj/kern/kern.asm中test_backtrace子程序的地址, 设置断点,并且探讨一下在内核启动后,这个程序被调用时发生了什么.对于这个循环嵌套调用的程序test_backtrace,它一共压入了多少信息到堆栈之中.并且它们都代表什么含义? 答: 先找到这个子程序的地址,打开obj/kern/kern.asm.在这个文件中我们查到调用test_backtrace子程序指令的地址为…
① 读取文件夹大小 a. 封装计算文件夹大小的函数 b.  打开文件夹 c. 循环判断文件夹下的内容是文件还是文件夹,如果是文件,则累积相加文件的大小:如果是文件夹,则递归调用该函数 注意两个问题: a. 在计算每个文件夹大小之前,应该清空变量 $size,否则文件夹大小会累加(index.php) <td><?php $size = 0; echo transByte(dirSize($p));?></td> b. 在计算文件夹大小的方法中,$size 应该设置为全局…
1. 在使用用户名和密码登陆MySQL数据库之后,首先需要指定你将要操作的数据库 USE $数据库名称 2. 使用SHOW 命令可以查看数据库和表中的信息 SHOW DATABASES; #列出可用数据库名称列表 SHOW TABLES; # 列出当前选择数据库内可用表的列表 SHOW COLUMNS FROM $表名 #返回指定表中所有列字段的详细信息,DESCRIBE $表名,也可以实现相同的功能 SHOW STATUS; #用于显示广泛的服务器状态信息 SHOW CREATE DATABA…
客户端浏览器和服务器Tomcat要进行基本的请求和响应的处理. 其实浏览器和服务器通信的数据的格式已经使用协议进行固定好了,只要双方发送固定格式的数据,那么就可以完成基本的通信. 如果开发者需要查看这样的数据格式,那么就需要安装一个浏览器的HTTP协议相关的插件. 如果要深入的学习浏览器和服务器通信的数据,那么需要详细的掌握他们之间发送的数据内容. 1  请求信息 GET / HTTP/1.1  请求行 Accept: */* Accept-Language: zh-cn,en-US;q=0.…
10. JSON ///[JSON是一种数据格式,不是JS 独有的] ///[JSON语法] /* 1.数据书写格式:"name":value,JSON要求给属性名加上[双引号],JSON不能用单引号 2.JSON值可以是:数字(整数.浮点数),字符串,布尔值(true false),数组,对象,null,注意没有undefined 3.数据由逗号分隔 4.大括号保存对象 5.中括号保存数组 */ { "bool":false, "str":&q…
8 Feature(特性) 8.1 固件升级过程 固件升级通过重启激活的过程是: 1. 主机发一个Firmware Image Download命令,下载固件映像版本到controller.可能有多个固件映像版本的部分需要下载,因此每个固件映像版本部分的下载偏移量在Firmware Image Download命令中指定.Firmware Image Download命令中提供的数据应该符合Firmware Update Granularity,如在Identify Controller数据结构…
最近的心得: CLI真好用,GUI就是渣渣 1. Bash 里面的命令是可以起别名的,起一个别名的方法是 alias [Alias]=[command] command可以是任意长的别名,比如 alias upload=“uemcli -d 10.1*9.**.*5 -u ***** -p ******** -upload -f *****-c4dev_PIE_4192-u**rade-*.0.0.1.3.***-5.0.0.1.3.***.*****6**50-GNOSIS_R***IL.tg…
6.5 End-to-end Protection Information 端到端保护信息 包含数据转存的命令可以使用端到端数据保护.在这些命令内部[位于Command Dword 12 的 [29:26] 这四个bit位],保护信息功能和保护信息检查字段域,正如Figure 355中定义做了详细说明. [注:CDW12.PRINFO即是Figure355描述的4个bit位] Protection Infomation Action(PRACT):保护信息功能位[只占一个bit位]指示对保护信息…
8.7 Standard Vendor Specific Command Format 标准的厂商特定命令格式 Controller可以支持Figure 106中定义的标准的Vendor Specific命令格式.主机存储驱动可以使用多个Dword域确保应用程序不能破坏物理内存(例如数据缓存越界).controller在Identity Controller数据结构中指示对格式的支持(参加下边Figure247的截图):参考Admin Vendor Specific Command Config…
4.12 Fused Operations 融合操作 融合操作通过“fusing”把两个简单的命令融合一起来支持一个更复杂的命令.协议规定这个特性是可选的:如果支持此特性,需要在Figure 247 Identity Controller数据结构的FUSES字段域中表明. 另外在Identity Namespace数据结构中,也有Atomic Operations特性(第6.4章节)配合. 在一个融合操作中,要求如下: 这两个命令必须作为一个原子单元按顺序执行.对于controller的表现来说…
6.15 Write command 写命令 写命令写数据和元数据,如果适用介质,发到逻辑块相应的I/O controller.主机也可以指定保护信息,作为操作的一部分包含进来. 命令用Command Dword 10,Command Dword 11,Command Dword 12,Command Dword 13,Command Dword 14,和Command Dword 15区域.如果命令使用PRPs传输数据,那么元数据指针,PRP Entry 1,和PRP Entry 2 域就被使…
5.2 异步事件请求命令 异步事件用于当状态.错误.健康信息这些事件发生时通知主机软件.为了使能这个controller报告的异步事件,主机软件需要提交一个或多个异步事件请求命令到controller.controller通过完成一个异步事件请求命令到主机来详细描述一个事件.主机软件应当期望controller可能不是立即执行这个命令,当有一个事件需要报告给主机时这种命令才会被完成. 异步事件请求命令由主机软件提交来使能从controller的异步事件报告.这种命令不会超时.当有一个异步事件时c…
8.21 使用ANA报告的主机操作 8.21.1 主机ANA普通操作 主机通过在Identify Controller数据结构中CMIC域的第3位来判断是否支持ANA.NSID或标识(参考第7.10章节)用于判断到同一个namespace的多路径什么时候有效.主机测验ANA Log page(参考5.14.1.12章节)对每个controller确定加载到本controller上的每组namespace们的ANA状态. 发送命令到一个namespace,主机应该选择一个报告ANA Optimiz…
概念 jQuery 是一套Javascript脚本库,注意 jQuery 是脚本库,而不是脚本框架."库"不等于"框架".jQuery 并不能帮助我们解决脚本的引用管理和功能管理,这些都是脚本框架要做的事. jQuery包装集和DOM对象 jQuery包装集和DOM对象是有区别的,jQuery包装集它一定是一个集合,是用jQuery的形式封装,不管它含有几个元素:而DOM对象一般是获取到的页面上某一个元素,比如说div.p等等,当然也可以获取一组DOM对象. 我们来…
ubuntu安装好之后,默认是不能用root用户登录桌面的,只能使用普通用户或者访客登录.怎样开启root用户登录桌面呢? 先用普通用户登录,然后切换到root用户,然后执行如下命令: vi /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf 在打开的文件里添加一句: greeter-show-manual-login=true 这句的意思是在登录时允许用户自己输入用户名和密码. 然后给root用户设置登录密码,设置方式见ubuntu首次给root用…
单例模式 单例模式(Singleton) : 又被称为单体模式,是只允许实例化一次的对象类.一个类有且仅有一个实例,并且自行实例化向整个系统提供. 命名空间 单例模式可能是JavaScript中我们最常见的一种模式了,这种模式经常为我们提供一个命名空间,比如我们经常使用jQuery. 下面我们来看看具体的示例吧: var MyQuery={ $:function(id){ return document.getElementById(id); }, css:function(id,key,val…
用 JWT 机制实现验证的原理如下图:  认证服务器负责颁发 Token(相当于 JWT 值)和校验 Token 的合法性. 一. 相关概念 API 资源(API Resource):微博服务器接口.斗鱼弹幕服务器接口.斗鱼直播接口就是API 资源. 客户端(Client):Client 就是官方微博 android 客户端.官方微博 ios 客户端.第三方微博客户端.微博助手等. 身份资源(Identity Resource):就是用户. 一个用户可能使用多个客户端访问服务器:一个客户端也可能…