`
runfeel
  • 浏览: 905923 次
文章分类
社区版块
存档分类
最新评论
文章列表
别不把自己当有钱人 ——让白领族成为百万富翁族的六大理财秘籍 理财人士常常告诫大家:不要把鸡蛋放在一个篮子里。但是大家想过一个问题没有:如果我就只有一个鸡蛋,应该如此理财。理财人士多半会沉默半响,然 ...
转发,请保持地址:http://blog.csdn.net/stalendp/article/details/9310171 以前学习过Java的多线程设计,出于对java多线程设计的熟悉,我把pthread的多线程方法按照java的习惯封装了一下,并写了几个例子,分享一下。 // ThreadHelper.h #ifndef threadTest_ThreadHelper_h #define threadTest_ThreadHelper_h #include <pthread.h> #include <stdio.h> #include <st ...
Handler相关说明: 主要接受子线程发送的数据, 并用此数据配合主线程更新UI。 解释:安卓的UI线程(即OnCreate函数创建的线程)是线程非安全的。也就是说,在UI线程中,使用sleep这样的函数会导致整个线程延迟,但是我们在安卓开发中,往往会经常遇到一些延迟比较厉害的操作,(例如通过HTTP获取数据信息)如果放在主线程中,则会影响UI界面的渲染。但是如果另外新开一个线程,则由于UI线程只能在主线程中修改,而导致无法修改主线程的UI界面。这个时候Handler就出来解决这个问题。Handler主要两大作用: 1. 提供post操作。post操作主要将Runnable对象放进主线程 ...
排序的分类: 1 内部排序 内部排序:在整个排序过程中不需不访问外存便能完成,称这样的排序问题为内部排序; 1.1 插入排序 插入排序: 将无序序列中的一个或几个记录“插入”到有序的序列中,从而增加记录的有序序列 ...
1、js代码部分 <script type="text/javascript"> $(function() { function albumName() { var text = $("#album_name").val(); var counter = text.length; $("#numtj var").text(counter); $(document).keyup(function() { var text = $("#album_name").val(); ...
要说Java世界有什么东西是我最为留恋的;在写其他语言程序的时候,我最为想要的东西,那非maven莫属。 什么是Maven? Maven能做什么? Maven是一个针对Java的自动构建工具。所谓自动构建,就是在命令行里面敲一条命令,而替代程序员手动去编译每一个java文件,在打成jar包的过程。这听起来没什么,尤其是对于本来使用IDE的程序员们来说。但是Maven还可以做到: 依赖的引入。 不用程序员去手动的下载第三方的jar,只需要修改配置文件,便可以引入jar包。 良好的测试集成。 maven对于”如果想要在打包前进行测试,如果测试不通过不打包”这种需求很容易做到 ...
最近有人问(是问,不是请教)我数据库怎么学?要学哪些?以下我谈一些个人想法。 其实我的数据库知识不是很扎实,真心的。 当年我学这个东西时某个大神告诉我“学会sql server”走遍天下都不怕。事实上,这几年如果只会sqlserver根本到哪都很惊悚。 原因? 1、如果是政府软件,虽然不像互联网那样高,但是数据存储量确实很大很大,大家想想譬如财政数据、公积金数据、民政局数据等,而且很多数据不能使用缓存,必须实时计算,当sql2008还没出现时,确实在大数据计算性能上不如oracle(同时期版本) 2、由于某些原因(你懂的),政府很少会同意使用windows服务器平台,大都会使用unix或lin ...
我使用OpenCV2.4.4的windows版本+Qt4.8.3+VS2010的编译器做了一个手势识别的小程序。 本程序主要使到了Opencv的特征训练库和最基本的图像处理的知识,包括肤色检测等等。 废话不多,先看一下基本的界面设计,以及主要功能: 相信对于Qt有一些了解的人都不会对这个界面的设计感到陌生吧!(该死,该死!)我们向下走: 紧接着是Qt导入OPenCV2.4.4的库文件:(先看一下Qt的工程文件吧) #------------------------------------------------- # # Project created by QtCreator ...
5 重载的工厂方法 Sunny公司开发人员通过进一步分析,发现可以通过多种方式来初始化日志记录器,例如可以为各种日志记录器提供默认实现;还可以为数据库日志记录器提供数据库连接字符串,为文件日志记录器提供文件路径;也可以将参数封装在一个Object类型的对象中,通过Object对象将配置参数传入工厂类。此时,可以提供一组重载的工厂方法,以不同的方式对产品对象进行创建。当然,对于同一个具体工厂而言,无论使用哪个工厂方法,创建的产品类型均要相同。如图4所示: 图4 重载的工厂方法结构图 引入重载方法后,抽象工厂LoggerFactory的代码修改如下: interface LoggerFact ...
在项目开发中,有时会需要同时启动多个Tomcat服务,如果直接启动多个的话,会报以下错误: Port busy xxxx java.net.SocketException: Unrecognized Windows Sockets error: 0: JVM_Bind, 这个就是端口被占用了,所以我们需要做的事就是改端口,首先到tomcat的conf文件夹下找到server.xml配置文件,需要改三个地方的端口: 1.修改http访问端口(默认为8080端口),比如改为8888 <Connector className="org.apache.coyote. ...
3 完整解决方案 Sunny公司开发人员决定使用工厂方法模式来设计日志记录器,其基本结构如图3所示: 图3 日志记录器结构图 在图3中,Logger接口充当抽象产品,其子类FileLogger和DatabaseLogger充当具体产品,LoggerFactory接口充当抽象工厂,其子类FileLoggerFactory和DatabaseLoggerFactory充当具体工厂。完整代码如下所示: //日志记录器接口:抽象产品 interface Logger { public void writeLog(); } //数据库日志记录器:具体产品 class Database ...
Ganymed ssh-2是一个通过BSD许可的开源的Java库,它使用纯Java实现了ssh2协议,它允许一个Java程序连接到SSH服务器,它支持SSH会话(远程命令执行和Shell访问)、本地和远程端口转发、本地流转发、X11转发、SCP和SFTP。所有的加密功能没有依赖任何JCE(提供用于加密、密钥生成)。 官方网址: http://www.ganymed.ethz.ch/ssh2/ http://www.cleondris.ch/opensource/ssh2/ Maven地址:
2 工厂方法模式概述 在简单工厂模式中只提供一个工厂类,该工厂类处于对产品类进行实例化的中心位置,它需要知道每一个产品对象的创建细节,并决定何时实例化哪一个产品类。简单工厂模式最大的缺点是当有新产品要加入到系统中时,必须修改工厂类,需要在其中加入必要的业务逻辑,这违背了“开闭原则”。此外,在简单工厂模式中,所有的产品都由同一个工厂创建,工厂类职责较重,业务逻辑较为复杂,具体产品与工厂类之间的耦合度高,严重影响了系统的灵活性和扩展性,而工厂方法模式则可以很好地解决这一问题。 在工厂方法模式中,我们不再提供一个统一的工厂类来创建所有的产品对象,而是针对不同的产品提供不同的工厂,系统提供一个与产品 ...
简单工厂模式虽然简单,但存在一个很严重的问题。当系统中需要引入新产品时,由于静态工厂方法通过所传入参数的不同来创建不同的产品,这必定要修改工厂类的源代码,将违背“开闭原则”,如何实现增加新产品而不影响已有代码?工厂方法模式应运而生,本文将介绍第二种工厂模式——工厂方法模式。 1 日志记录器的设计 Sunny软件公司欲开发一个系统运行日志记录器(Logger),该记录器可以通过多种途径保存系统的运行日志,如通过文件记录或数据库记录,用户可以通过修改配置文件灵活地更换日志记录方式。在设计各类日志记录器时,Sunny公司的开发人员发现需要对日志记录器进行一些初始化工作,初始化参数的设置过程较为 ...
今天谈谈Guava类库中的Multisets数据结构,虽然它不怎么经常用,但是还是有必要对它进行探讨。我们知道Java类库中的Set不能存放相同的元素,且里面的元素是无顺序的;而List是能存放相同的元素,而且是有顺序的。而今天要谈的Multisets是能存放相同的元素,但是元素之间的顺序是无序的。从这里也可以看出,Multisets肯定不是实现
Global site tag (gtag.js) - Google Analytics