自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

MockingBird

为了喜欢的东西

  • 博客(41)
  • 收藏
  • 关注

原创 字节跳动实习面经

一面(会问的比较深)进程和线程binder的理解sharedperference大图加载sparseArrayhashmap安卓启动模式listview和recyclerview区别一个recyclerview回调的场景gilde四种引用类型TCP/UDP一道算法题:N的阶乘结果的末尾0的个数二面(主要是项目,然后是对框架的理解)全程围绕项目讲MVPokhttp和retrofitrecyclerviewdiffutilbutterknifeGlide+lru

2020-05-27 09:20:08 648

原创 OPPO和阿里的实习面经

OPPO一面 35minactivity生命周期相关问题数据库相关问题,索引,触发器等等项目相关问题怎么解决的hashmap,hash冲突,hash函数等等相关问题各种基础:final关键字/Java泛型/对Java理解啥的等等还有很多问题忘了,最后评价基础不错,等通知,第二天约二面OPPO二面 40+min全程围绕项目来讲,我就说一些感觉回答的不好的对公司的了解(说了...

2020-04-29 15:57:58 709

原创 关于框架学习的一点感悟

前言:最开始接触框架,应该是spring大军,当时的什么aop/ioc阿,容器阿可是让我一顿头疼,学习的过程中很多时候想理解这样做的意义是什么,但往往把自己绕进去,因为看源码总是似懂非懂而且感觉框架做的没啥意义。但其实,理解一个东西得结合场景来看,刚学习框架时的项目往往比较简单,而当场景不复杂的时候框架的意义就显得没那么明显了。一路走来的许许多多的框架在实践与学习中慢慢理解了。其实大多数框架...

2020-03-31 22:50:20 553

转载 View绘制流程(转载)

我们本文要回答的问题:setContentView原理是什么?Activity在onResume之后才会显示的原因是什么?ViewRoot是干嘛的,是ViewTree的rootview吗?一、整体流程图兄弟们,先拿上这份“地图”,毕竟“源码”这个地方吧,九曲十八弯的,看着地图走,才不会走丢。大概说一下流程(本文最后也会再重复一次):创建PhoneWindow对象,往Phone...

2020-03-26 22:45:02 294

原创 AsyncTask解读

AsyncTaskAsyncTask是干什么的由于ui更新对线程的限制,我们无法直接在线程中对ui进行更新,而我们在子线程中进行对ui’线程的通讯或者修改,就得进行线程切换,系统提供了Handler来供我们使用,但是像进度条这种切换频繁的处理起来就比较复杂,AsyncTask对应了这种场景。相关方法onPreExecute:主线程,执行线程任务前自动调用,通过在这个方法里面进行相应的初始...

2020-03-24 21:48:17 601

原创 Handler源码解析

Handler前言在Android中,只有主线程(UI线程)才能去进行更新UI的操作,而不允许在其它线程去进行UI更新就会出现错误。handler是Android给我们提供用来更新UI的一套机制,也是一套消息处理机制,我们可以发消息,也可以通过它处理消息。那它又是如何帮我们实现消息通讯和处理的呢,我们接着往下看。流程引用易同学的图~结合图片先来简单介绍一下图中的对象的作用Messa...

2020-03-22 21:36:18 167

原创 OkHttp源码解读

OkHttp源码解读整体流程图来自:https://blog.piasy.com/2016/07/11/Understand-OkHttp/index.html将http的源码过了一遍,感觉它最重要的就是拦截器功能,分为网络拦截器和应用拦截器,网络拦截器可能进行多次,但应用拦截器只进行一次。而拦截器就是在请求发送和接受读取的前后做一系列操作,接下来就让我们深入源码看看他到底做了什么吧ok...

2020-03-21 22:34:04 220

转载 读完你就会并查集

江湖上散落着各式各样的大侠,有上千个之多。他们没有什么正当职业,整天背着剑在外面走来走去,碰到和自己不是一路人的,就免不了要打一架。但大侠们有一个优点就是讲义气,绝对不打自己的朋友。而且他们信奉“朋友的朋友就是我的朋友”,只要是能通过朋友关系串联起来的,不管拐了多少个弯,都认为是自己人。这样一来,江湖上就形成了一个一个的帮派,通过两两之间的朋友关系串联起来。而不在同一个帮派的人,无论如何都无法通过...

2020-02-11 20:38:33 245

原创 Handler简要笔记

Handler学习笔记按照惯例,学习一个东西就先来一个灵魂三问:handler是什么为什么要有handlerhandler怎么用1. handler是什么handler是Android给我们提供用来更新UI的一套机制,也是一套消息处理机制,我们可以发消息,也可以通过它 处理消息。在Android中,只有主线程(UI线程)才能去进行更新UI的操作,而不允许在...

2019-11-26 14:25:38 257

原创 回调简要笔记

理解在A类中定义了一个方法,这个方法中用到了一个接口和该接口中的抽象方法,但是抽象方法没有具体的实现,需要B类取实现,B类实现该方法后,它本身不会去调用该方法,而是传递给A类,供A去调用。生命周期里的函数也是算回调的,还有那个Thread线程重写run方法也是算回调我现在在主界面想发送一条消息,用到了发送消息的类,主界面有一个发送成功的提示,但我们不知道发送消息什么时候成功,所以我把自己的成...

2019-11-15 16:11:04 134

原创 安卓service笔记

Android8.0 Service今天照着书上和博客的教程去学习,结果发现各种报错(如下图)。就知道service在高版本Android中又有了新的规则,于是将今天的学习整理成笔记,方便日后复习。不过Android的每次更新,都一直在努力收紧应用权限。不过我觉得挺好的,开放的权限导致了很多安全问题和性能问题,权限上去了用户体验会好很多。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存...

2019-11-14 21:51:16 199

原创 安卓布局简要笔记

系统的布局LinearLayout 线性布局RelativeLayout 相对布局FrameLayout 帧布局AbsoluteLayout绝对布局TableLayout 表格布局GridLayout 网格布局ConstraintLayout 约束布局LinearLayout 线性布局...

2019-11-13 21:04:04 132

原创 Android数据存储

文章目录Android中的数据存储持久化技术文件存储将数据写入文件读取文件SharedPreferences存储存储流程实现SQLite新建数据库增加数据修改数据删除数据查询数据Android中的数据存储持久化技术持久化就是指将那些内存中的瞬时数据保存到存储设备中,保证设备没电时数据也不会丢失。Android中有三种数据持久化的方式:文件存储SharedPreferences存储SQ...

2019-11-12 21:43:48 204

原创 Activity笔记

文章目录Activity接触安卓也快两个月了,但还是没有系统性的总结,而activity是我们接触安卓开发的第一个组件,也是安卓应用不可或缺的一环。那么本篇文章围绕Activity讲解,了解activity的生命周期,以及intent数据传递、fragment的知识。1. Activity基础1.1 什么是Activity1.2 看懂ActivityAS中新建activity理解AndroidMa...

2019-11-12 11:50:35 289

转载 四大组件之Service总结

Service(服务)是Android中实现程序后台运行的解决方案,它非常适合用于去执行那些不需要和用户交互而且还要求长期运行的任务。Service主要负责与UI无关的工作,比如耗时操作。本篇学习Service相关知识点有:Service概要开启子线程异步消息处理机制Service生命周期Service的基本用法普通Service前台Service系统Service例...

2019-11-11 22:14:24 261

原创 计算机网络学习笔记

五层网络协议体系结构的理解应用层:定义:应用层协议定义的是应用进程(进程:主机中正在运行的程序)间的通信和交互的规则。既然TCP/UDP是广泛使用的网络通信协议,那为啥有多出个http协议来呢?UDP协议具有不可靠性和不安全性,显然这很难满足web应用的需要。而TCP协议是基于连接和三次握手的,虽然具有可靠性,但人具有一定的缺陷。但试想一下,普通的C/S架构软件,顶多上千个C...

2019-11-11 21:51:17 228

原创 Broadcast Receiver

Broadcast(广播)是一种广泛应用在应用程序之间传输信息的机制,和网络里的广播作用感觉有点类似。BroadcastReceiver(广播接收器)则是用于接收来自系统和应用的广播对并对其进行响应的组件。广播分为以下四种:普通广播特点:普通广播是一种完全异步执行的广播,在广播发出之后,所有的广播接收器几乎都会在同一时刻接收到这条广播消息,因此它们接收的先后是随机的。这种广播效率较...

2019-11-11 21:46:00 262

转载 Java中的String,StringBuilder,StringBuffer三者的区别

这三个类之间的区别主要是在两个方面,即运行速度和线程安全这两方面。1. 首先说运行速度,或者说是执行速度,在这方面运行速度快慢为:StringBuilder > StringBuffer > StringString最慢的原因:String为字符串常量,而StringBuilder和StringBuffer均为字符串变量,即String对象一旦创建之后该对象是不可更改的,但后两者...

2019-06-28 15:09:51 143

原创 忙的时候也需总结

因为最近忙着杂七杂八的事,最近都没来得及总结,每天刷题的计划也断了,天天几乎全在coding以及debug。虽然感觉学习了很多新知识,但是总结做得很少,每日的固定计划也不能完成。现在需要反思是否晚上回到寝室后的一两个小时可以利用起来做个总结,刷刷题,或者是回去的时间再延后一点,回寝室就洗漱打电话休息。 一点一点的进步,加油!...

2019-05-31 23:59:22 237

原创 杭电操作系统实验二内核模块编程

//thread_list.c#include <linux/init.h>#include <linux/module.h>#include <linux/kernel.h>#include <linux/sched/signal.h>//for_each_process的定义static int __init show_thread_...

2019-04-05 23:34:22 2687

原创 Linux添加系统调用查看/修改进程nice值

sys.c添加如下SYSCALL_DEFINE5(mysetnice, pid_t, pid, int, flag, int, nicevalue, void __user *,prio, void __user *, nice)//5个参数{ if((flag!=0 && flag!=1)||(nicevalue>19||nicevalue<-20)||f...

2019-04-05 23:31:20 2990

转载 VMware三种网络模式联网

这篇文章有助于帮你认识到对于虚拟机的网络模式,以及如何选择联网模式。 ps:原作者找不到了... 没法放链接首先说一下VMware的几个虚拟设备安装了VMware虚拟机后,会在网络连接对话框中多出两个虚拟网卡,如图:VMnet0:用于虚拟桥接网络下的虚拟交换机VMnet1:用于虚拟Host-Only网络下的虚拟交换机VMnet8:用于虚拟NAT网络下的虚拟交换机VMwa...

2019-03-24 16:21:49 155

原创 JAVA常用类总结

最近刷题的时候对类的用法很不熟悉,犯了很多错心态都炸了,需把常用类好好熟悉起来。常用类包装类所有的包装类(Integer、Long、Byte、Double、Float、Short)都是抽象类 Number 的子类。下面是Number & Math 类常用的一些方法:xxxValue()将 Number 对象转换为xxx数据类型的值并返回。x.byteValue() //返回x...

2019-03-21 15:04:18 265

原创 Java对象与Json数据的转换

后端数据交互时常需处理各种需要处理的json数据,对数据的转换和提取经常会碰到,下面是一些常用的方法JSONObject类map.toString()JSONObject.toJSONString( map )JSONObject.toStringMap&lt;String, Integer&gt; map = new HashMap&lt;&gt;();map.put( "...

2019-03-17 14:15:39 167

原创 Java中的this和super的区别

this关键字定义:表示对调用方法的那个对象的引用,只能在方法内部使用。默认情况下,每当创建一个类的对象时,该对象就会拥有一份属于自己的全部数据成员的副本(实例变量),即多个存储空间,而this是表示对调用方法的那个对象的引用,能定位不同的实例变量。可以思考,静态变量不需要this来定位所以静态方法不需要this。当前对象传递给其它外部方法可以用this(用于不同的类,同一类不用)cl...

2019-03-17 14:01:16 129

原创 Linux云端部署web项目

昨天阿里云上部署了一个web项目,下面记录下整个过程步骤。了解工作步骤云上的系统是Linux,要部署项目在上面,要知道需要准备哪些工作:一个服务器,这里我用的是tomcat配置好服务器,例如tomcat需要的java环境将项目打包为war,部署在服务器上因为只是测试下云,所以web项目比较简单,这里我没有使用数据库下载资源我先用putty远程链接到Linux主机,发现什么环境...

2019-03-13 16:37:37 888

原创 Myeclipse10项目导出war包报错解决

问题描述在我用Myeclipse导出项目为war包时,出现如下错误提示,大意是未通过安全检查,有一个jar包被篡改了。思考与解决办法查找相关解决办法,想到因为之前破解过Myeclipse,可能是这个原因导致这个jar包失效了,可以找到自己版本对应的jar包(注意文件名一定要相同),将其替换重启即可。自己的版本:10.7文件名:com.genuitec.eclipse.export.w...

2019-03-13 15:41:44 1019 2

转载 Linux核心源码阅读方法

通常Linux会有以下目录arch 子目录包括所有和体系结构相关的核心代码。它还有更深的子目录,每一个代表一种支持的体系结构 include 子目录包括编译核心所需要的大部分 include 文件。它也有更深的子目录,每一个支持的体系结构一个。 include/asm 是这个体系结构所需要的真实的 include 目录的软链接,例如 include/asm-i386 。为了改变体系结构,你需...

2019-03-04 22:17:50 310

原创 已经到了二月的最后一天

好久没更新博客了还没有好好学到技术就又开始偷懒了,这学期加油吧

2019-02-28 21:48:38 163

原创 局域网内多用户访问同一数据库

今天朋友想同一数据库多人协作,于是叫我连接他的数据库,我输入他给的主机和用户发现无法连接。于是我发现了。。。他给的IP地址错误,他是直接浏览器通过网页查询给了个错误的地址。用户本地无法登陆,允许他人连接但本地连不上。防火墙端口未配置,直接访问会遭到防火墙拦截。现记录配置过程中的要点:允许其它ip连接防火墙配置相应端口TCP允许(MySQL为3306,sqlserver为1433...

2018-12-12 14:33:43 2516

原创 HTML+CSS动画实现倒计时

想做一个倒计时的动画,看了一些方法找了一个比较巧妙的实现方法首先,当有人说你能不能做一个圆形进度条效果出来时,如果是静态完整圆形进度条,可以通过css设置盒子的圆角(50%)做一个如下的进度条.circleprogress{ width: 160px; height: 160px; border:20px solid red; border-radius: 50...

2018-11-16 00:00:31 5665 1

原创 HTML+CSS制作慕课网用户登陆界面

(有空总结下知识,才开始接触前端)效果图代码如下&lt;!DOCTYPE HTML&gt;&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8" /&gt;&lt;title&gt;慕课网-登陆&lt;/title&gt;

2018-09-24 21:36:47 2253

原创 循环队列(C++)

之前看了下队列的原理,信心满满马上写了个循环队列,与例程一对比才发现我这写的确实很垃圾。我记录下例程对待问题的思想作个对比1.我的代码中出现大量for循环,需要思考能否简化2.出入队列过于冗杂,如下// function with queue/*总结下类中的结构体 要用指针 */#include&lt;iostream&gt;using namespace std;...

2018-08-20 14:01:15 910 1

原创 二叉树的创建与遍历(C++)

最近学二叉树懵懵懂懂的,自己看了下例程写了下代码明白了很多。实践才是真理啊...在这里做个总结三种遍历(我这里先详细记录先序遍历的递归,迭代和改进):先序遍历递归实现preordert(x){ if( !S.empty ) { visit(x-&gt;data); preordert(x-&gt;left); preordert(x-&gt;...

2018-08-20 11:08:35 3350

转载 算法的时间复杂度和空间复杂度总结

       通常,对于一个给定的算法,我们要做 两项分析。第一是从数学上证明算法的正确性,这一步主要用到形式化证明的方法及相关推理模式,如循环不变式、数学归纳法等。而在证明算法是正确的基础上,第二部就是分析算法的时间复杂度。算法的时间复杂度反映了程序执行时间随输入规模增长而增长的量级,在很大程度上能很好反映出算法的优劣与否。因此,作为程序员,掌握基本的算法时间复杂度分析方法是很有必要的。 ...

2018-08-07 19:13:34 185

转载 什么时候需要用到RCC_APB2Periph_AFIO

1.需要用到外设的重映射功能时2.用到外部中断(EXTI)中与AFIO有关的寄存器时,它们是用来选择EXTIx外部中断的输入脚之用。仿生鸟个人补充:很多博客都提到了管脚复用时也要使能AFIO时钟,我去查了一下资料发现并不是这样。举例:重映射USART2USART2的TX/RX在PA.2/3 PA.2已经被Timer2的channel3使用需要把USART2的TX/RX重映射到PD.5/...

2018-08-07 11:15:58 15782 2

原创 STM32实现DMA读取ADC数据

昨天学习了DMA写了一个用DMA读取ADC数据的程序,记录下整个过程和一点心得 DMA配置详细说明(MDK的汉字2复制过来就是乱码,我重新打了一遍注释,晕~)//DMA1各通道配置//外设-&gt;存储器/16位数据宽度//DMA_CHx:DMA通道CHx//cpar:外设地址//cmar:存储器地址//cndtr:数据传输量(因为我是一个16位的数据,所以是一)vo...

2018-07-18 11:03:13 9401 5

转载 关于Stm32定时器+ADC+DMA进行AD采样的实现

注1:原文地址https://blog.csdn.net/qq_40589292/article/details/81076903注2:适用于STM32F103 注3:我自己写的ADC+DMA地址https://blog.csdn.net/qq_40589292/article/details/81093622原文:Stm32的ADC有DMA功能这都毋庸置疑,也是我们用的最多的!然...

2018-07-17 10:32:34 3165 1

原创 适合初学者的STM32 CAN协议理解总结( ISO11898 标准)

暑假学习的时候看到了CAN总线,几个小伙伴好像看的都比较苦恼。是的,对于大量的说明难免有些不想看,看不懂为什么要把TIM这些东西设为1,很多字符又代表什么意思......但对知识的畏惧是无法向前的。静下心来慢慢看就好了!我在这里记录一些我学习CAN协议过程中的理解总结,希望能帮到一些初学者。 CAN的组成框图下图为互联网型的双CAN框图:我使用的F103ZET6只有一个串口,其中3...

2018-07-16 17:01:12 33147 3

原创 基于STM8的程控加热器

这是我在创新的考核任务,来回顾复习一下整个过程并总结一些错误 设计制作一个程控加热器,能根据预定的温度--时间曲线进行加热,其示意图如下图所示。基本要求(1)能显示设定温度和实际工作温度;(2)可用键盘设定控制温度,温控误差要求小于±2℃;(3)温度低于30℃时,风扇停止工作,加热器开始加热;当温度高于70℃,应切断加热器,并接通风扇开始散热。(4)到达预定温度、上...

2018-06-06 21:52:21 2424 5

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除