自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(67)
  • 资源 (4)
  • 收藏
  • 关注

原创 Spring MVC Post请求返回403错误,Get请求却正常?

困惑:很奇怪,明明在方法上面配置了RequestMethod.POST,POST表单提交却返回403状态码,可是使用GET方式却没问题啊!!!@RequestMapping(value="***", method = { RequestMethod.POST })public ModelAndView edit() { ModelAndView model = new ModelAndVie

2016-09-01 22:47:21 33600 12

转载 选择一个 HTTP 状态码不再是一件难事 – Racksburg

有什么能比 HTTP 响应状态码更简单呢?页面渲染了吗?好极了,返回 `200`。页面不存在?那么是 `404`。想要跳转到另一个页面?`302` 或者可能是 `301`。> 我喜欢把 HTTP 状态码想象成无线电波传输的 10 码<sup>1</sup>。“呼叫,呼叫,我是 White Chocolate Thunder,发现 200 OK。” —— Aaron Patterson (@tenderl

2016-08-04 18:28:25 659

原创 HBase Snapshot 相关操作原理

1. 前言HBase 从0.95开始引入了 Snapshot,Snapshot 相关操作主要是对 table 做备份与还原等,这在容灾方面是必不可少的,而由于在实际工作中遇到了部分问题需要阅读源码以了解其具体的原理,所以本文将根据源码来简单描述 Snapshot 相关操作的原理。注:本文着重关注 snapshot 相关操作时,目录或文件的变化情况,未对每一细节的

2016-08-04 18:20:46 5721 14

原创 【图解JDK源码】HashMap的容量大小增长原理(JDK1.6/1.7/1.8)

1. 前言HashMap的容量大小会根据其存储数据的数量多少而自动扩充,即当HashMap存储数据的数量到达一个阈值(threshold)时,再往里面增加数据,便可能会扩充HashMap的容量。可能?事实上,由于JDK版本的不同,其阈值(threshold)的默认大小也变得不同(主要是计算公式的改变),甚至连判断条件也变得不一样,所以如果说threshold = capacity * loadFac

2016-05-06 12:25:46 6425

原创 【图解JDK源码】HashMap的基本原理与它的线程安全性

1. 前言能用图说清楚的,就坚决不用代码。能用代码撸清楚的,就坚决不写解释(不是不写注释哦)。2. 数据结构HashMap内部通过维护一个Entry<K, V>数组(变量为table),来实现其基本功能,而Entry<K, V>是HashMap的内部类,其主要作用便是存储键值对,其数据结构大致如下图所示。从Entry的数据结构可以看出,多个Entry是可以形成一个单向链表的,HashMap中维护的E

2016-05-05 18:06:50 2108

原创 Java 通过魔数判断上传文件的类型

前言文件上传功能是很多网站都必须的功能,而判断文件类型不仅可以过滤文件的上传,同时也能防范用户上传恶意的可执行文件和脚本,以及将文件上传服务器当作免费的文件存储服务器使用。而对于上传文件来说,不能简单的通过后缀名来判断文件的类型,因为恶意攻击可以将可执行文件的后缀名称改为图片或者其他格式,诱导用户执行,因此,判断上传文件的类型需要更安全的方式。与Java的class文件类似,很多类型的文件,起始的几

2016-04-25 14:36:39 12956 7

原创 Java 生成唯一性标识解决方案与重复概率分析

应用背景在分布式Session存储方案中,提到了分布式环境下,Session的四种存储方案,其中Session数据集中存储的方案是将Session集中存储在单独的服务器或集群上,也是比较常用的方式之一,但是这里面涉及到应用服务器每次请求Session服务器都必须携带一个唯一性标识,用以获取存储在Session服务器上的Session数据(想一想传统的Session实现方式),而如何生成这个唯一

2016-02-23 13:20:56 10181 2

原创 【数据结构与算法】二叉树给定两个节点的最短距离(C++实现)

问题描述对于普通的二叉树,求指定两节点的最短距离。两节点间的最短距离即指连接两节点需要的边的最小数量,对于下图:有如下结果:Dist(9, 11) = 4Dist(8, 12) = 6Dist(8, 2) = 2分析与实现两节点之间note1与note2主要存在两种关系,即: 1)note1为note2的祖先节点(或反过来),此时note1与note2在同一条直线上; 2)note1与not

2016-02-22 17:00:46 4025

转载 编程思想之多线程与多进程(4)——C++中的多线程

原文:http://blog.csdn.net/luoweifu/article/details/46701167 作者:luoweifu 转载请标名出处《编程思想之多线程与多进程(1)——以操作系统的角度述说线程与进程》一文详细讲述了线程、进程的关系及在操作系统中的表现,《编程思想之多线程与多进程(2)——线程优先级与线程安全》一文讲了线程安全(各种同步锁)和优先级,这是多线

2016-02-19 14:10:12 632

转载 编程思想之多线程与多进程(3)——Java中的多线程

