自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(136)
  • 收藏
  • 关注

原创 k-近邻算法 (KNN)

k-近邻算法采用测量不同特征值之间的距离的方法来进行分类。 将测试数据的每个特征与样本集中的数据对应的特征进行比较, 然后算法提取样本集中特征最相似的数据(最近邻)的分类标签。最后,选择k个相似数据中出现最多次的分类,作为新数据的分类。 可以看出,这个算法的重点便是选择合适距离算法来计算测试数据与样本数据之间的距离。 常见的距离算法诸如:编辑距离算法,欧式距离算法,ng...

2015-12-17 16:31:10 137

原创 数组双指针算法的研究

双指针算法在数组/链表操作中应用广泛,很多时候,为了完成某个目的,常常需要不断的循环检查数组或是链表,又或者需要拷贝出额外的存贮空间来保存中间结果。在其中的一些情况下,如果能够合理的应用数组双指针,则可以极大的减少算法的时间复杂度和空间复杂度。 根据初始双指针的位置,可以将之分为双头部指针,双尾部指针以及头尾指针. 今天我们就来看几个利用数组双指针算法的例子。 案例1:...

2015-07-14 16:59:28 275

原创 初识ThreadLocal

最近公司在进行Java开发人员的招聘活动,其中有一道面试题是这样的:“请简单描述一下ThreadLocal类的作用。” 结果发现有很多的面试者没有听说过ThreadLocal或者听说过却不知道这个类究竟是用来做什么的。 因此这里写一篇博客来介绍一下ThreadLocal这个类。 在我们日常的项目开发中,ThreadLocal并不是一个经常使用的类。它更多的是被用在诸如Spring,To...

2015-07-07 13:15:07 164

原创 摩尔投票法

摩尔投票法 提问: 给定一个int型数组,找出该数组中出现次数最多的int值。 解决方案: 遍历该数组,统计每个int值出现次数,再遍历该集合,取出出现次数最大的int值。 这算是一个比较经典的解决办法,其中可能会用到Map来做统计。如果不使用Map,则时间复杂度会超过线性复杂度。除此之外,也没有什么特别好的办法。 今天在leetcode上遇到这样一道题目,...

2015-06-30 20:13:46 410

原创 Less is just less

2011年,苹果公司在乔布斯老爷子的带领下,推出了一款划时代的产品,iphone4。 它与之前的所有手机都是如此的不同,极致简约,功能强大,符合每个人对完美手机的梦想。 至此整个移动行业被重新洗牌。而移动互联网的时代,也正式宣告到来。 移动端的互联网是如此的不同,以至于业界将其拆分为独立领域,与传统的互联网分庭抗礼,各占半壁江山。 仅仅过去五年,你已经很难再看到一身职业装,...

2015-03-25 14:47:56 134

原创 (转)Case Class和模式匹配

