优先级

css常用标签(1)

好久不见. 提交于 2020-02-01 03:08:49
1.css背景样式 background-color 背景色 background-image 背景图 url(背景地址) 默认水平垂直都铺满 background-repeat 平铺方式 repeat-x repeat-y repeat(x,y都平铺) no-repeat 都不平铺 background-position :背景位置 x y:number|单词 x : left,center,right y:number : top,center,bottom background-attachment : 背景图随滚动条移动的方式 scroll :默认值(背景位置是按照当前元素进行偏移的) fixed :(背景位置是按照浏览器进行偏移的) 2.css边框样式 border-style :边框样式 solid : 实线 dashed :虚线 dotted : 点线 border-width :边框大小 px ... border-color : 边框颜色 red #f00000 ... 边框也可以针对某一边进行单独设置 :border-left-style:中间是方向 left、right、top、bottom 颜色:透明色 transparent 3.css文字样式 font-family :字体类型 英文、中文 衬线体、非衬线体 注意点: 1.多个字体类型设置的目的 2

http首部字段汇总

给你一囗甜甜゛ 提交于 2020-01-31 05:24:40
http协议的请求和响应报文中必定包含http首部,只是平时我们在使用Web的过程中感受不到它,对它关注的也不是很多,最近在阅读《图解HTTP》,学习一下HTTP首部的结构,已经首部中各字段的用法。 HTTP报文首部 HTTP协议的请求和响应报文中必定包含HTTP首部,首部内容为客户端和服务器分别处理请求和响应提供所需要的信息。列了一个请求和响应报文的大致结构脑图 HTTP报文结构 请求和响应中都会存在着首部字段,它们为浏览器和服务器,传递额外重要信息。 通常HTTP首部字段由首部字段名和字段值,中间以":"分割组成: Request Method: GET 字段值对应单个HTTP首部字段可以有多个值: cache - control : public , max - age = 0 首部字段类型 HTTP首部字段根据实际用途分为4中类型。 通用首部字段: 请求报文和响应报文两方都会使用到的首部。 请求首部字段: 从客户端向服务器发送请求报文时使用的首部,补充了请求的附加内容、客户端信息、响应内容相关优先级等信息。 响应首部字段: 从服务器端向客户端返回响应报文时使用的首部,补充了响应时的附加内容,也会要求客户端附加额外的内容信息。 实体首部字段: 针对请求报文和响应报文的实体部分使用到的首部,补充了资源内容更新时间等与实体有关的信息。 通用首部字段 首部字段名 说明 Cache

adb命令 logcat日志抓取

99封情书 提交于 2020-01-30 19:00:41
adb命令 logcat日志抓取 一.logcat抓log方法:adb logcat命令,可以加条件过滤 1.安装SDK(参考android sdk环境安装) 2.使用数据线链接手机,在手机助手的sdcard中建立一个1.log的文件或在抓日志时直接导出到电脑位置 3.程序运行cmd,进入到含有adb.exe目录 4.输入adb devices 查看设备是否连上 5.输入抓取命令: 存放到手机 adb logcat -s *:E > /mmt/sdcard/1.log 存放到PC adb logcat -s '*:E' > d:/1.log 6.使用手机打开app操作崩溃一次(如果想中途停止按下ctrl+c) 7.查看日志抓取文件,分不清楚是那个时间段所造成的后果 8.加入命令:-v time 就会显示出时间 9.输入命令 adb logcat -v time -s *:E > /mmt/sdcard/1.log(eg:adb logcat -v time -s appname:E>d:/1.log) 过滤日志级别 优先级是下面的字符,顺序是从低到高: V — 明细 verbose(最低优先级) D — 调试 debug I — 信息 info W — 警告 warn E — 错误 error F — 严重错误 fatal S — 无记载 silent 用法: 使用命令,

线程Thread

 ̄綄美尐妖づ 提交于 2020-01-30 15:30:38
