2009年3月 随笔档案 -凯发k8网页登录

随笔 - 312, 文章 - 14, 评论 - 1393, 引用 - 0
数据加载中……

03 2009 档案

     摘要: 在《创建inetaddress对象的四个静态方法》一文中通过getallbyname得到了www.csdn.net对应的四个ip地址。从理论上说,在ie(或其他的web浏览器,如firefox)的地址栏中输入这四个ip地址中的任何一个,都可能访问www.csdn.net。如输入http://211.100.26.124。但ie却返回了一个错误信息。在输入另外三个ip后,都会得到同样的错误信息。  

posted @ 银河使者 阅读(4345) |  

     摘要: inetaddress类是java中用于描述ip地址的类。它在java.net包中。在java中分别用inet4address和inet6address类来描述ipv4和ipv6的地址。这两个类都是inetaddress的子类。由于inetaddress没有public的构造方法,因此,要想创建inetaddress对象,必须得依靠它的四个静态方法。inetaddress可以通过getlocalhost方法得到本机的inetaddress对象,也可以通过getbyname、getallbyname和getbyaddress得到远程主机的inetaddress对象。  

posted @ 银河使者 阅读(5306) |  

     摘要: 在窗口右上方的工具栏按钮设置上,ie8新增了一个“安全”下拉菜单,增强了页面浏览的安全性考量,诸如删除浏览历史记录、inprivate浏览、网页隐私策略等功能按钮。  

posted @ 银河使者 阅读(735) |  

     摘要: 所有连入internet的终端设备(包括计算机、pda、打印机以及其他的电子设备)都有一个唯一的索引,这个索引被称为ip地址。现在internet上的ip地址大多由四个字节组成,这种ip地址叫做ipv4。除了这种由四个字节组成的ip,在internet上还存在一种ip,这种ip由16个字节组成,叫做ipv6。ipv4和ipv6后面的数字是internet协议(internet protocol,ip)的版本号。
  

posted @ 银河使者 阅读(6098) |  

     摘要: 前天刚装了个qt4for windows,发现安装的时候mysql等数据库插件都没有安装,像qt x11版一样,都需要自己安装这些插件。在qt的安装目录c:\qt4.1.2\下,有个src目录,进入plugins\sqldrivers\mysql,可以看到两个文件,main.cpp和mysql.pro,很显然要用qmake来完成编译、生成目标。编译前,首先保证依赖的mysql头文件和库文件正确。首先mysql安装目录下的include中的所有文件拷到qmake时能找到的目录下,接着从 lib/opt目录下拷出libmysql.a,其实lib/opt下只有libmysql.lib和libmysql.dll,从网上搜了一下找到一个方法从libmysql.dll生成libmysql.a:   

posted @ 银河使者 阅读(4265) |  

     摘要: 我们可以通过synchronized块来同步特定的静态或非静态方法。要想实现这种需求必须为这些特性的方法定义一个类变量,然后将这些方法的代码用synchronized块括起来,并将这个类变量作为参数传入synchronized块。在使用synchronized块时应注意,synchronized块只能使用对象作为它的参数。如果是简单类型的变量(如int、char、boolean等),不能使用synchronized来同步。  

posted @ 银河使者 阅读(7276) |  

     摘要: synchronized关键字有两种用法。第一种就是在《使用synchronized关键字同步类方法》一文中所介绍的直接用在方法的定义中。另外一种就是synchronized块。我们不仅可以通过synchronized块来同步一个对象变量。也可以使用synchronized块来同步类中的静态方法和非静态方法。  

posted @ 银河使者 阅读(11286) |  

     摘要: 要想解决“脏数据”的问题,最简单的方法就是使用synchronized关键字来使run方法同步。虽然可以使用synchronized来定义方法,但synchronized并不属于方法定义的一部分,因此,synchronized关键字不能被继承。如果在父类中的某个方法使用了synchronized关键字,而在子类中覆盖了这个方法,在子类中的这个方法默认情况下并不是同步的,而必须显式地在子类的这个方法中加上synchronized关键字才可以。当然,还可以在子类方法中调用父类中相应的方法,这样虽然子类中的方法不是同步的,但子类调用了父类的同步方法,因此,子类的方法也就相当于同步了。  

posted @ 银河使者 阅读(9669) |  

     摘要: java中的变量分为两类:局部变量和类变量。局部变量是指在方法内定义的变量,如在run方法中定义的变量。对于这些变量来说,并不存在线程之间共享的问题。因此,它们不需要进行数据同步。类变量是在类中定义的变量,作用域是整个类。这类变量可以被多个线程共享。因此,我们需要对这类变量进行数据同步。数据同步就是指在同一时间,只能由一个线程来访问被同步的类变量,当前线程访问完这些变量后,其他线程才能继续访问。这里说的访问是指有写操作的访问,如果所有访问类变量的线程都是读操作,一般是不需要数据同步的。  

posted @ 银河使者 阅读(4902) |  

     摘要: 从线程中返回数据和向线程传递数据类似。也可以通过类成员以及回调函数来返回数据。但类成员在返回数据和传递数据时有一些区别,下面让我们来看看它们区别在哪。  

posted @ 银河使者 阅读(6843) |  

     摘要: 包括db2 family fundamentals(700 )、db2 udb v8.1 for linux, unix, and windows database administration(701)、db2 udb v8.1 family application development(703)、db2 udb v8.1 for linux, unix and windows advanced database administration(704)的考试大纲  

