自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 Xpath语法(二)

示例Xml:?1234567891011121314151617181920212223242526272829xmlversion="1.0"encoding="utf-8"?>pets>  catcolor=

2017-06-28 16:17:31 526

转载 xpath语法(一)

xpath的语法XPath 是XML的查询语言,和SQL的角色很类似。以下面XML为例,介绍XPath 的语法。      Empire Burlesque    Bob Dylan    10.90        Hide your heart    Bonnie Tyler    9.90        Greatest Hits

2017-06-28 16:13:52 415

原创 应用架构之RPC架构

RPC框架简介什么叫RPC? RPC(Remote Procedure Call Protocol)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发包括网络分布式多程序在内的应用程序更加容易。为什么会

2017-06-27 08:27:16 550

转载 什么是垂直搜索引擎

垂直搜索是针对某一个行业的专业搜索引擎,是搜索引擎的细分和延伸,是对网页库中的某类专门的信息进行一次整合,定向分字段抽取出需要的数据进行处理后再以某种形式返回给用户。垂直搜索引擎和普通的网页搜索引擎的最大区别是对网页信息进行了结构化信息抽取,也就是将网页的非结构化数据抽取成特定的结构化信息数据,好比网页搜索是以网页为最小单位,基于视觉的网页块分析是以网页块为最小单位,而垂直搜索是以结构化数据为

2017-06-26 09:05:12 3839

原创 面向对象设计(2)

面向对象设计原则单一职责原则 (SRP)开闭原则 (OCP)Liskov 替换原则 (LSP)接口隔离原则 (ISP)依赖倒置原则 (DIP)SOLIDOCP: 开闭原则软件模块对扩展是开放的 当需求发生改变时,可以对模块进行扩展软件模块对修改是封闭的 对模块进行扩展时, 无须改动模块的源代码。似乎是矛盾的 ?面向对象设计的原则 (2) : 开闭原则缺点:对扩展开放: 可

2017-06-21 00:24:05 283

原创 Java并发编程之线程(二)

多线程编程的特点同一份代码,可以有多个线程执行 既可以在一个CPU核上并发执行也可以在多个CPU核上并行执行线程的执行默认是乱序的 程序员不能假定执行次序线程会共享数据(对象的变量) 需要互斥线程之间也需要合作(同步)如何实现互斥 ?锁 ! 只有获得了锁的线程,才能够对共享资源做操作, 换句话说:进入临界区对共享资源做完操作(即使发生异常),一定要释放锁!锁到底是个什么东西

2017-06-19 16:20:30 338

原创 Java并发编程之线程(一)

概念线程是一种轻量级的进程。线程优点 多个线程拥有共享同一个地址空间和所有可用数据的能力。线程比进程更容易创建和销毁在大量计算和大量 I/O 处理过程中,多个线程能够加快程序执行速度。进程是独立的地址空间:通信比较麻烦。进程之间数据共享没有线程之间方便和高效每个进程至少有一个线程,可以认为那个线程就是主线程。每个线程都要维护自己的一台寄存器与堆栈。那么什么叫维护自己的一套寄存器呢?物理

2017-06-16 07:37:19 282

原创 Java并发编程之进程

