自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(171)
  • 问答 (1)
  • 收藏
  • 关注

原创 数据库事务隔离级别

数据库事务的隔离级别有4个,由低到高依次为Read uncommitted 、Read committed、Repeatable read 、Serializable ,这四个级别可以逐个解决脏读 、不可重复读 、幻读 这几类问题。 √: 可能出现    ×: 不会出现 脏读不可重复读幻读Read uncommitted√√√Read ...

2015-05-20 19:34:23 244

原创 一致性哈希算法(consistent hashing)

 一致性哈希算法在1997年由麻省理工学院提出的一种分布式哈希(DHT)实现算法,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了CARP使用的简 单哈希算法带来的问题,使得分布式哈希(DHT)可以在P2P环境中真正得到应用。      一致性hash算法提出了在动态变化的Cache环境中,判定哈希算法好坏的四个定义: 1、平...

2015-05-14 00:58:38 247

原创 linux系统下分割大文件的方法

本文介绍下在linux系统中,分割大文件的方法,比如一个5gb日志文件切割为很多小块.在linux中分割大文件,比如一个5gb日志文件,需要把它分成多个小文件,分割后以利于普通的文本编辑器读取。有时,需要传输20gb的大文件到另一台服务器,也需要把它分割成多个文件,这样便于传输数据。以下通过五个不同的例子,来讲解Linux下分割大文件的方法,供大家参考。例1、以每个文件1000行分割...

2015-05-14 00:46:04 437

原创 REDIS与MEMCACHED的区别

 如果简单地比较Redis与Memcached的区别,大多数都会得到以下观点:1 Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,hash等数据结构的存储。2 Redis支持数据的备份,即master-slave模式的数据备份。3 Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。在Redis中,并不是所有的数据都一直存储在内存中...

2015-05-14 00:31:20 143

原创 JVM研究

1 JVM简介JVM是我们Javaer的最基本功底了,刚开始学Java的时候,一般都是从“Hello World”开始的,然后会写个复杂点class,然后再找一些开源框架,比如Spring,Hibernate等等,再然后就开发企业级的应用,比如网站、企业内部应用、实时交易系统等等,直到某一天突然发现做的系统咋就这么慢呢,而且时不时还来个内存溢出什么的,今天是交易系统报了StackOverfl...

2015-05-13 00:07:01 137

原创 Java线程池使用说明

 一简介线程的使用在java中占有极其重要的地位,在jdk1.4极其之前的jdk版本中,关于线程池的使用是极其简陋的。在jdk1.5之后这一情况有了很大的改观。Jdk1.5之后加入了java.util.concurrent包,这个包中主要介绍java中线程以及线程池的使用。为我们在开发中处理线程的问题提供了非常大的帮助。二:线程池线程池的作用:线程池作用就是限制系统中执行...

2015-05-12 23:34:20 109

原创 HttpOnly介绍

在Web安全领域,跨站脚本攻击时最为常见的一种攻击形式,也是长久以来的一个老大难问题,而本文将向读者介绍的是一种用以缓解这种压力的技术,即HTTP-only cookie。 一、XSS与HTTP-only Cookie简介 跨站点脚本攻击是困扰Web服务器安全的常见问题之一。跨站点脚本攻击是一种服务器端的安全漏洞,常见于当把用户的输入作为HTML提交时,服务器端没有进行适当的过滤所致。跨站点脚本...

2015-05-12 23:07:10 491

原创 极限编程(Extreme programming)

极限编程(Extreme programming,缩写为XP),是一种软件工程方法学,是敏捷软件开发中最富有成效的几种方法学之一。如同其他敏捷方法学,极限编程和传统方法学的本质不同在于它更强调可适应性而不是可预测性。极限编程的支持者认为软件需求的不断变化是很自然的现象,是软件项目开发中不可避免的、也是应该欣然接受的现象;他们相信,和传统的在项目起始阶段定义好所有需求再费尽心思的控制变化的方法...

2015-05-10 18:51:29 991

原创 敏捷开发 Scrum 总结

  最近把之前学习 Scrum 的资料整理为一篇文档,在接下来的团队和项目开发中,根据项目的情况引入 Scrum 的一些实践,提高团队成员之间的协作能力和项目的交付质量。        参考资料:《轻松Scrum之旅—敏捷开发故事》、《敏捷无敌》硝烟中的Scrum 和 XP火星人敏捷开发手册Scrum-Checklists维基百科:http://zh.wikipedia...

2015-05-10 17:30:54 212

原创 敏捷建模