(转自:http://www.tuicool.com/articles/amEBva) 本专题侧重介绍Scala的case class和pattern matching(模式匹配),这俩个两个程序结构对于处理树结构的数据非常有帮助。Scala的case class使得对对象进行模式匹配变得非常方便,简单的来说,Scala的case class就是在普通的类定义前加case这个关键字,然后...

2015-01-20 13:30:17 328

原创 (转)最长回文字串算法

来自(http://blog.163.com/zhaohai_1988/blog/static/2095100852012716105847112/) 最长回文子串        最长回文子串是最初我在网易笔试的时候遇见的,当时天真的把原字符串S倒转过来成为S‘,以为这样就将问题转化成为了求S和S’的最长公共子串的问题,而这个问题是典型的DP问题,我也...

2015-01-18 14:30:18 113

原创 [转]App特质的延迟初始化

一个同事的问题,下面的代码运行时引用的外部变量TestClosure.count没有初始化:object TestClosure extends App { val words = Array("a","ab","abc") val count = 10 val cnt = words.map{word => (word, count)} c...

2015-01-15 17:31:10 108

原创 项目沉思录 - 1.1

 1.1 团队缺什么 (团队结构) 什么样的团队才能算是优秀的团队?关于这个问题,真是仁者见仁。但一个为人认知的基本规则是,十个个最优秀的员工,并不能组成一个优秀的团队。 那么一个优秀团队里面究竟应该具备什么样的性质呢? 首先,团队的人数应当受到限制。作为基层管理者,需要至少做到一定程度上的微观管理。然而微观管理是一件很费时费力的事情,即使是最优秀的管理人员,也能难对一...

2013-03-19 14:13:21 116

原创 项目沉思录 - 1.0

团队建设 1. 招聘  1.1 团队缺什么 (团队结构)  1.2 一山不容二虎  1.3 化学反应催化剂  1.4 球队的非卖品(围绕核心球员建队) 2. 日常工作  2.1 你的位置  2.2 使用催化剂  2.3 互补结对  2.4 警戒线  2.5 奖罚机制  2.6 工作标准及模板  2.7 以人为本 3. 员工晋升...

2012-07-14 08:33:59 112

原创 项目沉思录 - 0

我常常会回忆起我职业生涯初期的两个项目: 其中一个庞大,复杂,项目开发人员数量多。项目中每个人似乎都很忙,可却又不完全清楚自己的职责。系统哪怕最边角处作出一点细微的变动,都有可能导致无法预计的结果。人员在不停地变换,每天都有人因为忍受不了无休止的加班而离职。而新员工仅仅经过简单的培训,就开始上岗编码,并被委以重任。项目经理热爱技术,曾经在开会时,花两个小时时间给整个团队讲关于数据库的新技术。同时项...

2012-07-12 16:30:10 87

原创 简单工作流引擎

从公司的一个项目中挖出来的工作流引擎的代码,虽然是一个很简单的模型,但却包含了不凡的思想。 对于数据流处理的代码来说,这样的结构有助于将来的维护和扩展。 使用起来也很简单,继承相应的step,实现业务逻辑,并在启动加载的时候将所有的step拼装起来就可以了。 代码很简单,直接贴出来给大家看了: public interface FlowStep { /** * E...

2012-07-06 16:58:43 132

原创 Always clean the ThreadLocal variables.

Any variable stored in ThreadLocal are per thread as we knew, but most people does know that even the thread has been expeired or dead, it's copy of the variable in ThreadLocal won't disappear. I ...

2012-05-24 09:16:38 156

JBoss的安全

最近做了一个JBoss安全的项目,对JBoss安全的内容有了一些了解,这些了解仅限于开发阶段,在这里记录下来,免得忘记了。照着JBoss Admin Guide关于Security的章节来写,不然太乱了。有些就直接翻译过来了。安全在Java中具备两种意思,1.客户端:这个应用是从哪里来的,我允许它做些什么。2.服务端:谁在执行这个应用,我允许他做些什么。这篇文章里面只讨...

2012-05-24 08:54:17 97

原创 STRUTS2 源码 - Logging System

看了STRUTS2的源码,了解了它的logging系统,觉得还是蛮有意思的,用到了很多设计模式。 先看类结构图:   1. 工厂方法模式这个就不说了,直接明了。 2. 伪单例模式LoggerFactory是个抽象方法,同时里面也包含了对于LoggerFactory的伪单例实现。为什么是伪单例,因为看起来像是单例模式,但其实你也可以创建多个实例: ...

2012-05-24 08:51:52 124

原创 Log4j 代码学习 - Factory

我们最早提到,Log4j的初始代码在LogManager的静态块中。里面包含了许多初始化工作的代码,我们来看一下: static { Hierarchy h = new Hierarchy(new RootLogger(Level.DEBUG)); repositorySelector = new DefaultRepositorySelector(h); ....

2012-05-17 08:47:13 190

原创 Log4j 代码学习 - Appender

在上一篇文章里,我们故意遗漏了一个重要的接口,AppenderAttachable: public interface AppenderAttachable { public void addAppender(Appender newAppender); public Enumeration getAllAppenders(); public Appender g...

2012-05-16 09:09:17 273

原创 Log4j 代码学习

最近闲来无事,正好手头上有Log4j的代码,于是就拿来学习了下。 想来这个小工具也用了很多年了,但是从来没有真正的去了解过内部机制,经过一番学习后,发现结构还是蛮不错的,里面有很多东西值得学习。 总的来说,Log4j的代码我认为可以分为这几大部分: 1. 产品Logger2. 附件Appender3. 仓储Repository4. 生产工厂Factory5. 配置管...

2012-05-15 14:58:07 85

原创 存储中间计算结果的动态规划算法

public class RodCutting { public static void main(String[] args) { int n = 5; int[] prices = new int[]{1, 4, 5, 6, 8}; long start = System.currentTimeMillis(); System.out.println(cu...

2012-04-18 15:50:48 258

原创 The process framework

1. Process groupsInitiating, Planning, Executing, Monitoring&Controlling, Closing 2. The relationships between phasesSequential relationship means when your project has phases that happen ...

2012-02-16 13:54:37 100

原创 Organizations, constraints, and projects

1. What is a project expediter and project coordinator.A project expediter just record the status and not managing the project.A project coordinator is like a expediter, except that coordinator ty...

2012-02-13 13:31:12 109

原创 Introduction to PMP

1. What you need to be a good project manager? a. Knowledge All the tools and techniques in the PMBOK. b. Performance Keeping your nose tothe grindstone and doing good work to make a deliv...

2012-02-06 14:24:25 148

原创 PMP学习启动

从今天开始学习PMP知识,每天记录点滴,给自己前进的动力。

2012-02-02 08:30:41 91

原创 java7中的ThreadLocalRandom(转)

今天早上看到一个关于java7中的ThreadLocalRandom的用法的帖子,说是比Math.Random()速度要快一倍,转过来学习一下 : When I first wrote this blog my intention was to introduce you to a class ThreadLocalRandom which is new in Java 7 to gene...

2012-01-20 09:08:31 276

原创 You are buying a purse? You are not really buying the purse

The China Premium. Fake Prestige Sells Tickets.Posted by Dan on December 09, 2011Spoke with a client the other day, who for reasons that will soon become apparent, I am not going to name. This...

2011-12-13 09:59:55 201

原创 (转)追MM与23种设计模式

 1、FACTORY—追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅的Factory    工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。如:如何创建及如何向...

2011-11-16 14:13:02 93

原创 (转)Java 参数列表

下面的讨论以Windows平台的Sun MicroSystem实现的java5虚拟机为蓝本,其他操作系统或其他公司实现的虚拟机参数会有部分不同,但大部分含义都和Windows上的类似。Java5与以前版本相比,虚拟机参数大部分保持了向前兼容,同时也增加了一些新的参数,本文将对这些参数的作用作详细描述,使虚拟机能更符合运行环境的需要,获得更好的性能和稳定性。Java在运行已编...

2011-11-05 19:48:03 89

原创 (转)TOMCAT源码分析

TOMCAT源码分析(启动框架)前言:   本文是我阅读了TOMCAT源码后的一些心得。 主要是讲解TOMCAT的系统框架, 以及启动流程。若有错漏之处,敬请批评指教!建议:   毕竟TOMCAT的框架还是比较复杂的, 单是从文字上理解, 是不那么容易掌握TOMCAT的框架的。 所以得实践、实践、再实践。 建议下载一份TOMCAT的源码, 调试通过, 然后单步跟踪其启动过程。 如果有不明白的地方,...

2011-10-17 16:06:46 69

java写的四则运算器

本打算做一个从RE到NFA的转换器,思路已经理清了,但是在动手做的时候,遇到了很多问题,有些技术难点都遗忘了,包括如何定义闭包,如何利用递归来实现。 于是回头重新拾起这些技术,边学边思考,做了个四则运算器练练手,为着那个大目标做准备。  基本的思路是这样的: 根据输入的四则运算表达式,生成一棵二叉树,树的根节点是操作符,而子树可能是叶子节点,即数字。也可能是另一个运算表...

2011-08-19 22:19:18 169

原创 Tomcat 源码学习 之 Http11ConnectionHandler

 Class Nameorg.apache.coyote.http11.Http11ConnectionHandlerInheritanceHandlerRelated ClassesHttp11ProtocolRequestGroupInfoHttp11ProcessorFunctionalityMaitainance ...

2011-07-14 11:31:36 346

原创 Tomcat 源码学习 之 JIoEndpoint(转)

本来想自己写的,结果在网上找到别人写的,概括的非常详细,就直接转过来了: Tomcat中提供了多种处理Socket的实现:JIoEndpoint、AprEndpoint和NioEndpoint。其中JIoEndpoint是最常见的一种实现方式。 JIOEndpoint中的线程有3部分:Socket侦听线程、监控线程和Executor。 Socket侦听线程该线程由内部类...

2011-07-13 13:48:41 260

原创 Tomcat 源码学习 之 Connector

类名org.apache.catalina.Connector.Conector继承关系LifecycleMBeanBase关联类ProtocolHandlerAdapterAbstractEndPointHandlerProcessor实现功能监听Request,assgin给恰当的Processor,返回Res...

2011-07-12 10:14:00 99

Tomcat 源码学习 之 StandardService

 类名org.apache.catalina.core.StandardService继承关系LifecycleMBeanBaseService关联类ContainerConnectorExcecutor实现功能管理子组件    分析从这节开始,我们就真正进入了对开发人员来说至关重要的一些...

2011-07-07 15:57:02 129

Tomcat 源码学习 之 AprLifecycleListener

类名org.apache.catalina.core.AprLifecycleListener继承关系LifecycleListener关联类org.apache.tomcat.jni.Libraryorg.apache.tomcat.jni.SSL实现功能检查是否具有 APR/native 库,如果有则将其加载  ...

2011-06-30 16:52:13 1109

原创 Tomcat 源码学习 之 StandardServer

类名StandardServer继承关系LifecycleMBeanBaseServer关联类NaingResourcesPropertyChangeSupportService实现功能管理Service及全局的resources   分析 在catalina类中管理及维护的Server实例,...

2011-06-29 14:59:44 159

原创 人员管理果然比项目管理复杂得多

实在是无法可想,你能预测事情的发展方向,却无法预测人心。 在此之中,如何保持内心的平和,是一件很有挑战性的事情。

2011-06-15 21:58:30 120

原创 Tomcat 源码学习 之 Catalina

  类名Catalina继承关系                          无关联类StringManagerServerDigester实现功能读取配置文件,加载Tomcat关键类Server状态管理  分析 要分析Catalina...

2011-06-12 18:06:48 78

原创 Tomcat 源码学习 之 Bootstrap

类名Bootstrap继承关系                          无关联类CatalinaClassLoaderFactoryMBeanServer实现功能创建Tomcat的classLoader机制代理Catalina方法调用初始化全局变量CATALINA_HOME_PROP 和 CATALINA_BASE_...

2011-06-08 09:57:37 109

原创 Tomcat整体架构图(转)

从前辈那里转过来的:[img]http://dl.iteye.com/upload/attachment/493761/73429d4f-c9ca-304f-8db0-4cfd43ee1280.jpg[/img]

2011-06-06 10:35:19 68

原创 一种简单并且统一的处理异常的办法

之前做的一个项目中,有一些对异常处理的封装,如果抛出的异常是项目特定的异常,则直接抛出。如果不是,则进行一个封装。 现在的做法是这样的:[code="java"]catch (InputValidationFault ive) { throw new InputValidationFault(ive.getMessage(), "");} catch (InputLimit...

2011-06-04 12:21:45 124

空空如也

空空如也

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

TA关注的人

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