07 2012 档案
摘要:一、spring及ibatis的简介 关于spring和ibatis的介绍在这里就不多说了,具体的简介及应用可以参考我前面的两篇文章:《ibatis的简介与初步搭建应用》,《spring的简介与初步搭建应用》,这里主要结合两者,搭建起集成环境,并演示简单的实例应用。二、集成环境的搭建下图是我的搭建图 (一)、Dao层搭建 这里Dao层的搭建就是指Dao层接口,即Mapper接口的创建,和我《ibatis的简介与初步搭建应用》这篇文章里的是相同的,你也可以参考那里面的:1. 表结构的创建,SQL如下:CREATE TABLE goods ( id int(11) NOT NULL DEFAU..
阅读全文
摘要:在JDK 1.4版本中,新增加了nio包,目前在于提升IO速度。 不过大家都知道,增加了nio包之后,旧的io包其实也进行了重写。就算不显示的使用nio包,也可以明显的感觉到速度的提升。 而且很多人在使用io包的时候,也只是知道装饰一个Buffer的InputStream或者OutputStream,速度会更快。 那么,在这几者之间,速度上到底有差距没?差距有多大?我们将进行一次IO操作的性能测试。 测试的IO操作为,普通的文件读写(不带Buffer),带Buffer的文件读写,使用nio的管道的普通文件读写,使用nio的管道的随机文件读写。 先写一个TestIO测试类。/** * 测试I..
阅读全文
摘要:首先谈谈什么是反射,这所说的反射是特制在编程语言中的反射,其官方解释如下:程序集包含模块,而模块包含类型,类型又包含成员。反射则提供了封装程序集、模块和类型的对象。您可以使用反射动态地创建类型的实例,将类型绑定到现有对象,或从现有对象中获取类型。然后,可以调用类型的方法或访问其字段和属性。其作用如下:1.加载在程序集清单中列出的模块,以及从此程序集中查找类型并创建该类型的实例。2.了解包含模块的程序集以及模块中的类等。您还可以获取在模块上定义的所有全局方法或其他特定的非全局方法。 3.了解函数的名称、参数、访问修饰符(如public或private)和实现详细信息(如abstract...
阅读全文
摘要:在并发编程中实用工具类 第一章 关键接口1.BlockingQueue<E>支持两个附加操作的Queue,这两个操作是:检索元素时等待队列变为非空,以及存储元素时等待空间变得可用。2.Callable<V>返回结果并且可能抛出异常的任务。3.CompletionService<V>将生产新的异步任务与使用已完成任务的结果分离开来的服务。4.ConcurrentMap<K,V>提供其他原子putIfAbsent、remove、replace方法的Map。5.Delayed一种混合风格的接口,用来标记那些应该在给定延迟时间之后执行的对象。6.Exec
阅读全文
摘要:欢迎转载,转载请注明出处:http://it.zhutibo.com/action/article1227.htm学习枚举的第一个疑问:为什么不用static final字段替代我想几乎每一个学习Java语言的人在学习枚举的时候首先的一个疑问就是“为什么不用static final字段替代?”,有这个疑问就说明你已经摸索到了枚举类型的最主要功能:以统一命名的常量来替换变化无常的直接量,这是毫无疑问是枚举的最主要作用,在大多数情况下,用static final是足够的,所以N多知名的源码里我们会经常看到用static final字段定义的一系列常量;那么为什么要用枚举呢?有几个原因:枚举的元素是
阅读全文
摘要:Random类用于生成伪随机数流。使用48位的种子,使用线性同余公式对其进行修改。如果用相同的种子创建两个Random实例,则对每个实例进行相同的方法调用序列,它们将生成并返回相同的数字序列。为了保证属性的实现,为类Random指定了特定的算法。为了Java代码的完全可移植性,Java实现必须让类Random使用此处所示的所有算法。但是允许Random类的子类使用其他算法,只要其符合所有方法的常规协定即可。其有两种初始化方式:Random R = Random ( ) ;Random R= Random (longseed):使用单个long种子创建一个新随机数生成器;其随机数生成方法如下..
阅读全文
摘要:一、spring的简介 spring是什么东西就不介绍了,自己去找谷老师。二、spring的下载 最新的稳定spring3.1.0版本,下载地址:http://www.springsource.org/download/,最好下载“with docs”的版本,其中包括了spring API及帮助文档,这些文档对学习spring是很有用的,我的第一个简单示例就是参照文档搭建起来的。三、简单的示例应用(使用xml的格式定义bean)下图是我的搭建图,readMe.txt是本人的自己添加的说明文档,没有这个文档没关系。1. 接口及实现类的编写接口:package com.kane.csdn.inte
阅读全文
摘要:在Java中的final关键字和在C++中所使用的const有一定的差别,虽然都是OOP。在这里将简单的说明一下Java中的final关键字。从数据,方法,类这这三个方面来进行final的说明。一.数据1.一个永远不会改变的编译时常量;2.一个在运行时被初始化这一点和C++中的const比较相似,但由于在C++中有指针的存在,所以const在C++中的理解更加复杂,这里最多只有final的对象引用。final的对象引用,使引用恒定不变,一旦引用被初始化指向一个对象,就无法再把它改为指向另一个对象了。还有一点static和final一起修饰的一个数据是占据一块不变的存储空间。二.方法1.锁定..
阅读全文
摘要:在Java中finally是用来做什么的呢?可以用这样一句话来概括其功能:在finally中的句子总能运行。看如下两个例子:第一个例子阐述的是一般的的finally的用法,无论try块中的异常是否抛出,必须的语句都可以得到执行。如果catch比较多时,那么就需要在每个catch中的语句里面,添加那段必须的语句就得在每个catch中实现一遍。如果使用finally,那就把必须的语句放到它的模块中,可以实现代码的简洁和干净。classThreeExceptionextendsException{}publicclassFinallyWorks{staticintcount=0;publicst..
阅读全文
摘要:有问题欢迎指正,转载请注明出处:http://www.zhutibo.com/action/subject875.htm概述网上关于该题目的文章已经很多,我觉得把它们几个关联起来讲可能更好理解一下。与其它语言一样,它在执行我们写的程序前要先分配内存空间,以便于存放代码、数据;程序的执行过程其实依然是代码的执行及数据的读写过程;除了在执行我们写的显式的可见代码外,Jvm还会自动帮我们帮一些事,包括类的加载、初始化、GC等,这些也不特殊。以下分别来说下这些概念。Java内存结构这一点基本上同其它高级语言一样,Java包含:堆、栈、本地栈(有些特殊)、永久代码区。以下具体说下每个内存区的作用及使用方
阅读全文
摘要:Log4j是Apache的一个开放源代码项目,通过使用Log4j,可以控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务器、NT的事件记录器、UNIXSyslog守护进程等;也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,能够更加细致地控制日志的生成过程。最令人感兴趣的就是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。通过Log4j其他语言接口,您可以在C、C++、.Net、PL/SQL程序中使用Log4j,其语法和用法与在Java程序中一样,使得多语言分布式系统得到一个统一一致的日志组件模块。而且,通过使用各种第三方扩展,您可以很方便..
阅读全文
摘要:欢迎转载,转载请注明出处:http://www.zhutibo.com/action/subject874.htm位操作主要应用:位操作主要用在驱动、嵌入式等底层开发中;以前做Android开发时,发现人家做驱动的使用位操作真是相当频繁,有些情况下,每一位代码什么都写得明明白白;尤其是那些寄存器操作时用到的更多。除此之外,通信领域也是用得非常多的,这点可想而知;尤其是在无线通信,每一位都是非常精贵的,还记得我几年前去面试一个深圳通信公司,那给的就是一道用C操作一个IP的题目,就是要求用位操作实现,细节就不说了。操作对象:在讲具体位操作之前,我们首先需要知道数字在计算机里是怎么存储的:计算机里的
阅读全文
摘要:RPM 有五种操作模式,分别为:安装、卸载、升级、查询和验证。RPM 安装操作命令:rpm -i 需要安装的包文件名举例如下:rpm -i example.rpm 安装 example.rpm 包;rpm -iv example.rpm 安装 example.rpm 包并在安装过程中显示正在安装的文件信息;rpm -ivh example.rpm 安装 example.rpm 包并在安装过程中显示正在安装的文件信息及安装进度;RPM 查询操作命令:rpm -q …附加查询命令:a 查询所有已经安装的包以下两个附加命令用于查询安装包的信息;i 显示安装包的信息;l 显示安装包中的所有文件被安装到
阅读全文
摘要:作用:用来查看程式运行所需的共享库,常用来解决程式因缺少某个库文件而不能运行的一些问题。ldd命令原理1.首先ldd不是个可执行程式,而只是个shell脚本2.ldd能够显示可执行模块的dependency,其原理是通过设置一系列的环境变量,如下:LD_TRACE_LOADED_OBJECTSLD_WARNLD_BIND_NOWLD_LIBRARY_VERSIONLD_VERBOSE等。当LD_TRACE_LOADED_OBJECTS环境变量不为空时,所有可执行程式在运行时,他都会只显示模块的dependency,而程式并不真正执行。要不你能在shell终端测试一下,如下:(1) export
阅读全文
摘要:如果需要在Linux中通过SSH进行远程登录,一般是需要输入密码,但只要将SSH之间的权限打通,便可以实现无密码登录。这对自动化shell脚本的实现有很大的帮助。其实现方案如下:1.本地机器cd ~/.ssh/ssh-keygen -t dsa 执行如下操作后,你会得到id_dsa.pub,也就是所谓的公钥。2.远程机器cd ~/.ssh/将得到的id_dsa.pub文件中的内容复制到authorized_keys中。其中需要注意的是id_dsa.pub是一行文字,如果使用vi查看后复制会导致,在authorized_keys中出现回车符,最好的办法是cat出来在复制到authorize...
阅读全文
摘要:一直在关注JavaFX的发展,最近想试试使用JavaFX开发游戏是什么样的情况。可惜令我汗颜的是--没有找到类似于Java 2D中Graphics/Graphics2D之类的类。自己单纯的继承Node的话,也没办法自己进行绘制。看来目前使用JavaFX进行游戏开发,只能使用JavaFX的Shape和ImageView了。 今天花时间写了个JavaFX的精灵的动画的例子,让我们看看在JavaFX中如何操作精灵的动画吧。 首先创建一个JavaFX项目。 暂时不进行Scene的创建,因为我们要使用自定义的Parent。 我们先进行创建一个Sprite类,继承Parent。 这就是我们的精灵类了。 .
阅读全文
摘要:写在前面的话: 由于工作原因已经半年多没好好理下Java了,现在因换工作需要重新复习一下Java。以前一直想把自己在Java方面的学习心得写出来,现在终于算是有些时间了,那么开始吧。这一篇讲对象(Object),另:本人现在刚辞职,如果你是西安高新区,且想招人的,可以发邮件给我caicaicaicaica@163.com,本人三年以上Java工作经验。养家糊口不容易啊五个特性我相信在网上看IT文章的人都应该或多或少有编程底子的,介绍什么是对象是Java里最基础,也是最有特色的。我们从对象的五个特性开始(引用自Thinking in java):Everything is an Object..
阅读全文
摘要:一、ibatis的简介ibatis是什么东西就不介绍了,自己去找谷老师。这里讲下自己的使用体会。之前自己学过Hibernate,是看尚学堂的视频教学的,看完以后发现Hibernate体系中的内容真的很多,什么N-N关联、HSQL、缓存管理等等,看得我真的很晕,想要一时间掌握还真不可能,反正我现在也不是特别明白。后来新的公司是用ibatis,所以自己回去研究了下,结果发现ibatis真的很简单,体系结构相比Hibernate易化多了。在自己搭建了一个简单的示例后,体会更深,一个ibatis的配置文件、domain对象及其SQLMapper即可搞定,而且在SQLMapper中你只要专注与你的SQL
阅读全文
摘要:作为RIA技术之一,为了让应用程序的界面看起来更加的漂亮或者更有个性,皮肤功能自然是必不可少的。 在JavaFX中,可以使用CSS样式表来进行皮肤的更换。不过JavaFX中的CSS是基于W3C CSS version 2.1,但又不完全相同。 JavaFX中的换肤有几种方式。1.完全重新定义的控件样式我们首先创建一个CSS文件,命名为skin1.css,在里面定义一个Button的样式。.CustomButton{ -fx-background-color: #aaffff; -fx-text-fill: #000000
} 如上所示,只是简单的改变背景色和文本颜色。 当然大...
阅读全文
摘要:前言 到现在为止,我接触测试工程师这个职位前前后后已经快有1年了,然后便有了些感触。场景1:A:你现在在做什么?我:测试开发工程师。A: 哦,测试啊!(然后就一脸鄙视)场景2:B:你为什么要去做测试呢?我:可以多学一些。B:那不去做开发啊......... 其实这样的场景对于一个测试人员来说经常面临到,当你开始认真的思考的时候,甚至会发现真的像他们所想的那样了——一个鸡肋而且没有技术含量的职位。于是这便是我为什么要写这篇文章的原因。写写我是如何理解测试工程师这个职位的含义,和一些成长历程。第一章 要理解测试工程师这个职位,那我们可以先从一条简单的软件开发流水线上来观察其所处的位置。一个软件的开
阅读全文
摘要:了解过JavaFX的都知道,JavaFX自从2.0版本开始,已经完全抛弃了之前的script语言,才用纯java来实现。这样的好处就是1.让使用Java的IDE进行JavaFX的开发成为可能,2.Java与JavaFX的API相互调用更容易 3.JavaFX的程序部署也更简单. e(fx)clipse就是一个eclipse上用来开发JavaFX的插件。不仅如此,在官网上还可以下载包含e(fx)clipse插件的完整版eclipse。 官方网站为:http://www.efxclipse.org/。 就我个人感觉,在eclipse上开发比使用netbeans要舒适的多。 另外,Oracle推出.
阅读全文
摘要:第一课课程介绍: 这一课中,我们将会给你介绍Ogre中非常基础的组件:SceneManager, SceneNode 和 Entity Objects。 为了让你能更好的开始学习Ogre,我们将重点集中在一般的概念上,而不会覆盖大片的代码。 当你开始这个课程时,你应该慢慢的将一些代码添加到自己的工程中,然后运行看看效果。课程开始: 在这个课程中,我们将会使用已经构建好的基础代码。除了我们将添加进createScene方法中的代码,其他的暂时可以忽略掉。在后面的课程中,我们将会深入的解释Ogre程序是如何工作的,但是现在我们只需要从最简单的开始。 创建一个名叫Tutorial的项目。 将Tuto
阅读全文
摘要:很多人在初学Unity3D的时候,可能会碰到这样一个问题:导入Unity3D的模型,给模型添加RigidBody后,模型会一直往下落。 那么,我们如何解决这个问题呢? 如果你尝试过创建一个Cube之类的,添加RigidBody。运行程序后,你会很明显的发现这个Cube可以掉落到地面。 因而,想要我们的模型也这样,可以将一个Cube与模型进行绑定,然后调整Cube的碰撞体积,并去掉Cube的渲染。这样我们就可以让模型享有Cube的碰撞检测,而又不会看到Cube。 1.导入资源:Assets--Import Package--Terrain Assets,导入系统的地形贴图等资源。 2.添加模型.
阅读全文