引入操作系统的关键抽象:内存大小有限,操作系统会为每个进程分配独立的虚拟地址空间。虚拟地址空间会映射到物理地址空间。JAVA虚拟机和VMWARE并没有CPU,硬盘等,可以说是一个软的虚拟机。比喻 : 厨师做蛋糕做蛋糕的食谱: 程序做蛋糕的原料:输入数据厨师: CPU厨师阅读食谱,用原料做蛋糕的一系列动作的总和: 进程厨师的儿子跑进了,说是被蜜蜂蛰了厨师记录下当前做到哪一步了(保存当前进程状

2017-06-15 10:15:14 369

原创 Spring 在静态工具类中使用注解注入bean

问题最近在项目中遇到这样一个情况:有一个发送邮件的工具类。在这个工具类中提供了几种静态方法,静态方法需要另外一个类的实例提供处理。解决在网上查阅了资料后有几种解决方案,具体可以参考http://blog.sina.com.cn/s/blog_6e2d53050102wl3x.html。@Componentpublic class MailUtils { @Autowired //注意这里非

2017-06-14 17:13:54 8908

原创 I/O 模型

预备知识1: 用户空间和内核空间虚拟存储器 以32位操作系统为例, 能访问的内存最大为4G 0–3G 虚拟地址分配给各个用户进程(用户空间) 每个进程都有3G的虚拟地址空间3–4G 虚拟地址分配给操作系统核心和驱动程序(内核空间)用户空间和内核空间不能用指针来传递数据() 注意: - Linux 操作系统和驱动程序运行在内核空间,应用程序运行在用户空间,两者不能简单地使用指针传

2017-06-14 11:23:41 334

原创 面向对象设计的原则--单一职责原则(SRP)

概述职责: 是引起变化的原因如果有多于一个的动机去改变一个类,这个类就具有多于一个职责把多个职责耦合在一起,一个的变化可能会削弱或者抑制这个类完成其他职责的能力SRP : 对一个类而言, 应该仅有一个引起它变化的原因。SRP例子一这个设计违反了单一职责原则(SPR)。Rectangle提供了两个职责。第一个职责提供了一个矩形集合形状的数学模型,第二个职责把矩形绘制在图形界面上。将两个职责分

2017-06-12 09:06:27 431

原创 面向对象设计(1)

从需求开始谈起需求总是不完整的,错误的,容易让人产生误解需求一直在变化 用户对需求的看法,可能在与开发人员讨论以及看到软件新的可能性后发生变化随着对问题的熟悉, 开发人员对问题领域的看法也会变化不是需求在变, 而是人们对需求的理解在变化如何去应对变化? 例子一:听课假设你在一个会议上担当讲师, 听课的人在课后还要去听其他课程, 但他们不知道下一堂课的听课地点, 你的责任就是, 确保

2017-06-12 01:29:10 418

转载 使用Python模拟登录知乎

小试牛刀:使用Python模拟登录知乎 Posted on 2016-11-05   |   InSpider  |     |   views : 1610最近突然对爬虫兴趣倍增,主要是自己想从网上爬点数据来玩玩。前阵子从某房屋出售网爬取了长沙地区的房价以及2016年的成交额,只有几千条数据,量较少,没劲o(╯□╰)o,因此将目标成功地转移到了社交网上,难度显然大了点

2017-06-07 16:30:27 1098

转载 JAVA设计模式初探之装饰者模式

这个模式花费了挺长时间,开始有点难理解,其实就是定义:动态给一个对象添加一些额外的职责,就象在墙上刷油漆.使用Decorator模式相比用生成子类方式达到功能的扩充显得更为灵活。设计初衷:通常可以使用继承来实现功能的拓展,如果这些需要拓展的功能的种类很繁多,那么势必生成很多子类,增加系统的复杂性,同时,使用继承实现功能拓展,我们必须可预见这些拓展功能,这些功能是编译时就确定了,是静态的。

2017-06-05 11:06:45 274

原创 JAVA虚拟机简介

Java虚拟机 注意:我们这里说的虚拟机是所谓的高级语言虚拟机, 并不是像Vmware那样, 完全虚拟一个硬件和操作系统出来。此外java虚拟机上还可以运行clojure, scala , Jruby, Jptyon等语言Java虚拟机列表: - https://www.zhihu.com/question/29265430?sort=created - https://my.oschi

2017-06-04 11:30:51 668

原创 LRU算法–缓存淘汰算法

LRU算法–缓存淘汰算法目录LRU算法缓存淘汰算法目录什么是 LRULRU 算法思想为什么需要页面置换算法分页原理图假设使用 FIFO 先进先出 实现页面置换算法LRU 算法原理图使用双向链表实现LRU算法Clock算法是公认的很好的近似LRU的算法1. 什么是 LRULRU(Least recently used,最近最少使用)算法根据数据的历史访问记录来进行淘汰数据,其核心思想是

2017-06-03 10:43:50 2197

空空如也

空空如也

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

TA关注的人

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