什么是线程? 线程是操作系统能够进行运算调度的最小单位,被包含在进程中。线程也叫作轻量级进程,在一个进程里可以创建多个线程,每个线程都有独立的计数器,堆,栈和局部变量,并且能够访问共享的内存变量 线程和进程的区别? 线程是一个轻量级进程,一个进程可以有多个线程,各条线程能够执行不同的任务,不同的进程使用不同的内存空间,而所有的线程共享相同的内存空间 如何在java中实现线程? 在语言层面有两种方式。Thread类的一个实例就是一个线程,但是需要调用Runnable接口来执行,由于线程类本身就是调用的Runnable接口,所以可以继承Thread类或者直接调用Runnable接口来重写run()方法实现线程 Runnable还是Thread? 由于java是单继承的,如果一个类继承了另一个类,再想实现多线程,这时候再继承Thread是不行的,因为这样就是多继承了,可是java不允许,所以如果要继承其他类,那么实现Runnable接口吧(java不能多继承,但是能实现多个接口啊) 并且Runnable适合于资源的共享 因为线程是独立的,所以局部变量不共享,而如果是实现Runnable接口,那么在开一个新线程new Thread(myRunnable,"线程的名字")时,所有的线程都共享接口内的资源(实现了Runnable接口的类的资源) 所以多线程主要以实现Runnable接口为主

生成树协议(STP)基本知识及实验(使用eNSP)

随声附和 提交于 2020-01-30 14:51:51
1、基本知识--摘至《网络之路--交换专题》 (1)生成树的作用:在链路层消除环路上可能出现的广播风暴。 (2)生成树的工作由三部分组成:选举过程、拓扑计算、端口行为确定。 选举过程:在二层网络中选举一个网桥作为根桥,用于指挥整网设备协同工作。根桥只是负责统一计算的规则。 根桥统一网络中所有网桥的行为准则的原理:通过在某个恰当位置阻塞端口来阻止环路的发生。从一台网桥的角度来说,它通过这样的法则进行判断,如果到达网络中的某一网桥只有一条路径,那么必定不存在环路;如果到达某一网桥的路径有两条或者多条,那么这两台网桥之间存在环路,只能保持一条通路。 (3)根桥的选举方式 根桥是通过网络中所有网桥间相互比较产生的。根桥只能由网络中桥ID最小者担当。一开始时把自己当作根桥,根桥ID就是自己的桥ID,然后通过BPDU和自己的邻居交换拓扑信息,如果邻居的根桥ID小于自己的桥ID,则把邻居当作自己的根桥,然后向其他邻居通告这个新的根桥信息,直到网络中所有网桥的根桥ID都一样时,根桥就被选举了出来。 桥ID有8个字节,由两部分组成,分别是2字节的桥优先级字段和6字节的桥MAC字段。桥优先级字段可手工设置,默认为0x8000;桥MAC即网桥的物理MAC。 (4)使网络中的网桥和根桥保持统一的方式 通过一个独特的消息机制实现,当根桥被选举出来后,根桥会周期性的向所有邻居发送BPDU报文

STL-优先级队列-priority_queue

☆樱花仙子☆ 提交于 2020-01-29 22:32:07
头文件是<queue> 操作很简单 #include <iostream> #include <cstdio> #include <queue> using namespace std; int main() { // 默认定义最大值优先级队列 priority_queue<int> p1; p1.push(12); p1.push(44); p1.push(4); cout<<p1.top()<<endl; p1.pop(); cout<<p1.top()<<endl; // 最小值优先级队列 priority_queue<int,vector<int>,greater<int>> p2; p2.push(3); p2.push(5); p2.push(1); cout<<p2.top()<<endl; p2.pop(); cout<<p2.top()<<endl; return 0; } 来源: https://www.cnblogs.com/jishuren/p/12241171.html

STM32 中断优先级管理NVIC

放肆的年华 提交于 2020-01-29 17:57:19
STM32内核为CM3 CM3内核支持256个中断,其中包含了16个内核中断和240个外部中断,并且具有256级的可编程中断设置。 STM32并没有使用CM3内核的全部东西,而是只用了它的一部分。 STM32有84个中断,包括16个内核中断和68个可屏蔽中断,具有16级可编程的中断优先级。 STM32F103系列上面,又只有60个可屏蔽中断(在107系列才有68个) 1.中断管理方法 首先,对STM32中断进行分组,组0~4。同时,对每个中断设置一个抢占优先级和一个响应优先级值。 (分组配置是在寄存器SCB->AIRCR中配置) 抢占优先级 & 响应优先级区别 高优先级的抢占优先级是可以打断正在进行的低抢占优先级中断的。 抢占优先级相同的中断,高响应优先级不可以打断低响应优先级的中断。 抢占优先级相同的中断,当两个中断同时发生的情况下,哪个响应优先级高,哪个先执行。 如果两个中断的抢占优先级和响应优先级都是一样的话,则看哪个中断先发生就先执行。 PS:一般情况下,系统代码执行过程中,只设置一次中断优先级分组,比如分组2,设置好分组之后一般不会再改变分组。随意改变分组会导致中断管理混乱,程序出现意想不到的执行结果。 2.相关寄存器 中断设置相关寄存器 __IO uint8_t IP[240]; //中断优先级控制的寄存器组 __IO uint32_t ISER[8]; /