敏捷建模(Agile Modeling,AM)的价值观包括了XP(Extreme Programming:极限编程)的四个价值观:沟通、简单、反馈、勇气,此外,还扩展了第五个价值观:谦逊。核心原则:1.主张简单2.拥抱变化3.你的第二个目标是可持续性4.递增的变化5.令Stakeholder投资最大化6.有目的的建模7.多种模型8.高质量的工作9.快速反馈...

2015-05-10 17:28:48 142

原创 Long == 操作符 的陷阱

当两个对象进行比较的时候,我们应该使用equals方法,但是由于基础类型在1.5以前的jdk,大家已经习惯了 == 的方式,所以有时候,会马虎大意依然使用 ==  进行比较,那么这样会有什么问题吗?结果是什么??1234567891011Long a2 = 127L;Long b2 = 127L;System....

2015-02-25 10:38:18 378

MVC是设计模式么?是框架么?

何为设计模式:设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代 码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的;设计模式使代码编制真正工程化;设计模式是软件工程的基石脉络,如同大厦的结构一样。 狭义上来讲,主要源于程序员的圣经:《Design Patter...

2014-10-26 00:39:16 239

Android APK签名对比及说明

发布过Android应用的朋友们应该都知道,Android APK的发布是需要签名的。签名机制在Android应用和框架中有着十分重要的作用。例 如,Android系统禁止更新安装签名不一致的APK;如果应用需要使用system权限,必须保证APK签名与Framework签名一致,等等。在 《APK Crack》一文中,我们了解到,要破解一个APK,必然需要重新对APK进行签名。而这个...

2014-10-23 21:55:55 144

原创 apk签名

1.签名的意义  为了保证每个应用程序开发商合法ID,防止部分开放商可能通过使用相同的Package Name来混淆替换已经安装的程序,我们需要对我们发布的APK文件进行唯一签名,保证我们每次发布的版本的一致性(如自动更新不会因为版本不一致而无法安装)。 2.签名的步骤  a.创建key  b.使用步骤a中产生的key对apk签名 3.具体操作   方法一: 命令行下对a...

2014-10-23 20:44:10 118

在android market发布个人免费应用的步骤

写了一段时间的android应用了,只是在自己手机上面安装。上周申请了android developer,需要一次性25美元的程序开发注册费用。费用需要用google checkout,所以还要先申请google checkout。国内的信用卡一般都支持VISA,可以以香港地址作为付款地址注册成功。注册成功后,还可以向google购买一部用于开发的手机。这样就可以进入android m...

2014-10-23 16:57:29 183

原创 Android 运行时找不到类:java.lang.NoClassDefFoundError:

在使用百度定位SDK时发生这种问题:java.lang.NoClassDefFoundError: com.baidu.location.LocationClient 问题出错过程:工程原来是在R12版本下开发的,后来为了追风,我就换掉R12,改成使用R21.1了。然后从svn上检出R12版本下开发的代码(这个代码在R12下运行是完全没有错误的)。问题就来了,一旦运行代码,就报java....

2014-10-23 15:47:10 321

原创 ShellShock汇总及对与补丁的看法

漏洞简介GNU Bash 4.3及之前版本在评估某些构造的环境变量时存在安全漏洞,向环境变量值内的函数定义后添加多余的字符串会触发此漏洞,攻击者可利用此漏洞改变或绕过环境限制,以执行Shell命令。某些服务和应用允许未经身份验证的远程攻击者提供环境变量以利用此漏洞。此漏洞源于在调用Bash Shell之前可以用构造的值创建环境变量。这些变量可以包含代码,在Shell被调用后会被立即执行。 破...

2014-10-21 23:19:40 242

原创 android app调用新浪微博,授权、分享

通过SSO方式授权,分享。我的一个app要用到微博的授权和分享功能。简单就是根据用户输入的文本生成一个二维码,然后把该二维码分享到微博上,已经放到github上,请大家指教,欢迎fork哦。https://github.com/ihyperwin/QRCodeGenius 首先放上新浪微博开发平台的github Demo地址  https://github.com/sina...

2014-10-16 12:57:36 797

Linux下硬盘安装windows

背景如下:之前电脑上装有window7、win8和Ubuntu系统,后Window7崩溃了,然后准备在Ubuntu下硬盘安装Window7.参考:http://www.linuxidc.com/Linux/2010-05/26118.htm。本人用Grub2引导,有点不一样。 备份MBR$ sudo dd if=/dev/sda of=/backup/mbr.img bs=512...

2014-10-12 11:35:21 1442

永远不要相信用户的输入---------ShellShock------------

什么是ShellShock漏洞?继上次震惊业内的Heartbleed漏洞被曝出后,现在又一个影响广泛的ShellShock漏洞再次出现在大众的面前。近日,美国的国家漏洞资料库(NVD)对其发布了最新的漏洞通报(编号为CNNVD-201409-938)。那么这个漏洞将会产生怎样的影响,企业又该怎样防范呢?什么是ShellShock漏洞?此次曝出的ShellShock漏洞存在于Un...

