摘要:
我们的系统中新开发了一个数据抽取的功能,东西做完后,一看执行时间那叫一个恼火。参考同类系统同样功能的执行时间,目标:将本地数据处理时间压缩到5秒以内。 第一步: 要想知道哪个地方需要优化,仅凭感觉还是不够,我使用btrace寻找速度慢点原因。下面贴出这次使用的btrace代码: 本段代码会匹配 co 阅读全文
摘要:
最近在项目在使用JPA+EclipseLink 的方式进行开发,其中EclipseLink使用版本为2.5.1。遇到一些缓存方面使用不当造成的问题,从本篇开始逐步学习EclipseLink的缓存机制。 一、树节点搜索问题出现 故事是这样的:项目中有一个对树节点搜索的需求,如下图中所示,按照前缀匹配查 阅读全文
摘要:
1.小C的故事 下面讲述的是关于x星系喵星和汪星两个宿敌星球之间的故事。首先把镜头聚焦到喵星,它是主角登场的地方。(本故事纯属虚构,如有雷同,纯属巧合) 喵星纪元9035年,汪星精锐舰队聚集在近喵星轨道,企图一举拿下喵星。大部分喵星人已经被转移到防空工事中。喵星国王下令出动最强战力迎击来敌。喵小c是 阅读全文
摘要:
一、什么是归并排序 归并排序又称合并排序,它是成功应用分治技术的一个完美例子。对于一个需要排序的数组A[0..n-1],归并排序把它一分为二:A[0..n/2-1]和A[n/2..n-1],并对每个子数组递归排序,然后把这两个排好序的子数组合并为一个有序数组。下面是归并排序的例子图解: 二、单线程实 阅读全文
摘要:
有些特殊情况下,需要将多个jar包打包成一个jar文件。如果使用maven可以加入如下插件: 阅读全文
摘要:
1.小C的故事 大家好,我叫张小C,我是一个厨师,专职烤面包。下面是我的工作。 有一天,小明(老顾客)来到张小c的店中,以下是对话--- 小明:我吃你家面包都吃腻了,有没有别的吃的,没有的话我以后就换地方了。 小C:有有有,我马上做别的美味出来。 小C心想,我只会烤面包啊,该咋办,难不成再加个wor 阅读全文
摘要:
一.安装准备 1.环境简介 2.小插曲 想用wget进行下载,发现mac默认是没有安装的。用惯了别的Linux环境,相使用个自动安装工具来安装wget。让后就找到了Homebrew。下面首先安装Homebrew,这个类似CentOS的yum和Ubuntu的apt-get,安装方法很简单,执行下面就可 阅读全文
摘要:
设计模式的恰当使用可以使程序结构更灵活,易于复用和扩展。但是使用设计模式的同时会以损失性能和增加复杂度为代价。所以在使用之前要进行权衡。 为了使设计模式的学习印象深刻,更能理解应用场景与限制,将每篇文章结构规定为以下: 1.小故事; (我家有只猫叫张小C,这次就把他带到程序世界中成为各个角色,遇到各 阅读全文
摘要:
本篇记录使用纯java代码搭建SpringMVC工程的实践,只是一个demo。再开始之前先热身下,给出SpringMVC调用流程图,讲解的是一个http request请求到达SpringMVC框架后的过程,如下: 从servlet 3.0开始,实现javax.servlet.ServletCont 阅读全文
摘要:
一、本文参考: 1.《深入理解java虚拟机 JVM高级特性与最佳实践》 2. http://coderevisited.com/memory-leaks-in-java/ 二、对象已死的判定方法 要进行JVM中对象回收首先要判断对象是否已经死亡,判断的方法有如下几个: 1.引用计数法 给对象中添加 阅读全文