自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Stars永恒的博客

It is difficult to adhere to

  • 博客(30)
  • 问答 (1)
  • 收藏
  • 关注

原创 dubbo的架构

2017-03-25 18:45:58 230

原创 Nginx

2017-03-25 18:43:50 190

原创 数据库连接池原理

2017-03-25 18:41:42 195

原创 Netty5 HTTP协议栈浅析与实践

一、说在前面的话 前段时间,工作上需要做一个针对视频质量的统计分析系统,各端(PC端、移动端和 WEB端)将视频质量数据放在一个 HTTP 请求中上报到服务器,服务器对数据进行解析、分拣后从不同的维度做实时和离线分析。(ps:这种活儿本该由统计部门去做的,但由于各种原因落在了我头上,具体原因略过不讲……) 先用个“概念图”来描绘下整个系统的架构: 嗯,这个是真正的“概念图

2017-03-23 00:10:52 374

原创 深入分析java线程池的实现原理

前言 线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,合理的使用线程池可以对线程进行统一的分配、调优和监控,并有以下好处: 1、降低资源消耗; 2、提高响应速度; 3、提高线程的可管理性。 Java1.5引入的Executor框架把任务的提交和执行进行解耦,只需要定义好任务,然后提交给线程池,而不用关心该任务是如何执行、被哪个线程执行,以及什么

2017-03-22 00:08:22 296

原创 Java程序员

一、技术积累 (1)代码规范 1.1.1、通常的模块分布:一般如果你要实现一个web应用,你从后台将数据展示到前端页面,在一个比较大的公司,你少不了跟其他项目有交集(你调用他的接口,他依赖你的接口),这样下来,整个公司有很多个模块,怎么做到很好的联系。回到刚刚的模块分布,你的一个web应用,应当需要分成三个模块:core模块、service模块、web模块。web模块就是展示到页面,后

2017-03-19 13:25:46 331

原创 这里,彻底了解HTTPS

一 前言  在说HTTPS之前先说说什么是HTTP,HTTP就是我们平时浏览网页时候使用的一种协议。HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全。为了保证这些隐私数据能加密传输,于是网景公司设计了SSL(Secure Sockets Layer)协议用于对HTTP协议传输的数据进行加密,从而就诞生了HTTPS。SSL目前的版本是3.0,被IET

2017-03-19 13:21:53 302

原创 10w定时任务,如何高效触发超时

一、缘起 很多时候,业务有定时任务或者定时超时的需求,当任务量很大时,可能需要维护大量的timer,或者进行低效的扫描。   例如:58到家APP实时消息通道系统,对每个用户会维护一个APP到服务器的TCP连接,用来实时收发消息,对这个TCP连接,有这样一个需求:“如果连续30s没有请求包(例如登录,消息,keepalive包),服务端就要将这个用户的状态置为离线”。  

2017-03-19 12:15:17 1620 1

原创 1分钟实现“延迟消息”功能

一、缘起 很多时候,业务有“在一段时间之后,完成一个工作任务”的需求。   例如:滴滴打车订单完成后,如果用户一直不评价,48小时后会将自动评价为5星。 一般来说怎么实现这类“48小时后自动评价为5星”需求呢?   常见方案:启动一个cron定时任务,每小时跑一次,将完成时间超过48小时的订单取出,置为5星,并把评价状态置为已评价。 假设订单表的结构为

2017-03-19 12:13:40 1136

原创 让你分分钟学会 JS 闭包

闭包,是 Javascript 比较重要的一个概念,对于初学者来讲,闭包是一个特别抽象的概念,特别是ECMA规范给的定义,如果没有实战经验,很难从定义去理解它。因此,本文不会对闭包的概念进行大篇幅描述,直接上干货,让你分分钟学会闭包! 1、闭包,一睹为快 在接触一个新技术的时候,我首先会做的一件事就是找它的 demo code。对于我们来说,看代码比自然语言更能理解一个事物的本

2017-03-19 12:08:09 502

原创 Niginx

2017-03-15 11:56:57 312

原创 史上最全常用正则表达式