2014-10-02 14:49:59 381

原创 Shellshock漏洞潜伏多年:暴露开源软件缺陷

导语:美国《连线》杂志网络版近日撰文称,Shellshock漏洞的曝光暴露出当今互联网开源软件领域的一个重大缺陷:由于维护资源和人手的不足,很多漏洞都已经潜伏多年,随时有可能给当今互联网造成毁灭性的打击。   以下为文章全文:  布莱恩·福克斯(Brian Fox)一路开车从波士顿来到圣巴巴拉,他的后备箱里放着两盘磁带。  但这既不是录音带,也不是录像带,而是电脑磁带,里面存储着...

2014-10-02 00:49:45 256

原创 Bash漏洞Shellshock,威胁超心脏出血

多名网络安全专家宣称,他们新发现一种在网络中已经隐藏20年的bug,这种名为Bash的漏洞比“心脏出血”漏洞的威胁还要严重。黑客可以通过它遥控向网络服务器发出指令,这意味着服务器受影响的公司将遇到大麻烦。Bash漏洞是软件公司Red Hat的安全团队于9月24号发现的,许多专家称其威胁比“心脏出血”还要大,后者是4月份被发现的,依然在影响数千台设备。而Bash对公司的影响要超过对个人的影响,...

2014-10-02 00:48:37 298

原创 心脏流血(Heartbleed )漏洞详解

 2014年4月7日,OpenSSL宣布的OpenSSL 1.0.2-beta及1.0.1系列(除1.0.1g)的所有版本中,在其所实现的TLS心跳扩展存在严重的内存处理错误。它可以被用于让每个心跳包显示应用程序至多64K Byte的内存内容。它的CVE号为CVE-2014-0160。该漏洞是通过发送一个畸形的心跳请求至服务器,以引起服务器内存响应而引发。由于缺乏边界检查,Ope...

2014-10-02 00:27:09 8384

原创 Ubuntu 12.04 64位 Android SDK Failed to create sdcard in the AVD folder.

使用Ubuntu 12.04 64位 创建模拟器的时候出现如下问题:    Error : Failed to create the SD card.    Error : Failed to create sdcard in the AVD folder. 没有安装ia32-libs的原因,在64位的ubantu下是不能跑32位程序的,使用[code="java"]sudo ...

2014-06-18 23:22:28 154

那些有意思的linux命令

who 查看当前登录的所有用户名/时间/方式 whoami 当前登录用户名 who am i 当前登录用户名/时间/方式 which manual手册: which returns the pathnames of the files (or links) which would be exe‐ cuted in the current environment, had...

2014-04-12 17:40:36 195

原创 1752年9月-----消失的那11天

unix/linux下执行:cal 9 1752   显示:September 1752 Su Mo Tu We Th Fr Sa1 2 14 15 16 1718 19 20 21 22 23 2425 26 27 28 29 30   少了11天?对,没看错,是少了,简直匪夷所思我们发现1752年9月2日的后面竟然是14日,确实很奇怪,通过在网上搜索,找到了答案:1582年2...

2014-04-12 17:10:18 3130

原创 ligerUI总结

ligerUI是基于jquery的一套js UI框架项目工程中,有些心得和想法,分享给大家项目中用到的版本为ligerUI 1.2.2,可能后续版本略有差异。经过项目使用,个人心得,多看API和demo,源代码也需要看看,个人感觉源代码更全,更详细,很有必要看下,有时API不开放的方法,也可以调用,或做一些定制。ligerUI前后台交互都是通过json来的。如果对json格式...

2014-04-12 16:59:48 477

原创 数据库(Database)

一、数据库(Database)    数据库是一个数据的集合,不仅是指物理上的数据,也指物理、存储及进程对象的一个组合。Oracle是关系型数据库管理系统(RDBMS)。二、实例(Instance)    数据库实例(也称为服务器Server)就是用来访问一个数据库文件集的一个存储结构及后台进程的集合。它使一个单独的数据库可以被多个实例访问(也就是ORACLE并行服务器-- OPS)...

2014-01-10 21:23:19 233

原创 ubuntu下apache httd/cgi的编译与安装

参考:http://www.jb51.net/article/18230.htmhttp://www.51testing.com/html/18/311318-832068.html 首先到apache的主页下载最新版本的apache http server,地址为 http://httpd.apache.org/ 安装apache: 切换到httpd-2.4.6.tar.bz...

2013-11-06 00:00:43 198

原创 快速学习Groovy