原文:http://blog.csdn.net/luoweifu/article/details/46673975 作者:luoweifu 转载请标名出处《编程思想之多线程与多进程(1)——以操作系统的角度述说线程与进程》一文详细讲述了线程、进程的关系及在操作系统中的表现,这是多线程学习必须了解的基础。本文将接着讲一下Java中多线程程序的开发单线程任何程序至少

2016-02-19 13:48:13 663

转载 编程思想之多线程与多进程(2)——线程优先级与线程安全

原文:http://blog.csdn.net/luoweifu/article/details/46701167 作者:luoweifu 转载请标名出处《编程思想之多线程与多进程(1)——以操作系统的角度述说线程与进程》一文详细讲述了线程、进程的关系及在操作系统中的表现,这是多线程学习必须了解的基础。本文将接着讲一下线程优先级和线程安全。线程优先级现在主流

2016-02-19 11:37:21 415

转载 编程思想之多线程与多进程(1)——以操作系统的角度述说线程与进程

原文:http://blog.csdn.net/luoweifu/article/details/46595285 作者:luoweifu 转载请标名出处什么是线程什么是线程?线程与进程与有什么关系?这是一个非常抽象的问题,也是一个特别广的话题,涉及到非常多的知识。我不能确保能把它讲的话,也不能确保讲的内容全部都正确。即使这样,我也希望尽可能地把

2016-02-19 11:11:17 680

原创 Java -Xms -Xmx -Xss -XX:MaxNewSize -XX:MaxPermSize含义记录

出现java.lang.OutOfMemoryError异常时,常使用的方法便是将如下配置语句:-Xms512m -Xmx512m -Xss1024k -XX:MaxNewSize=256M -XX:MaxPermSize=256M加在MyEclipse中的JDK的Optional Java VM arguments里面。然而久而久之容易混淆或忘却其中参数的含义,下面就简单的将这些参数的意义记录一下

2016-02-18 17:05:57 9037 1

原创 C++ 运算符重载与友元函数的简单运用实例

