- 军军小站|张军博客
搜索到与相关的文章
编程技术

用happen-before规则重新审视DCL

转载自----http://lifethinker.iteye.com/blog/260515编写Java多线程程序一直以来都是一件十分困难的事,多线程程序的bug很难测试,DCL(DoubleCheckLock)就是一个典型,因此对多线程安全的理论分析就显得十分重要,当然这决不是说对多线程程序的测试就是不必要的。传统上,对多线程程序的分析是通过分析操作之间可能的执行先后顺序,然而程序执行顺序十分复杂,它与硬件系统架构,编译器,缓存以及虚拟机的实现都有着很

系统 2019-08-29 23:06:36 1831

编程技术

线程基础

线程不是进程作为有一定开发经验的程序员来说,在java中实现多线程是一件很容易的事情,你只需要将你的类继承Thread类或者实现Runnable接口就可以。其实线程完全可以理解为一个任务。可以同时运行多个任务的程序,就成为多线程程序。然而线程并非进程。进程包括线程,每一个进程都拥有一套自己的变量,而线程间则共享这套变量。从而带来了很多风险,比如最典型的脏数据。这些以后会讨论。线程状态在java中,线程被定义成有6中状态:NEW至今尚未启动的线程处于这种状态

系统 2019-08-29 23:06:34 1831

编程技术

Struts的起源

Struts是一个技术框架,最先由CraigRMcClanahan编写,并在2000年捐献给ASF,目前已经有很多个人和组织参与了Struts的开发,使得Struts在几年内高速的成长。使其成为WEB应用MVC模式中VC的事实标准。Struts最早是作为ApacheJakarta项目的组成部分,项目的创立者希望通过对该项目的研究,改进和提高JavaServerPages、Servlet、标签库以及面向对象的技术水准。Struts这个名字来源于在建筑和旧式飞

系统 2019-08-29 22:53:45 1831

编程技术

企业级服务器设计与实现经验之系统框架(二)-

前面两篇文章已经介绍了功能服务器FS与应用服务器AS拆开的原因和它们各自的职责。这篇文章我们主要来看看FS和AS的主体框架是怎样的。首先要说明,无论FS或AS,它们都是一个复杂的系统,特别是AS,它有许多的管理、记录功能,所以单凭这一篇文章是不可能将它们的每一个方面描述清楚的。相反,我在此文中仅仅给出它们的骨架结构,许多细节都将忽略,看过第一篇文章读者可以根据主题目录知道,这些细节会在后面的文章中逐渐补充进来。FS和AS的最大特点就是采用了“框架+插件”的

系统 2019-08-29 22:49:35 1831

编程技术

maven2.2.1 创建web

下载的maven官方版中文学习手册中,第五章中的创建脚本看到完整的,完整的脚本语句应该是mvnarchetype:create-DgroupId=org.sonatype.mavenbook.ch05-DartifactId=simple-webapp-DpackageName=org.sonatype.mavenbook-DarchetypeArtifactId=maven-archetype-webapp-Dversion=1.0这种方式下创建的pom

系统 2019-08-29 22:32:00 1831

编程技术

for,while,do-while,continue(无标号) 之间微

原来对continue的理解停留在表面,粗略的以为就是在执行这条语句之后返回到迭代的头部(自认为是进口处),没想到还有巨大的细节问题。先举个例子:publicclassTest...{/***//***@paramargs*/publicstaticvoidmain(String[]args)...{//TODOAuto-generatedmethodstubintk=0;do...{k++;if(k<10)...{System.out.println("

系统 2019-08-29 22:17:19 1831

编程技术

spring frame 事务回滚的测试

我的环境配置Mysql:serverversion:5.0.45-Debian_1ubuntu3.1-logDebianetchdistributionSpringframe:2.0jdk1.6数据库的配置:--MySQLAdministratordump1.4------------------------------------------------------------Serverversion5.0.45-Debian_1ubuntu3.1-l

系统 2019-08-29 22:17:19 1831

编程技术

第八章 拦截器机制——《跟我学Shiro》

目录贴:跟我学Shiro目录贴8.1拦截器介绍Shiro使用了与Servlet一样的Filter接口进行扩展;所以如果对Filter不熟悉可以参考《Servlet3.1规范》http://www.iteye.com/blogs/subjects/Servlet-3-1了解Filter的工作原理。首先下图是Shiro拦截器的基础类图:1、NameableFilterNameableFilter给Filter起个名字,如果没有设置默认就是FilterName;

系统 2019-08-29 22:00:44 1831

编程技术

谈谈用例模型的那些事儿 之 用例图

——对用例模型及其应用的一次有益的探讨前言:这是一次对用例模型的探讨。怎样建立用例模型,怎样编写用例说明,它与需求规格说明书有什么区别,它能替代需求规格说明书吗?也许在这里可以找到你要的答案。进入软件业稍微久一点儿的人恐怕都不会陌生,软件开发的最初阶段都是谈需求、写需求规格说明书。需求规格说明书是与客户最终确认到纸上的,非常正式的公文。软件开发应当做什么,做成什么样子,什么东西不做,项目范围有多宽,需求规格说明书都是白纸黑字写得清清楚楚,谁都无法抵赖。所以

系统 2019-08-29 21:59:01 1831