自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Viyond的专栏

做一个快乐的码农~

  • 博客(37)
  • 资源 (4)
  • 收藏
  • 关注

转载 Load和CPU利用率是如何算出来的

相信很多人都对Linux中top命令里“load average”这一栏困惑过,到底什么是Load,Load代表了什么含义,Load高会有什么后果?“%CPU”这一栏为什么会超过100%,它是如何计算的?带着这些问题,我们通过一些测试,来探索下其中的不解之处。首先,我们通过实验来大概确定其计算方式:测试服务器:4核Xeon处理器测试软件:MySQL 5.1.40服务器上除了

2015-07-05 13:16:55 614

转载 Java+PHP整合,创业网站初期选型发展之路

验证两种各自领域称王的语言(JAVA /PHP),不同语言、不同机制的组合在一起,PHP负责WEB层,Java负责业务和数据逻辑层,真是一对黄金组合(Java+PHP整合=混血新宠儿),发挥各自优势,适合开发B/S企业程序。1.1、需要解决的技术问题:两种不同环境,不同机制的语言结合,首先要解决的是如何通讯?其次是通讯内容如何处理?最后是两者开发,部署环境整合?1.1、两种

2015-05-25 09:09:03 996

原创 Spring中的DataSource 事务源码理解

看到一篇blog,关于《spring同一个事务中dao被循环调用时候,数据不会实时更新》参见http://www.javatang.com/archives/2014/08/15/09051117.html,决心看一下Spring对数据库Connection相关管理的源码,总结如下:Spring中的DataSource 事务。DataSource事务相关的类比较多,我们一步步来拨开其中的密

2015-05-12 15:52:50 1730

转载 MAC JDK版本切换

通过命令’jdk6′, ‘jdk7′,’jdk8’轻松切换到对应的Java版本:1.首先安装所有的JDk:* Mac自带了的JDK6,安装在目录:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/下。* JDK7,JDK8则需要自己到Oracle官网下载安装对应的版本。自己安装的JDK默认路径为:/Library/Java/Jav

2015-05-12 13:12:40 394

转载 java内部类

两种内部类Java的内部类有两种,一种是静态内部类,另一种是普通内部类,普通内部类可以获得外部对象的引用,所以在普通内部类能够访问外部对象的成员变量 ,也就能够使用外部类的资源,可以说普通内部类依赖于外部类,普通内部类与外部类是共生共死的,创建普通内部类的对象之前,必须先创建外部类的对象。创建普通内部类的代码如下:Outer o = new Outer();

2015-05-02 16:01:38 232

转载 SkipList 跳表

转自:http://kenby.iteye.com/blog/1187303为什么选择跳表目前经常使用的平衡数据结构有:B树,红黑树,AVL树,Splay Tree, Treep等。 想象一下,给你一张草稿纸,一只笔,一个编辑器,你能立即实现一颗红黑树,或者AVL树出来吗? 很难吧,这需要时间,要考虑很多细节,要参考一堆算法与数据结构之类的树,

2015-05-02 15:52:41 308

转载 ConcurrentSkipListMap深入分析

一、前言 concurrentHashMap与ConcurrentSkipListMap性能测试在4线程1.6万数据的条件下,ConcurrentHashMap 存取速度是ConcurrentSkipListMap 的4倍左右。但ConcurrentSkipListMap有几个ConcurrentHashMap 不能比拟的优点:1、ConcurrentSkipLis

2015-05-01 15:40:27 715

转载 几种任务调度的 Java 实现方法与比较

转自:http://www.ibm.com/developerworks/cn/java/j-lo-taskschedule/前言任务调度是指基于给定时间点,给定时间间隔或者给定执行次数自动执行任务。本文由浅入深介绍四种任务调度的 Java 实现:TimerScheduledExecutor开源工具包 Quartz开源工具包 JCronTab

2015-04-30 14:35:56 284

转载 ClassPool

转自:http://blog.csdn.net/yyywyr/article/details/169843351、简介ClassPool是缓存CtClass对象的容器,所有的CtClass对象都在ClassPool中。所以,CtClass对象很多时,ClassPool会消耗很大的内存,为了避免内存的消耗,创建ClassPool对象时可以使用单例模式,或者对于CtClas

2015-04-30 14:34:02 554

转载 为什么要使用SocketAddress来管理网络地址

文章转自:http://www.blogjava.net/nokiaguy/archive/2009/05/22/277225.html在使用Socket来连接服务器时最简单的方式就是直接使用IP和端口,但Socket类中的connect方法并未提供这种方式,而是使用SocketAddress类来向connect方法传递服务器的IP和端口。虽然这种方式从表面上看要麻烦一些,但它会给我们带来另外

