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

用happen-before规则重新审视DCL

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

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

编程技术

Spring容器启动配置

Spring容器启动配置什么时候spring容器启动?其实就是程序中执行加载web.xml配置文件的时候。Spring可以通过(Servlet)org.springframework.web.context.ContextLoaderServlet和Listener(org.springframework.web.context.ContextLoaderListener)两个类作为Spring启动的入口。1.应用程序下加载ApplicationConte

系统 2019-08-29 22:43:34 1888

编程技术

Rational Rose和UML可视化建模基础

为了成功地开发一个项目,你需要正确的过程、工具和符号(注释)。在本文中作者解释了UML是如何为你提供符号、Rational统一流程(UnifiedProcess)是如何为你提供正确的流程,以及RationalRose是如何为你提供使项目成功的工具的。什么是可视化建模?可视化建模(VISUALMODELING)是利用围绕现实想法组织模型的一种思考问题的方法。模型对于了解问题、与项目相关的每个人(客户、行业专家、分析师、设计者等)沟通、模仿企业流程、准备文档、

系统 2019-08-29 22:33:38 1888

编程技术

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 1888

编程技术

zoj 1789 The Suspects

这道题是并查集的题,写过这道题之后,我明白了一点,就是从根上改变所属father域#include#include#include#includeintp[30000+100];inta[30000+100];intfind(intx){if(p[x]==x)returnx;p[x]=find(p[x]);returnp[x]

系统 2019-08-29 22:28:15 1888

编程技术

嵌入式版"Hello world"之流水灯实验

在短短的两周内,我们集中学习了ARM体系结构相关课程和ucos基础课程,并第一次深入一个操作系统的内部进行详细的学习探究。在学习了ucos和相关工具下的demo之后,我终于将汇编、hex、c等底层代码和硬件联系在了一起。一直做web、桌面应用开发,我这次算是体验到了另外的世界和开发思路。关注于:代码计数用大小k关注效率关注空间注意赋值--掩码赋值学会看芯片时序图看清引脚等等下面开始我们的Helloworld之旅吧。在实验室写blog,没有linux环境,所

系统 2019-08-29 22:17:10 1888

编程技术

面试题 (斐波那契数列,复杂度为线性)

来自网易的一道看似简单的笔试题题目:要求以线性时间复杂度实现斐波那契数列。1,1,2,3,5,8,13,21,34,55,89,。。。。。。众所周知的斐波那契实现方式为递归实现:intfeb1(intn){t1++;if(n==0||n==1)return1;returnfeb1(n-1)+feb1(n-2);}当n=25时,迭代次数为242785。关于其复杂度的解释比较麻烦,详见http://www.cnblogs.com/python27/archiv

系统 2019-08-29 22:03:24 1888

Python

python笔记1

阅读更多python:>>>favorite_language='python'>>>favorite_language.strip()注:rstrip消右空白right()lstrip消做空白left()大小写:首字母大写.title()全小写.lower()全大写.upper()换行制表:换行符\n制表符\t列表:索引从0开始##提出列表中的某个元素:print(列表[索引])或者直接print("元素")##-1表示最后一个元素,以此类推##修改列表

系统 2019-09-27 17:57:20 1887