转自:http://www.ibm.com/developerworks/cn/education/java/j-groovy/ 关于本教程 如果现在有人要开始完全重写 Java,那么 Groovy 就像是 Java 2.0。Groovy 并没有取代 Java,而是作为 Java 的补充,它提供了更简单、更灵活的语法,可以在运行时动态地进行类型检查。您可以使用 Groovy 随...

2013-11-01 15:57:53 344

原创 软件开发启示录——迟到的领悟

转自:http://kb.cnblogs.com/page/190541/ 英文原文:4 Things I Wish I Would Have Known When I Started My Software Development Career  我的软件开发生涯开始于15年前。  但是直到最近的5年,我才真正开始看到自己在软件开发领域的巨大进步。  这里有一些感悟是我希望能够...

2013-10-31 18:05:25 113

原创 桶排序算法

转自:http://hxraid.iteye.com/blog/647759 ,原文源代码是c++,个人改成java.另外增加一些自己理解。 全依赖“比较”操作的排序算法时间复杂度的一个下界O(N*logN)。但确实存在更快的算法。这些算法并不是不用“比较”操作,也不是想办法将比较操作的次数减少到 logN。而是利用对待排数据的某些限定性假设 ,来避免绝大多数的“比较”操作。桶排序就是...

2013-10-27 22:50:40 113

原创 Http和Https的区别

URL前加https://前缀表明是用SSL加密的。你的电脑与服务器之间收发的信息传输将更加安全。 Web服务器启用SSL需要获得一个服务器证书并将该证书与要使用SSL的服务器绑定。 http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议 要比http协议安全HTTP...

2013-10-27 21:55:06 147

原创 oracle执行计划

1.什么是执行计划 所谓执行计划,顾名思义,就是对一个查询任务,做出一份怎样去完成任务的详细方案。举个生活中的例子,我从珠海要去英国,我可以选择先去香港然后转机,也可以先去北京转机,或者去广州也可以。但是到底怎样去英国划算,也就是我的费用最少,这是一件值得考究的事情。同样对于查询而言,我们提交的SQL仅仅是描述出了我们的目的地是英国,但至于怎么去,通常我们的SQL中是没有给出提示信息的...

2013-10-24 15:59:33 96

原创 深入探讨 Java 类加载器

转自:http://www.ibm.com/developerworks/cn/java/j-lo-classloader/ 类加载器是 Java 语言的一个创新,也是 Java 语言流行的重要原因之一。它使得 Java 类可以被动态加载到 Java 虚拟机中并执行。类加载器从 JDK 1.0 就出现了,最初是为了满足 Java Applet 的需要而开发出来的。Java Applet ...

2013-10-23 15:44:42 105

原创 linux下查看.txt文件出现乱码

为什么在linux下查看.txt格式的文件会出现乱码呢?因为linux操作系统 和windows操作系统对于中文的压缩方式不同。在windows中,中文压缩一般是.gbbk,而在linux环境中压缩为utf8,这就导致了在 windows下能正常显示的.txt文件在linux中打开后呈现乱码状态。对于这种情况的处理方法为在包含要打开的.txt文件的目录下,在终端输 入:           ...

2013-10-19 22:01:08 270

原创 JVM入门研究及实践

我们看中的并非Java语言,而是JVM。                       ——Java之父James Gosling接受著名IT网站eWEEK高级编辑的采访时如是说 Java之所以能够崛起,JVM功不可没。Java虚拟机最初服务于让Java语言凌驾于平台之上,实现“一次编写,到处运行”;而随着时间的推移,JVM经过不同公司和团体以不同方式的实现(如IBM的J9、 BEA...

2013-10-16 19:31:26 265

原创 设计模式之建造者(bulider)模式

一:概述Builder模式定义:         将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示.Builder模式是一步一步创建一个复杂的对象,它允许用户可以只通过指定复杂对象的类型和内容就可以构建它们.用户不知道内部的具体构建细节.      在软件系统中,有时候面临着“一个复杂对象”的创建工作,其通常由各个部分的子对象用一定的算法构成;由于需求的...

2013-10-13 12:03:37 123

原创 如何把maven标准项目转成web项目

转自:http://blog.csdn.net/hongchangfirst/article/details/7896283 创建Web工程,使用eclipse ee和maven插件可以创建maven web工程 。从maven标准项目转为eclipse中的web项目,步骤如下:1.右键项目,选择Project Facets,点击Convert to faceted from 2.更改...

2013-09-23 15:01:30 124

原创 Project Facets

首先上个链接:http://help.eclipse.org/indigo/index.jsp?topic=%2Forg.eclipse.jst.j2ee.doc.user%2Ftopics%2Fcfacets.html Facets define characteristics and requirements for Java EE projects and are used as...

2013-09-23 14:19:02 179

空空如也

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

TA关注的人

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