自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

HQ的专栏

行胜于言,向着优秀的软件架构师挺进!

  • 博客(100)
  • 资源 (3)
  • 收藏
  • 关注

原创 nginx学习

nginx简介nginx是一款高性能的http服务器,目前国内包括BAT在内的众多互联网企业均采用其作为反向代理服务器,一个很重要的用途就是用来实现负载均衡。其具有优异的性能和丰富的配置功能。nginx一般由一个master进程和多个worker进程组成,其中master进程主要用来管理worker进程,包含:接收来自外界的信号,向各worker进程发送信号,监控worker进程的运行状态,当

2017-06-04 15:32:34 2765

原创 JAVA 8 Streams API 学习札记

JAVA 8 Streams API 学习札记简介近期在项目开发中,发现了java 8中一个非常重要的特性Stream,通过它可以很方便的对集合进行各类操作。 根据官方介绍,Stream 是对集合对象功能的增强,它专注于对集合对象进行各种非常便利、高效的聚合操作,或者大批量数据操作。另外由于集合类持有的元素都是存储在内存中,非常巨大的集合类会占用大量的内存,而Stream的元素却是在访问的时候才被计

2017-05-13 18:04:10 516

转载 jvm工作原理

原文地址:https://uestc-dpz.github.io/blog/2015/03/05/JVM%E4%BB%A5%E5%8F%8A%E5%9E%83%E5%9C%BE%E5%9B%9E%E6%94%B6%E5%99%A8%E7%9A%84%E5%B7%A5%E4%BD%9C%E5%8E%9F%E7%90%86.htmlJVMJava 虚拟机 Java 虚拟机(Java v

2016-12-28 20:56:33 1277

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

前言任务调度是指基于给定时间点,给定时间间隔或者给定执行次数自动执行任务。本文由浅入深介绍四种任务调度的 Java 实现:TimerScheduledExecutor开源工具包 Quartz开源工具包 JCronTab此外,为结合实现复杂的任务调度,本文还将介绍 Calendar 的一些使用方法。Timer相信大家都已经非常熟悉 java.u

2016-10-14 10:40:32 487

转载 Linux下缓冲区溢出攻击的原理及对策

原文地址:  https://www.ibm.com/developerworks/cn/linux/l-overflow/  向原作者致敬!前言从逻辑上讲进程的堆栈是由多个堆栈帧构成的,其中每个堆栈帧都对应一个函数调用。当函数调用发生时,新的堆栈帧被压入堆栈;当函数返回时,相应的堆栈帧从堆栈中弹出。尽管堆栈帧结构的引入为在高级语言中实现函数或过程这样的概念提供了直接的硬件支持,但

2016-10-10 21:10:17 3936

转载 JVM随机数产生器

转载地址:http://hongjiang.info/jvm-random-and-entropy-source/   向原作者致敬!最近项目遇到一些问题,排查了很久,就是应为该JVM获取启动随机数阻塞。在apache-tomcat官方文档:如何让tomcat启动更快 里面提到了一些启动时的优化项,其中一项是关于随机数生成时,采用的“熵源”(entropy source)的策略

2016-08-26 14:18:29 965

原创 自动化脚本登录跳板机和服务器

expect 自动登录服务器脚本

2016-08-14 21:46:26 4492 1

转载 HTTP幂等性 (转载)

基于HTTP协议的Web API是时下最为流行的一种分布式服务提供方式。无论是在大型互联网应用还是企业级架构中,我们都见到了越来越多的SOA或RESTful的Web API。为什么Web API如此流行呢?我认为很大程度上应归功于简单有效的HTTP协议。HTTP协议是一种分布式的面向资源的网络应用层协议,无论是服务器端提供Web服务,还是客户端消费Web服务都非常简单。再加上浏览器、Javascr

2016-08-02 16:35:49 329

原创 MD5算法理论和实现

MD5是消息摘要算法第5版,它是一种在计算机安全领域广泛使用的一种散列函数,用来提供消息完整性保护。任意长度的数据算出来的MD5值长度都是一样的,均为128bit,而且即使只修改原始数据的极小一部分,也会使算出的MD5值产生很大的变化。十年前,2005年山东大学的王小云教授发表论文说可以破解MD5码。但目前MD5码的应用还是挺广泛的,可能不久的将来会有新的算法取代其。MD5算法理论填充:填充到51

