dagger2 重点笔记】的更多相关文章

官方架构例子,里面有个dagger2的结合的例子 https://github.com/googlesamples/android-architecture https://google.github.io/dagger Dagger2 通过注解来生成代码,定义不同的角色,主要的注解有:@Inject.@Module .@Component .@Provides .@Scope .@SubComponent 等. @Inject: 通常在需要依赖的地方使用这个注解.换句话说,你用它告诉Dagge…
Java编程思想重点笔记(Java开发必看)   Java编程思想,Java学习必读经典,不管是初学者还是大牛都值得一读,这里总结书中的重点知识,这些知识不仅经常出现在各大知名公司的笔试面试过程中,而且在大型项目开发中也是常用的知识,既有简单的概念理解题(比如is-a关系和has-a关系的区别),也有深入的涉及RTTI和JVM底层反编译知识. 1. Java中的多态性理解(注意与C++区分) Java中除了static方法和final方法(private方法本质上属于final方法,因为不能被子…
上篇请看:C++编程思想重点笔记(上) 宏的好处与坏处 宏的好处:#与##的使用 三个有用的特征:字符串定义.字符串串联和标志粘贴. 字符串定义的完成是用#指示,它容许设一个标识符并把它转化为字符串,然而字符串串联发生在当两个相邻的字符串没有分隔符时,在这种情况下字符串组合在一起.在写调试代码时,这两个特征是非常有效的. #define DEBUG(X) cout<<#X " = " << X << endl 上面的这个定义可以打印任何变量的值. 我…
JavaScript 重点笔记 ## 数组 // 必须掌握 - arr.length:获取数组元素的长度 - arr.splice(起始位置,长度):从数组中添加或删除元素. - arr.indexOf():获取指定元素在数组中的位置,不存在返回-1 - arr.sort([函数:排序规则]):排序(默认采用字符串顺序排序,数字排序则需要通过自定义函数实现) - arr.join(str):将arr以指定字符连接成字符串 // 次重点 - arr.push():在数组末尾推入指定元素 - arr…
原文:Elasticsearch入门学习重点笔记 必记知识点 Elasticsearch可以接近实时的搜索和存储大量数据.Elasticsearch是一个近实时的搜索平台.这意味着当你导入一个文档并把它变成可搜索的时间仅会有轻微的延时. 文档是基本存储单元,以json格式存储,比如说一个用户信息,类似数据库里的单条数据.索引是多个同一类文档的集合,类似数据库里的表.Elasticsearch支持集群部署,一台服务器是一个节点,多个节点组成一个集群,每个节点有唯一节点名,同一集群里的节点有共同的集…
qbxt Day 1 morning 重点笔记 --2020.3.8 济南 主讲:钟皓曦 1 正数%负数==正数 负数%正数==负数 负数%负数==负数 a%b的答案的符号取决于a的符号. 2 快速幂:给定x,y,p,求xy%p,0<=x,y,p<=109 常规,(不够快): //O(i)算法,非快速幂 int ans=1; for(int i=1;i<=y;i++){ ans=(long long)ans*x%p; } int ans=1; for(int i=1:i<=y;i+…
这是我之前准备找工作时看<C/C++求职宝典>一书做的笔记,都是一些笔试面试中常考的重点难点问题,但比较基础,适合初学者看. 1. char c = '\72'; 中的\72代表一个字符,72是八进制数,代表ASCII码字符“:”. 2. 10*a++ 中a先进行乘法运算再自增(笔试中经常喜欢出这类运算符优先级容易混淆的输出问题). 3. const和static的作用 太常见的问题了,下面给出一个较详细的参考答案: static关键字: 1)函数体内static变量的作用范围为函数体.不同于…
这是我之前准备找工作时看<C/C++求职宝典>一书做的笔记,都是一些笔试面试中常考的重点难点问题,但比较基础,适合初学者看. 1. char c = '\72'; 中的\72代表一个字符,72是八进制数,代表ASCII码字符“:”. 2. 10*a++ 中a先进行乘法运算再自增(笔试中经常喜欢出这类运算符优先级容易混淆的输出问题). 3. const和static的作用 太常见的问题了,下面给出一个较详细的参考答案: static关键字: 1)函数体内static变量的作用范围为函数体.不同于…
下面是我看<C++ Primer Plus>第6版这本书后所做的笔记,作为备忘录便于以后复习. 笔记部分 C++的const比C语言#define更好的原因? 首先,它能够明确指定类型,有类型检查功能.其次,可以使用C++的作用域规则将定义限制在特定的函数或文件中.第三,可以将const用于更复杂的类型,比如数组和结构. C语言中也有const,其与C++中const的区别是:一是作用域规则不同:另一个是,在C++中可以用const值来声明数组长度. 不能简单地将整数赋给指针,如下所示: in…
操作符之间的优先级(高到低):算术操作符 >比较操作符 >逻辑操作符 >"="赋值符号 算术运算符…
Dagger2是第一个使用生成代码的方式实现依赖注入的框架.作为Dagger的升级版本,自然有它的优势,优先注重的是执行效率.本文着重介绍Dagger2.官方据点传送门: https://google.github.io/dagger//users-guide.html 首先来看一下依赖注入和控制反转 在软件工程领域,DI是一种实现控制反转用来解决依赖的设计模式,依赖是一个可以被使用的对象(服务),注入是把依赖传递给依赖它的对象(客户),即要使用它的对象,这样,服务就成了客户组成的一部分.传递服…
本篇全是重点,捡常用的怼,数值的扩展比较少,所以和函数放一起: 一,数值 1,Number.EPSILON:用来检测浮点数的计算,如果误差小于这个,就无误 2,Math.trunc():取整,去除小数部分,如果是-0.123,去除之后会留下-0,这个要注意 其他感觉用的都不多,就这两个. 二,函数: 1,es6引入了rest参数:...变量名,它跟arguments的区别,它是真正的数组 2,箭头函数: 函数体内的this对象就是定义时所在的对象,不是使用时所在的对象: 不可以当做构造函数,即不…
一,let 先看代码: var a = []; for (var i = 0; i < 10; i++) { a[i] = function () { console.log(i) }; } a[6](); // 10 我先花点时间来拆分一下这个for循环,我就写第一个循环过程,后面依次类推: {var i = 0; if (i<10) { a[i] = function(){ console.log(i) } }; i++;} // 第一个循环{ i = 1;...;i++;}// 第二个循…
Dependency Injecte(依赖注入) 首先写个不使用依赖注入的示例 interface // House.java public interface House { void prepareForWar(); void reportForWar(); } 新建两个实现 House 接口的类 // Starks.java public class Starks implements House { @Override public void prepareForWar() { //do…
C和C++指针的最重要的区别在于:C++是一种类型要求更强的语言.就void *而言,这一点表现得更加突出.C虽然不允许随便地把一个类型的指针指派给另一个类型,但允许通过void *来实现.例如: bird* b; rock* r; void* v; v = r; b = v; C++不允许这样做,其编译器将会给出一个出错信息.如果真的想这样做,必须显式地使用映射,通知编译器和读者. 参数传递准则当给函数传递参数时,人们习惯上应该是通过常量引用来传递,这种简单习惯可以大大提高效率:传值方式需要调…
转:http://blog.csdn.net/lanxuezaipiao/article/details/41557307 char c = '\72'; 中的\72代表一个字符,72是八进制数,代表ASCII码字符“:”. 10*a++ 中a先进行乘法运算再自增(笔试中经常喜欢出这类运算符优先级容易混淆的输出问题). const和static的作用 太常见的问题了,下面给出一个较详细的参考答案: static关键字: 1)函数体内static变量的作用范围为函数体.不同于auto变量.该变量的…
Java中除了static方法和final方法(private方法本质上属于final方法,因为不能被子类访问)之外,其它所有的方法都是动态绑定,这意味着通常情况下,我们不必判定是否应该进行动态绑定—它会自动发生. final方法会使编译器生成更有效的代码,这也是为什么说声明为final方法能在一定程度上提高性能(效果不明显). 如果某个方法是静态的,它的行为就不具有多态性: class StaticSuper { public static String staticGet() { retur…
首先声明转自https://github.com/lanxuezaipiao/ReadingNotes 无意中发现,写的蛮好转过来学习下. 1. Java中的多态性理解(注意与C++区分) Java中除了static方法和final方法(private方法本质上属于final方法,因为不能被子类访问)之外,其它所有的方法都是动态绑定,这意味着通常情况下,我们不必判定是否应该进行动态绑定—它会自动发生. final方法会使编译器生成更有效的代码,这也是为什么说声明为final方法能在一定程度上提高…
一,Symbol 原始数据类型,不是对象,它是JavaScript第七种数据类型,表示独一无二的值.Symbol是通过Symbol函数生成的: let s = Symbol(); typeof s // "symbol" 不用new,因为Symbol不是对象,而是原始值.Symbol通常作为内置的值来使用,最重要的一个属性: Symbol.iterator,该属性指向该对象的默认遍历器方法,所以 obj[Symbol.iterator]会返回该对象的默认遍历器,然后可以使用遍历器一些方…
1,函数绑定运算符,用来取代call,apply,bind调用,写法:并排的双冒号(::),左边是对象,右边是函数 foo :: bar; // 等同于bar.bind(foo); 双冒号返回的还是原对象,所以可以用链式写法. 2,允许在函数定义或者调用时最后一个参数添加逗号 function fn(a,b,) {} 3,Object.values(obj):返回一个数组,成员是参数对象obj的自身(不含继承)可遍历的属性的键值,不是键名. 4,Object.entries(obj):返回一个数…
1,Object.is():比较两个值是否严格相等,es5的'===',不能判断+0和-0,还有NaN,但是es6的Object.is()可以区分 Object.is(+0, -0); // false Object.is(NaN, NaN); // true 2,Object.assign():将源对象所有的可枚举的属性复制到目标对象.这个非常重要! Object.assign(target, source1, source2......);第一个参数是目标对象,后面的参数都是源对象. 这是一…
1.权重问题 内联样式表 > id选择符 > class选择符 > 类型选择符(所有html标签名称) 内联样式表 > 内部样式表.外部样式表 内部样式表.外部样式表的权重与书写顺序有关,后书写的权重高 注:虽然后书写的权重高,但是属性依旧被执行,只是相同属性会被覆盖,不同属性仍然显示       !important权重最高      开发者样式 > 读者样式 > 浏览器样式      !!!当出现权重的时候就会出现层叠性 2.用css画三角 a.将盒子的宽高设为0p…
最常用的ES6特性 let, const, class, extends, super, arrow functions, template string, destructuring, default, rest arguments这些是ES6最常用的几个语法,基本上学会它们,我们就可以走遍天下都不怕啦!我会用最通俗易懂的语言和例子来讲解它们,保证一看就懂,一学就会. 字符串的用法 //字符串的Unicode表示法(可以在线转换unicode编码) var name='\u{8463}\u{5…
模型最重要的属性是Manager. 它是Django 模型进行数据库查询操作的接口,并用于从数据库提取实例. 如果没有自定义Manager,则默认的名称为objects. Managers 只能通过模型类访问,而不能通过模型实例访问. 可以在模型上定义自定义的方法来给你的对象添加自定义的“底层”功能. Manager 方法用于“表范围”的事务,模型的方法应该着眼于特定的模型实例. 必须要记住调用超类的方法—— super(Blog, self).save(*args, **kwargs) ——…
1.黑盒测试 黑盒测试,指的是把被测的软件看做一个黑盒子,不去关心盒子里面的结构是什么样子的,只关心软件的输入数据和输出结果. 2.白盒测试白盒测试,指的是把盒子打开,去研究里面的源代码和程序执行结果 3.灰盒测试灰盒测试介于黑盒测试与白盒测试之间 2.使用IDLE编写python1.Tab建自动补全2.Alt+P回退到上一次编辑的python代码3.Alt+N前进至下一次编辑的代码 3.安装浏览器驱动网址:http://www.seleniumhq.org/download/ 安装Chrome…
主流浏览器及内核 浏览器         内核 IE             trident Firefox    Gecko Google chrome    Webkit/blink(2014年上市) Safari            Webkit Opera presto 引入css的三种方式 1)行间样式 2)页面css 3)外部css 计算机语言中对同步与异步的解释 1)同步的:不同时执行,与生活中的同步相反 2)异步的:同时执行,与生活中的异步相反 在一个元素上想要添加多个clas…
常用的编码字符集:(charset) 1)gb2312 (国标第2312条)缺点:只能识别简体中文 2)gbk (国标扩展字符集,可识别所有亚裔字符) 3)Unicode (万国码) 4)Utf-8 (现在最常用的万国码) Lang = “” 告诉搜索引擎爬虫,我们的页面是关于什么内容的? 1)lang = “en” 英文 2)lang = “zh”  中文 p标签可以让内容成段表示 标题标签的三个特点: 1)h1到h6标题大小依次减小 2)每个标题标签都可以让内容成段表示 3)标题标签中的文字…
Python软件已经安装成功有很长一段时间了,也即或多或少的了解Python似乎也很长时间了,也是偏于各种借口,才在现在开始写点总结.起初接触Python是因为公司项目中需要利用Python来测试开发的接口,于是开始了解这门解释性,面向对象,带有动态语义的高级语言,或是脚本语言,或是胶水语言.便在网上找了一个现成的Python爬虫,在本地测试运行成功,将新浪上面的所有博客地址扒取下来.真心想从基础学起,自己写个,于是,有了这份基础总结,项目模块的开发将在下一篇博文中贴出.敬请关注! 本博文仅记录…
已经快30岁了,中专学历,不会什么技术,因为好吃懒做最喜欢的就是吃肉睡觉. 每次想学习技术如PhotoShop,绘声绘影,PHP,易语言,按键精灵都只是3分钟热血. 今天我想在业余时间学习Python,在博客园记录学习的重点笔记,立下Flag,一定要改变自己. 用了大概一个星期的时间学习了3天金角大王的Python的全栈开发的前三课. 回忆如下: 2.x = 默认编码 =ASSIC =不支持3.x = 默认编码 =UNICODE =默认支持中文 python 3 vs 2 1. 默认支持中文 2…
2017年11月17日,在Windows Service 2008R2上成功安装MongoDB. 版本:mongodb-win32-x86_64-2008plus-ssl-3.4.6-signed.msi 安装步骤:(由于网上的安装步骤基本都行,所以直接给连接)https://www.cnblogs.com/feichengwulai/articles/4896293.html 重点笔记: 1.创建配置文件mongo.conf 先创建一个txt文本文件,然后修改文件后缀为“conf”: 配置文件…