获得徽章 0
day15
recycleview使用步骤:
1.添加recycleview的依赖到build.gradle文件中
2.layout在xml文件中进行添加recycleview
3.为每一个Item创建XML布局
4.继承RecyclerView.Adapter
5.继承RecylerView.ViewHolder
6.在Activity的onCreate()中,获取RecycleView,并未它设置Adapter和LayoutParams
展开
评论
day14
产生死锁的必要条件:
互斥条件:进程要求对所分配的资源进行排它性控制,即在一段时间内某资源仅为一进程所占用。
请求和保持条件:当进程因请求资源而阻塞时,对已获得的资源保持不放。
不剥夺条件:进程已获得的资源在未使用完之前,不能剥夺,只能在使用完时由自己释放。
环路等待条件:在发生死锁时,必然存在一个进程——资源的环形链。
展开
评论
day13
递归函数什么时候需要返回值?什么时候不需要返回值?
如果需要搜索整棵二叉树且不用处理递归返回值,递归函数就不要返回值。
如果需要搜索整棵二叉树且需要处理递归返回值,递归函数就需要返回值。
如果要搜索其中一条符合条件的路径,那么递归一定需要返回值,因为遇到符合条件的路径了就要及时返回。
展开
评论
day12
二叉搜索树是一个有序树:
若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值;
若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值;
它的左、右子树也分别为二叉搜索树
评论
day11
强缓存策略和协商缓存策略在缓存命中时都会直接使用本地的缓存副本,区别只在于协商缓存会向服务器发送一次请求。它们缓存不命中时,都会向服务器发送请求来获取资源。在实际的缓存机制中,强缓存策略和协商缓存策略是一起合作使用的。浏览器首先会根据请求的信息判断,强缓存是否命中,如果命中则直接使用资源。如果不命中则根据头信息向服务器发起请求,使用协商缓存,如果协商缓存命中的话,则服务器不返回资源,浏览器直接使用本地资源的副本,如果协商缓存不命中,则浏览器返回最新的资源给浏览器。
展开
评论
day10
DNS服务器解析域名的过程:
首先会在浏览器的缓存中查找对应的IP地址,如果查找到直接返回,若找不到继续下一步
将请求发送给本地DNS服务器,在本地域名服务器缓存中查询,如果查找到,就直接将查找结果返回,若找不到继续下一步
本地DNS服务器向根域名服务器发送请求,根域名服务器会返回一个所查询域的顶级域名服务器地址
本地DNS服务器向顶级域名服务器发送请求,接受请求的服务器查询自己的缓存,如果有记录,就返回查询结果,如果没有就返回相关的下一级的权威域名服务器的地址
本地DNS服务器向权威域名服务器发送请求,域名服务器返回对应的结果
本地DNS服务器将返回结果保存在缓存中,便于下次使用
本地DNS服务器将返回结果返回给浏览器
展开
评论
day9
TS里没有栈、没有队列这些数据结构,只能使用数组代替,数组在实现栈或者队列时可以调用以下:
pop(): 从数组中删除最后一个元素,并返回该元素的值。
push(): 将一个或多个元素添加到数组的末尾,并返回该数组的新长度。
shift(): 方法从数组中删除第一个元素,并返回该元素的值。此方法更改数组的长度。
unshift(): 将一个或多个元素添加到数组的开头,并返回该数组的新长度。
展开
评论
day8
HTTPS的优点:
使用HTTPS协议可以认证用户和服务器,确保数据发送到正确的客户端和服务器;
使用HTTPS协议可以进行加密传输、身份认证,通信更加安全,防止数据在传输过程中被窃取、修改,确保数据安全性;
HTTPS是现行架构下最安全的解决方案,虽然不是绝对的安全,但是大幅增加了中间人攻击的成本;
展开
评论
day7
导致内存泄漏的四种情况:
意外的全局变量: 由于使用未声明的变量,而意外的创建了一个全局变量,而使这个变量一直留在内存中无法被回收。
被遗忘的计时器或回调函数: 设置了 setInterval 定时器,而忘记取消它,如果循环函数有对外部变量的引用的话,那么这个变量会被一直留在内存中,而无法被回收。
脱离 DOM 的引用: 获取一个 DOM 元素的引用,而后面这个元素被删除,由于一直保留了对这个元素的引用,所以它也无法被回收。
闭包: 不合理的使用闭包,从而导致某些变量一直被留在内存当中。
展开
评论
day6
开始刷二叉树算法
二叉树解题的思维模式分两类:
1、是否可以通过遍历一遍二叉树得到答案?如果可以,用一个traverse函数配合外部变量来实现,这叫「遍历」的思维模式。
2、是否可以定义一个递归函数,通过子问题(子树)的答案推导出原问题的答案?如果可以,写出这个递归函数的定义,并充分利用这个函数的返回值,这叫「分解问题」的思维模式。
如果单独抽出一个二叉树节点,它需要做什么事情?需要在什么时候(前/中/后序位置)做?
展开
评论
day5
new操作符的执行过程:
(1)首先创建了一个新的空对象
(2)设置原型,将对象的原型设置为函数的 prototype 对象。
(3)让函数的 this 指向这个对象,执行构造函数的代码
(4)判断函数的返回值类型,如果是值类型,返回创建的对象。如果是引用类型,就返回这个引用类型的对象。
展开
评论
day4transition和animation的区别
transition是过度属性,强调过度,它的实现需要触发一个事件(比如鼠标移动上去,焦点,点击等)才执行动画。它类似于flash的补间动画,设置一个开始关键帧,一个结束关键帧。
animation是动画属性,它的实现不需要触发事件,设定好时间之后可以自己执行,且可以循环一个动画。它也类似于flash的补间动画,但是它可以设置多个关键帧(用@keyframe定义)完成动画。
展开
评论
day3
link和@import的区别
link是XHTML标签,除了加载CSS外,还可以定义RSS等其他事务;@import属于CSS范畴,只能加载CSS。
link引用CSS时,在页面载入时同时加载;@import需要页面网页完全载入以后加载。
link是XHTML标签,无兼容问题;@import是在CSS2.1提出的,低版本的浏览器不支持。
link支持使用Javascript控制DOM去改变样式;而@import不支持。
展开
评论
d2
200 请求成功
301 资源(网页)等被永久转移到其它URL
302 Found 临时移动。与 301 类似。但资源只是临时被移动。客户端应继续使用原有 URI
304 Not Modified 未修改。所请求的资源未修改,服务器返回此状态码时,不会返回任何资源。客户端通常会缓存访问过的资源,通过提供一个头信息指出客户端希望只返回在指定日期之后修改的资源
400 客户端请求的语法错误,服务器无法理解
401 请求要求用户的身份认证
403 服务器理解请求客户端的请求,但是拒绝执行此请求
404 请求的资源不存在
500 内部服务器错误
502 作为网关或者代理工作的服务器尝试执行请求时,从远程服务器接收到了一个无效的响应
505 服务器不支持请求的HTTP协议的版本,无法完成处理
展开
评论
day1
IoC Inversion of Control 控制反转。IoC 解决对象之间的耦合问题。
把具体实例化对象的步骤交给容器处理。
是否单例、是否重新实例化新的对象这些操作也都交给容器负责。
要用到的类里的属性也会变成接口,是哪个具体实现类也不需要知晓,直接拿接口向容器要实例化后的对象就行。
展开
评论
下一页
个人成就
文章被阅读 834
掘力值 52
收藏集
1
关注标签
7
加入于