TJI读书笔记12-接口】的更多相关文章

TJI读书笔记16-异常处理 概念 基本异常情形 异常的捕获 自定义异常 异常说明 捕获所有异常 栈轨迹 重新抛出异常 Java标准异常 使用finally 异常的限制 构造器 异常的匹配 其他乱七八糟 概念 在早期没有专门的异常处理机制的时候,比如C语言,会通过一些约定俗成的东西来处理异常. 比如让程序返回某个特殊的值或者设置某个标记. 然后对返回值进行检查以判断程序是否出错. 还记得以前C语言的时候,return 0和return -1对异常处理的实现可以追溯到BASIC中的on error…
TJI读书笔记15-持有对象 总览 类型安全和泛型 Collection接口 添加元素 List 迭代器 LinkedList 栈 Set Map Queue Collection和Iterator Foreach与迭代器 总结 总览 It’s a fairly simple program that only has a fixed quantity of objects with known lifetimes. 埃大爷开篇说了那么一句话. 通常情况下,程序总在运行时才知道根据某些条件创建新…
  TJI读书笔记14-闭包与回调 闭包与回调 为什么要使用内部类?内部类继承自某个类或者实现某个接口,内部类的代码可以操作外嵌类的对象. 这不是使用内部类的理由. 那么为什么使用内部类呢? 我觉得如果使用其他办法可以更好的解决需求问题,那为什么要使用那么复杂的内部类呢? 内部类的好处之一,可以提供更强的封装性. 像前面一篇中的实例,很多时候,我们甚至都不需要知道内部类的具体类型就可以使用它了. 但是这个理由说服力度不够,更重要的是,内部类提供了一种更合理的多重继承的解决方案. 因为每个内部类都…
