2016年9月24日

mysql对emoji的支持

摘要: 步骤: 1. 升级mysql数据库到5.5.3+ 2. 修改database、table和column字符集 alter database DATABASE_NAME character set = utf8mb4 collate = utf8mb4_unicode_ci; alter table 阅读全文

posted @ 2016-09-24 13:07 coderland 阅读(896) 评论(0) 推荐(0)

《程序员跳槽全攻略》读书笔记

摘要: 《程序员跳槽全攻略》读书笔记 原理篇 价值论 你的价值,和你技术牛不牛无关,只和你能为你的雇主提供多少价值有关。这是最根本的规则。增加自己的使用价值很简单,提升自己的业务能力就好。 供需 虽然交换价值以使用价值为基础,但它更容易受供需的影响。 供需也是可以调整的,技巧就在于选择更好的细分市场。因为需 阅读全文

posted @ 2016-09-24 13:06 coderland 阅读(6351) 评论(1) 推荐(2)

ssh的无密码登录

摘要: 实现步骤如下: 1 生成一对公钥和私钥 $ ssh keygen 以上命令等价于 ssh keygen t rsa t:指定密钥的类型,默认为SSH 2 的rsa类型; 运行上面的命令后,系统会出现一系列提示,可以一直回车(注:其中有一个问题是,要不要对私钥设置口令(passphrase),如果担心 阅读全文

posted @ 2016-09-24 13:05 coderland 阅读(180) 评论(0) 推荐(0)

java Arrays.asList用法

摘要: java Arrays.asList用法 用途 Arrays是java容器相关操作的工具类,asList方法将Array转换为list,是Array和List之间的桥梁。 注意 Arrays.asList返回一个基于参数array的fixed list,即不能对返回的list进行修改操作,如删除操作 阅读全文

posted @ 2016-09-24 13:04 coderland 阅读(2539) 评论(0) 推荐(0)

Kafka记录Nginx的POST请求

摘要: 最近因为工作原因,需要将Nignx的POST请求数据实时采集到Kafka中。最容易的想到的方案就是通过"tail f" Nginx的log日志到Kafka的Broker集群中,但是这种方案效率、吞吐量都很低,完全无法满足业务上的需要。所以如果能直接在Nginx中获取到POST请求数据,并调用Kafk 阅读全文

posted @ 2016-09-24 13:03 coderland 阅读(1463) 评论(0) 推荐(0)

AOP不起作用的原因之一

摘要: 在 servlet.xml配置context:component scan后,Spring在扫描包时,会将所有带 @Service注解的类都扫描到容器中。而 servlet.xml和applicationContext.xml不是同时加载。等到加载applicationContext.xml时,由于 阅读全文

posted @ 2016-09-24 13:02 coderland 阅读(469) 评论(0) 推荐(0)

Linux的crontab应注意事项

摘要: 今天遇到一个问题,困扰了好久,刚开始时以为crontab定时任务配置错误,后经过验证没有错误,然后又怀疑到是不是权限问题呀?将权限跟改为root后,重新配置crontab定时任务,还是不行,真是让人气馁。后来想到在脚本中通过“set x”命令打开脚本调试信息并重定向到一个文件中,后查看输出文件,发现 阅读全文

posted @ 2016-09-24 13:01 coderland 阅读(330) 评论(0) 推荐(0)

Restful API设计要点

摘要: 1 Restful API时面向资源,不能面向动作; 2 充分利用http协议的GET, HEAD, OPTION, PUT, POST, DELETE几种方法; 3 GET方法用于获取资源,是幂等和安全的; 4 HEAD方法用于获取头信息,是幂等和安全的 5 OPTION方法用于获取服务器支持的方 阅读全文

posted @ 2016-09-24 13:00 coderland 阅读(546) 评论(0) 推荐(0)

Kafka学习记录

摘要: 1 Kafka的基本介绍 Apache Kafka是分布式发布 订阅消息系统。它最初由LinkedIn公司开发,之后成为Apache项目的一部分。具有快速、可扩展、分布式、可复制等特点。Kafka与传统消息系统相比,有以下不同: 它被设计为一个分布式系统,易于向外扩展; 它同时为发布和订阅提供高吞吐 阅读全文

posted @ 2016-09-24 12:59 coderland 阅读(640) 评论(0) 推荐(0)

Spring REST实践之REST基本介绍

摘要: REST是什么 REST(REpresentational State Transfer)是一个设计分布式web应用的框架风格,有六个基本原则: Client Server:应用的参独立与者可分为Client和Server,Client和Server可以独立发展和扩展。 Stateless:Clie 阅读全文

posted @ 2016-09-24 12:58 coderland 阅读(8492) 评论(0) 推荐(0)

mysql index的长度限制

摘要: 在InnoDB Storage Engine中单独一个列的最大的索引长度为767bytes,utf8字符集中,一个字符占3个字节,所以如果列的类型为char,那么要想在此列上建立索引,此列最多只能有255个字符。如果是utf8mb4字符集,一个字符占4个字节,那么要想在此列上建立索引,此列最多包含1 阅读全文

posted @ 2016-09-24 12:58 coderland 阅读(398) 评论(0) 推荐(0)

Spring REST实践之Spring Web MVC

摘要: Spring概要 Spring Framework提供了依赖注入模型和面向切面编程,简化了基础型代码的编写工作以及更好的能够与其它框架和技术整合起来。Spring Framework由data access、instrumentation、messaging、testing、Web integrat 阅读全文

posted @ 2016-09-24 12:57 coderland 阅读(854) 评论(0) 推荐(0)

Spring REST实践之Error Handling

摘要: Error Responses 在REST API中,HTTP状态码有非常重要的作用。API开发者应该坚持为每一个请求返回一个正确合适的状态码,而且应该在响应body中包含有用的、细粒度的错误信息。这些细节都可以帮助API使用者更快的定位错误。一般在错误响应体中应该包含如下信息(当然可以根据具体情况 阅读全文

posted @ 2016-09-24 12:54 coderland 阅读(579) 评论(0) 推荐(0)

Spring REST实践之Spring Boot

摘要: Spring Boot基本描述 可以利用http://start.spring.io网站的进行Spring Boot的初始化构建。这个初始化构建器允许你输入工程基本信息、挑选工程支持的功能,最后会生成一个zip压缩包供你下载。利用http://start.spring.io网站生成的工程模板中,在p 阅读全文

posted @ 2016-09-24 12:54 coderland 阅读(751) 评论(0) 推荐(0)

mysql分页优化

摘要: 1、避免count( ) 不用显示所有消息数量,可让用户通过点击next获取更多消息 不要为每个请求计算count,缓存count,不用显示太精确的count值,用户不会太关心 可按不同数量级,显示不同精度的count 事先计算好count,随着insert/delete操作增加/减少count 2 阅读全文

posted @ 2016-09-24 12:52 coderland 阅读(154) 评论(0) 推荐(0)

Spring REST实践之Documenting REST Services

摘要: Swagger基本介绍 Swagger是创建交互式REST API文档的规范和框架,它能自动同步REST服务的任何变化,同时为生成API客户端代码提供了一套工具和SDK生成器。Swagger规范由两种文件类型组成:资源文件(包含一系列文件)和一套API声明文件(描述了REST API和可用的操作)。 阅读全文

posted @ 2016-09-24 12:52 coderland 阅读(1000) 评论(0) 推荐(0)

Spring REST实践之Versioning,Paging和Sorting

摘要: Versioning 为适应需求的变化以及兼容已有的API,需要创建新版本的API,一般有四种流行的版本化API的方法: URI版本化 URI参数版本化 Accept header版本化 自定义header版本化 URI版本化 在这种方法中,版本信息变成了URI一部分。例如: LinkedIn: h 阅读全文

posted @ 2016-09-24 12:51 coderland 阅读(402) 评论(0) 推荐(0)

深度学习 读书笔记

摘要: 概述 所谓“深度学习”,顾名思义,就是学东西不只看它浮在表面的东西,而是往深入去挖掘,甚至看到别人所未见的东西。 提问 一个非问题导向的学习过程是:订立学习计划;实施学习;回顾和整理。在这个过程中,学习者扮演的只是一个“吸纳者”或者“搬运者”的角色,他们把外部载体中的某个确定的知识集合,经过一定的消 阅读全文

posted @ 2016-09-24 12:50 coderland 阅读(503) 评论(0) 推荐(0)

Spring REST实践之安全

摘要: Securing REST Services 一般有六种方式实现的REST服务的安全: Session based security HTTP Basic Authentication Digest Authentication Certificate based security XAuth OA 阅读全文

posted @ 2016-09-24 12:41 coderland 阅读(2988) 评论(0) 推荐(0)

Spring REST实践之客户端和测试

摘要: RestTemplate 可参考spring实战来写这部分。 RestTemplate免于编写乏味的样板代码,RestTemplate定义了33个与REST资源交互的方法,涵盖了HTTP动作的各种形式,其实这些方法只有11个独立的方法,而每一个方法都由3个重载的变种。 delete():在特定的UR 阅读全文

posted @ 2016-09-24 12:37 coderland 阅读(15618) 评论(0) 推荐(0)

Spring REST实践之HATEOAS

摘要: HATEOAS HATEOAS(The Hypermedia As The Engine Of Application Statue)是REST架构的主要约束。“hepermedia”表示任何包含指向图片、电影、文字等资源的链接,Web是超媒体的经典例子。HATEOAS背后的思想其实非常简单,就是响 阅读全文

posted @ 2016-09-24 12:36 coderland 阅读(19382) 评论(0) 推荐(1)

MySQL索引实践

摘要: 索引使用的原则 1 最左前缀匹配原则,非常重要的原则,mysql会一直向右匹配直到遇到范围查询( 、 3 and d = 4 如果建立(a,b,c,d)顺序的索引,d是用不到索引的,如果建立(a,b,d,c)的索引则都可以用到,a,b,d的顺序可以任意调整。 2 =和in可以乱序,比如a = 1 a 阅读全文

posted @ 2016-09-24 12:34 coderland 阅读(158) 评论(0) 推荐(0)

读懂diff

摘要: 声明:本文转载自 阮一峰的网络日志 的 读懂diff diff是Unix系统的一个很重要的工具程序。 它用来比较两个文本文件的差异,是代码版本管理的基石之一。你在命令行下,输入: $ diff diff就会告诉你,这两个文件有何差异。它的显示结果不太好懂,下面我就来说明,如何读懂diff。 一、di 阅读全文

posted @ 2016-09-24 12:33 coderland 阅读(42) 评论(0) 推荐(0)

Netty笔记

摘要: 1 基本介绍 Bootstrap Netty应用程序通过设置 bootstrap(引导)类开始,该类提供了一个用于应用程序网络层配置的容器。Bootstrap有两种类型,一种是用于客户端的Bootstrap,一种是用于服务端的ServerBootstrap。不管应用程序使用哪种协议,无论是客户端还是 阅读全文

posted @ 2016-09-24 12:31 coderland 阅读(1194) 评论(0) 推荐(0)

Java闭包

摘要: 函数式接口 函数式接口定义:只拥有一个方法的接口。 Java 8 新增了一个包:java.util.function,它里面包含了常用的函数式接口,例如: Predicate——接收T对象并返回boolean Consumer——接收T对象,不返回值 Function——接收T对象,返回R对象 Su 阅读全文

posted @ 2016-09-24 12:30 coderland 阅读(114) 评论(0) 推荐(0)

Spring的ControllerAdvice注解

摘要: @ControllerAdvice,是spring3.2提供的新注解,其实现如下所示: @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documented @Component public @interface Con 阅读全文

posted @ 2016-09-24 12:29 coderland 阅读(1417) 评论(0) 推荐(0)

hashCode()和equals()的用法

摘要: 使用hashCode()和equals() hashCode()和equals()定义在Object类中,这个类是所有java类的基类,所以所有的java类都继承这两个方法。 hashCode()方法被用来获取给定对象的唯一整数。这个整数被用来确定对象被存储在HashTable类似的结构中的位置。默 阅读全文

posted @ 2016-09-24 12:28 coderland 阅读(2264) 评论(0) 推荐(0)

MySQL Update语句用法

摘要: 用一个表的某列值更新另外一个表的某列值的sql语句: update tableA a innner join tableB b on a.column_1 = b.column_1 set a.column_2 = b.column_2; 用一个表的某列值更新同一个表的另一列值的sql语句: upd 阅读全文

posted @ 2016-09-24 12:27 coderland 阅读(860) 评论(0) 推荐(0)

mysql的interval函数用法

摘要: Name: 'INTERVAL' Description: Syntax: INTERVAL(N,N1,N2,N3,...) Returns 0 if N SELECT INTERVAL(23, 1, 15, 17, 30, 44, 200); 3 mysql SELECT INTERVAL(10, 阅读全文

posted @ 2016-09-24 12:27 coderland 阅读(10464) 评论(0) 推荐(0)

多端数据同步方案

摘要: 1 Evernote 1.1 基本介绍 Evernote包括笔记(Note)、笔记本(Notebook)、标签(Tag)、资源(Resource)、搜索记录(SavedSearch)等概念。 USN(Update Sequence Number)是整个同步系统中最重要的东西,它用于标识账户中的每一次 阅读全文

posted @ 2016-09-24 12:26 coderland 阅读(9809) 评论(1) 推荐(0)

MySQL select into outfile用法

摘要: select into outfile用法 SELECT ... FROM TABLE_A INTO OUTFILE "/path/to/file" FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n 阅读全文

posted @ 2016-09-24 12:25 coderland 阅读(51277) 评论(0) 推荐(0)

RESTful API 设计最佳实践

摘要: 原文地址:http://blog.jobbole.com/41233/ 背景 目前互联网上充斥着大量的关于RESTful API(为方便,下文中“RESTful API ”简写为“API”)如何设计的文章,然而却没有一个”万能“的设计标准:如何鉴权?API 格式如何?你的API是否应该加入版本信息? 阅读全文

posted @ 2016-09-24 12:23 coderland 阅读(131) 评论(0) 推荐(0)

INSERT ON DUPLICATE KEY UPDATE 用法

摘要: 原文地址:http://dev.mysql.com/doc/refman/5.1/en/insert on duplicate.html If you specify ON DUPLICATE KEY UPDATE, and a row is inserted that would cause a 阅读全文

posted @ 2016-09-24 12:22 coderland 阅读(420) 评论(0) 推荐(0)

系统负载能力相关分析

摘要: 原文地址:http://www.rowkey.me/blog/2015/09/09/load analysis/ 互联网时代,高并发是一个老生常谈的话题。无论对于一个web站点还是app应用,高峰时能承载的并发请求都是衡量一个系统性能的关键标志。像阿里双十一顶住了上亿的峰值请求、订单也确实体现了阿里 阅读全文

posted @ 2016-09-24 12:21 coderland 阅读(1929) 评论(0) 推荐(0)

TCP的工作过程

摘要: TCP的工作过程 TCP却是一个极其复杂的协议,以下只是冰山一角 建立连接的三次握手 1. 主动方发送(SYN J),进入SYN_SENT状态 2. 被动方收到(SYN J),并往回发送(SYN K, ACK J+1),进入SYN_RCVD状态 3. 主动方收到(SYN K, ACK J+1),并往 阅读全文

posted @ 2016-09-24 12:18 coderland 阅读(805) 评论(0) 推荐(0)

乐观锁--CAS

摘要: 悲观锁与乐观锁的区别 悲观锁会把整个对象加锁占为已有后才去做操作,Java中的Synchronized属于悲观锁。悲观锁有一个明显的缺点就是:它不管数据存不存在竞争都加锁,随着并发量增加,且如果锁的时间比较长,其性能开销将会变得很大。 乐观锁不获取锁直接做操作,然后通过一定检测手段决定是否更新数据, 阅读全文

posted @ 2016-09-24 12:16 coderland 阅读(4957) 评论(0) 推荐(2)

MySQL timestamp用法

摘要: 与timestamp类型相关的类型包括:date类型与datetime类型。date类型只包含日期部分,不包含时间部分,它的格式为'YYYY MM DD',支持的范围为'1000 01 01' to '9999 12 31'。datetime类型包含日期和时间两部分,它的格式为'YYYY MM DD 阅读全文

posted @ 2016-09-24 12:15 coderland 阅读(835) 评论(0) 推荐(0)

MySQL BINARY和BIT类型

摘要: BINARY和VARBINARY类型 BINARY和VARBIANRY类型同CHAR和VARCHAR类型相似,除了BIANARY和VARBINARY类型只包含二进制字符串,即它们只包含byte串而非字符串,它们没有字符集的概念,排序和比较操作都是基于字节的数字值。 BINARY和VARBIANRY类 阅读全文

posted @ 2016-09-24 12:14 coderland 阅读(19338) 评论(3) 推荐(2)

DNS浅析

摘要: 原文链接:http://selfboot.cn/2015/11/05/dns_theory/ DNS 历史 要想访问网络上的一台计算机,我们必须要知道它的IP地址,但是这些地址(比如243.185.187.39)只是一串数字,没有规律,因此我们很难记住。并且如果一台计算机变更IP后,它必须通知所有的 阅读全文

posted @ 2016-09-24 12:13 coderland 阅读(103) 评论(0) 推荐(0)

http状态码

摘要: 1xx(临时响应) 表示临时响应并需要请求者继续执行操作的状态代码。 代码 说明 100 (继续) 请求者应当继续提出请求。 服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。 101 (切换协议) 请求者已要求服务器切换协议,服务器已确认并准备切换。 2xx (成功) 表示成功处理了请求 阅读全文

posted @ 2016-09-24 12:08 coderland 阅读(254) 评论(0) 推荐(0)

Visual Representation of SQL Joins

摘要: 原文链接:http://www.codeproject.com/Articles/33052/Visual Representation of SQL Joins Introduction This is just a simple article visually explaining SQL J 阅读全文

posted @ 2016-09-24 12:07 coderland 阅读(97) 评论(0) 推荐(0)

MyBatis中井号与美元符号的区别

摘要: 1. \ {变量名}可以进行预编译、类型匹配等操作,\ {变量名}会转化为jdbc的类型。 select from tablename where id = \ {id} 假设id的值为12,其中如果数据库字段id为字符型,那么\ {id}表示的就是'12',如果id为整型,那么id就是12,并且M 阅读全文

posted @ 2016-09-24 12:02 coderland 阅读(19368) 评论(0) 推荐(5)

Spring Controller参数为空串的处理方式

摘要: 控制器参数为String类型 Spring框架接收到传入的空串后,此参数被赋值为空串,不为null。 控制器参数为非String类型 Spring框架接收到传入的空串后,此参数被赋值为null。 阅读全文

posted @ 2016-09-24 12:01 coderland 阅读(1748) 评论(0) 推荐(0)

Java 8 中的 Streams API 详解

摘要: 为什么需要 Stream Stream 作为 Java 8 的一大亮点,它与 java.io 包里的 InputStream 和 OutputStream 是完全不同的概念。它也不同于 StAX 对 XML 解析的 Stream,也不是 Amazon Kinesis 对大数据实时处理的 Stream 阅读全文

posted @ 2016-09-24 12:00 coderland 阅读(90) 评论(0) 推荐(0)

netstat用法

摘要: 列出所有连接 netstat a 列出TCP协议的所有连接 netstat at 列出UDP协议的所有连接 netstat au 禁止反向域名解析,加快查询速度 使用 n选项可禁止反向域名解析。 netstat ant 列出监听中的连接 使用 l选项,可列出监听中的端口。但是如果 l与 a同时使用, 阅读全文

posted @ 2016-09-24 11:56 coderland 阅读(554) 评论(0) 推荐(0)

Java String Top 10问题

摘要: 1 如何比较字符串,“==”或者equals()? ”==“用于判断引用是否相等,equals()用于判断值是否相等。除非想判断两个字符串是否为同一个对象,否则最好经常使用equals()。 2 敏感信息为何优先选择char[]? String是不可变的,即创建之后不可改变,它们一直保持不变直到GC 阅读全文

posted @ 2016-09-24 11:55 coderland 阅读(50) 评论(0) 推荐(0)

nginx 日志

摘要: 日志分类 Nginx日志主要分为两种:访问日志和错误日志。日志开关在Nginx配置文件(/etc/nginx/nginx.conf)中设置,两种日志都可以选择性关闭,默认都是打开的。 访问日志 访问日志主要记录客户端访问Nginx的每一个请求,格式可以自定义。通过访问日志,你可以得到用户地域来源、跳 阅读全文

posted @ 2016-09-24 11:53 coderland 阅读(101) 评论(0) 推荐(0)

zookeeper的配置项

摘要: 1 tickTime:CS通信心跳数 Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳。tickTime以毫秒为单位。 tickTime=2000 2 initLimit:LF初始通信时限 集群中的follower服务器(F)与 阅读全文

posted @ 2016-09-24 11:52 coderland 阅读(768) 评论(0) 推荐(0)

C++ Lambda表达式用法

摘要: C++ 11中的Lambda表达式用于定义并创建匿名的函数对象,以简化编程工作。 Lambda的语法形式如下: [函数对象参数] (操作符重载函数参数) mutable或exception声明 返回值类型 {函数体} 可以看到,Lambda主要分为五个部分:[函数对象参数]、(操作符重载函数参数)、 阅读全文

posted @ 2016-09-24 11:51 coderland 阅读(14233) 评论(0) 推荐(0)

java命令行运行jar里的main类

摘要: 一般运行包含manifest的jar包,可以使用 java jar .jar 如果jar里没有 manifest,则可以使用 java cp foo.jar full.package.name.ClassName 当main类依赖多个jar时,可以把多个jar打包到一个目录,然后用 Djava.ex 阅读全文

posted @ 2016-09-24 11:50 coderland 阅读(50441) 评论(0) 推荐(1)

Random的nextInt用法

摘要: 因为想当然的认为Random类中nextInt()(注:不带参数),会产生伪随机的正整数,采用如下的方式生成0~99之间的随机数: Random random = new Random(); random.nextInt() % 100; 但是在运行的时候,发现上面的方法有时会产生负数,通过查看Ra 阅读全文

posted @ 2016-09-24 11:50 coderland 阅读(6234) 评论(0) 推荐(0)

java选项及系统属性

摘要: java选项 d32 使用 32 位数据模型 (如果可用) d64 使用 64 位数据模型 (如果可用) server 选择 "server" VM 默认 VM 是 server, 因为您是在服务器类计算机上运行。 cp classpath 用 : 分隔的目录, JAR 档案 和 ZIP 档案列表, 阅读全文

posted @ 2016-09-24 11:47 coderland 阅读(1251) 评论(0) 推荐(0)

mybatis generator配置文件

摘要: <!DOCTYPE generatorConfiguration PUBLIC " //mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis generator config 阅读全文

posted @ 2016-09-24 11:45 coderland 阅读(1106) 评论(0) 推荐(0)

六个网络调试工具

摘要: 作为一名Web开发者,当程序出现问题时日子总不是那么好过。问题可能无处不在,可能是你发送的请求出了错,可能是回复出了错,可能是你使用的某个第三方库出了问题,又或者是一个外部API调用失败了。优秀的工具对于定位问题出在何处有着无可估量的价值,而且能在一开始就帮助我们阻止问题的出现,总的来说能使我们的工 阅读全文

posted @ 2016-09-24 11:44 coderland 阅读(3499) 评论(0) 推荐(0)

Java中的Filter过滤器

摘要: Filter简介 Filter也称之为过滤器,它是Servlet技术中最实用的技术,Web开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态图片文件或静态 html 文件等进行拦截,从而实现一些特殊的功能。例如实现URL级别的权限访问控制、过滤敏感 阅读全文

posted @ 2016-09-24 11:43 coderland 阅读(153268) 评论(9) 推荐(23)

Listener 监听器

摘要: Listener的定义与作用 监听器Listener就是在application,session,request三个对象创建、销毁或者往其中添加修改删除属性时自动执行代码的功能组件。 Listener是Servlet的监听器,可以监听客户端的请求和服务端的操作等。 Listener的分类与使用 主要 阅读全文

posted @ 2016-09-24 11:41 coderland 阅读(1425) 评论(1) 推荐(0)

HttpMessageConverter用法

摘要: HttpMessageConverter接口定义 Strategy interface that specifies a converter that can convert from and to HTTP requests and responses. @author Arjen Poutsma 阅读全文

posted @ 2016-09-24 11:39 coderland 阅读(5238) 评论(0) 推荐(0)

Spring @RequestHeader用法

摘要: Spring MVC提供了 @RequestHeader注解,能够将请求头中的变量值映射到控制器的参数中。下面是一个简单的例子: import org.springframework.stereotype.Controller; import org.springframework.web.bind 阅读全文

posted @ 2016-09-24 11:38 coderland 阅读(11422) 评论(0) 推荐(1)

Spring MVC Framework 实例

摘要: 一 SpringMVC基础入门,创建一个HelloWorld程序 1 首先,导入SpringMVC需要的jar包。 commons logging .jar spring aop .jar spring beans .jar spring context .jar spring core .jar 阅读全文

posted @ 2016-09-24 11:36 coderland 阅读(381) 评论(0) 推荐(0)

Spring MVC Framework 注解

摘要: ControllerAdvice Spring MVC Framework会把 @ControllerAdvice注解内部使用 @ExceptionHandler、@InitBinder、@ModelAttribute注解的方法应用到所有的 @RequestMapping注解的方法(不过只有当使用 阅读全文

posted @ 2016-09-24 11:24 coderland 阅读(486) 评论(0) 推荐(0)

HTTP Header 简介

摘要: HTTP Header 简介 HTTP(HyperTextTransferProtocol)即超文本传输协议,目前网页传输的的通用协议。HTTP协议采用了请求/响应模型,浏览器或其他客户端发出请求,服务器给与响应。就整个网络资源传输而言,包括message header和message body两部 阅读全文

posted @ 2016-09-24 11:23 coderland 阅读(288) 评论(0) 推荐(0)

ID生成器的一种可扩展实现方案

摘要: ID生成器主要为了解决业务程序生成记录ID的场景,而一个好的ID生成器肯定要满足扩展性好、并发性好的特点,本文下面介绍一种满足上述特点的实现方案。 此方案的核心思想是:每次需要扩容机器时,将每个节点维护的ID集合分成相等两份,其中一份分给一个新增的节点。 此方案的实现过程: 1 初始时,由一个节点负 阅读全文

posted @ 2016-09-24 11:22 coderland 阅读(271) 评论(0) 推荐(0)

使用PUT方法上传文件无法工作原因分析

摘要: 现象 在Spring Framework中,使用HTTP的PUT方法上传文件时,在服务器端发现Multipart参数为空。 原因 Spring中的StandardServletMultipartResolver和CommonsMultipartResolver,只支持POST方法。在这两个Multi 阅读全文

posted @ 2016-09-24 11:20 coderland 阅读(581) 评论(0) 推荐(0)

傻瓜函数式编程

摘要: 开篇 我们这些码农做事都是很拖拉的。每天例行报到后,先来点咖啡,看看邮件还有RSS订阅的文章。然后翻翻新闻还有那些技术网站上的更新,再过一遍编程论坛口水区里那些无聊的论战。最后从头把这些再看一次以免错过什么精彩的内容。然后就可以吃午饭了。饭饱过后,回来盯着IDE发一会呆,再看看邮箱,再去搞杯咖啡。光 阅读全文

posted @ 2016-09-24 11:19 coderland 阅读(106) 评论(0) 推荐(0)

负载均衡算法

摘要: 随机:负载均衡方法随机的把负载分配到各个可用的服务器上,通过随机数生成算法选取一个服务器,然后把连接发送给它。虽然许多均衡产品都支持该算法,但是它的有效性一直受到质疑,除非把服务器的可运行时间看的很重。 轮询:轮询算法按顺序把每个新的连接请求分配给下一个服务器,最终把所有请求平分给所有的服务器。轮询 阅读全文

posted @ 2016-09-24 11:16 coderland 阅读(198) 评论(0) 推荐(0)

父类和子类属性覆盖的各种情况分析

摘要: 父类中的private属性 由于private属性是父类私有的,所以不能被覆盖。 父类中public、protected和package属性 可以被覆盖 父类中的非private静态变量、静态常量 静态变量、静态常量属于类,不属于某个对象,所以不存在覆盖概念。父类和子类相同的非private静态变量 阅读全文

posted @ 2016-09-24 11:16 coderland 阅读(4540) 评论(0) 推荐(1)

java functional syntax overview

摘要: Defining a Functional Interface @FunctionalInterface public interface TailCall { TailCall apply(); default boolean isComplete() { return false; } //.. 阅读全文

posted @ 2016-09-24 11:15 coderland 阅读(230) 评论(0) 推荐(0)

Starter Set of Functional Interfaces

摘要: Java Development Kit 8 has a number of functional interfaces. Here we review the starter set—the interfaces we frequently encounter and need to first 阅读全文

posted @ 2016-09-24 11:13 coderland 阅读(190) 评论(0) 推荐(0)

application/xml和text/xml的区别

摘要: XML有两个MIME类型,application/xml和text/xml,它们之间的区别是: text/xml忽略xml文件头中的关于编码的设定(),默认采用us ascii编码。 application/xml会依照xml文件头中编码的设定。 推荐使用application/xml。 阅读全文

posted @ 2016-09-24 11:10 coderland 阅读(3109) 评论(0) 推荐(1)

mime type 概要介绍

摘要: 内容类型 内容类型(Content Type),这个头部领域用于指定消息的类型。一般以下面的形式出现。 Content Type: [type]/[subtype]; parameter type type有下面的形式: Text:用于标准化地表示的文本信息,文本消息可以是多种字符集和或者多种格式的 阅读全文

posted @ 2016-09-24 11:06 coderland 阅读(375) 评论(0) 推荐(0)

spring mvc 详细执行流程

摘要: 名词解释 DispatcherServlet:整个spring MVC的前端控制器,由它来接管来自客户端的请求。 HandlerMapping:DispatcherServlet会通过它来处理客户端请求到各个(Controller)处理器的映射。 HandlerAdapter:HandlerMapp 阅读全文

posted @ 2016-09-24 11:05 coderland 阅读(778) 评论(0) 推荐(0)

C++常用容器

摘要: vector 顺序容器,和数组类似,可从尾部快速的插入和删除,可随机访问。 vector的常用成员函数: include std::vector vec; std::vector vec(size); std::vector vec(size,value); std::vector vec(myve 阅读全文

posted @ 2016-09-24 11:03 coderland 阅读(3421) 评论(0) 推荐(1)

函数调用栈浅析

摘要: 基本函数调用栈 相关寄存器 ebp:存储当前栈帧的基地址 esp:存储当前栈帧的栈顶地址 eip:存储程序计数器值 eax:存储函数返回值 函数调用栈结构图 入栈过程 1、将调用者函数的ebp入栈 2、将调用者函数的栈顶指针esp赋值给被调用函数的ebp 3、按从右到左的顺序将被调用函数的参数入栈 阅读全文

posted @ 2016-09-24 11:01 coderland 阅读(3920) 评论(0) 推荐(0)

大端模式和小端模式

摘要: 起源 关于大端小端名词的由来,有一个有趣的故事,来自于Jonathan Swift的《格利佛游记》:Lilliput和Blefuscu这两个强国在过去的36个月中一直在苦战。战争的原因:大家都知道,吃鸡蛋的时候,原始的方法是打破鸡蛋较大的一端,可以那时的皇帝的祖父由于小时侯吃鸡蛋,按这种方法把手指弄 阅读全文

posted @ 2016-09-24 10:58 coderland 阅读(257) 评论(0) 推荐(0)

阻塞 非阻塞 同步 异步

摘要: 常用的IO模型 blocking IO 在linux中,默认情况下所有的socket都是blocking,一个典型的读操作流程大概是这样: 当用户进程调用了recvfrom这个系统调用,kernel就开始了IO的第一个阶段:准备数据。对于network io来说,很多时候数据在一开始还没有到达(比如 阅读全文

posted @ 2016-09-24 10:55 coderland 阅读(290) 评论(1) 推荐(1)

Http Header Content-Disposition

摘要: Content Disposition用途 Content Disposition是为了实现服务器下载文件功能,并可提供文件名。 Content Disposition格式 content disposition = "Content Disposition" ":"disposition type 阅读全文

posted @ 2016-09-24 10:50 coderland 阅读(744) 评论(0) 推荐(0)

hash_map vs unordered_map vs map vs unordered_set

摘要: hash_map vs unordered_map 这两个的内部结构都是采用哈希表来实现。unordered_map在C++11的时候被引入标准库了,而hash_map没有,所以建议还是使用unordered_map比较好。 unordered_map vs map map的内部结构是R B tre 阅读全文

posted @ 2016-09-24 10:47 coderland 阅读(320) 评论(0) 推荐(0)

HttpMessageConverter和ContentNegotiatingViewResolver

摘要: HttpMessageConverter 在SpringMVC中,可以使用@RequestBody和@ResponseBody两个注解,分别完成请求报文到对象和对象到响应报文的转换,HttpMessageConverter完成了这种消息转换机制。 HttpMessageConverte接口定义: p 阅读全文

posted @ 2016-09-24 10:45 coderland 阅读(611) 评论(1) 推荐(0)

mvc annotation-driven作用

摘要: 会自动注册DefaultAnnotationHandlerMapping与AnnotationMethodHandlerAdapter两个bean,是spring MVC为Controller分发请求所必须的,annotation driven主要完成了URL到Controller各个Handler 阅读全文

posted @ 2016-09-24 10:44 coderland 阅读(259) 评论(0) 推荐(0)

SimpleUrlHandlerMapping用法

摘要: SimpleUrlHandlerMapping是Spring MVC中适用性最强的Handler Mapping类,允许明确指定URL模式和Handler的映射关系。有两种方式声明SimpleUrlHandlerMapping。 prop key key是URL模式,属性值是Handler的ID或者 阅读全文

posted @ 2016-09-24 10:39 coderland 阅读(9334) 评论(0) 推荐(0)

Spring MVC静态资源处理

摘要: 优雅REST风格的资源URL不希望带 .html 或 .do 等后缀.由于早期的Spring MVC不能很好地处理静态资源,所以在web.xml中配置DispatcherServlet的请求映射,往往使用 .do 、 .xhtml等方式。这就决定了请求URL必须是一个带后缀的URL,而无法采用真正的 阅读全文

posted @ 2016-09-24 10:38 coderland 阅读(712) 评论(0) 推荐(0)

java应用CPU占用率过高问题的分析

摘要: 使用top查询哪个进程占用CPU过高 查看CPU占用高的进程中,哪个线程占用CPU高 可通过以下三种方式查看: 1 top中按SHIFT+H查找哪个线程占用高 2 top H p PID命令查看哪个线程占用高 3 ps mp PID o THREAD,tid,time 将线程id转换为16进制 pr 阅读全文

posted @ 2016-09-24 10:36 coderland 阅读(8646) 评论(0) 推荐(0)

web.xml文件中配置ShallowEtagHeaderFilter需注意的问题

摘要: 问题现象及解决方法 今天在Spring MVC应用中加入ShallowEtagHeaderFilter时,发现返回的响应中没有etag头,上网查了很多相关资料,也试了很多方法依然不起作用。在查看web.xml文件时,突然发现web.xml配置了UrlRewriteFilter,抱着试试看态度,将Sh 阅读全文

posted @ 2016-09-24 10:32 coderland 阅读(675) 评论(0) 推荐(0)

消息队列调研

摘要: 消息队列 近几年有关”Message Queue”的项目层出不穷,知名的就有十几种,这主要是因为后摩尔定律时代,分布式处理逐渐成为主流,业界需要一套标准来解决分布式计算环境中节点之间的消息通信。几年的竞争下来,Apache基金会旗下的符合AMQP/1.0标准的RabbitMQ已经得到了广泛的认可,成 阅读全文

posted @ 2016-09-24 10:31 coderland 阅读(526) 评论(0) 推荐(0)

二阶段提交

摘要: 在计算机网络以及数据库领域内,二阶段提交(英语:Two phase Commit)是指,为了使基于分布式系统架构下的所有节点在进行事务提交时保持一致性而设计的一种算法(Algorithm)。通常,二阶段提交也被称为是一种协议(Protocol)。在分布式系统中,每个节点虽然可以知晓自己的操作时成功或 阅读全文

posted @ 2016-09-24 10:29 coderland 阅读(1541) 评论(0) 推荐(0)

ACID CAP BASE介绍

摘要: ACID ACID,是指数据库管理系统(DBMS)在写入/更新资料的过程中,为保证事务(transaction)是正确可靠的,所必须具备的四个特性:原子性(atomicity,或称不可分割性)、一致性(consistency)、隔离性(isolation,又称独立性)、持久性(durability) 阅读全文

posted @ 2016-09-24 10:28 coderland 阅读(381) 评论(0) 推荐(0)

SQL NULL Values

摘要: NULL代表缺失的、未知的数据。表的列值默认是NULL。如果某个表的某个列不是NOT NULL的,那么当我们插入新纪录、更新已存在的记录时,可以不用为此列赋值,这意味着那个列保存为NULL值。 NULL值特性 NULL应和其它值区别对待。 NULL被认为是未知或者不兼容值的占位符。 NULL不能和0 阅读全文

posted @ 2016-09-24 10:27 coderland 阅读(142) 评论(0) 推荐(0)

HTTPS原理

摘要: 概述 HTTPS(Hyper Text Transfer Protocol over Secure Socket Layer),是一种基于SSL/TLS的HTTP,所有的http数据都是在SSL/TLS协议封装之上传输的。HTTPS协议在HTTP协议的基础上,添加了SSL/TLS握手以及数据加密传输 阅读全文

posted @ 2016-09-24 10:24 coderland 阅读(327) 评论(0) 推荐(0)

ID生成器详解

摘要: 概述 ID 生成器也叫发号器,它的主要目的就是“为一个分布式系统的数据object产生一个唯一的标识”,但其实在一个真实的系统里可能也可以承担更多的作用。概括起来主要有以下几点: 唯一性 时间相关 粗略有序 可反解 可制造 要唯一性,是否需要全局唯一? 说起全局唯一,通常大家都会在想到发号器服务,分 阅读全文

posted @ 2016-09-24 10:20 coderland 阅读(8204) 评论(0) 推荐(1)

如何变得更聪明

摘要: Read More Intelligence begins with reading. The more you will read, the more you will absorb and therefore the more intelligent you will get. Set Goal 阅读全文

posted @ 2016-09-24 10:14 coderland 阅读(286) 评论(0) 推荐(0)

原码 反码 补码

摘要: 一 机器数和真值 在学习原码, 反码和补码之前, 需要先了解机器数和真值的概念. 1 机器数 一个数在计算机中的二进制表示形式, 叫做这个数的机器数。机器数是带符号的,在计算机用一个数的最高位存放符号, 正数为0, 负数为1. 比如,十进制中的数 +3 ,计算机字长为8位,转换成二进制就是00000 阅读全文

posted @ 2016-09-24 10:12 coderland 阅读(212) 评论(0) 推荐(0)

导航