- 博客(106)
- 资源 (10)
- 收藏
- 关注
原创 数据库优化总结
以下是自己对数据库的一些总结,如果有错的地方,希望大家及时的提醒我。。。 1).对查询比较平凡的表中的列加索引; 2).对像数据字典类型的表我们可以在程序启动过程中就加载到非关系数据库。 3).对sql的优化: 1.包含时间段的列的表,尽量每次查询都需把时间带上;
2015-10-15 20:31:19 1383 3
原创 ActiveMQ安装教程
ActiveMQ是Apache出品,最流行的,能力强劲的开源消息总线。从设计上保证了高性能的集群,客户端-服务器,点对点。完全支持JMS1.1和J2EE1.4规范的JMSProvider实现,尽管JMS规范出台已经是很久的事情了,但是JMS在当今的J2EE应用中间仍然扮演着特殊的地位。一、下载ActiveMQ去官网下载:http://activemq.apache.org/download
2015-09-25 21:59:01 1630
转载 在项目中使用消息队列的 10 个理由
很多朋友觉得在项目中没必要使用消息队列。以前我也是这样认为,但是自己使用一段时间后以及自己的一些经历使得自己觉得有些时候是非常必要的。而且是必不可少的,尤其是在大型项目中和支付类的系统中。下面是我转载的一篇关于“使用消息队列的 10 个理由”。个人觉得写得非常好。 过去几年中,我们一直在使用、构建和宣传消息队列,我们认为它们是很令人敬畏的,这也不是什么秘密。我们相信对任何架构或
2015-09-25 20:36:08 2532
原创 把list数据转化成easy ui树标签能够识别的json字符串
首先list的object对象必须是包含父id属性的对象,如本文的function,下面就给大家分享怎样实现。function类的代码如下:/** * * @ClassName: Function * @Description: 权限功能树 * @date 2015年9月16日 上午11:07:32 * */public class Function { private
2015-09-16 21:57:25 1618 1
原创 在IE、fixfox、chrome等浏览器中ajax提交成功后,打开新标签页面被浏览器拦截问题
最近做了一个项目,在项目中涉及到先向后端发送ajax请求,根据ajax返回的结果来觉得是否跳转。刚开始我是这样做的。代码如下:提交的表单: 执行的js脚本:$.ajax({ type : 'post', url : "/pay/pay.do", data : { payChannel:payCha
2015-09-16 21:42:40 3325 1
原创 使用StringBuilder或StringBuffer代替string
很多时候,我们在开发项目过程中,我们常常涉及到对字符串的拼接。对于普通的开发者来说,常常使用+的方式进行拼接,例如:string str="abc";str=str+"cdefghjik"+"lmn";不知道大家是否这样使用过,当使用过程中想没想过创建了多少个string对象,因为在string对象内部是一个固定长度的字符数组。所以每次拼接的时候都会创建一个新的string对象。所以采用这样
2015-09-07 22:43:01 2640 1
原创 定义系统级别的异常代替接口、类中方法处理失败的信息返回
以前编写代码时,不喜欢在方法中抛出异常。喜欢不管操作成功或失败都喜欢返回结果。按道理这样是没问题的。但是现实的实际项目中业务逻辑层和业务控制层中的逻辑是非常复杂的,往往在这里面会调用其它很多的接口。在调用这些结果往往会对数据处理失败就会停止执行返回错误信息到上一级。按照返回结果的方式的话,就会在每一层代码中有很多的判断,尤其那种需要返回一个对象(比如User)的方法,如果在这个方法中出现错误,我们
2015-08-23 22:22:07 2433
原创 重载tostring()方法重要性
以前知道继承于object的类都有这个toString方法,重来没在项目中使用过这方法,同时也没对该方法进行重载。在现在这个公司上班,才知道了toString方法的重要性。而且也懂得了重载tostring方法的必要性。那么toString方法有哪些用呢,以下是我总结的几个用处吧。而且这几个用处对我来说是挺有帮助的。1.在需要大量日志输出的系统中重载toString()方法是非常
2015-08-22 23:07:29 3235 1
原创 消息队列(message queue)产生的背景、常用的技术
消息队列是在消息的传输过程中保存消息的容器,消息队列管理器在将消息从它的源中继到它的目标时充当中间人。队列的主要目的是提供路由并保证消息的传递;如果发送消息时接收者不可用,消息队列会保留消息,直到可以成功地传递它。 一、 产生背景:现今,越来越多的企业面临着各种各样的数据集成和系统整合,CORBA、DCOM、RMI等RPC中间件技术也应运而生,
2015-08-12 22:23:34 3327 4
原创 对spring默认的单列模式的理解
我想大部分朋友对spring的单例模式都比较了解。什么叫单例模式呢,顾名思义就是不管有多少个请求,都只生成一个实例。比如在spring中a,b请求都在调用相同的bean ,他们都是调用的同一个bean,而不会为这两个请求都分配一个不同的实例。那么两个请求都调用的同一个实例,那么就容易出现同步问题。这个同步问题主要出现在该实例的各种变量上。当我们a请求调用方法A,对变量a进行操作,b请求
2015-08-11 23:00:48 2436
原创 负载均衡软件HAProxy学习
一、介绍 HAProxy提供高可用性、负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。HAProxy特别适用于那些负载特大的web站点, 这些站点通常又需要会话保持或七层处理。HAProxy运行在当前的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中, 同时可以保护
2015-08-11 22:40:38 1314
原创 jvm的四种GC
java虚拟机有四种GC分别是: 第一种为单线程GC,也是默认的GC。,该GC适用于单CPU机器。第二种为ThroughputGC,是多线程的GC,适用于多CPU,使用大量线程的程序。第二种GC与第一种GC相似,不同在于GC在收集Young区是多线程的,但在Old区和第一种一样,仍然采用单线程。-XX:+UseParallelGC参
2015-08-11 22:07:26 1757
转载 代理模式
一、概述 自己不亲自做,找代理对象来实现,节约资源。 比如我很忙,忙的没空理你,那你要找我呢就先找我的代理人吧,那代理人总要知道被代理人能做哪些事情不能做哪些事情吧,那就是两个人具备同一个接口,代理人虽然不能干活,但是被代理的人能干活呀。 二、结构示意图 三、买
2015-08-05 23:22:42 930
转载 简单工厂模式
一、概述 我们需要生产A、B、C类产品,他们都有一定的共性,而且这三类产品在factory工厂都能生产,那么我们就可以在管理类中调用工厂类,传入产品名,就可以指定工厂生产某类产品。二、结构图 三、代码 // 产品接口 public interface Product { p
2015-08-05 23:20:17 865
原创 spring mvc框架中创建验证码
在spring mvc框架中的公共控制器中创建验证码,并把验证码放入session,并返回图片流/*** 创建验证码* * @throws Exception*/@RequestMapping(value = "/common/createCode", method = RequestMethod.GET)public void createCode(HttpServl
2015-08-05 22:11:40 1236
原创 计算两个时间之间相隔天、小时、分、秒
/*** * @Description: 获取两个时间相差的天,时,分,秒* @param str1 时间1* @param str2 时间2 *@ param formmat 时间格式* @return* */public static String differTime(String str1, String str2,String formmat) {
2015-08-05 08:42:28 2186
原创 分布式程序防止多用户对同一数据更新问题
在分布式程序中经常遇到多个用户对同一数据的更新,虽然数据库中对更新操作加了锁,防止同时更新的问题,但是也可能会存在数据被重写的问题。比如:用户a 对学生表的name字段进行修改,用户b对学生表的age进行修改,它们是同时执行的。因为我们对更新加了锁,所以假如A执行,b等待,当a执行了后,b开始执行,由于b提交的数据中包含了name字段,所以对a修改的name值也修改了。所以就照成了数据的重写。
2015-08-02 21:00:39 3638
原创 在移动HTML5页面input类型采用number无法控制长度,以及右边显示难看的加减按钮
场景:这是之前做的移动web控件时遇到的问题。当时在我们控件的html5页面需要输入卡号、CV2、手机号、验证码等信息。大家都知道这些值都是数字。普通类型的输入框,当我们点击时,手机默认掉起的键盘中只有字母和符号,而我们这里只需要输入数字,我们只有切换一下才是数字键盘。后来我们采用了number类型的输入框,虽然能吊起手机的数字键盘,但是在有些手机上面会显示增加和减少按钮,同时有的手机
2015-08-02 20:40:01 13825 4
原创 java代码实现redis分布式锁代码
import redis.clients.jedis.Jedis;//java代码模拟处理redis分布式锁代码public class redisTest {private static long timeout = 1000;public static void main(String[] args) throws Exception {new Thread(new
2015-07-20 18:00:59 2025
原创 Mysql数据库存储引擎
Mysql中有以下几种引擎 1.MyISAM Mysql5.5之前的默认数据库引擎,最为常用。拥有较高的插入,查询速度,但不支持事务。 2.InnoDB事务型数据库的首选引擎,支持ACID事务,支持行级锁定, MySQL 5.5起成为默认数据库引擎。BDB源自Berkeley DB,事务型数据库的另一种选择,支持COMMIT和ROL
2015-07-15 22:01:18 1403
转载 Nginx负载均衡和LVS负载均衡的比较分析
lvs和nginx都可以用作多机负载的方案,它们各有优缺,在生产环境中需要好好分析实际情况并加以利用。首先提醒,做技术切不可人云亦云,我云即你云;同时也不可太趋向保守,过于相信旧有方式而等别人来帮你做垫被测试。 把所有即时听说到的好东西加以钻研,从而提高自己对技术的认知和水平,乃是一个好习惯。 下面来分析一下两者:一、lvs的优势:1、抗负载能力强,因为lvs工作方
2015-07-15 21:49:18 1286 2
原创 Java个人习惯用法总结
1.使用StringBuilder或StringBuffer代替string 不要像这样使用重复的字符串连接:s += item ,因为它的时间效率是O(n^2)。 使用StringBuilder或者StringBuffer时,可以使用append()方法添加文本和使用toString()方法去获取连接起来的整个文本。 优先使用StringBuilde
2015-07-15 21:31:46 942
转载 10种简单的Java性能优化
是否正打算优化hashCode()方法?是否想要绕开正则表达式?Lukas Eder介绍了很多简单方便的性能优化小贴士以及扩展程序性能的技巧。最近“全网域(Web Scale)”一词被炒得火热,人们也正在通过扩展他们的应用程序架构来使他们的系统变得更加“全网域”。但是究竟什么是全网域?或者说如何确保全网域?扩展的不同方面全网域被炒作的最多的是扩展负载(Scaling loa
2015-07-15 21:16:36 1448 2
原创 在项目中日志不规范,有可能会造成巨大麻烦
以前自己在编程的时候,都不喜欢对每个功能、重要的方法进行日志的格式化输出,及时要输出,也没按照规范进行输出。但是前段时间,随着我们平台用户量不断增加,难免出现些问题。当用户遇到问题,就给我们客服打电话。然后客服毫无疑问就来找我们。当我们接收到这样问题的时候,我们首先要定位是什么原因造成的。当时就是因为自己方法中输出的日志很少,而且不规范,所以根本找不到具体原因,虽然最后问题解决了,但是花费很多不必
2015-07-14 20:11:34 1029 3
转载 分布式与集群的区别
简单说,分布式是以缩短单个任务的执行时间来提升效率的,而集群则是通过提高单位时间内执行的任务数来提升效率。例如:如果一个任务由10个子任务组成,每个子任务单独执行需1小时,则在一台服务器上执行改任务需10小时。采用分布式方案,提供10台服务器,每台服务器只负责处理一个子任务,不考虑子任务间的依赖关系,执行完这个任务只需一个小时。(这种工作模式的一个典型代表就是Hadoop的
2015-07-14 18:45:18 1313 2
原创 HTTP常见状态码
200 - 服务器成功返回网页 404 - 请求的网页不存在 503 - 服务不可用 服务器目前无法使用(由于超载或停机维护)。 通常,这只是暂时状态
2015-07-14 18:41:14 1014 2
百度文档下载器
2021-03-30
fastdfs与dubbo整合实现分布式服务接口
2016-09-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人