TJI读书笔记13-内部类 TJI读书笔记13-内部类 创建内部类 内部类和外部类的关系 .this和.new 内部类和向上转型 局部内部类 匿名内部类 匿名内部类的定义和初始化 使用匿名内部类来实现工厂模式 嵌套类 内部类的继承 覆盖内部类 局部内部类和匿名内部类的区别 我最恶心的两部分内容,一个叫lambda表达式,一个叫内部类. 智商有限,一直理解不了… 简单来说,将一个类的定义放在另一个类的内部就是内部类. 内部类的好处在于,将一些逻辑上相关的类组织在一起,并控制位于内部的类的可视性.内…
TJI读书笔记12-接口 抽象类和抽象方法 接口 完全解耦和策略模式 接口间的继承关系 工厂模式 乱七八糟不知道怎么归类的知识点 接口和抽象类为我们提供了更强又有力的接口和实现分离的方法. 抽象类和抽象方法 抽象类的目的是为了给子类提供一个通用接口,通过这样一个通用的接口,可以操纵一系列的子类. 也就是说,只需要通过相同的接口调用就可以操作不用的实现. 这也就是所谓的接口和实现的分离. 抽象类简单来说就是包含抽象方法的类. 那么,要了解抽象类就得先了解抽象方法. abstract void f(…
TJI读书笔记17-字符串 不可变的String 重载”+”和StringBuilder toString()方法的一个坑 String上的操作 格式化输出 Formatter类 字符串操作可能是计算机程序设计中最常见的行为之一. 而我们常见的字符串类型有String类,StringBuffer类和StringBuilder类. 其中,String类型代表的是一个不可变的字符串类型,而StringBuffer是一个线程安全的可变字符串序列. StringBuilder类是一个可变的字符串序列,但…
TJI读书笔记11-多态 再说说向上转型 多态的原理 构造器和多态 协变返回类型 使用继承进行设计 多态是数据抽象和继承之后的第三种基本特征. 一句话说,多态分离了做什么和怎么做(再次对埃大爷佩服的五体投地,简直精辟啊). 是从另外一个角度将接口和实现分离开来. 封装通过合并特征和行为来创建新的数据对象,通过私有化隐藏细节,把接口和实现分离开来. 多态则是消除类型之间的耦合关系. 继承是允许将对象视为自己本身的类型或者基类型来处理. 再说说向上转型 把某个对象的引用视为对其基类型的引用的做法被称…
TJI读书笔记10-复用类 组合语法 继承语法 代理 final关键字 final的数据 final的参数 final的方法 final的类 初始化和类的加载 乱七八糟不知道怎么归类的知识点 代码复用是java众多牛逼哄哄的功能之一(好像OOP语言都可以呢…),代码复用的理想状态是,使用类但是又不破坏现有代码. 当然住了复制粘贴以外还有其他的方法. 一个叫组合,一个叫继承. 组合语法 其实刚开始我非常不理解什么叫组合. 后来才知道,在一个类中置入一个对象的引用就可以了. 学术范儿就是这样,把一些…
TJI读书笔记09-访问控制权限 包,package和import 权限修饰符 接口和实现 类的访问权限控制 首先问一个问题,为什么要有访问控制权限? 安全,这当然是一个很重要的原因. 让类库的使用者只能接触他做需要接触的东西. 另外一方面,当我们去重构和修改代码的时候,如何不影响其他的代码和功能?权限访问控制是可以很好的将”变动的事物”和”不变的事物”区分开来.比如一个类库,在移除旧的实现添加新的实现的时候,很有可能会破坏客户端程序员的代码. 那么怎么办呢. 一个很好的思想就是,只暴露有必要的…
TJI读书笔记07-初始化 成员初始化 构造方法初始化 初始化块 初始化的顺序 成员初始化 java尽量去保证每个变量在使用前都会得到初始化. 对于方法局部变量,java不会自动初始化他们,如果没有显式的初始化,编译器会报错. 对于类的数据成员,java会自动初始化成一个”空”“的值.简单来说,这个空的值对于基本数据类型就是,0,false,和空格. 对于引用类型就是null. (只是类的数据成员会隐式初始化,这个我之前还真没有太在意,一直以为java默认的初始化是对所有类型的变量都生效的. )…
前言 最近在看Peter Harrington写的"机器学习实战",这是我的学习心得,这次是第12章 - 使用FP-growth算法来高效发现频繁项集. 基本概念 FP-growth算法 FP-growth算法的性能很好,只需要扫描两次数据集,就能生成频繁项集.但不能用于发现关联规则. 我想应该可以使用Apriori算法发现关联规则. FP代表频繁模式(Frequent Pattern). 条件模式基(conditional pattern base). 条件模式基是以所查找元素项为结…
强化学习读书笔记 - 12 - 资格痕迹(Eligibility Traces) 学习笔记: Reinforcement Learning: An Introduction, Richard S. Sutton and Andrew G. Barto c 2014, 2015, 2016 参照 Reinforcement Learning: An Introduction, Richard S. Sutton and Andrew G. Barto c 2014, 2015, 2016 强化学习…
2013-08-24 14:22:46 4.5 ARP举例 首先要介绍一些tcpdump这个强大的Linux命令,它不但可以分析封包的流向,连封包的内容也可以监听,如果数据段没有加过密我们就可以做一些很好玩的事情了.具体的使用方法请大家man tcpdump. sudo tcpdump -i wlan0 -nn 这个命令的使用要拥有root权限,上边的命令可以监听wlan0接口. 4.5.1 一般的例子 telnet svr4 discard 作者在ARP告诉缓存为空的前提下,使用了telnet…
第12章 Bitmap的加载和Cache 12.1 Bitmap的高速加载 (1)Bitmap是如何加载的?BitmapFactory类提供了四类方法:decodeFile.decodeResource.decodeStream和decodeByteArray从不同来源加载出一个Bitmap对象,最终的实现是在底层实现的.如何高效加载Bitmap?采用BitmapFactory.Options按照一定的采样率来加载所需尺寸的图片,因为imageview所需的图片大小往往小于图片的原始尺寸.(2)…
查询优化器统计信息 搜集统计信息: 不是实时的: SQL> conn /as sysdbaConnected.SQL> grant select on dba_objects to scott; Grant succeeded. SQL> conn scott/tigerConnected.SQL> create table t as select * from dba_objects; Table created. SQL> select NUM_ROWS,BLOCKS f…
概述 最近对http很感兴趣,于是开始看<http权威指南>.别人都说这本书有点老了,而且内容太多.我个人觉得这本书写的太好了,非常长知识,让你知道关于http的很多概念,不仅告诉你怎么做,还告诉你为什么这么做.于是我把学到的知识点记录下来,供以后开发时参考,相信对其他人也有用. 摘要认证 1.安全使用基本认证的唯一方式是将其与SSL配合使用. 2.摘要认证相比基本认证的改进: 永远不会以明文方式在网络上发送密码. 可以防止恶意用户捕获并重放认证的握手过程. 可以有选择地防止对报文内容的篡改.…
一.接口可以包含 属性.方法.事件和索引器: 二.接口不能被实例化: 三.一个类可以继承多个接口: 四.接口不能包含方法的实现: 五.继承接口的类必须实现接口中所有成员: 六.显式实现接口的成员,不能从类实例去访问.因为显式实现的接口成员,仅通过该接口调用并且特定于该接口: 七.接口中的成员不能指定修饰符,其默认修饰符为public: 八.在派生类内部显式实现的接口成员不能有修饰符,否则编译通不过. 九.如果一个类继承多个接口,且这些接口中有相同的成员,这时类内部可以显式实现这些接口相同的成员,…
在C#中,可以在类.结构或接口中用this关键字声明索引器,在索引器内部用get或set访问器访问类中集合的某项值.因此可以将索引器看作是类的属性一样去定义.索引器常用定义格式如下: public int this[int index]{ get{ return 类内部的某个集合[index];} set{类内部的某个集合[index]=value;} } 索引器参数类型不只是整型,还可以用字符串,例如 public int this[string index]{.....}这样的格式. 今天所…
Cp13接口 类和接口继承 接口只提供签名,不提供实现:等效于契约:凡事能使用具名接口的地方都能够使用实现了的接口. 定义接口 定义很简单,FCL也提供了大量的现成接口供使用: 继承接口 类不能多继承,接口可以: 调用接口 变量可以是接口,但是只能调用这个接口约定的操作: 隐式接口和显式接口的实现 隐式接口的操作可以通过类变量进行,而显示接口的实现,只能通过接口类型的变量进行: 泛型接口 协变和逆变:泛型和接口的约束: 具有相同方法和签名的多个接口的实现 必须使用显式接口的实现. 显示接口的优点…
目录 Adapter即适配器,可以类比为将220V的电压的电源转为5V电压的手机充电器,起转换的作用. 明确概念: Adaptee:被适配者,即220v电压的电源 Adapter:适配器,即手机充电器 Target:适配目标,即输出5V电压 Client:请求适配者,即手机 Adapter模式有两种实现: 使用继承的适配器. 类图 代码 //Adaptee public class Banner { private String string; public Banner(String stri…
第一章 Android应用初体验 1.4用户界面设计 <?xml version="1.0" encoding="utf-8"?> ADT21开发版以后,Android布局文件已不需要该行代码. 1.4.1视图结构层级(view hierarchy) 继承至View的ViewGroup组件:LinearLayout/FrameLayout/RelativeLayout 1.4.3 字符串资源 一般默认被命名为strings.xml,也可自定义命名,但是这…
闪回数据库使用的是闪回日志,闪回日志存在于闪回目录(也就是快速闪回区中)闪回日志:就是数据块修改之前的镜像,简称前像 1.查看闪回目录的位置:show parameter recovery 如果闪回目录没有设定,要先设定先设定大小:alter system set db_recovery_file_dest_size=2G; 再设定位置:alter system set db_recovery_file_dest='/u01/app/oracle/flash_recovery_area'; 闪回…
Sequence 1: Using find Scenario: Log in as user student. Devise and execute a find command that producesthe result described in each of the following problems, then write down thecommand in the space provided. You may need to refer to the man page fo…
上一篇聊了聊构建分布式系统所面临的困难,这篇将着重讨论构建容错分布式系统的算法与协议.构建容错系统的最佳方法是使用通用抽象,允许应用程序忽略分布式系统中的一些问题.本篇我们先聊一聊线性一致性,以及与线性一致性有关的技术,后续需要了解的分布式协调服务,如:ZooKeeper等,都是基于分布式系统的线性一致性. 1.更强的一致性 大多数分布式数据库至少提供了最终一致性,这意味着如果停止对数据库的写操作并等待一段时间,最终所有读请求将返回相同的值.但是,这是一个非常弱的一致性保证,所谓的一段时间并不确…
之前已经做了一些理论上的铺垫,这次我们就可以看代码了. 一.代码清单 ;代码清单11-1 ;文件名:c11_mbr.asm ;文件说明:硬盘主引导扇区代码 ;创建日期:2011-5-16 19:54 ;设置堆栈段和栈指针 mov ax,cs mov ss,ax mov sp,0x7c00 ;计算GDT所在的逻辑段地址 mov ax,[cs:gdt_base+0x7c00] ;低16位 mov dx,[cs:gdt_base+0x7c00+0x02] ;高16位 div bx mov ds,ax…
第13章 综合技术 13.1 使用CrashHandler来获取应用的Crash信息 (1)应用发生Crash在所难免,但是如何采集crash信息以供后续开发处理这类问题呢?利用Thread类的setDefaultUncaughtExceptionHandler方法!defaultUncaughtHandler是Thread类的静态成员变量,所以如果我们将自定义的UncaughtExceptionHandler设置给Thread的话,那么当前进程内的所有线程都能使用这个UncaughtExcep…
强化学习读书笔记 - 13 - 策略梯度方法(Policy Gradient Methods) 学习笔记: Reinforcement Learning: An Introduction, Richard S. Sutton and Andrew G. Barto c 2014, 2015, 2016 参照 Reinforcement Learning: An Introduction, Richard S. Sutton and Andrew G. Barto c 2014, 2015, 20…
一.Intel 32 位处理器的工作模式 如上图所示,Intel 32 位处理器有3种工作模式. (1)实模式:工作方式相当于一个8086 (2)保护模式:提供支持多任务环境的工作方式,建立保护机制 (3)虚拟8086模式:这种方式可以使用户在保护模式下运行8086程序(比如cmd打开的console窗口,就是工作在虚拟8086模式) 有几点需要特别说明: (1)保护模式可分为16位和32位的,由段描述符中的D标志指明.对于32位代码段和数据段,这个标志总是设为1:对于16位代码和数据段,这个标…
首先来段题外话:之前我发现我贴出的代码都没有行号,给讲解带来不便.所以从现在起,我要给代码加上行号.我写博客用的这个插入代码的插件,确实不支持自动插入行号.我真的没有找到什么好方法,无奈之下,只能按照网友的说法,在VIM中给每行代码加上行号,然后再贴出来. 在VIM中每一行都添加上行号的方法是: :%s/^/\=line(".")/ 对,只要执行这个命令就可以了.至于为什么这样写,可以参考我的另一篇博文 <在VIM中添加行号的方法>http://blog.csdn.net/…
本篇已收录至<C#图解教程>读书笔记目录贴,点击访问该目录可获取更多内容. 一.接口那点事儿 (1)什么是接口? 一组函数成员而未实现的引用类型.只有类和结构能实现接口. (2)从IComparable接口看接口实例: 假设有如下一段代码,它使用Array类的一个静态方法Sort对一个未排序的int类型数组进行排序,并输出排序后的结果. using System; class Program { static void Main() { , , , , }; // Create an arra…