2016-04-25 21:29:15 1137

转载 关于成为架构师的几个思考?

转自:http://36kr.com/p/5044539.html?ref=hot_posts   向原作者秦迪(微博平台及大数据技术专家)致敬!!工作了挺久,发现有个挺有意思的现象,从程序员、高级程序员,到现在挂着架构师、专家之类的头衔,伴随着技术和能力的提高,想不明白的事情反而越来越多了。这些疑问有些来自于跟小伙伴交流,有些是我的自问自答,有些到现在也想不清楚,这篇文章就来写一写这些问题。

2016-03-18 19:27:52 557

原创 AlphaGo挑战围棋九段高手李世石

很常一段时间以来,围棋作为计算机博弈领域的最后一个未被机器攻克的棋类。因其复杂度之高,博弈树搜索即广且深。如今,谷歌的AlphaGo载誉而来,去年底以5:0的大比分战胜欧洲围棋冠军,虽然是个职业二段选手,但已经远远超过之前所有的围棋程序。仅仅五个月后,即挑战代表职业围棋最高水平的九段选手,进步之快,实在让人惊叹。不可否认的是,AlphaGo仍然是非常强大的计算机围棋博弈系统,代表了人工智能领域最前沿

2016-03-09 21:23:15 1730

转载 JS中判断相等的方法(underscore中eq方法源码分析)

原文地址:https://github.com/classicemi/blog/issues/7最近编程遇见一个BUG,最后追查到原因,竟然就是对象相等判断有误,所以搜索相关资料,发现此篇好文,值得收藏!underscore的源码基本上都是由各种短小精悍的函数组成,每个函数有自己的功能,一些较高级的功能会调用其他的函数作为自己的工具函数以达到逻辑的复用,同时也缩短方法的篇幅。但eq

2016-02-14 16:53:37 3680

转载 个人密码安全策略(转载)

原文地址:http://www.williamlong.info/archives/2937.html 向原作者致敬!       (近期入职公司实习,愈发发现个人密码策略的重要性,的确需要认真对待,故找了一些资料来学习参考)    我们现在处于网络时代,时常要登录各种网站、论坛、邮箱、网上银行等等,这些访问常需要帐户+密码的身份认证,因此我们不断地注册用户,就有了数不清的网络

2016-01-16 11:45:15 746

转载 即使被拖库,也可以保证密码不泄露(一种安全的加密方案)

微信扫一扫作者:CoderZh 微信关注:hacker-thinking (一个程序员的思考) 本文出处:http://blog.coderzh.com/2016/01/10/a-password-security-design-example/ 文章版权归本人所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

2016-01-11 20:00:39 2943

转载 微信后台技术相关介绍

原文地址:  http://www.woshipm.com/pd/249869.html团队与技术栈简介微信后台研发团队由三位工程师组成。开发模式采用了敏捷的方式,大概一个月一个小版本,一个季度出一个大版本,另外每天都会有不停的后台更新,很多是用户看不见的,也有一些是AB测试,比如选择一亿的用户,或者一定百分比的用户,或者一部分男性用户和女性用户来做AB测试。开发语言主要使用C++

2015-12-14 15:56:01 1867

原创 2015求职经历

从2015年7月开始到2015年10月,整个求职过程历时四个月。期间参加了几个互联网公司和IT企业的笔试和面试,例如:BAT、360、蘑菇街、网易、中兴、深信服、CVTE、大疆创新。求职的方向都是后台开发&C/C++研发工程师。整个求职过程比较顺利,很早就有offer在手,后面就比较有选择性的参加一些公司的笔试或面试,最终收获了阿里巴巴、深信服和大疆创新三家公司的研发岗的offer。希望通过介绍上

2015-11-10 11:22:41 1899

转载 网站架构的演变之路(58同城)