很多不太懂正则的朋友,在遇到需要用正则校验数据时,往往是在网上去找很久,结果找来的还是不很符合要求。所以我最近把开发中常用的一些正则表达式整理了一下,在这里分享一下。给自己留个底,也给朋友们做个参考。 一、校验数字的表达式 1. 数字:^[0-9]*$ 2. n位的数字:^\d{n}$ 3. 至少n位的数字:^\d{n,}$ 4. m-n位的数字:

2017-03-15 11:51:23 236

原创 秒杀系统架构

2017-03-13 23:27:40 254

原创 常用 Git 命令清单

我每天使用 Git ,但是很多命令记不住。 一般来说,日常使用只要记住下图6个命令,就可以了。但是熟练使用,恐怕要记住60~100个命令。 下面是我整理的常用 Git 命令清单。几个专用名词的译名如下。     Workspace:工作区     Index / Stage:暂存区     Repository:仓库区(或本地仓库)     Re

2017-03-13 23:25:59 200

原创 HashMap底层原理

2017-03-12 10:46:06 420

原创 异步消息的性能与激情之Netty开发思路

2017-03-09 01:18:21 350

原创 Linux系统常用命令大全

系统信息   arch 显示机器的处理器架构(1)   uname -m 显示机器的处理器架构(2)   uname -r 显示正在使用的内核版本   dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI)   hdparm -i /dev/hda 罗列一个磁盘的架构特性   hdparm -tT /dev/sda 在磁盘上执行测试性读取操作   cat /pr

2017-03-05 14:08:06 209

原创 Spring的事务

2017-03-04 22:06:38 395

原创 Spring的事务管理

经典事务面试题

2017-03-04 21:43:15 211

原创 部署架构

2017-03-04 13:20:34 1314 1

原创 秒杀系统的架构

2017-03-04 13:12:45 230

原创 架构的本质

2017-03-04 12:41:40 163

原创 程序员的3年之痒改变的不止薪水

写在开始,这里借用特立独行的猫的一句话,你可以原地踏步,但别觉得别人都该和你一样。                  程序员的3年之痒,的确是时候该挠挠自己了。3年的程序员生涯,不长不短,但它的确是一个坎。3年改变了我们的不仅仅是年龄,当然还有薪水。                工作也有几年了,特别是今年要学的东西越来越多,然后感觉自己越来越无知。有时候恨不能所有的东西都

2017-03-04 12:14:50 288

原创 springmvc

package cn.internet.controller; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.web.servlet.ModelAndView; import org.spr

2017-03-03 00:11:01 246

原创 二分查找法

public static int halfSeach_2(int[] arr,int key){ int min,max,mid; min = 0; max = arr.length-1; mid = (max+min)>>1; //(max+min)/2; while(arr[mid]!=key){ if(key>arr[mid]){ min = mid + 1; } else if(key1

2017-03-03 00:08:07 289

原创 模板方法设计模式

解决的问题:当功能内部一部分实现时确定,一部分实现是不确定的。这时可以把不确定的部分暴露出去,让子类去实现。 abstract class GetTime{     public final void getTime(){ //此功能如果不需要复写,可加final限定         long start = System.currentTimeMillis();     

2017-03-03 00:01:05 219

原创 zookeeper的原理及应用

2017-03-02 23:57:04 265

原创 详细深入分析 Java ClassLoader 工作机制

详细深入分析 Java ClassLoader 工作机制 什么是 ClassLoader ? 大家都知道,当我们写好一个 Java 程序之后,不是管是 C/S 还是 B/S 应用,都是由若干个 .class 文件组织而成的一个完整的 Java 应用程序,当程序在运行时,即会调用该程序的一个入口函数来调用系统的相关功能,而这些功能都被封装在不同的 class 文件当中,所以经常要从这个 cl

2017-03-02 23:52:26 282

原创 设计模式

设计模式:解决问题最行之有效的思想。是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 单例设计模式: 解决的问题:保证一个类在内存中的对象唯一性。 比如:多程序读取一个配置文件时,建议配置文件封装成对象。会方便操作其中数据,又要保证多个程序读到的是同一个配置文件对象,就需要该配置文件对象在内

2017-03-02 23:42:33 236

原创 GAP平台

2017-03-02 23:27:59 1078

空空如也

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

TA关注的人

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