自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 GZ二手车一道算法面试题;

已知一个整数,找出连续数字之和为他的个数。比如9,2+3+4=9;4+5=9,答案为2。当时说出思路,然后具体实现的时候没有完全写出来,当时精神不佳。回来后实现了:public class TestNum { public static void main(String[] args) { int n = getCount(11); System.out.pri...

2019-03-27 16:34:51 192

原创 Condition实现生产者、消费者

场景:一支枪可盛20发子弹,运用多线程,实现子弹不停上膛、射出的过程。public class Bullet { private int type; private String name; public int getType() { return type; } public void setType(int type) {...

2019-03-20 13:41:49 380

原创 Quorum机制

Quorum,英文字面意思是“法定人数”。指选举时通常要求参与人数必须达到额定的数量,才能成为一个法定有效的选举。这个额定的人数就是Quorum。计算机世界里,分布式系统的设计中会涉及到许多的协议、机制用来解决可靠性问题、数据一致性问题等,Quorum 机制就是其中的一种。Quorom 机制,是一种分布式系统中常用的,用来保证数据冗余和最终一致性的投票算法,其主要数学思想来源于鸽巢原理。...

2019-03-20 13:35:17 1239

原创 工作中运用到设计模式的开发场景

面试的时候,别人问起我工作这么多年了,有没有自己的一些沉淀和积累。其实高并发、分布式都是很响亮的,然而我却要讲讲用到的设计模式,也是一些细节。装饰器(包装器)模式:public class ResponseMapWrapper { private static Logger logger = LoggerFactory.getLogger(ResponseMapWrapper.clas...

2019-03-14 18:02:46 480

原创 Java基础、面试知识点

继承问题1:class Base {    public static void show() {       System.out.println("Base::show() called");    }}  class Derived extends Base {    public static void show() {       System.out.println("Deri

2017-10-11 11:09:40 255

转载 字符串匹配之KMP算法

字符串匹配的KMP算法 字符串匹配是计算机的基本任务之一。举例来说,有一个字符串"BBC ABCDAB ABCDABCDABDE",我想知道,里面是否包含另一个字符串"ABCDABD"?许多算法可以完成这个任务,Knuth-Morris-Pratt算法(简称KMP)是最常用的之一。它以三个发明者命名,起头的那个K就是著名科学家Donald Knu

2017-09-26 14:50:26 174

原创 荷兰国旗问题

【问题】现有红白蓝三个不同颜色的小球,乱序排列在一起,请重新排列这些小球,使得红白蓝三色的同颜色的球在一起。这个问题之所以叫荷兰国旗问题,是因为我们可以将红白蓝三色小球想象成条状物,有序排列后正好组成荷兰国旗。【分析】这个问题我们可以将这个问题视为一个数组排序问题。红白蓝分别对应数字0、1、2。红、白、蓝三色小球数量并不一定相同。要求:空间复杂度是O(1),且只

2017-09-26 11:25:11 298

翻译 智力测验题

测验1:用两根完全相同的电线测量出45分钟我们用两根完全相同的电线,如何测算出来45分钟的时间?每根燃烧完都需要一个小时。我们有火柴。电线不是均匀的燃烧,举个例子,把电线分成两半,一半燃烧可能需要10分钟,而另一半需要50分钟。测验2:找出女儿们的年龄阿洛克有三个女儿,他的朋友希亚姆想要知道她们的年龄。阿洛克并没有直接告诉他而是给了他一些提示。(1)她们年龄的乘积是72

2017-09-18 11:02:49 1724 1

原创 Netty实现WebSocket

HTTP协议,快速简单、灵活、无连接、无状态,同时具有如下弊端:1> HTTP协议是半双工的协议,半双工协议是指可以在客户端和服务端两个方向上传输,但不能同时传输。这意味着同一时刻只有一个方向上的数据传输。2> HTTP消息冗长而繁琐,包括消息头、消息体、换行符等。通常情况下采用文本方式传输,相比其他二进制的通信协议,冗长而繁琐。3> 针对于服务器推送的黑客攻击,如长时间轮询,浏览器不

2017-07-28 11:28:17 526

原创 Netty传输服务案例

1>. OIO 堵塞IO传输服务2>. NIO 异步IO传输服务我们通过一个简单的例子来开始我们的传输服务学习。这个例子很简单,服务端接收连接,发送一个Hi到客户端,然后关闭连接。一、 使用JAVA原生API实现堵塞网络传输package demo.simple;import java.io.IOException;import java.io.OutputStrea

2017-07-27 18:41:51 241

原创 Netty理论概述

问题         我们通过应用程序或者类库来实现 系统之间的相互访问。比如经常使用HTTP客户端从WEB服务器上获取信息,或者通过WebService来执行远程调用。然而有时候一个通用协议并没有覆盖一些场景。比如无法使用通用的HTTP服务器来处理大文件、电子邮件、近实时消息比如财务数据和多人游戏数据。我们需要一个合适的协议来处理一些特殊场景。例如可以实现一个优化的Ajax聊天应用、流媒体传

2017-07-27 17:12:03 311

原创 Netty——ChannelOption

Netty在创建的Channel实例后,指定ChannelOption参数。ChannelOption是Socket的标准参数,而非Netty独创的。1. ChannelOption.SO_BACKLOG对应tcp/ip协议listen函数中的backlog参数。函数listen(int socketfd,int backlog)用来初始化服务器可连接队列。服务端处理客户端连接请求

2017-07-26 17:55:44 608

原创 收拾好心情,装备上tomcat,搭乘nginx,出发之二: Nginx

1. linux的安装

2017-03-23 16:53:58 207

原创 在微信里点击拉起APP到特定页面---Apple Universal Link的摸索

       我们在微信里查看新闻类APP比如网易新闻、今日头条的文章时,会看到类似于“在APP里查看更多评论”、”在APP里查看原文”的按钮功能,如果用户安装了相应的APP,点击后离开微信,在APP里打开原文。       我们也想做这个需求。安卓貌似没有如此完美的功能可实现。调研了苹果的Universal Link。它是iOS系统级的,不受微信的限制,可以很好的符合我们的需求。        ...

2017-03-23 14:55:48 14902

原创 Linux FTP----vsftpd的搭建

如果你想在你的Linux/Unix服务器上搭建一个安全、高性能、稳定性好的FTP服务器,那么vsftpd可能是你的首选应用。vsftpd意思为“very secure FTP daemon(非常安全的FTP进程)”,是一个基于GPL发布的类UNIX类操作系统上运行的服务器的名字(是一种守护进程),可以运行在诸如Linux、BSD、Solaris、HP-UX以及Irix等系统上面。vsftpd支持很

2016-12-06 15:04:03 218

原创 Js 判断客户端浏览器来自PC还是移动端

网站或者具体的网页 呈现在PC 和 M(移动端)往往是不同的。往往对应的会开发两套不同的网页,比如https://m.baidu.com/ https://baidu.com/。 为了更好的视觉和体验效果,用户在M端打开PC端的网址时,往往跳转到M端的网址;同样的,在PC端打开M端的网址时,往往跳转到PC端的网址。类似的需求,我们就需要通过userAgent来判断客户端的浏览器是M

2016-12-05 16:28:06 699

转载 Tomcat或 Pivotal tc Server 启动,但是项目不部署

看了下 D:\sts\sts-bundle\pivotal-tc-server-developer-3.1.1.RELEASE\mysite\logs 下面的日志 发现如下错误java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener这篇文章 很好的帮助了我。

2016-11-21 17:28:19 6108

原创 Chart.js 简单实战

当今世界,是数据的世界。数据是证据,是记忆,是规律,是金钱,是信息化社会的当仁不让的载体。          说起数据,可能大家觉得是枯燥的硬生生的东西。也许,他的底层是这样的,但是当数据以图表、图像、视频、音频,以及交互性的产品呈现在我们面前时,一切又是那么的生动和有趣。          我之前做过电信营业厅的系统。他们各个科室部门每个月要打印需要报表来记账和统计分析。包括话费、宽带、

2016-11-04 17:24:28 863

原创 tomcat访问(access)日志配置、记录Post请求参数

tomcat访问日志格式配置,在config/server.xml里Host标签下加上               prefix="localhost_access_log." suffix=".txt"               pattern="%h %l %u %t "%r" [%{postdata}r] %s %{Referer}i %{User-Agen

2016-10-19 18:35:42 38632 3

原创 Windows下实用工具安装

本文汇总在windows平台下开发工程中需要安装的必要工具。包括postman.        一、Postman       1. 通过postman关键字在百度搜索,或得postman的官网: https://www.getpostman.com,然后点击右上角apps,如图所示点击下载:         2. 下载后的文件解压缩,找到.crx结尾的文件Post

2016-10-13 11:30:35 363

原创 收拾好心情,装备上tomcat,搭乘nginx,出发之二: Nginx

Nginx中文文档   http://www.nginx.cn/doc/index.html

2016-09-23 14:01:03 251

原创 倒计时生产票、卷需求的实现

我们经常见到一些场景,开发者为了增加用户互动的趣味或者是实际业务的强烈需要,在系统中设置票券等道具,并定时发放给用户,用户拿到这些道具去做一些好玩的事情。例如我们系统在每天固定的时间点(0点、4点、8点、12点、16点、20点共6个时间点),以下统称为“生产点”,为所有注册账号(用户)生产一张票。票可以投给参加活动的选手。每张票有效期3天。票源源不断的被生产,源源不断的被使用或者失效,像是一个小的

2016-09-22 14:11:53 241

原创 收拾好心情,装备上tomcat,搭乘nginx,出发之一: Tomcat

初创公司,为了节约成本,以及对于今后发展之路的不确定,通常都会选购云服务来部署和开发项目。腾讯和阿里都有自己的云服务。提供包括云主机、数据库、redis、图片视频、cdn、短信等等。有的时候,不变的是技术,变的是业务,以及日渐积累的思维方式。        当老板自信满满的带着idea,带着愿景,怀揣着一打打的现金,意气风发的讲述着自己的牛逼往事,自己那点创业的冲动被诱导出来。人生便走入了一段

2016-06-15 14:38:47 413

原创 类似排行榜需求的实现

运营类的活动中,经常会有类似积分榜、排行榜的功能需求,实时的展现总的积分、排名,包括他们各自的基本信息,以及自己的积分排名等。关系型DB对此的支持并不好。实现比较复杂而且会DB带来不小的压力。之前对Redis Set操作使用比较多,包括smembers、scard、sadd、sdiff等。Redis的zset,即Sorted-Set,与set的区别在于zset加了一个分数(scor

2015-08-15 11:22:16 593

原创 Wechat公众平台开发

微信公众平台 https://mp.weixin.qq.com/微信公众平台开发者文档 http://mp.weixin.qq.com/wiki/17/2d4265491f12608cd170a95559800f2d.html15年元旦的时候,产品要做微信版,便开始研究微信公众平台以及开发者文档,给我的感觉是微信测试很不方便,职能配置一个回调URL,测试和正式通用,还会有回调两次的

2015-08-11 20:17:07 550

原创 ElasticSearch笔记

ElasticSearch是基于Lucene的搜索服务,它提供分布式多用户的搜索引擎,支持Restful Web接口。

2015-07-28 11:53:31 399

原创 Redis从理论到实例

Redis是个好东西。在好多项目场景中帮助我们。老生常谈,Redis与memcache的区别1. Redis中,并不是所有的数据都一直存储在内存中的,这是相比memcache的最大区别之一。2. Redis不仅仅支持简单的k/v类型的数据,还提供list、set、hash等数据结构的存储。相比而言更具数据库特征。3. Redis支持数据的备份,即master-sla

2015-07-27 11:13:42 294

原创 接口防刷,痛的领悟

煎饼侠电影火了,有惊艳,但还是觉得故事发展有些莫名其妙。有梦想是对的,但是电影毕竟是电影。现实中可能要读下大鹏的书?可能吧,那时的他才算屌丝,而我一直都是。言归正题。借此电影我们做了个抽奖活动。玩游戏拿积分。积分分为A、B、C三个等级。当然营运近一周只有3个游戏高手获得了C积分,膜拜游戏大神们。我每天早上到公司都会看自己近期所做项目日志、DB记录的好习惯。但是突然有一天到公司后,我发现数...

2015-07-26 06:26:16 10350 3

空空如也

空空如也

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

TA关注的人

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