【编者按】对很多创业公司而言,随着业务增长,网站的流量也会经历不同的阶段。从十万流量到一百万流量,再从一百万流量跨越到一千万甚至上亿的流量,网站的架构需要经历哪些变化?在“OneAPM 技术公开课”第一期中,58同城的技术委员会执行主席沈剑对此进行了详细剖析。以下为演讲整理本次演讲主要会阐述,58同城从小流量、中等规模流量、大流量,到更大的流量过程中,架构是如何演进的?遇到了哪些问

2015-10-27 21:06:57 1909

转载 线性回归相关知识

关于Feature Scaling: get every feature into approximately into [-1, 1]a:每个维度的特征减去此维度特征均值,除以此维度特征的最大值与最小值之差:   (xi - mean(xi)) / (max(xi) - min(xi)) (mean normalization)b:每个维度的特征减去此维度的均值,除以这个维度

2015-10-20 21:44:58 440

转载 从机器学习谈起

在本篇文章中,我将对机器学习做个概要的介绍。本文的目的是能让即便完全不了解机器学习的人也能了解机器学习,并且上手相关的实践。这篇文档也算是EasyPR开发的番外篇,从这里开始,必须对机器学习了解才能进一步介绍EasyPR的内核。当然,本文也面对一般读者,不会对阅读有相关的前提要求。在进入正题前,我想读者心中可能会有一个疑惑:机器学习有什么重要性,以至于要阅读完这篇非常长的文章呢?

2015-10-13 22:13:17 561

转载 linux下段错误相关资料-备查

原文地址:http://www.cnblogs.com/panfeng412/archive/2011/11/06/2237857.html  向原作者致敬!1. 段错误是什么一句话来说,段错误是指访问的内存超出了系统给这个程序所设定的内存空间,例如访问了不存在的内存地址、访问了系统保护的内存地址、访问了只读的内存地址等等情况。这里贴一个对于“段错误”的准确定义(参考Answe

2015-09-25 20:29:29 385

转载 explicit关键词用法

转载原文地址:http://www.cnblogs.com/cutepig/archive/2009/01/14/1375917.html向原作者致敬!按照默认规定,只有一个参数的构造函数也定义了一个隐式转换,将该构造函数对应数据类型的数据转换为该类对象,如下面所示:class String {String ( const char* p ); // 用

2015-09-12 10:51:22 435

原创 计算从1到n整数中K出现的次数

题目:输入一个整数n,求从1到n这个n个整数的十进制表示中1(K=1)出现的次数,例如输入15, 则1到15中的整数中包含1的数字有1,10,11,12,13,14,15,共7次。   分析:这道题目首先第一个思路就是对1到15的整数,挨个求其中的1的个数,对n个数,每个数操作logn次,则复杂度为O(n*logn),较好的方法应该为根据数字的规律进行计算,从高位(左到右),异或从低位开始均可

2015-09-08 22:24:42 4398

转载 海量数据处理方法小结

原文地址:http://www.cnblogs.com/lovexinsky/archive/2012/03/09/2387583.html  向原作者致敬!在实际的工作环境下,许多人会遇到海量数据这个复杂而艰巨的问题,它的主要难点有以下几个方面:一、数据量过大,数据中什么情况都可能存在。如果说有10条数据,那么大不了每条去逐一检查,人为处理,如果有上百条数据,

2015-08-31 11:00:12 792

原创 《深入理解C++对象模型》读书笔记(二)

