- 浏览: 199863 次
- 性别:
- 来自: 广州
最新评论
-
littlevine:
费斯汀格法则 -
zhongmin2012:
TDD测试驱动开发,推荐学习一个mock框架
测试驱动开发实践 - Test-Driven Development(转) -
littlevine:
总结得很好,学习了
软件测试活动 -
welcomezhang:
飘过~~~~
代码自动审查工具checkstyle,配合适应敏捷开发 -
zhongmin2012:
littlevine 写道学习了,写得很清晰
这个只是记录方便 ...
Linux文件权限常用操作
文章列表
高并发的核心技术-幂等的实现方案
- 博客分类:
- 分布式
2016-02-09 12:11 4252人阅读 评论(1) 收藏 举报
高并发的核心技术-幂等的实现方案 一、背景
Git由浅入深之分支管理
- 博客分类:
- ide
感谢作者熊建刚授权发布。 作者:熊建刚,前端开发工程师,毕业于北京交通大学,专注前端,喜好尝试新技术,热爱分享。个人邮箱:codingfun@163.com,博客地址:http://blog.codingplayboy.com/。 责编:陈秋歌,寻求报道或者投稿请发邮件至chenqg#csdn.net,或加微信:Rachel_qg。 了解更多前沿技术资讯,获取深度技术文章推荐,请关注CSDN研发频道微博。
几乎所有的版本控制系统都以分支的方式进行操作,分支是独立于项目主线的一条支线,我们可以在不影响主线代码的情况下,在分支下进行工作。对于传统的一些版本控制工具来说,我们通常需要花费比 ...
一、代码重构
软件开发中,代码质量与其整洁度成正比,干净的代码,既在质量上可靠,也为后期维护、升级奠定了良好基础。
实际开发中,我们经常听到”重构”二字。重构既不修正错误,又不增加新的功能性。反而它是用于提高代码的可读性或者改变代码内部结构与设计,并且移除死代码,使其在将来更容易被维护。
关于重构说明,如下图所示:
1.SpringBoot/spring
@SpringBootApplication:包含@Configuration、@EnableAutoConfiguration、@ComponentScan通常用在主类上。@Repository:用于标注数据访问组件,即DAO组件。@Service:用于标注业务层组件。 @RestController:用于标注控制层组件(如struts中的action) ...
【微服务架构】SpringCloud之Feign(五)
时间 2017-02-16 10:00:51 极客头条
原文 http://www.ccblog.cn/97.htm
主题 Spring Cloud 微服务
OSI七层与TCP/IP五层网络架构详解
- 博客分类:
- 网络安全
OSI七层与TCP/IP五层网络架构详解
OSI和TCP/IP是很基础但又非常重要的网络基础知识,理解得透彻对运维工程师来说非常有帮助。今天偶又复习了一下:
(1)OSI七层模型
OSI中的层 功能 TCP/IP协议族
应用层 文件传输,电子邮件,文件服务,虚拟终端 TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet
表示层 数据格式化,代码转换,数据加密 没有协议
会话层 解除或建立与别的接点的联系 没有协议
TCP长连接与短连接的区别
- 博客分类:
- 网络安全
TCP长连接与短连接的区别
1. TCP连接
当网络通信时采用TCP协议时,在真正的读写操作之前,server与client之间必须建立一个连接,当读写操作完成后,双方不再需要这个连接时它们可以释放这个连接,连接的建立是需要三次握手的,而释放则需要4次握手,所以说每个连接的建立都是需要资源消耗和时间消耗的
经典的三次握手示意图:
经典的四次握手关闭图:
2. TCP短连接
java多线程安全总结
- 博客分类:
- JAVA拾遗
最近想将java基础的一些东西都整理整理,写下来,这是对知识的总结,也是一种乐趣。已经拟好了提纲,大概分为这几个主题: java线程安全,java垃圾收集,java并发包详细介绍,java profile和jvm性能调优 。慢慢写吧。本人jameswxx原创文章,转载请注明出处,我费了很多心血,多谢了。关于java线程安全,网上有很多资料,我只想从自己的角度总结对这方面的考虑,有时候写东西是很痛苦的,知道一些东西,但想用文字说清楚,却不是那么容易。我认为要认识java线程安全,必须了解两个主要的点:java的内存模型,java的线程同步机制。特别是内存模型,java的线程同步机制很大程 ...
TCP协议中的三次握手和四次挥手(图解)
- 博客分类:
- 网络安全
建立TCP需要三次握手才能建立,而断开连接则需要四次握手。整个过程如下图所示:
先来看看如何建立连接的。
【更新于2017.01.04 】该部分内容配图有误,请大家见谅,正确的配图如下,错误配图也不删了,大家可以比较下,对比理解效果更好。这么久才来更新,抱歉!!
错误配图如下:
首先Client端发送连接请求报文,Server段接受连接后回复ACK报文,并为这次连接分配资源。Client端接收到ACK报文后也向Server段发生ACK报文,并分配资源,这样TCP连接就建立了。
那如何断开连接呢?简单的过程如下:
【注意】中断连接端可以是Cli
http协议学习系列
1. 基础概念篇
1.1 介绍
HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写。它的发展是万维网协会(World Wide Web Consortium)和Internet工作小组IETF(Internet Engineering Task Force)合作的结果,(他们)最终发布了一系列的RFC,RFC 1945定义了HTTP/1.0版本。其中最著名的就是RFC 2616。RFC 2616定义了今天普遍使用的一个版本——HTTP 1.1。
HTTP协议(HyperText Transfer Protocol,超文本 ...
【分布式】Zookeeper与Paxos
一、前言
在学习了Paxos在Chubby中的应用后,接下来学习Paxos在开源软件Zookeeper中的应用。
二、Zookeeper
Zookeeper是一个开源的分布式协调服务,其设计目标是将那些复杂的且容易出错的分布式一致性服务封装起来,构成一个高效可靠的原语集,并以一些列简单的接口提供给用户使用。其是一个典型的分布式数据一致性的解决方案,分布式应用程序可以基于它实现诸如数据发布/发布、负载均衡、命名服务、分布式协调/通知、集群管理、Master选举、分布式锁和分布式队列等功能。其可以保证如下分布式一致性特性。
...
数据库水平拆分和垂直拆分区别(以mysql为例
- 博客分类:
- 数据库
数据库水平拆分和垂直拆分区别(以mysql为例)
案例:
简单购物系统暂设涉及如下表:
1.产品表(数据量10w,稳定)
2.订单表(数据量200w,且有增长趋势)
3.用户表 (数据量100w,且有增长趋势)
以mysql为例讲述下水平拆分和垂直拆分,mysql能容忍的数量级在百万静态数据可以到千万
垂直拆分(按数据库表服务器拆分):
红色:当前所在分支
绿色:本地分支(一般对本地无用分支可以直接删除)
黄色:tag
橙色:远程分支
灰色:合并标示
IDEA 代码生成插件 CodeMaker
- 博客分类:
- ide
前言
Java 开发过程中经常会遇到手工编写重复代码的事情,例如说:编写领域类和持久类的时候,大部分时候它们的变量名称,类型是一样的,在编写领域类的时候常常要重复写类似的代码。所以开发了一个 IDEA 的代码生成插件,通过 Velocity 支持自定义代码模板来生成代码。
项目地址:CodeMaker
主要功能
支持增加自定义代码模板(Velocity)
支持选择多个类作为代码模板的上下文
Java开发中的23种设计模式详解(转)
- 博客分类:
- 建模
设计模式(Design Patterns)
——可复用面向对象软件的基础
设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样。项目中合理的运用设计模式可以完美的解决很多问题,每种模式在现在中都有相应的原理来与之对应,每一个模式描述了一个在我们周围不断重复发生的问题,以及该 ...