前言   前一篇文章中使用idea开发工具,并集成equinox框架展示了一个简单的OSGI多bundle搭建的demo。文中提到使用idea插件可以实现对bundle元数据的自动生成(默认方式)。其实本质上idea自动的O...
阅读(45) 评论(0)
前言   前面两篇文章中我们都是直接启动的OSGI框架(equinox),然后把所有bundle放到框架中运行。在平时开发中,由于历史原因,把整个应用都迁移到OSGI框架中 是一件很困难的事,但我们可以尝试把需要热更新的部分剥离...
阅读(40) 评论(0)
前言   在最近做的一个项目中,需要实现对jar包的热更新,最初的实现方式是使用自定义的ClassLoader。但这种自定义ClassLoader的方式只能实现首次jar包的热加载(即在程序启动后,引入新的jar包到jvm),如...
阅读(112) 评论(0)
前言   OSGI的精髓就是通过一个个的模块构建起整个应用系统,相对于普通开发模式而已,OSGI会强制开发人员对系统进行模块划分。因此如何对系统进行模块化的划分就显得很重要了,基本原则就是高内聚低耦合(在bundle内部高内聚,在...
阅读(53) 评论(0)
前言   在程序设计中有一种常用的提升数据查询性能的手段以--空间换时间。典型的场景就是使用“缓存”,在查询数据库之前加一层“全局共享缓存”(如:redis),更有甚者在应用实例内部在加一层“本地缓存”。以java应用+mysq...
阅读(97) 评论(0)
搜索框的附加功能   在日常的web开发中,经常有搜索框功--在一批数据中检索自己需要的数据。现在的百度以及各大电商的搜索框都做得很人性化,主要体现在两个方面:   一、搜索框的“搜索历史”:为了方便用户下次搜索,搜索框通常...
阅读(72) 评论(0)
CSRF攻击   CSRF攻击全称为:Cross-site request forgery,直接翻译为:跨站请求伪造。直接看名称还是有点难以理解,容易跟XSS攻击搞混。在讲解如何防御之前,首先看看如何攻击,举个简单的攻击例子:...
阅读(97) 评论(0)
目录 ThreadLocal使用场景 ThreadLocal实现详解 关于内存泄漏 Strust2中的ActionContext 在Spring MVC中使用ThreadLocal   ThreadLocal使用场景...
阅读(111) 评论(0)
遇到的问题   在使用redis的过程中,尤其是在做大数据“实时计算”的过程中,也许会经常遇到下列场景:比如网站每个页面的实时pv运算,使用storm(或者spark streaming)从kafka中消费实时点击流数据进行统计...
阅读(81) 评论(0)
引言   在我的项目中有这个一个场景:页面链接是同一个,但是可以有多个子页面,不同的时间要展示不同子页面,类似一个页面排期功能。也许你们觉得要实现这个功能比较简单,实现过程为:获取所有子页面的生效时间,对每个生效时间点创建一个定...
阅读(93) 评论(0)
引言   最近我的同事分享了一个页面渲染过程中,字符串拼接的优化处理。我们系统的页面渲染是分模块渲染,每个模块渲染完成后都是一个String型的html片段,最终我们需要把所有模块的html片段拼接成一个完整html页面。老代码...
阅读(132) 评论(0)
引言   在我上一篇《微服务化之----熔断和隔离》 中,使用责任链模式来进行熔断和限流。其中的并发访问计数器使用的是AtomicInteger,来统计当前服务器的并发数,关键代码如下: private...
阅读(92) 评论(0)
前言   Spring 的aop技术,个人理解 主要解决代码复用,避免重复性编写类似代码问题。比较典型的三种场景就是 日志打印、权限验证、事务处理。其实远不至于这三种场景,在编码过程中如果发现某些类似的代码频繁的出现在各个方法中...
阅读(157) 评论(0)
概述   前面两章收集了一些java 国际化相关api用法,以及spring MVC对国际化的支持。今天打算采用spring MVC搭建一套支持国际化的demo环境(采用的Spring MVC版本为:4.3.1.RELEASE)...
阅读(794) 评论(0)
概述   上一篇通过Spring MVC+Freemaker整合一个国际化实现demo,同时demo里还整合了Spring MVC自带的bean验证Validator,需要自己去实现验证逻辑。本篇主要内容Spring MVC+h...
阅读(99) 评论(0)
1 2 下一页共2页  到第