- 博客(45)
- 资源 (13)
- 收藏
- 关注
原创 @RequestMapping 用法详解
RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。@RequestMapping is one of the most widely used Spring MVC annotation. org.springframework.web.bind.annotation.RequestMappin
2016-04-24 21:50:50 7851 1
原创 Sping MVC Token防止表单重复提交
现在的网站在注册提交步骤中,由于后台要处理大量信息,造成响应变慢,在前端页面提交信息之前,等待后端响应,此时如果用户再点一次提交按钮,后台会保存多份用户信息。为解决此问题,借鉴了struts2的token思路,在springmvc下实现token。 实现思路: 在springmvc配置文件中加入拦截器的配置,拦截两类请求,一类是到页面的,一类是提交表单的。当转到页面的请
2016-04-24 21:30:56 3392
原创 使用JMX监控Tomcat
1,什么是JMX JMX是一种JAVA的正式规范,它主要目的是让程序有被管理的功能,那么怎么理解所谓的“被管理”呢?试想你开发了一个软件(如WEB网站),它是在24小时不间断运行的,那么你可能会想要“监控”这个软件的运行情况,比如收到了多少数据,有多少人登录等等。或者你又想“配置”这个软件,比如现在访问人数比较多,你想把数据连接池设置得大一些。 当然,你也许会专门为这些管理来
2016-04-13 15:45:59 2527
原创 Mac OS X 下查看和设置JAVA_HOME
1, 查看JAVA版本打开Mac电脑,查看JAVA版本,打开终端Terminal,通过命令行查看笔者的java版本::bogon:~ donny$ java -versionjava version "1.7.0_71"Java(TM) SE Runtime Environment (build 1.7.0_71-b14)Java HotSpot(TM) 64-Bit Serve
2016-04-12 23:19:49 80499 5
原创 Linux下的Memcache安装
1,Memcache是什么?Memcache官方网站:http://memcached.org/,Memcache集群环境下缓存解决方案 。Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。简单的说就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度
2016-03-31 15:10:30 562
原创 Zookeeper ZkClient简介
直接使用zk的api实现业务功能比较繁琐。因为要处理session loss,session expire等异常,在发生这些异常后进行重连。又因为ZK的watcher是一次性的,如果要基于wather实现发布/订阅模式,还要自己包装一下,将一次性订阅包装成持久订阅。另外如果要使用抽象级别更高的功能,比如分布式锁,leader选举等,还要自己额外做很多事情。这里介绍下ZK的两个第三方客户端包装小工具
2016-03-30 15:28:45 4092
原创 Linux tree命令
TREE——显示磁盘目录结构命令功能:显示指定驱动器上所有目录路径和这些目录下的所有文件名。首先来看tree的用法tree中文解释:tree功能说明:以树状图列出目录的内容。语 法:tree [-aACdDfFgilnNpqstux][-I ][-P ][目录...]补充说明:执行tree指令,它会列出指定目录下的所有文件,包括子目录里的文件。参 数:
2016-03-30 14:44:40 942
原创 zookeeper-3.4.8单机与主从安装与配置
ZooKeeper is a centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services. All of these kinds of services are used in
2016-03-29 12:47:07 8216
原创 Redis-3.0.7 Sentinel主从切换的集群管理
Redis单点时,当一台机器挂机了,redis的服务完全停止,这时就会影响其他服务的正常运行。下面利用redis sentinel做一个主从切换的集群管理。下面两段官方的说辞:Redis Sentinel provides high availability for Redis. In practical terms this means that using Sentinel you
2016-03-28 18:49:38 2673
原创 Redis-3.0.7主从配置
一、原理Redis的主从复制功能非常强大,一个master可以拥有多个slave,而一个slave又可以拥有多个slave,如此下去,形成了强大的多级服务器集群架构。下面是关于redis主从复制的一些特点:1.master可以有多个slave2.除了多个slave连到相同的master外,slave也可以连接其他slave形成图状结构3.主从复制不会阻塞master。也就是说当一个
2016-03-28 15:09:03 2805
原创 Http、TCP/IP协议与Socket之间的区别
我们在传输数据时,可以只使用(传输层)TCP/IP协议,但是那样的话,如果没有应用层,便无法识别数据内容,如果想要使传输的数据有意义,则必须使用到应用层协议,应用层协议有很多,比如HTTP、FTP、TELNET等,也可以自己定义应用层协议。WEB使用HTTP协议作应用层协议,以封装HTTP文本信息,然后使用TCP/IP做传输层协议将它发到网络上。
2016-03-28 11:53:22 23837 2
原创 用阻塞队列LinkedBlockingQueue实现生产者消费者先进先出
在Java多线程应用中,队列的使用率很高,多数生产消费模型的首选数据结构就是队列(先进先出)。Java提供的线程安全的Queue可以分为阻塞队列和非阻塞队列,其中阻塞队列的典型例子是BlockingQueue,非阻塞队列的典型例子是ConcurrentLinkedQueue,在实际应用中要根据实际需要选用阻塞队列或者非阻塞队列。注:什么叫线程安全?这个首先要明确。线程安全就是说多线程访问同一代码,不会产生不确定的结果。并行和并发区别1、并行是指两者同时执行一件事,比如赛跑,两个人都在不停的往前跑;2
2016-03-28 11:18:51 9624
转载 TCP/IP协议 三次握手与四次挥手
TCP(Transmission Control Protocol) 传输控制协议,在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。 第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认; 第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态; 第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送
2016-03-28 10:50:12 545
原创 Linux服务器安装Redis
Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径查询。 Redis 内置了 复制(replication),LUA脚本(Lua scripting), LRU驱动事件(LRU eviction
2016-03-23 10:01:05 1711
转载 图解Fiddler如何抓手机APP数据包
Fiddler是一个http调试代理,它能 够记录所有的你电脑和互联网之间的http通讯,Fiddler 可以也可以让你检查所有的http通讯,设置断点,以及Fiddle 所有的“进出”的数据(指cookie,html,js,css等文件,这些都可以让你胡乱修改的意思)。 Fiddler 要比其他的网络调试器要更加简单,因为它仅仅暴露http通讯还有提供一个用户友好的格式。
2016-03-22 12:02:57 6104
原创 苹果开发那些事儿-D-U-N-S 号申请
这些天追剧去了,《大好时光》,我喜欢茅小春,其实我真正喜欢的是王晓晨哈。 言归正传,现在说说邓白氏编码申请的相关事儿。 去年初,搞了本《企业级iOS应用开发实战》,开头第一篇就讲了申请公司开发者计划和企业开发者计划需要邓白氏编码,但是书中说的是需要一年6000多元钱。我是搞技术的喭,领导就信任我,说你去把公司开发者计划申请下吧,我照着书本来说要先申请邓白氏编码,还需要6000多
2016-01-14 14:44:59 10304
原创 苹果开发者计划那些事儿
成为苹果开发者就必须注册苹果开发者账号并付费,拥有了开发者账号后可以开发相应计划的App并上线App store提供免费或付费下载,或是开发给企业内部使用。苹果为注册了发者账号的开发者提供了如下几类计划:看了这么多的分类和英文,也不知道到底该申请哪一种,那下面就简要说一下吧,希望简单明了实用:苹果开发者计划分四种:1, 个人开发者计划,对应Individual,99美元一年。
2015-12-31 22:39:48 757
转载 oracle分页显示方法 rownum的使用
一、使用rownum分页显示方式方式1:SELECT * FROM (SELECT ROWNUM r, a.* FROM b$i_exch_info a WHERE ROWNUM WHERE r >= 5;方式2:SELECT * FROM (SELECT ROWNUM r, a.* FROM b$i_exch_info a) WHERE r BETWEE
2015-12-27 00:03:22 736
转载 tar命令 文件压缩与解压
tar命令可以为linux的文件和目录创建档案。利用tar,可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件。tar最初被用来在磁带上创建档案,现在,用户可以在任何设备上创建档案。利用tar命令,可以把一大堆的文件和目录全部打包成一个文件,这对于备份文件或将几个文件组合成为一个文件以便于网络传输是非常有用的。 首先要弄清两个概念:打包和压缩。打包是指将一
2015-12-25 17:03:12 13654 1
转载 Linux命令工具 top详解
Linux命令工具 top详解top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。top是一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如果在前台执行该命令,它将独占前台,直到用户终止该程序为止.比较准确的说,top命令提供了实时的对系统处理器的状态监视.它将显示系统中CPU最“敏感”的任务列表.该命令可以按CP
2015-12-25 10:03:21 443
转载 Oracle的锁表与解锁
Oracle的锁表与解锁 SELECT /*+ rule */ s.username,decode(l.type,'TM','TABLE LOCK','TX','ROW LOCK',NULL) LOCK_LEVEL,o.owner,o.object_name,o.object_type,s.sid,s.serial#,s.terminal,s.machine,s.pr
2015-12-14 17:51:24 374
转载 Start Developing iOS Apps Today(中文OC)
简介创造 iOS 应用既有乐趣又有回报,如果你正在初学开发,可能会为从何着手而感到困惑。这份路线图为 iOS 应用开发入门提供了一个完美的开端。在你的 Mac 电脑上便可以创造出 iOS 应用,并在 iPad、iPhone 和 iPod touch 上安装使用。跟随这份路线图的指引,你会知道从哪里获取你需要的工具,明白主要概念并进行有效的实践,以及今后如何获取更多信息。当你在使用这份路
2015-12-08 17:15:16 1565
原创 Linux上修改open files数目
部署的服务器和应用读取文件太多,导致系统运行变慢了,需要调整打开文件数目。Linux系统上默认的open files数目为1024, 有时应用程序会报Too many open files的错误,是因为open files 数目不够。用 ulimit -a 命令可以查看 系统对各种参数的限制;当你把open files的值增大到一定程度,你的Too many open file
2015-12-08 16:08:45 30747 6
原创 Linux下Rsync+sersync实现数据双向实时同步
刚好前面用rsync+sersync做了主从数据同步,现在有新的需求了,P2P系统两台服务器做负载均衡,但是由于P2P会生成N多的合同,N多的数字证书,会上传文件,所以根据现实情况需要两台相互同步。 感觉sersync应该能够实现这个功能,感觉应该是能满足要求的,接下来就部署起来了。 安装就参照前一篇文章了,下面是具体步骤: 步骤一:规划好需要同步的目录 为
2015-12-02 19:20:41 12462
原创 按时间查找并移动文件
这几天服务器的日志文件增长相当厉害,一天跑了接近20G,其结果是要从日志里查找某个交易的信息就难上加难了,下面是用到的几个命令。查找文件夹linux查看目录的四种方法(ls只显示目录)1, ls -d *2, find . -type d -maxdepth 1如果不加-maxdepth参数的话那么将会有无穷多目录被列出来。
2015-12-02 19:09:37 8807
原创 Linux下Rsync+sersync实现数据实时同步
一、为什么要用Rsync+sersync架构?1、sersync是基于Inotify开发的,类似于Inotify-tools的工具2、sersync可以记录下被监听目录中发生变化的(包括增加、删除、修改)具体某一个文件或某一个目录的名字,然后使用rsync同步的时候,只同步发生变化的这个文件或者这个目录。二、Rsync+Inotify-tools与Rsync+sersync
2015-11-30 18:06:48 1256 1
原创 IOS开学第一天
其实一直都在计划学习IOS开发,一直没下定决定心买本本,终于在今年这个月达成了这个愿望,去香港买了Mac book Pro 15中配。回来时把盒子也带回来了,一直担心过关被查,还好我就一小包,刚好装了苹果本,外观看不出来,顺利背回来了。回来后一直在研究,不停地装软件,下面把我装的软件列一下,以供自己以后留个纪念。由于买本时买了苹果的magic mouse 2,带充电的,我去买时刚换代,以前
2015-11-16 00:11:12 536
原创 MongoDB学习十四 --MongoDB的分片
本来想一口气写完的,无赖前段时间报名学车,驾校临时安排一两个星期练车,时间又不停的改、改、改!搞的我这博客文章都好久没加上了,今天打算写上一篇MongoDB的分片技术,算是这一系列的操作使用的一段的结尾。在mongodb里面存在另一种集群,就是分片技术,跟sql server的表分区类似,我们知道当数据量达到T级别的时候,我们的磁盘,内存就吃不消了,针对这样的场景我们该如何应对?mongodb
2015-09-29 11:01:26 624
原创 MongoDB学习十三 --MongoDB的Java增删除改查
这是一篇关于在java中操作mongodb的入门教程,包括创建连接,获取表,增加、删除、修改、查找等基础的功能,带你初步了解mongodb的基本操作的写法。使用环境,注意mongodb3.0后的API有些已废除了:1.mongodb 3.0.62.mongodb-java-driver 3.0.23.jdk1.64.maven 3.2.35.juni
2015-09-04 00:00:43 962
转载 MongoDB学习十二 --MongoDB的Sharding Introduction
Sharding is a method for storing data across multiple machines. MongoDB uses sharding to support deployments with very large data sets and high throughput operations.Purpose of ShardingDatabas
2015-09-01 21:59:04 670
原创 MongoDB学习十一 --MongoDB的Replication实践
很牛X的主从集群,不过跟上面的主从复制还是有两点区别的。: 该集群没有特定的主数据库。: 如果哪个主数据库宕机了,集群中就会推选出一个从属数据库作为主数据库顶上,这就具备了自动故障恢复功能,很牛X的啊。好,我们现在就来试一下,首先把所有的cmd窗口关掉重新来,清掉db下的所有文件。第一步: 建立集群,就得取个集群名字"rs0",在192.168.0.148上运行mongod --
2015-08-31 19:28:18 619
转载 MongoDB学习十--MongoDB的Replication Introduction
Replication provides redundancy and increases data availability. With multiple copies of data on different database servers, replication protects a database from the loss of a single server. Replicati
2015-08-29 18:22:04 532
原创 MongoDB学习九--MongoDB的主从复制
sql server能够做到读写分离,双机热备份和集群部署,当然mongodb也能做到,实际应用中我们不希望数据库采用单点部署,如果碰到数据库宕机或者被毁灭性破坏那是多么的糟糕。注意新的3.0.5的说明 Master/slave options (old; use replica sets instead): 不过这篇还是以master/slave来做。一:主从复制1: 首
2015-08-27 19:43:21 3676
原创 MongoDB学习八--MongoDB的索引操作
Indexes support the efficient execution of queries in MongoDB. Without indexes, MongoDB must perform acollection scan, i.e. scan every document in a collection, to select those documents that match
2015-08-26 19:35:48 806
转载 MongoDB学习七--MongoDB的Map-Reduce示例
In the mongo shell, the db.collection.mapReduce() method is a wrapper around the mapReducecommand. The following examples use the db.collection.mapReduce() method: Consider the following map-r
2015-08-25 19:39:55 626
原创 MongoDB学习七--MongoDB高级操作
今天学习了mongodb中比较好玩的知识,主要包括:聚合,游标。聚合常见的聚合操作跟sql server一样,有:count,distinct,group,mapReduce。1,count是最简单,最容易,也是最常用的聚合工具,跟sql语句相差不大> db.person.count()4> db.person.count({"age":"28"})
2015-08-24 19:20:42 642
转载 MongoDB学习六--MongoDB删除数据文档
In MongoDB, the db.collection.remove() method removes documents from a collection. You can remove all documents from a collection, remove all documents that match a condition, or limit the operation
2015-08-22 23:09:36 771
原创 MongoDB学习五--MongoDB修改数据文档
MongoDB provides the update() method to update the documents of a collection. The method accepts as its parameters:an update conditions document to match the documents to update,an update operat
2015-08-21 23:53:28 719
原创 MongoDB学习四--MongoDB插入数据详情
1,插入文档In MongoDB, thedb.collection.insert() method adds new documents into a collection.插入文档到一个集合中,如果集合不存在,MongoDB将会自动创建集合,不用手动创建。db.admin.insert( { item: "ABC1", deta
2015-08-20 23:55:14 6342 1
PMBOK第五版中英文电子书
2018-10-21
Start Developing iOS Apps Today(OC) Sample
2015-12-08
roller-template-guide.pdf
2008-11-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人