2015-04-29 09:42:15 506

转载 Berkeley DB基础教程

一、Berkeley DB的介绍(1)Berkeley DB是一个嵌入式数据库,它适合于管理海量的、简单的数据。如Google使用其来保存账户信息,Heritrix用其来保存froniter.(2)key/value是Berkeley DB用来管理数据的基础,每个key/value对代表一条记录。(3)Berkeley DB在底层实现采用B树,可以看成能够存储大量数据的

2015-04-28 09:26:49 387

转载 集群之LVS(负载均衡)详解

提高服务器响应能力的方法scale on  在原有服务器的基础上进行升级或者直接换一台新的性能更高的服务器。scale out  横向扩展,将多台服务器并发向外响应客户端的请求。优点:成本低,扩展架构比较简单。集群(Cluster),通俗地讲就是按照某种组织方式将几台电脑组织起来完成某种特定任务的这样一种架构。三种集群类型:LB,Load Balancing

2015-04-27 13:07:41 455

转载 Netty4.0学习笔记系列之二:Handler的执行顺序

转:http://blog.csdn.net/u013252773/article/details/21195593Handler在netty中,无疑占据着非常重要的地位。Handler与Servlet中的filter很像,通过Handler可以完成通讯报文的解码编码、拦截指定的报文、统一对日志错误进行处理、统一对请求进行计数、控制Handler执行与否。一句话,没有它做不到的只有你想

2015-04-23 23:18:34 377

转载 Netty4.0学习笔记系列之一:Server与Client的通讯

转:http://blog.csdn.net/u013252773/article/details/21046697本文是学习Netty的第一篇文章,主要对Netty的Server和Client间的通讯机制进行验证。Server与Client建立连接后,会执行以下的步骤:1、Client向Server发送消息:Are you ok?2、Server接收客户端发送

2015-04-23 23:16:55 365

转载 Spring 读取properties文件内容

在现实工作中,我们常常需要保存一些系统配置信息,大家一般都会选择配置文件来完成,本文根据我工作中用到的读取properties配置文件的方法小小总结一下,主要叙述的是spring读取配置文件的方法。   用spring读取配置文件,最典型的就是关于数据库的连接,下面就是一个例子:   文件jdbc.properties:---------------------------------

2015-04-19 14:50:52 378

转载 Maven多环境配置实战 filter

目前在开发一个wap项目,主要有开发、测试和最终部署上线几个阶段,每个阶段对配置(数据库、日志)都有不同的设置。以前都是以开发环境为主,在测试和部署上线时由部署工程师负责修改配置并上线。但是公司并非都有一个项目,我们也不是只负责一个项目,这样的工作方式导致每每上线时大家都心惊胆颤,实在忍受不了折磨,决定研究下maven下如何解决这个问题。找到方案后,不敢独享,将结果向大家介绍下。思路:    

2015-04-19 14:49:28 458

原创 Mac上启动server报Caused by: java.net.UnknownHostException:*.local:*.local解决办法

使用  scutils —get HostName 命令查看当前的hostname , 查看是否为空,若为空,则按照如下解决:使用  scutils  —set HostName localhost 参考:http://biomedicalontologies.com/2012/11/14/fixing-java-net-local-host-name-unkn

2015-04-17 15:36:11 550

转载 Mac下IDEA开发环境Tomcat配置

1.下载zip版的Tomcat 7,并解压。下载地址2.在IDEA中配置Tomcat 7 在idea中的Settings(Ctrl+Alt+s)(或者点击图标) 弹出窗口左上过滤栏中输入“Application”,选择结果中的 Application Servers。(或在IDE Settings中点击Application Servers) 显示界面如下: 点击

2015-04-17 09:57:32 1695

转载 如何在Mac OSX系统下安装Tomcat