posted @ 银河使者 阅读(821) |  

     摘要: 在传统的同步开发模式下,当我们调用一个函数时,通过这个函数的参数将数据传入,并通过这个函数的返回值来返回最终的计算结果。但在多线程的异步开发模式下,数据的传递和返回和同步开发模式有很大的区别。由于线程的运行和结束是不可预料的,因此,在传递和返回数据时就无法象函数一样通过函数参数和return语句来返回数据。本文就以上原因介绍了几种用于向线程传递数据的方法,在下一篇文章中将介绍从线程中返回数据的方法。  

posted @ 银河使者 阅读(15741) |  

     摘要: 牛新庄博士,研究方向为数据仓库和数据挖掘。是ibm官方资深培训讲师(培训db2,aix,mq,websphere和cics)。2002年获ibm 杰出软件专家奖,2006年获“首届中国杰出数据库工程师奖”、“2006年it168技术卓越奖”。是中信银行、山东农信、广东农信等公司资深技术顾问,中国建设银行总行特聘资深技术专家。拥有ocp, aix,db2,hp-ux,mq,cics和websphere等二十多项国际认证。著有《oracle数据库开发讲座—— oracle9i jdeveloper与j2ee实务应用》、《db2应用开发实战指导》、《循序渐进db2-系统管理、运行维护与应用案例》、《深入解析db2-高级管理、内部体系结构与诊断案例》和《db2性能调整与优化》等书。  

posted @ 银河使者 阅读(1427) |  

     摘要: volatile关键字相信了解java多线程的读者都很清楚它的作用。volatile关键字用于声明简单类型变量,如int、float、boolean等数据类型。如果这些简单数据类型声明为volatile,对它们的操作就会变成原子级别的。不过在使用volatile关键字时也要慎重,并不是只要简单类型变量使用volatile修饰,对这个变量的所有操作都是原来操作,当变量的值由自身的上一个决定时,如n=n 1、n 等,volatile关键字将失效,只有当变量的值和自身上一个值无关时对该变量的操作才是原子级别的,如n = m 1,这个就是原级别的。所以在使用volatile关键时一定要谨慎,如果自己没有把握,可以使用synchronized来代替volatile。  

posted @ 银河使者 阅读(9343) |  

     摘要: 在上面的例子中多次使用到了thread类的join方法。我想大家可能已经猜出来join方法的功能是什么了。对,join方法的功能就是使异步执行的线程变成同步执行。也就是说,当调用线程实例的start方法后,这个方法会立即返回,如果在调用start方法后后需要使用一个由这个线程计算得到的值,就必须使用join方法。如果不使用join方法,就不能保证当执行到start方法后面的某条语句时,这个线程一定会执行完。而使用join方法后,直到这个线程退出,程序才会往下执行。  

posted @ 银河使者 阅读(5945) |  

     摘要: 与人有生老病死一样,线程也同样要经历开始(等待)、运行、挂起和停止四种不同的状态。这四种状态都可以通过thread类中的方法进行控制。  

posted @ 银河使者 阅读(8227) |  

     摘要: 实现runnable接口的类必须使用thread类的实例才能创建线程。通过runnable接口创建线程分为两步:1. 将实现runnable接口的类实例化。2. 建立一个thread对象,并将第一步实例化后的对象作为参数传入thread类的构造方法。最后通过thread类的start方法建立线程。  

posted @ 银河使者 阅读(5843) |  

     摘要: 一个普通的java类只要从thread类继承,就可以成为一个线程类。并可通过thread类的start方法来执行线程代码。虽然thread类的子类可以直接实例化,但在子类中必须要覆盖thread类的run方法才能真正运行线程的代码。  

posted @ 银河使者 阅读(6489) |  

     摘要: 线程是程序运行的基本执行单元。当操作系统(不包括单线程的操作系统,如微软早期的dos)在执行一个程序时,会在系统中建立一个进程,而在这个进程中,必须至少建立一个线程(这个线程被称为主线程)来作为这个程序运行的入口点。因此,在操作系统中运行的任何程序都至少有一个主线程。  

posted @ 银河使者 阅读(5182) |  

     摘要: 不管你爱不爱,现在是科幻片的时代。在经济形势如此不景气的今天,我们需要更多帮助我们超脱现实的来,呃,姑且说逃避现实好了。不过话说回来,有谁不爱看那些制作精良、情节扣人心弦的科幻电影呢?那种窥探未来世界的欲望以及看到更美好明天的希望总是拖拽着我们一次次的坐在大银幕之前瞠目结舌着让爆米花从张大的嘴里掉出来。特别是对于年轻的男性影迷来说,那些巨大的机器人、可飞行的滑板、宇宙飞船或是任何形式的未来派机械的吸引力并不亚于任何安妮·海瑟薇那样的九头身美女。我们幻想乘坐宇宙飞船或时间机器到达不论时间还是空间都极遥远的异域,或者去冒险,或者去寻找希望。所以也就无怪乎从1902年首部科幻影片——乔治斯·梅里耶(georges melies)的《月球旅行记》(trip to the moon)——问世以来,科幻题材的电影一直风行到现在。
  

posted @ 银河使者 阅读(825) |  

网站地图