1、         静态成员函数特点:1、不能够直接存取非静态成员变量(因为静态成员函数不含有this指针);2、不能够声明为const、volatile或virtual;3、不需要通过类对象调用。直接通过类名调用;4、地址类型就是普通的函数指针,其他非静态成员函数的地址需要用类成员函数指针来存储。class base{ static int func1(); int func2()

2015-08-07 15:12:26 1461

转载 Placement new和operator new解释

原文地址: http://www.cnblogs.com/younes/archive/2010/04/26/1721528.html  向原作者致敬!Placement new、operator new、new operator 完全释疑首先我们区分下几个容易混淆的关键词:      new(也称作new operator)、operator new、placement ne

2015-08-06 14:43:45 636

转载 bitmap的用法

bitmap很容易跟位图文件(Bitmap)混淆,后者是用来表示图片的。前者是一种编程技巧,即用整型或字符型数组,其中每个数组元素的每一位都用来描述某个特征,如此很好的节省了内存空间,如若要表示100 000 000个数,若用整型数据表示,则仅需(100 000 000/8)个整型变量。   简单代码:转载地址:http://blog.csdn.net/yushuai007008/articl

2015-08-05 16:55:06 731

原创 《深入理解C++对象模型》读书笔记(一)

1、           C++类对象模型的中包括非静态成员变量和虚函数表指针,其他静态成员变量和成员函数均放在对象模型之外,所有的对象示例均可以共同使用。如此可以节省访问的时间和空间效率。       2、           虚继承是为了解决多重继承中出现公共的基类出现二义性。  class A;  classB1:public virtual A;  classB

2015-07-31 10:49:21 3279

转载 字典树简介

原文地址:http://www.cnblogs.com/dolphin0520/archive/2011/10/11/2207886.html   向原作者致敬!  Trie树       Trie树也称字典树,因为其效率很高,所以在在字符串查找、前缀匹配等中应用很广泛,其高效率是以空间为代价的。一.Trie树的原理    利用串构建一个字典树,这个字典树保存了串的公共前缀信息,因

2015-07-26 16:14:36 475

转载 epoll相关介绍

参考博客:http://blog.csdn.net/ljx0305/article/details/4065058                  http://www.ccvita.com/515.html在一个非阻塞的socket上调用read/write函数, 返回EAGAIN或者EWOULDBLOCK(注: EAGAIN就是EWOULDBLOCK)从字面上看, 意思是

2015-07-24 16:46:37 367

原创 Linux内存管理和进程调度相关知识点

Linux内存管理机制:1、             为解决以下几个问题:  如何使进程的地址空间隔离;如何提高内存的使用效率;如何解决程序运行时的重定位问题。2、             虚拟地址空间:0~3G为用户地址空间,3G-4G为内核内存空间,其中每个进程有单独的用户地址空间,内核内存空间为共享的。   进程的用户地址空间包含:代码段、数据段,BSS段(未初始化的全局变量

2015-07-24 10:33:20 2109

原创 快速排序的尾递归优化

函数递归需要借助栈来保存中间状态信息,由此需要大量的栈空间,减少递归层次,一伙减少递归保存的中间参数信息,均可以避免stackoverflow的出现。int Partition(int *p,int len,int start,int last){ int flag=*(p+start); int i=start; int j=last; while(i<j) { whil

2015-07-22 15:59:32 3983

转载 B-tree和B+tree浅析

原文地址:http://www.cnblogs.com/coder2012/p/3330311.htmlB-tree&B+tree  B-tree,B是balance,一般用于数据库的索引。使用B-tree结构可以显著减少定位记录时所经历的中间过程,从而加快存取速度。而B+tree是B-tree的一个变种,大名鼎鼎的MySQL就普遍使用B+tree实现其索引结构。  那数据库为

2015-07-20 10:41:12 1007

转载 设计一个只能在堆上或栈上实例化的类

原文地址:http://www.cnblogs.com/luxiaoxun/archive/2012/08/03/2621827.html   向原作者致敬!一道C++笔试题:设计一个只能在堆内存上实例化的类和一个只能在栈内存上实例化的类只能在堆内存上实例化的类:将析构函数定义为private,在栈上不能自动调用析构函数,只能手动调用。也可以将构造函数定义为private,但这样需

2015-07-19 11:25:08 424

转载 IT牛人的博客地址——收藏

转载地址:http://blog.csdn.net/huang_xw/article/details/7957908团队技术博客淘宝UED淘宝用户体验团队淘宝核心系统淘宝核心系统团队博客阿里巴巴数据库团队专注数据库管理开发运维淘宝通用产品专注JAVA技术淘宝QA致力于做测试的行业标准淘宝搜索技术关注技术 关注搜索量子恒道专注大数据统计百度搜索研发关注搜索相关技术EMC中国研究院关注于云

2015-07-14 16:54:30 528

转载 迭代器失效问题(转)

近期看书遇到了迭代器失效的问题,认真搜了一些资料,也看了一些博客,感觉别人已经说得很详细了,就不重复造轮子了,贴上他人博客内容,留在参考学习。  原文地址:http://www.cppblog.com/JohnsonLu/archive/2009/10/14/98590.html从一个简单的问题开始,删除数组中某个元素后连续重复的元素,例如 1,1,2,3,3,1,1,1,4,0

2015-07-13 17:05:38 353

转载 C++中智能指针的设计和使用(转)

转载地址:http://blog.csdn.net/hackbuteer1/article/details/7561235         智能指针(smart pointer)是存储指向动态分配(堆)对象指针的类,用于生存期控制,能够确保自动正确的销毁动态分配的对象,防止内存泄露。它的一种通用实现技术是使用引用计数(reference count)。智能指针类将一个计数器与类指向的对象相关联

2015-07-09 21:16:03 380

转载 二叉树相关算法总结

转载地址:http://blog.csdn.net/walkinginthewind/article/details/7518888  向原作者致敬!树是一种比较重要的数据结构,尤其是二叉树。二叉树是一种特殊的树,在二叉树中每个节点最多有两个子节点,一般称为左子节点和右子节点(或左孩子和右孩子),并且二叉树的子树有左右之分,其次序不能任意颠倒。二叉树是递归定义的,因此,与二叉树有关的题

2015-07-05 22:55:36 447

转载 poll和select的使用和差异

原文地址:http://watter1985.iteye.com/blog/1614039         使用非阻塞I/O 的应用程序常常使用poll, select。poll和select本质上有相同的功能:每个允许一个进程来决定它是否可读或者写一个或多个文件而不阻塞。这些调用也可阻塞进程直到任何一个给定集合的文件描述符可用来读或写。因此,它们常常用在必须使用多输入输出流的应用

2015-06-24 17:24:09 478

转载 Linux中的文件描述符与打开文件之间的关系

转载地址:http://blog.csdn.net/cywosp/article/details/38965239  向原作者致敬!1. 概述    在Linux系统中一切皆可以看成是文件,文件又可分为:普通文件、目录文件、链接文件和设备文件。文件描述符(file descriptor)是内核为了高效管理已被打开的文件所创建的索引,其是一个非负整数(通常是小整数),用于指代被打开的

2015-06-24 15:43:56 418

原创 Liunx锁机制浅析

Liunx锁机制:原子操作、互斥锁、信号量、大内核锁、自旋锁,各自的特点,区别和联系。锁的作用:使程序以串行方式对资源进行访问A:原子操作:不能被分割的指令(对整数、对位进行操作)   一般用于增减变量值,操作简单,单条指令即可完成。B:自旋锁:Linux中最常见的锁机制,它最多只能被一个可执行线程持有,用于处理较为复杂的情形,但由于请求它的线程在等待锁重新可用时处于忙等待状态,故

2015-06-18 22:03:15 424

原始套接字实现Ping命令和Tracert命令

采用C++语言,基于原始套接字实现了Ping和Tracert命令。发送主机通过ping程序给目标主机发送ICMP的回声请求报文,并根据收到的ICMP回声应答报文来确定网络的连通性。Tracert(跟踪路由)是路由跟踪实用程序,用于确定 IP 数据包访问目标所采取的路径。Tracert 命令是用 IP 生存时间 (TTL) 字段和 ICMP 错误消息来确定从一个主机到网络上其他主机经过的每个路由器及每个跃点的往返时间 (RTT) 的命令行报告输出。

2014-02-19

大型网吧局域网设计Cisco Packet Tracer模拟

大型网吧最重要的特点就是规模大、节点多、多网络速度和稳定性都有非常高的要求。大型网吧网络建设主要还是基于三个因素来考虑:其一:高速稳定。其二:成本低、网络结构相对简单。其三,很多网吧都缺少专业的网络技术人员,需要网络设备具有良好的用户界面,便于管理和维护。以下设计的是300个网络节点的大型网吧组建方案。

2013-04-19

Android记事本文件

基于Android的记事本文件,功能: 1. 保存:将输入的内容以文本形式进行保存。 2. 新建:可以输入新的内容进行保存。 3. 打开:打开已保存的文件。 4. 退出:退出程序。

2013-04-19

空空如也

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

TA关注的人

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