`
海浪儿
  • 浏览: 271746 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论
文章列表
HttpSession和ModelMap里存储变量名称重名问题             在HttpSession里设置了某个属性譬如status,然后在controller里又在ModelMap里设置了同样的属性,譬如:   httpSession.setAttribute(status, “VALID”); modelMap.addAttribute("status", “DEV”);       velocity里按这种方式取值$status,得到的值却是httpSession存储的值VALID。           因此:在httpSession
虚拟机类加载机制   生命周期 从被加载到虚拟机内存,到卸载内存为止,包含7个阶段:加载  、验证、解析、 准备、初始化、使用、卸载。   验证、准备和解析统称为连接。  加载、验证、准备、初始化和卸载这5个阶段的顺序是确定的,而解析则不一定,它可以在初始化阶段之后再开始,以支持java的运行时绑定。 2
jvm学习笔记1--内存区域与内存溢出 运行时数据区域组成    1.1   程序计数器 当前线程所执行的字节码的行号指示器。字节码解释器工作时通过改变这个计数器的值来选取下一条需要执行的字节码指令。 为了线程切换后能恢复到正确的执行位置,每条线程都有一个独立的程序计数器,因此属于“线程私有”的内存。 执行 java方法,则记录的是虚拟机字节码的地址;如果执行的是 native方法,则值为空( Undefined) 异常:唯一一个在 Java虚拟机规范中没有规定任何 OutOfMemoryError情况的区域。 1.2  ...
    最近在做开放平台相关的项目,外部开发者(isv)创建应用前,需要生成一对RSA公私钥对,私钥自己保留,公钥上传给我们。Isv的应用访问公司服务时,需要用私钥对请求进行加签,然后我们用他之前提供的公钥进行验签。       当isv将公钥上传后,需要对公钥的合法性进行验证,以下是验证工具类     /** * RSA密钥合法性验证器 * * @author xianwu.zhang * @version $Id: RSAkeyChecker.java, v 0.1 2012-10-29 下午04:59:09 xianwu.zhang Exp $ */ pu ...
  基于拦截器和注解实现页面的访问权限控制             在 web 系统中,经常需要对每个页面的访问进行权限控制。譬如,要进入 xx 公司的开放 平台, isv 需要注册成为开发者,开发者的状态有审核中、有效、冻结、拒绝、删除等状态,然后根据不同的状态,开发者可以访问不同的页面。只有有效或冻结状态可以访问只读功能的页面(即该页面的访问不会造成后台数据的变化),只有有效状态可以访问具有写功能的页面。       如何实现该访问控制的需求呢?最直观的做法就是:在每个页面对应的 controller 里,都去调用查询开发者的服务,然后判断开发者的状态。   ...
一、java的实现方式 首先读取图片 //方式一:直接根据url读取图片 private static BufferedImage read(String imageUrl) throws IOException { URL url = new URL(imageUrl); BufferedImage image = ImageIO.read(url); return image; } //如果需要设置connection里的一些属性,譬如RequestProperty,则采用方式二: private static BufferedImage read(S ...
     以下内容引自某个项目的一篇codereview报告                目前的codereview好像对代码的结构、代码的冗余关注的太少,这两天看了一下,发现xx系统里存在不少的冗余,这些都是由一些代码功能片段放置位置的不合理,类的职责分配不合理造成的。 譬如: 对于领域模型CreditCont,它的状态是否终止、有效、关闭;它是否已过期;它是否已生效等均属于领域模型CreditCont的本质特征,这些特征的判断会频繁的被其他类所使用,但是,目前对这些特征的判断都是由其他类负责. 譬如当某个类里的某个方法需要判断授信协议是否过期时,就直接在这个方法里写上判断语句 ...
    系统分析过程到底该做什么,仅仅是产出一份系统分析文档吗?个人认为,系统分析的最重要的产出之一就是确定关键技术方案的可行性。     对于一些关键技术的选择,首先肯定是先选择已成熟的方案,避免重复发明轮 ...
之前做的项目里涉及到了一些并发问题,今天总结一下 并发是由对共享资源的访问不当引起的,总的来说,常见的共享资源分为两大类:一种是数据库表中的行记录;一种是代码中的共享变量(譬如单例或者静态类型等等)。下面对这两类共享资源引发的并发问题借助一些实际的例子进行阐述。 1.数据库表中的行记录共享 此类资源共享导致并发问题的原因一般分为以下三类:  没有加锁  加锁的时机不对  加锁的顺序不对 1.1没有加锁 如下业务场景:对一笔已收取滞纳金的订单进行退还,退还金额应该小于等于实际已经收取的滞纳金。代码如下: //1.根据billId从数据库中加载账单(第二个参数为false表示不加锁) B ...
Global site tag (gtag.js) - Google Analytics