小知了
一个不神奇的博客
发布时间 : 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

发布时间 : 2017-01-03 01:01:44     Tags : JavaScript

我们先来看一下正常的事件绑定形式:doucment.getElementById("btn").addEventLisnter("click",function(event){ // your processing})我们可以看出正常事件绑定需要四个组成部分:1 获取的元素(Element的子类) 2 事件绑定函数 (addEventLisnter) 3 事件类型 (click)4 事件触发的回调函数 (function(event){})其原理是:所有的Element元素实现了EventTarget接口,在该接口中定义了三个方法,EventTarget.addEventL

发布时间 : 2016-12-31 01:54:26     Tags : JavaScript

在js中有时会看到有两个!!的用法var foo; alert(!foo);//undifined情况下,一个感叹号返回的是true;alert(!goo);//null情况下,一个感叹号返回的也是true;var o={flag:true}; var test=!!o.flag;//等效于var test=o.flag||false;alert(test); 这段例子,演示了在undifined和null时,用一个感叹号返回的都是true,用两个感叹号返回的就是false,所以两个感叹号的作用就在于,如果明确设置了变量的值(非null/undifined/0/""等值),结果就会根据变

发布时间 : 2016-12-29 02:07:01     Tags : JavaScript

在两个页面间通过url传参的时候,需要获取传递的查询字符串,例如获取下面url的name对应的值:www.baidu.com/img?name=lili&age=18&school=81school 有两种方法,一是用数组split()为主的拆分,二是用正则表达式的拆分。1 数组拆分:function getQueryStringArgs(){ var qs = (location.search.length > 0 ? location.search.substring(1) : ""); args = {}, items = qs.length ?

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

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

发布时间 : 2016-12-24 11:43:39     Tags : JavaScript

ele = document.createElement("div");ele.setAttribute("id","lili");document.appendChild(ele);ele = document.createElement("div");ele.setAttribute("id","lili");document.body.appendChild(ele);这就对啦!document上不可以直接append节点!检测下类型:console.log(typeof document);console.log(typeof document.body); 完全没用!consol

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