- 博客(246)
- 资源 (17)
- 收藏
- 关注
转载 post,get请求url长度
一、问题起因在某项目释放后Bug统计的附件《释放后问题》里有: 问题一:CSV处理时,如果处理的主题数过多,发生URL参数上限的错误。原因:可变长度的参数通过URL方式传递,会造成这种潜在的错误发生。分析:1、属于2次发生问题,开发方面没有及时通过checklist等方式向组员传达相关注意事项; 2、测试时没有作大批量数据的测试。备注:1、作为经验添
2017-03-29 17:00:52
3871
转载 Spring事务传播机制小记
Spring事务传播机制小记之前对spring的事务传播机制没有概念,花点时间去看了事务的源码,以及这些事务传播机制使用的文档,在此做一下简单的笔记正文下面说提到的共享事务的意思就是几个service共用同一个事务,如传播机制Propagation.REQUIRED从源码看AOP如何实现事务我们想使用事务,那就得配置spring元
2017-03-22 01:22:09
1285
原创 Spring事务传播机制&隔离级别
Spring事务传播机制&隔离级别一、Propagation (事务的传播属性)Propagation : key属性确定代理应该给哪个方法增加事务行为。这样的属性最重要的部份是传播行为。有以下选项可供使用:PROPAGATION_REQUIRED--支持当前事务,如果当前没有事务,就新建一个事务。这是最常见的选择。PROPAGATION_SUPPORTS--支持
2017-03-22 01:16:33
12792
2
转载 Kafka消息保证不丢失
Kafka消息保证生产的信息不丢失和重复消费问题1)使用同步模式的时候,有3种状态保证消息被安全生产,在配置为1(只保证写入leader成功)的话,如果刚好leader partition挂了,数据就会丢失。2)还有一种情况可能会丢失消息,就是使用异步模式的时候,当缓冲区满了,如果配置为0(还没有收到确认的情况下,缓冲池一满,就清空缓冲池里的消息),数据就会被立即丢弃掉。在
2017-03-21 22:35:59
25275
3
转载 java内存配置详解
前段时间在一个项目的性能测试中又发生了一次OOM(Out of swap sapce),情形和以前网店版的那次差不多,比上次更奇怪的是,此次搞了几天之后啥都没调整系统就自动好了,死活没法再重现之前的OOM了!问题虽然蹊跷,但也趁此机会再次对JVM堆模型、GC垃圾算法等进行了一次系统梳理; 基本概念 堆/Heap JVM管理的内存叫堆;在32Bit操作系统上有4G的限制,一般来说Wi
2017-03-19 23:11:31
4800
原创 java加签与解签
SHA1即安全哈希算法(Secure Hash Algorithm),用于签名;RSA是目前最有影响力的公钥加密算法。 说到这就的提到公钥和私钥:公钥、私钥分居客户端和服务器端,分别用于加密和解密。同时,私钥还用于签名,公钥还用于验证签名。 SHA1WithRSA:用SHA算法进行签名,用RSA算法进行加密 发送端的签名及对签名的加密,接收端的解密与验证签名
2016-11-27 17:13:51
6360
原创 序列化与反序列化
序列化与反序列化 我们知道,当两个进程进行远程通信时,可以相互发送各种类型的数据,包括文本、图片、音频、视频等, 而这些数据都会以二进制序列的形式在网络上传送。那么当两个Java进程进行通信时,能否实现进程间的对象传送呢?答案是可以的。如何做到呢?这就需要Java序列化与反序列化了。换句话说,一方面,发送方需要把这个Java对象转换为字节序列,然后在网络上传送;另一方面,接收方需要从字节序列中
2014-09-16 23:12:46
1122
转载 控制 Cookie 的作用范围
默认时,网站的所有 Cookies 都一起被存储在客户端,并且所有 Cookies同网站的任何请求一起被发送到服务器。换句话说,网站中的每个页面都能够为网站获取所有的Cookies。但是,你能够通过两个方式来设置 Cookies 的作用范围: 把 Cookies 的作用范围限制到服务器的目录,从而允许你把 Cookies 限制到网站的某个应用程序。设置域的作用范围,能够允许你指定域中的哪些
2014-09-16 22:13:49
2069
1
转载 客户端本地存储解决方案
无论是为了离线web应用,还是为了更好的用户体验,还是为了节省更多流量,很多web应用都需要我们能够在本地存储一些数据,于是出现了很多的基于浏览器的本地存储解决方案,比如cookie, userData, Flash SharedObject, Google Gears, WebStorage, Silverlight, Open Database等。HTML5本地存储出来之前,本地存储方
2014-09-16 22:02:51
1344
转载 static与非static
我们往往在main中直接调用System.out.print方法来打印,但是其实就这简单的一步里面有很多的玄机,因为main是static的,所以只能调用static的函数,那么print是static的吗?我一直有这个疑问,今天专门查阅了下源码,说下我的理解:(源码只贴出来部分对理解有用的)源码里面:public final class System 直接在lang包里面。所以可以直接不
2014-09-16 20:34:04
1909
原创 SPRING原理解析-Ioc容器初始化
IoC容器的初始化就是含有BeanDefinition信息的Resource的定位、载入、解析、注册四个过程,最终我们配置的bean,以beanDefinition的数据结构存在于IoC容器即内存中。这里并不涉及bean的依赖注入,只是bean定义的载入。但有例外,在使用Ioc容器时有一个预实例化的配置,即bean定义中的设置了lazyinit属性,那么这个bean在Ioc容器初始化时就预先加载,
2014-09-16 02:29:49
4582
转载 spring源码分析-XmlBeanFactory导读
源代码分析,是一件既痛苦又快乐的事情,看别人写的代码是通过的,但当你能够看明白的时候,相信快乐也会随之而来,为了减少痛苦,更快的带来快乐,在这里希望通过这篇文章对觉得困难的朋友有一个帮助。 本文以spring框架的XmlBeanFactory为入手点进行分析,希望能够以尽量简洁明了的方式给予有需要的朋友一定的帮助。 首先来打开该类的代码,我们将看到如下代码:
2014-09-15 21:38:12
855
转载 Servlet的多线程机制与线程安全
一般选择在这样的列上创建索引:1. 在经常需要搜索查询的列上创建索引,可以加快搜索的速度; 2. 在作为主键的列上创建索引,强制该列的唯一性和组织表中数据的排列结构;3. 在经常用在连接的列上创建索引,这些列主要是一些外键,可以加快连接的速度;4. 在经常需要根据范围进行搜索的列上创建索引,因为索引已经排序,其指定的范围是连续的;5. 在经常需要排序的列上创建索引,因为索引已经
2014-09-15 19:43:21
2536
原创 解决hash冲突的办法
哈希编址的冲突问题。1)冲突是如何产生的?上文中谈到,哈希函数是指如何对关键字进行编址的规则,这里的关键字的范围很广,可视为无限集,如何保证无限集的原数据在编址的时候不会出现重复呢?规则本身无法实现这个目的。举一个例子,仍然用班级同学做比喻,现有如下同学数据张三,李四,王五,赵刚,吴露.....假如我们编址规则为取姓氏中姓的开头字母在字母表的相对位置作为地址,则会产生如下的哈希表
2014-09-14 00:46:54
777
原创 oracle内部块
内部快 pl/sql中要想从数据表中向变量赋值,需要使用select into 语句,这时候需要注意1个问题: 如果查询没有记录时,会抛出no_data_found异常。如果有多条记录时,会抛出too_many_rows异常。 如果出现no_data_found异常,这个是比较糟糕的。一旦抛出了异常,就会让过程中断。特别是no_data_found,
2013-08-31 16:44:21
848
原创 quartz时间格式
格式: [秒] [分] [小时] [日] [月] [周] [年] * :表示所有值. 例如:在分的字段上设置 "*",表示每一分钟都会触发。?? :表示不指定值。使用的场景为不需要关心当前设置这个字段的值。例如:要在每月的10号触发一个操作,但不关心是周几,所以需要周位置的那个字段设置为"?" 具体设置为 0 0 0 10 * ?- :表示区间。例如 在小时上设置 "10-12",表示
2013-08-29 00:27:06
1599
原创 创建历史表
--历史表【ESALES_BOOKING_CLOSE_HISTORY_HISTORY】create table ESALESDATA.ESALES_BOOKING_CLOSE_HISTORY( ID_ESALES_BOOKING_CLOSE_HIST VARCHAR2(32) NOT NULL, ID_ESALES_BOOKING_CLOSE
2013-08-29 00:25:35
1566
原创 创建动态结果的视图
对于大部分视图而言,返回结果是固定的。但是利用一些变量可以创建动态结果的视图。下面是我常用的创建动态视图的方法:比如对dba_jobs表权限的控制create or replace view sys.user_jobs asselect j."JOB",j."LOG_USER",j."PRIV_USER",j."SCHEMA_USER",j."LAST_DATE",j."LAST_SEC
2013-08-28 23:46:48
1117
转载 程序员困境:底层编码能力正逐步丧失
摘要:不同的公司环境会培养出不同的员工,程序员也不例外,由于大公司的开发框架十分成熟,稳定,而且充满盈利能力,所以开发者容易陷入拿来主义思维,而底层代码的编写能力正在逐渐退化。原文链接前段时间,@developerworks在微博上向大家推荐了一篇引人深思的文章《程序员困境》,这篇文章的作者描述了在招聘内核程序员时所遇到的一个现象,一些来自大公司的“高级”程序员,却连最简单
2013-08-20 23:18:50
806
转载 人的一生两个最大的财富是:你的才华和你的时间
人的一生两个最大的财富是:你的才华和你的时间。才华越来越多,但是时间越来越少,我们的一生可以说是用时间来换取才华。如果一天天过去了,我们的时间少了,而才华没有增加,那就是虚度了时光。 如何有效率地利用时间呢?我有下面几个建议: 做你真正感兴趣、与自己人生目标一致的事情。我发现我的“生产力”和我的“兴趣”有着直接的关系,而且这种关系还不是单纯的线性关系。如果面对我没有
2013-08-18 22:55:56
1172
转载 外刊IT评论:对大龄程序员的五大误解
摘要:最重要的是,任何肚子里没有实货的程序员都不应该被雇佣,不论是年轻和年老。最近我过了40岁生日。 一个朋友开玩笑的对我说:嘿,我想这个意味着你已经老的不适合再去编程了吧!,我表面上哈哈一笑,但心里却触动不少。 年龄歧视在我们这行里并不可笑。 就像今天用Java的兄弟沦落到这个地步一样,几年前,使用COBOL家伙被我们从心底里嘲笑其老旧的编码方式和缺乏新技术中的灵活性。如今轮到我被他们嘲
2013-06-07 19:56:03
1002
转载 这就是生活,学着想开,看淡,不强求,别让自己心累
引导语:人生,就是一段或长或短的旅途。在这段时光里,我们遇到的不可能都是自己情愿去做的事情。那么。碰到这样的事该怎么办呢?是深锁眉头呢还是笑对那些烦恼之事呢?答案你是知道的,其实人生不如意十之八九,只有乐观面对的人才会走到最后。只要坦然去面对,就没有什么过不去的坎。 人之所以会心累,就是常常徘徊在坚持和放弃之间,举棋不定。生活中总会有一些值得我们记忆的东西,也有一些必须要放弃的东西。放弃
2013-06-03 23:19:24
1068
转载 一个男人关心的东西 决定了他的层次
一、拥有自信和风度 男人到了二十几岁后,就要开始学着用心去经营自己了,它体现在自己的思想与涵养上。自信是一个男人最重要的品质,自信的男人就你像一只在暴风雨中战斗的海鸥。海鸥所要说的只有一句话“让暴风雨来的再猛烈些吧”,只因为它无所畏惧。一个自信的男人,总是能够感染别人,无论这些人是朋友还是敌人。要使别人对你有信心,就必须要先对自己充满信心。自信的男人可以战胜一切困难。 一个有风度的男人
2013-06-03 23:09:37
918
原创 js中文长度校验以及字节
单字节指只占一个字,是英文字符。双字是占两个字节的,中文字符都占两个字节 单字节的英文是Byte;比特是最小的数值单位,它的英文是Bit。 一个字节包含8个比特,通常计算机初学者接触到的ASCII码就是单字节字符,由于计算机是二进制的,1个比特位只可以表示为0或者1这两种数,那8个比特(一般从右至左)就可以有0~127(2的8次方再减1)的不同的数值表示。 双字节字符即是包
2013-05-24 17:03:32
7755
原创 SecureCRT脚本
SecureCRT脚本js版本XX.js内容如下:# $language = "JScript"# $interface = "1.0"crt.screen.send("\n")crt.screen.send("su - opr\n")crt.screen.WaitForString("Password:",10)crt.screen.send("#log\n")
2013-05-21 16:29:03
9646
原创 linux服务器查看日志less命令
less filename常用的命令: shift + g 查询最新的 ?搜索 ctrl + insert 复制shift + insert 粘贴 g help b 向后翻(看之前的日志)f 往前翻(看最新的日志) 执行g ,即可查看完整的less 参考命令 SUMMARY OF LESS CO
2013-05-21 14:01:49
9162
原创 IReport问题整理
1. 问题:IReport如何实现变量字段$F{ propertyName}赋值为一个NULL对象时不显示”null”, 而显示为空白?解决方法:选中动态单元格,右键选择属性,在弹出对话框TextField选项卡中选中Blank when null。思考:以往我们为IReport中变量字段赋值时会在程序或报表Textfield expression中用三目符号去判空,用I
2013-05-21 13:33:19
30725
8
原创 jesperReport测试pdf粗体代码
有时候ireport工具生成的pdf看不到我们想要的效果,比如字体加粗,这时候需要自己写代码来测试,并且添加字体的属性String fileName = "d://Program Files//test.jasper"; String outFileName = "d://Program Files//test.pdf"; Map parameters = new HashMap
2013-05-21 11:37:33
1539
原创 jasperReport实现页面嵌套pdf预览
net.sf.jasperreports.engine.JasperExportManager.exportReportToPdfStream(InputStream arg0, OutputStream arg1) 能够实现导出pdf到输出流,但是因为JasperExportManager的exportReportToPdfStream没有设计字体,导致有时候实现不了粗体的功能。查看Jasp
2013-05-21 11:31:44
8332
转载 JasperReport用户手册
这篇文章转自--疯狂的菠菜1 简介 JasperReport是一个强大、灵活的报表生成工具,能够展示丰富的页面内容,并将之转换成PDF,HTML,或者XML格式。最重要的是它是开源的,这给我们带来很大方便,但是文档却要钱,让人不爽。不过人总要生存,再说,做这么一个好东西,用户总不能一点代价也不付(虽然对于中国普通程序原来说太贵了点)。它还有一个相关的开源工程?IRepo
2013-05-16 00:34:52
1810
原创 设计模式六大原则
设计模式六大原则(1):单一职责原则设计模式六大原则(2):里氏替换原则设计模式六大原则(3):依赖倒置原则设计模式六大原则(4):接口隔离原则设计模式六大原则(5):迪米特法则设计模式六大原则(6):开闭原则
2013-04-30 23:19:42
838
原创 设计模式总结一
模板方法模板方法模式定义: 义一个操作中的算法骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可中定义该算法的没写特定步骤。这个应用在设计框架级功能的时候非常的有用,框架定义好了算法的步骤,在跟据不同的需求实现具体的算法,比如在DAO显示中设计通用的增删改查功能。同时,模板方法还提供了一个额外的好处,就是可以控制子类的扩展,因为在父类定义好了算法
2013-04-30 23:17:09
672
原创 很有哲理的几句哈
●人生在世,浮华若梦,也不过是那么几个道理罢了!要想在这个社会上立足,要想让自己的梦想成为现实,我们必须要掌握一些生活上的一些道理。 ●有眼界才有境界,有实力才有魅力,有思路才有出路,有作为才有地位。政从正来,智从知来,财从才来,位从为来! ●观念比能力重要,策划比实施重要,行动比承诺重要,选择比努力重要,感知比告知重要,创造比证明重要,尊重生命比别人看法重要!
2013-04-29 23:44:49
1123
原创 js,java小数计算精度问题
js精度问题javascript,在计算小数的运算时,会存在精度问题,这跟计算机转二进制计算有关系。可以通过如下2种方案:1)可以通过字符串,然后parseFloat计算也是可以(toFix控制精度)。2)写一个公共的加减乘除的方法/*** javascript calc* * 描 述 : JS浮点计算BUG屏蔽* 创建人 : 冷凝* 创建日期 : 201
2013-04-04 22:34:55
1629
原创 getCurrentSession与getSession之关系
采用getCurrentSession()创建的session会绑定到当前线程中,而采用openSession()创建的session则不会采用getCurrentSession()创建的session在commit或rollback时会自动关闭,而采用openSession()创建的session必须手动关闭2、使用getCurrentSession()需要在hibernate.cfg.xml文
2013-03-21 23:31:09
1206
原创 单例模式之学习笔记
双重检查加锁实现可以使用“双重检查加锁”的方式来实现单例模式,就可以既实现线程安全,又能够使性能不受到大的影响。所谓双重检查加锁机制,指的是:并不是每次进入getInstance方法都需要同步,而是先不同步,进入方法过后,先检查实例是否存在,如果不存在才进入下面的同步块,这是第一重检查。进入同步块过后,再次检查实例是否存在,如果不存在,就在同步的情况下创建一个实例,这是第二重检查。这样
2013-03-14 19:27:10
922
原创 jquery实现文本框只能输入数字
如下是例子的部分代码(2个方法都可以)$(document).ready(function() {onlyNum("test");} //文本框只能输入数字,不能输入小数点和字母 by johnfunction onlyNum(id){ $("#"+id).keydown(function(event) { var keyCode = event.w
2013-02-27 13:45:52
4978
原创 jsp面试题
1)doPost()与doGet()的区别首先这两种方法有本质的区别,get只有一个流,参数附加在url后(就是把数据放置在HTTP协议头中),大小个数有严格限制且只能是字符串。。如果数据是英文字母/数字,原样发送,如果是空格,转换为+,如果是中文/其他字符,则直接把字符串用BASE64加密,得出如:%E4%BD%A0%E5%A5%BD,其中%XX中的XX为该符号以16进制表示的ASCII.p
2013-02-23 00:30:57
862
犀利开发jQuery内核详解与实践源码.rar
2013-03-11
跟我学spring3
2013-03-09
研磨设计模式(精简版)
2013-03-09
struts2.1.6开发相关的包
2012-04-23
最小生成树问题的扩展.pdf
2009-08-18
树状数组详细讲解.ppt
2009-08-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人