2017
03-01
03-01
Java线程内存模型,线程、工作内存、主内存
java线程内存模型线程、工作内存、主内存三者之间的交互关系图:keyedeas所有线程共享主内存,每个线程有自己的工作内存refreshinglocalmemoryto/frommainmemorymustcomplytoJMMrules产生线程安全的原因线程的workingmemory是cpu的寄存器和高速缓存的抽象描述:现在的计算机,cpu在计算的时候,并不总是从内存读取数据,它的数据读取顺序优先级是:寄存器-高速缓存-内存。线程耗...
继续阅读 >
测试是开发的一个非常重要的方面,可以在很大程度上决定一个应用程序的命运。良好的测试可以在早期捕获导致应用程序崩溃的问题,但较差的测试往往总是导致故障和停机。虽然有三种主要类型的软件测试:单元测试,功能测试和集成测试,但是在这篇博文中,我们将讨论开发人员级单元测试。在我深入讲述具体细节之前,让我们先来回顾一下这三种测试的详细内容。软件开发测试的类型单元测试用于测试各个代码组件,并...
本文首先简单介绍了垃圾收集的常见方式,然后再分析了G1收集器的收集原理,相比其他垃圾收集器的优势,最后给出了一些调优实践。一,什么是垃圾回收首先,在了解G1之前,我们需要清楚的知道,垃圾回收是什么?简单的说垃圾回收就是回收内存中不再使用的对象。垃圾回收的基本步骤回收的步骤有2步:查找内存中不再使用的对象释放这些对象占用的内存1,查找内存中不再使用的对象那么问题...
Filter简介Filter也称之为过滤器,它是Servlet技术中最实用的技术,WEB开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp,Servlet,静态图片文件或静态html文件等进行拦截,从而实现一些特殊的功能。例如实现URL级别的权限访问控制、过滤敏感词汇、压缩响应信息等一些高级功能。它主要用于对用户请求进行预处理,也可以对HttpServletResponse进行后处理。使用Filter的完整流程:Filter对用户请...
QQ会员活动运营平台(AMS),是QQ会员增值运营业务的重要载体之一,承担海量活动运营的Web系统。AMS是一个主要采用PHP语言实现的活动运营平台,CGI日请求3亿左右,高峰期达到8亿。然而,在之前比较长的一段时间里,我们都采用了比较老旧的基础软件版本,就是PHP5.2+Apache2.0(2008年的技术)。尤其从去年开始,随着AMS业务随着QQ会员增值业务的快速增长,性能压力日益变大。于是,自2015年5月,我们就开始规划PHP底层...
1.拥有扎实的基础和深刻理解OO原则对于Java程序员,深刻理解面向对象编程这一概念是必须的。没有OOPS的坚实基础,就领会不了像Java这些面向对象编程语言的美。光学习OO原则的定义用处不大,关键是要学会如何应用这些原则用一种OO的方式去设计解决方案。因此,我们应该对对象建模、继承、多态、设计模式有一个很好的认识。2.掌握核心API如果你不知道语言结构和核心API,那么即使你在理论知识上再怎么彪悍也是独...
写在前面:因为部门项目中有用户登录验证方面的需求,故而学习了一下相关的验证技术,本文仅是作者个人学习的心得,由于水平有限,如有错误之处还请指出、见谅。1.背景在设计web应用的时候,用户登录/注册是必不可少的功能,对用户登录信息进行验证的方法也是多种多样,大致可以认为如下模式:前端验证+后台验证。根据笔者的经验,一般会在前端进行一些例如是否输入数据、输入的数据的格式是否正确等一系列的验证,在...
1、win7的配置首先下载符合操作系统版本的jdk,比如最新的jdk8:下载链接:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html;当然一般开发者不会最新的Jdk,现在主流的选择是jdk6和jdk7,当然越来越多的开发者切换到jdk8的平台。下载之后,一路安装,本机jdk安装路径是C:\ProgramFiles\Java\jdk1.7.0_79然后按下列步骤,计算机--》属性--》高级系统设置--》环境变量在xxx的环境变量...
规范需要平时编码过程中注意,是一个慢慢养成的好习惯1.基本原则 强制性原则: 1.字符串的拼加操作,必须使用StringBuilder; 2.try…catch的用法try{}catch{Exceptionee.printStackTrace();}finally{}//在最外层的Action中可以使用,其它地方一律禁止使用;try{//程序代码}catch(Exceptione){//为空,什么都不写}//在任何场景中都禁止使用try{}catch...