1. 下载Tomcat(地址:tomcat.apache.org),选择适合的版本(这里选择6.0.35),点击“Download”,之后在新页面点击“Core下的”“tar.gz”(6.2Mb) 2. 解压Tomcat到目录:/Library 中,并把文件夹名由“apache-tomcat-6.0.16”改为“Tomcat” 3. 打开 “应用程序(Application)”——“终端(

2015-04-16 16:55:46 297

转载 令牌桶算法(token bucket algorithm)

令牌桶算法(token bucket algorithm)在实施QOS策略时,可以将用户的数据限制在特定的带宽,当用户的流量超过额定带宽时,超过的带宽将采取其它方式来处理。要衡量流量是否超过额定的带宽,网络设备并不是采用单纯的数字加减法来决定的,也就是说,比如带宽为100K,而用户发来的流量为110K,网络设备并不是靠110K减去100K等于10K,就认为用户超过流量10K。网络设备衡量流

2015-04-15 22:54:17 2150

原创 采用漏桶算法和令牌桶算法实现限流技术

在早期的计算机领域,限流技术(time limiting)被用作控制网络接口收发通信数据的速率。 可以用来优化性能,减少延迟和提高带宽等。 现在在互联网领域,也借鉴了这个概念, 用来为服务控制请求的速率, 如果双十一的限流, 12306的抢票等。 即使在细粒度的软件架构中,也有类似的概念。两种常用算法令牌桶(Token Bucket)和漏桶(leaky bucket)是 最常用

2015-04-15 22:51:42 2725

转载 spring factory-method

配置工厂Bean通常由应用程序直接使用new创建新的对象,为了将对象的创建和使用相分离,采用工厂模式,即应用程序将对象的创建及初始化职责交给工厂对象.一般情况下,应用程序有自己的工厂对象来创建bean.如果将应用程序自己的工厂对象交给Spring管理,那么Spring管理的就不是普通的bean,而是工厂Bean.调用getBean()方法,Spring返回的不是直接创建的B

2015-04-14 14:49:12 359

转载 java序列化与反序列化总结

很多商业项目用到数据库、内存映射文件和普通文件来完成项目中的序列化处理的需求,但是这些方法很少会依靠于Java序列化。本文也不是用来解释序列化的,而是一起来看看面试中有关序列化的问题,这些问题你很有可能不了解。“Java序列化指的是将对象转换程字节格式并将对象状态保存在文件中,通常是.ser扩展名的文件。然后可以通过.ser文件重新创建Java对象,这个过程为返序列化”Java序列化的AP

2015-04-13 09:24:31 1875 1

转载 zookeeper原理

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等。Zookeeper是hadoop的一个子项目,其发展历程无需赘述。在分布式应用中,由于工程师不能很好地使用锁机制,以及基于消息的协调机制不适合在某些应用中使用,因此需要有一种可靠的、可扩展的、分布式的、可配置的协调机制来统一系统的状态。Zookee

2015-03-30 21:47:18 224

转载 maven学习(下)利用Profile构建不同环境的部署包

项目开发好以后,通常要在多个环境部署,象我们公司多达5种环境:本机环境(local)、(开发小组内自测的)开发环境(dev)、(提供给测试团队的)测试环境(test)、预发布环境(pre)、正式生产环境(prod),每种环境都有各自的配置参数,比如:数据库连接、远程调用的ws地址等等。如果每个环境build前手动修改这些参数,显然太不fashion.maven早就考虑到了这些问题,看下面的

2015-03-20 10:23:13 380

转载 maven学习(中)- 私服nexus搭建

相信大家对maven每次都联网从国外站点下载依赖项的龟速网络已经不坎忍受了,今天先来看看如何搭建"仓库私服",目前nexus是使用比较广泛的私服软件之一,下面将介绍基本用法:一、到nexus官网下载最新版1.1 下载地址:http://www.sonatype.org/downloads/nexus-latest-bundle.zip (目前最新版本是2.7.2-03)1.2 下载

2015-03-20 10:21:24 348

转载 maven学习(上)- 基本入门用法

一、下载及安装1.1 下载maven 3.1.1先到官网http://maven.apache.org/download.cgi 下载最新版本(目前是3.1.1 ),下载完成后,解压到某个目录(本文中是C:\Java\maven-3.1.1) 2.1 配置环境变量系统环境变量里,添加MAVEN_HOME(或M2_HOME),其值为C:\Java\maven-3.1.1,然后PA

2015-03-20 10:20:19 254

转载 HTTP协议之Chunked解析

HTTP协议之Chunked解析在网上找了好一会,始终没发现有解析Chunked编码的文章,那就自己写一个吧,呵呵。网上使用Chunked编码的网站似乎并不是很多,除了那些使用GZip压缩的网站,例:google.com,还有就是大部分打开GZip压缩的PHP论坛。根据本人的理解,使用Chunked编码的主要好处就在于一些程序的运算出过程中,可以动态的输出内容。

2015-03-04 15:28:01 502

原创 应用发布load飙高问题处理

问题描述负责的应用在发布时,部分机器load飙高超出阈值报警(load大于8)。伴随现象:cpu使用率飙高(超过80%)且瞬时RT超高,一般大于1000ms。一般三分钟左右以后性能恢复到正常。如图:找出瓶颈发布时监控机器性能,并查看资源使用较多的线程。应用刚启动,用top -H查看CPU使用率最高的线程,并用prinf "%X\n"打出对应的

2015-03-04 14:35:07 2742 1

转载 从问题看本质:socket到底是什么?

一、问题的引入——socket的引入是为了解决不同计算机间进程间通信的问题1.socket与进程的关系1).socket与进程间的关系:socket   用来让一个进程和其他的进程互通信息(IPC),而Socket接口是TCP/IP网络的API接口函数。2).进程间通信(本机内)进程间通信(不同计算机,要联网)2、socket与文件的关系——如何