(41)freeRTOS之任务管理

元气小坏坏 提交于 2020-01-29 10:52:00
1. 简介: 在 FreeRTOS 中没有线程和进程的区别,只有一个被翻译成任务的程序,相当于进程的概念,拥有独立的栈空间。 对于实时性,可以分为 软实时、硬实时:桌面电脑的输入处理可以看做是软实时,当键盘按下在某个时间内没有做出相应,只是做出提示,提示超时,只会给人一种反应慢的印象,不能说不能用。硬实时则是像汽车上的安全气囊,必须在特定时间内完成,一旦失败,就算是不能使用的标志。 FreeRTOS 内核支持优先级调度算法,CPU 总是让处于就绪态和优先级高的任务先运行。 FreeRTOS 内核同时支持轮询调度算法, CPU 对享有相同优先级的任务,平分 CPU 时间。 FreeRTOS 内核可以根据用户需要设置成可剥夺型或不可剥夺型内核,可剥夺指的是高优先级的任务能剥夺正在执行的低优先级的任务,可以保证系统满足实时性的要求。不可剥夺,遇到同时发生的任务会一直等待着先发生的任务完成,可以提高 CPU 的运行效率。 FreeRTOS 对系统任务的数量没有限制。 任务因为自己的优先级而一直得不到运行的状态叫做被饿死(starve) 2. 函数: (1)变量类型定义: /* Type definitions. */ #define portCHAR char #define portFLOAT float #define portDOUBLE double #define

Java内存模型与线程

假如想象 提交于 2020-01-29 07:32:02
Java内存模型与线程 每秒事务处理数(Transactions Per Second,TPS)、 Java语言和虚拟机提供了许多工具,把并发编程的门槛降低了不少。另外,各种中间件服务器、各类框架 12.2 硬件的效率与一致性 现代计算机系统都不得不加入一层读写速度尽可能接近处理器运算速度的高速缓存(Cache)来作为内存与处理器之间的缓冲: 为了解决一致性的问题,需要各个处理器访问缓存时都遵循一些协议,在读写时要根据协议来进行操作,这类协议有MSI、MESI(IllinoisProtocol)、MOSI、Synapse、Firefly及Dragon Protocol,等等 为了使得处理器内部的运算单元能尽量被充分利用,处理器可能会对输入代码进行乱序执行(Out-Of-Order Execution)优化,处理器会在计算之后将乱序执行的结果重组,保证该结果与顺序执行的结果是一致的,类似,Java虚拟机的即时编译器中也有类似的指令重排序(Instruction Reorder)优化。 12.3 Java内存模型 用来屏蔽掉各种硬件和操作系统的内存访问差异,以实现让Java程序在各种平台下都能达到一致的并发效果。 12.3.1 主内存与工作内存 此处的变量包括了实例字段、静态字段和构成数组对象的元素,但是不包括局部变量与方法参数,因为后者是线程私有的[插图],不会被共享

js事件循环机制和优先级

孤街醉人 提交于 2020-01-28 12:34:41
浏览器的渲染进程是多线程,包括 GUI渲染线程 js引擎线程 事件触发线程 定时器触发线程 异步http请求线程 主执行栈和任务队列 所有的任务可以分为同步任务和异步任务,同步任务,顾名思义,就是立即执行的任务,同步任务一般会直接进入到主线程中执行;而异步任务,就是异步执行的任务,比如ajax网络请求,setTimeout 定时函数等都属于异步任务,异步任务会通过任务队列( Event Queue )的机制来进行协调 同步和异步任务分别进入不同的执行环境,同步的进入主线程,即主执行栈,异步的进入 Event Queue 。主线程内的任务执行完毕为空,会去 Event Queue 读取对应的任务,推入主线程执行。 上述过程的不断重复就是我们说的 Event Loop (事件循环)。 宏任务与微任务 从任务层面,在JS引擎中,我们可以按性质把任务分为两类,macrotask(宏任务)和 microtask(微任务)。它们的执行顺序如下: 在事件循环中,每进行一次循环操作称为tick,通过阅读规范可知,每一次 tick 的任务处理模型是比较复杂的,关键步骤总结如下: 在此次 tick 中选择最先进入队列的任务( oldest task ),如果有则执行(一次) 检查是否存在 Microtasks ,如果存在则不停地执行,直至清空Microtask Queue 更新 render