小知了
一个不神奇的博客
发布时间 : 2017-01-26 15:59:06     Tags : Java

运行时类型信息使得我们可以在程序运行时候发现和使用类的信息。Java让我们在运行时识别对象和类的信息。主要有两种方式:1 传统的RTTI(运行时类型信息),他假定我们在编译时候已经知道了所有的类型。(运行时程序使用基类指针或者引用检查这些指针或引用指向的对象实际派生类型)。RTTI和面向对象的三大概念密不可分。封装,继承,多态。因为有了封装才有了对象,因为有了继承才有了多态。2 基于反射机制(内省):运行时的类信息。区别:对于RTTI来说,编译器在编译时候打开和检查.class文件,可以通过"普通"方式调用对象的所有方法对于反射来说,.class文件在编译时候是不可以获取的,所以在运行时候打开

发布时间 : 2017-01-25 21:40:33     Tags : Java

instanceOf和isInstance()执行类型检查的时候考虑到了继承结构,并且比较的是实例化后的对象。==和equals比较的是实际对象对应的Class对象,没有考虑继承结构。A instanceOf B A是否是B的子类或B类型的A.class.isInstance(B.class) A的子类有没有BA.class == B.class or A.class.equals(B.class) A.B的两类是否相同A.class.isAssignableFrom(B.class); A的子

发布时间 : 2017-01-25 16:26:42     Tags : Java

看《java编程思想》时候做一道练习题,发现自己面向对象理解的很差....题目如下:写一个Command的类,它包含一个String域和一个显示该String的operator()方法.写第二个类,它具有Command对象来填充一个Queue并返回这个对象的方法.将填充后的Queue传递给第三个类的一个方法,该方法消耗Queue中的对象,并调用operator()方法.Write a class called Command that contains a String and has a method operation() that displays the String. Write a

发布时间 : 2017-01-21 20:39:14     Tags : Java

使用对象的前才去实例化对象,这叫延迟加载对象(LazyLoad)。在懒汉单例模式中有用到。代码如下:class Simple{ private String s; public Simple(String s){ this.s = s; } public String toString(){ return s; } public void setString(String s){ this.s = s; }} class Second{ private Simple simple; private

发布时间 : 2017-01-20 13:57:30     Tags : Java

class Demo1{ public T fun(T t){ return t; }}class Demo2{ public <T> T fun(T t){ return t; }}class Demo3{ public static <T> T fun(T t){ return t; }}class Demo4{ public static T fun(T t){ return t; }}class Demo5<T>{ public T fun(T t){ ret

发布时间 : 2016-12-27 01:14:28     Tags : Java

总得来说,同步异步出现在以下几个领域:1 计算机网络。 数据通信技术中有同步通信与异步通信。同步通信简单的说就是你在发送数据时候我必须同时接受。这个过程有精确的时钟控制。而异步通信是你在发数据时候必须加上开始与结束符号,这样我才可以接受,异步通信没有时钟控制。因为没有了时钟的控制(额外硬件),所以成本低,设备简单,但是传输效率较低。(开始与结束符占了开销)。 在网络协议(network protocol)的三大组成部分:语法,语义,同步。这时候同步指的是事件实现的顺序。比如建立tcp连接时候的三次握手实现顺序。2 操作系统。 中断系统的一个特点就是可以对异步事件响应。异

发布时间 : 2016-12-23 23:26:58     Tags : Java

做爬虫的时候需要取出2015-8-15到2016-10-7类似时间区间的所有日期字符串:import datetime# 结束时间d1 = datetime.date(2016,10,7)# 开始时间d2 = datetime.date(2015,8,15)# 间隔天数range = int((d1-d2).days)# today = datetime.date.today()# 只要计算出两个时间段区间的dateList = []while range != 0: date = d1 - datetime.timedelta(days=range) range

微网聚博客乐园 ©2014 blog.mn886.net 鲁ICP备14012923号   网站导航