2015-03-03 14:43:18 318

转载 Maven根据不同个环境打包, 获取不同的配置文件等等

这段时间接触Maven, 发现还是个不错的东西, 我在OpenShift申请了一个账号, 准备自己做一个自己的网站, 它默认是Maven管理的, 也可以自己用其他的.但是我要打war, 然后发布. 我本地的测试配置文件 与 线上的配置不一样, SB的做法就是每次复制粘贴, 这太....所以, 我必须要在本地的IDEA里面一样, 需要谁作为我的资源文件就要作为的我资源文件, 那就方便了, 找了很多的

2015-03-02 12:27:10 601

转载 maven profile介绍

4       profile介绍4.1     profile简介profile可以让我们定义一系列的配置信息,然后指定其激活条件。这样我们就可以定义多个profile,然后每个profile对应不同的激活条件和配置信息,从而达到不同环境使用不同配置信息的效果。比如说,我们可以通过profile定义在jdk1.5以上使用一套配置信息,在jdk1.5以下使用另外一套配置信息;或者有时候我们

2015-03-02 12:24:40 306

转载 用ThreadLocal解决多线程安全问题

什么是线程?度娘说:线程(thread, 台湾称 执行绪)是"进程"中某个单一顺序的控制流。也被称为轻量进程(lightweight processes)。计算机科学术语,指运行中的程序的调度单位。java的线程假如我们做的是web程序,那么http的每次请求都会在一个java进程中启动,并且这个程序会生成一个线程去跑。所以java写的web程序是多线程的。

2015-02-12 14:35:41 606

原创 Spring Junit 读取Resource、WEB-INF目录下的配置文件

假设Spring配置文件为applicationContext.xml一、Spring配置文件在类路径下面在Spring的java应用程序中,一般我们的Spring的配置文件都是放在放在类路径下面(也即编译后会进入到classes目录下)。以下是我的项目,因为是用maven管理的,所以配置文件都放在“src/main/resources”目录下这时候

2015-02-09 19:54:22 11906

转载 Spring 中一个常用的反射类库ReflectionUtils

在项目中部分方法采用反射,通过类访问类的属性,通过类反问方法,通过属性访问方法。以及常用异常的处理在等可以使用反射出处理。 public abstract class ReflectionUtils {  //根据类和属性名称查找属性字段//Attempt to find a {@link Field field} on the supplied {@lin

2015-01-31 21:06:18 1336

转载 Servlet生命周期与工作原理

Servlet生命周期与工作原理

2015-01-31 18:52:02 291

原创 关于Spring IOC的注解Annotation

Spring MVC 注解

2015-01-05 18:16:41 692

随机数算法产生随机路径

供应商算法的MFC实现,是VC新手最好的学习资料。

2010-01-12

俄罗斯方块游戏开发+源代码

包含各种常见小游戏的开发源代码,经运行或绝对可执行。

2009-12-18

遗传算法思想+ppt

遗传算法(Genetic Algorithm)是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法,它最初由美国Michigan大学J.Holland教授于1975年首先提出来的,并出版了颇有影响的专著《Adaptation in Natural and Artificial Systems》,GA这个名称才逐渐为人所知,J.Holland教授所提出的GA通常为简单遗传算法(SGA)。   遗传算法是从代表问题可能潜在的解集的一个种群(population)开始的,而一个种群则由经过基因(gene)编码的一定数目的个体(individual)组成。每个个体实际上是染色体(chromosome)带有特征的实体。染色体作为遗传物质的主要载体,即多个基因的集合,其内部表现(即基因型)是某种基因组合,它决定了个体的形状的外部表现,如黑头发的特征是由染色体中控制这一特征的某种基因组合决定的。因此,在一开始需要实现从表现型到基因型的映射即编码工作。由于仿照基因编码的工作很复杂,我们往往进行简化,如二进制编码,初代种群产生之后,按照适者生存和优胜劣汰的原理,逐代(generation)演化产生出越来越好的近似解,在每一代,根据问题域中个体的适应度(fitness)大小选择(selection)个体,并借助于自然遗传学的遗传算子(genetic operators)进行组合交叉(crossover)和变异(mutation),产生出代表新的解集的种群。这个过程将导致种群像自然进化一样的后生代种群比前代更加适应于环境,末代种群中的最优个体经过解码(decoding),可以作为问题近似最优解。

2009-12-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除