前言:C++的运算符重载与友元函数是像类似Java这种纯的面向对象编程语言所不具备的特征,那么使用运算符重载与友元函数到底能带来什么样的不同呢?举个例子,假如需要实现一个复数的加减法,用Java实现后两个复数相加的代码可能如下:public static void main(String[] args) { ComplexNumber a = new ComplexNumber(10

2016-02-15 14:23:21 1556

原创 基于Tcp协议与基于Http协议的RPC简介笔记

前言:之前对于RPC方面的学习多限于对RMI原理的学习,直到今天在看陈康贤前辈的《大型分布式网站架构-设计与实践》这本书的时候,才发现原来RPC可以基于TCP协议也可以基于HTTP协议(这里所说的TCP协议与HTTP协议更多的是指服务的消费者与远端的提供方的一种连接或消息传送形式),在此就简单记录一下,作为之后研究其它类似框架的基础。RPC全称Remote Process Call,即远程过程调用,

2016-02-04 16:15:19 11561 3

原创 C++ 宏定义与常量

前言:突然想起很久之前上课时被问及C++ 宏定义与常量的区别,仔细了想了想,并没有答起(尴尬),这次就简单总结一下C++宏常量与常量的区别吧。1. 宏定义宏定义是C语言提供的三种预处理中的一种,又称为宏代换、宏替换,简称“宏”,用#define定义,如下:#define Pi 3.1415926宏常量没有类型,它是在编译前即预编译阶段进行字符替换,就好比如下的例子:S = PI

2016-01-29 13:10:14 19543 1

原创 Python 3.x基于Svn补丁日志自动生成Java项目补丁包

1. 前言之前打补丁的方法一直是将项目编译后的文件全部拷贝出来,然后再删除不必要的文件,经常会为了一个小BUG或其它什么的打补丁,然后就一直删删删。然而作为一名爱“偷懒”的程序猿,能让代码做的,就坚决不会自己动手做,正好最近学习了Python,所以决定使用Python开发一个基于Svn补丁日志的自动生成补丁包的脚本。2. 使用说明先看看如何使用,再贴源码吧。为了使用方便,尽可能减少操作,我决定增加一

2016-01-29 11:09:36 1462

原创 Python 3.x基于Xml数据的Http请求

1. 前言由于公司的一个项目是基于B/S架构与WEB服务通信,使用XML数据作为通信数据,在添加新功能时,WEB端与客户端分别由不同的部门负责,所以在WEB端功能实现过程中,需要自己发起请求测试,于是便选择了使用Python编写此脚本。另外由于此脚本最开始希望能在以后发展成具有压力测试的功能,所以除了基本的访问之外,添加了多线程请求。整个脚本主要涉及到的关于Python的知识点包括:基于urlli

2016-01-28 10:27:34 6631

原创 生产者消费者模式与实际应用

1. 前言目前的项目需要在用户提交订单后,将订单放入队列,并由专门处理订单的线程对队列中的订单做处理,由此便引入了生产者与消费者模式。2. 生产者与消费者模式概述生产者与消费者模式是通过一个容器来解决生产者与消费者的强耦合关系,生产者与消费者之间不直接进行通讯,而是利用阻塞队列来进行通讯,生产者生成数据后直接丢给阻塞队列,消费者需要数据则从阻塞队列获取,实际应用中,生产者与消费者模式则

2016-01-18 17:58:19 7402

原创 PL/SQL IDE登录Oracle与隧道连接配置

1. 前言这里不是讲PL/SQL是Oracle数据库对SQL语句的扩展,不是讲PL/SQL就是把数据操作和查询语句组织在PL/SQL代码的过程性单元中,通过逻辑判断、循环等操作实现复杂的功能或者计算的程序语言,等等,而是讲如何通过PL/SQL IDE登录Orcale数据,与其如何利用WinScp进行隧道连接。其相关下载请参见http://www.allroundautomations.com/pls

2016-01-18 13:44:35 3051

原创 Redis数据类型与基本操作

1. 简述Redis支持5种数据类型,分别为String、Hash、List、Set、Sort Set,其概述及操作如下。1.1 String 字符串 Redis的字符串是字节序列,有一个已知长度,且不像C/C++中有一个特殊的字符决定终止,所以可以存储任何内容,其最大可存储512M数据。其常用命令包括get、set、incr、decrby、mget等,例:redis 127.0.0.1:6379>

2016-01-15 14:47:13 652

原创 分布式Session存储方案

前言 本文主要探讨集群后不同Web服务器获取Session数据的问题解决方案。1. Session Stick Session Stick 方案即将客户端的每次请求都转发至同一台服务器,这就需要负载均衡器能够根据每次请求的会话标识(SessionId)来进行请求转发,如下图所示。 这种方案实现比较简单,对于Web服务器来说和单机的情况一样。但是可能会带来如下问题:如果有一

2016-01-07 17:44:47 5167

原创 Spring项目中使用Junit单元测试并配置数据源的问题

一、问题描述由于公司项目中的数据源是配置在Tomcat中的server.xml中的,所以在使用Junit进行单元测试的时候,无法获取数据源。 二、解决方案由于项目集成了Spring的自动注入等功能,所以在使用Junit进行单元测试的时候需要保证Spring的配置文件都能被加载,同时需要保证连接数据库的数据源必须被加载,这就需要配置单独的数据源,具体方法如下:新建spring_jndi_test.x

2015-12-29 16:43:01 11874 1

转载 深入浅出JMS(一)---JMS简介

如果手机只能进行实时通话,没有留言和短信功能会怎么样?一个电话打过来,正好没有来得及接上,那么这个电话要传递的信息肯定就收不到了。为什么不能先将信息存下来,当用户需要查看信息的时候再去获得信息呢?伴随着这个疑惑,短息和留言应运而生,无论手机是否开机、是否未及时接到,我们都能得到其中的信息。JMS提供了类似这样的功能,本章我们将系统的学习JMS中的相关重要内容。      Ø 掌握J

2014-07-28 15:54:29 584

转载 Android学习之路【转载】

收到一些朋友的微博私信,说能不能给Android新手们一些指导,我只能说指导谈不上,毕竟我也很多东西正在学习中,与此同时一大学同学准备转行Android,可以说是从头开始,那么我就姑且以一个过来人的身份给一些建议吧,只希望在学习的过程中能够少走写弯路吧。硬件电脑–推荐Mac首先声明我不是果粉,个人Windows,Linux,Mac OX系统均用过, 只能说Windows上面的开发工

2014-07-19 13:38:07 534

原创 plupload上传插件在SpringMVC中的整合(JAVA 版)【一】

前言:最近在给学院的网站做一个添加附件的功能,首先到了某某邮箱看了一下,简单实用,但是是flash做的,无法拷贝,就只好上网找插件了。经过筛选,终于找到plupload这款插件(事实上有的编辑器自带添加附件功能)。官网只有PHP版本,后来各种百度谷歌,找到的资料都用点小问题,拼搏一天终于实现了功能,下面就把遇到的问题和重点部分写出来,希望遇到同样问题的同学可以参考。首先你需要下载pluploa...

2014-07-19 10:06:02 14202 22

原创 开博了

最近写项目的时候,遇到了一些新的问题,各种找资料,而引申出很多以前

2014-07-19 09:29:15 678

基于Svn补丁日志自动生成Java项目补丁包[python]

根据SVN补丁日志,自动生成补丁包,解决在JAVA开发时打补丁的麻烦。 注:此脚本仅针对JAVAWEB项目,其他种类也可自行更改

2016-01-29

JAVA项目根据SVN日志自动生成补丁包

根据SVN补丁日志,自动生成补丁包,解决在JAVA开发时打补丁的麻烦。 注:此脚本仅针对JAVAWEB项目,其他种类也可自行更改

2016-01-26

JAVA反编译工具jd-gui-windows-1.4.0

JAVA最新反编译工具jd-gui-windows,支持windows平台

2016-01-18

多线程、并发编程动画显示程序

使用动画的方式演示了多线程执行的步骤,非常形象的让程序员可以了解不同类的执行原理,是学习多线程并发编程的好帮手。 程序为jar文件,需要安装JAR或JDK环境,并使用java -jar 文件名 运行

2016-01-06

空空如也

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

TA关注的人

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