`
文章列表
第5章引用类型        引用类型的值(对象)是引用类型的一个实例。在ECMAScript中,引用类型是一种数据结构,用于将数据和功能组织在一起。它也常常被称为类,但这种称呼并不妥当。尽管ECMAScript从技术上讲是一门面向对象的语言,但它不具备传统的面向对象语言所支持的类和接口等基本结构。引用类型有时候也被称为对象定义,因为它们描述的是一类对象所具有的属性和方法。        对象是某个特定引用类型的实例。新对象是使用new操作符后跟一个构造函数来创建的。 5.1 Object类型        在通过对象字面量定义对象时,实际上不会调用Object构造函数。      ...
第三章Javascript的核心概念        Javascript的核心语言特性在ECMA-262中是以名为ECMAScript的伪语言的形式来定义的。        (1)ECMAScript中的基本数据类型包括Undefined、Null、Boolean、Number和String。        (2)与其他语言不同,ECMAscript没有为整数和浮点数值分别定义不同的数据类型,Number类型可以用于表达所有数值。        (3)ECMAScript中也有一种复杂的数据类型,即Object类型,该类型是这门语言中所有对象的基础类型。        (4)严格模式 ...
import java.lang.reflect.Field;   import java.lang.reflect.InvocationTargetException;   import java.lang.reflect.Method;   import java.lang.reflect.Modifier;   import java.lang.reflec
 
package java.lang;      import java.io.*;      /**    *     * Throwable是所有E
1、FindBugs介绍 FindBugs是一款Java静态代码分析工具,与其他静态分析工具(如Checkstyle和PMD)不同,FindBugs 不注重样式或者格式,它专注于寻找真正的缺陷或者潜在的性能问题,它可以帮助java工程师提高代码质量以及排除隐含的缺陷。有了静态分析工具,就可以在不实际运行程序的情况对软件进行分析。 最新版本是1.3.9.20090821,下载地址http://findbugs.sourceforge.net/downloads.html。 FindBugs运用
理解 JUnit 测试框架实现原理和设计模式 本文细致地描述了 JUnit 的代码实现,在展示代码流程 UML 图的基础上,详细分析 JUnit 的内部实现代码的功能与机制,并在涉及相关设计模式的地方结合代码予以说明。另外,分析过程还 ...
开发高性能并发应用不是一件容易的事情。这类应用的例子包括高性能Web服务器、游戏服务器和搜索引擎爬虫等。这样的应用可能需要同时处理成千上万个请求。对于这样的应用,一般采用多线程或事件驱动的架构。对于Java来说,在语言内部提供了线程的支持。但是Java的多线程应用开发会遇到很多问题。首先是很难编写正确,其次是很难测试是否正确,最后是出现问题时很难调试。一个多线程应用可能运行了好几天都没问题,然后突然就出现了问题,之后却又无法再次重现出来。如果在正确性之外,还需要考虑应用的吞吐量和性能优化的话,就会更加复杂。本文主要介绍Java中的线程的基本概念、可见性和线程同步相关的内容。 Java线程基本 ...
如果你即将去一家从事大型系统研发的公司进行Java面试,不可避免的会有多线程相关的问题。下面是一些针对初学者或者新手的问题,如果你已经具备良好的基础,那么你可以跳过本文,直接尝试针对进阶水平的Java多线程编程问题及解答。 关联链接: Java multi-threading-1 | Java multi-threading-2 问题:进程和线程的区别解答:
为什么并行测试很困难以及如何使用 ConTest 辅助测试 众所周知并行程序设计易于产生 bug。更为严重的是,往往在开发过程的晚期当这些并行 bug 引起严重的损害时才能发现它们并且难于调试它们。即使彻底地对它们进行了调试,常规的单元测试实践也很可能遗漏并行 bug。在本文中,并行专家 Shmuel Ur 和 Yarden Nir-Buchbinder 解释了为什么并行 bug 如此难于捕获并且介绍了 IBM Research 的一种新的解决方案。
引言 首先问这样一个问题,如果提到Java多线程编程,你会想到什么?   volatile、synchronized关键字? 竞争和同步? 锁机制? 线程安全问题? 线程池和队列? 好吧,请原谅我在这里卖的关子,其实这些都对,但是又不足够全面,如果我们这样来谈论Java多线程会不会全面一些:
首先我们先来了解一下进程、线程、并发执行的概念:   进程是指:一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间,一个进程中可以启动多个线程。比如在Windows系统中,一个运行的exe就是一个进程。   线程是指:进程中的一个执行流程,一个进程中可以运行多个线程。比如java.exe进程中可以运行很多线程。线程总是属于某个进程,进程中的多个线程共享进程的内存。 一般来说,当运行一个应用程序的时候,就启动了一个进程,当然有些会启动多个进程。启动进程的时候,操作系统会为进程分配资源,其中最主要的资源是内存空间,因为程序是在内存中运行的。   在进程中,有些程序流程块是可 ...
简介: 多线程编程向来不容易,但是它确实有助于理解 JVM 进程如何巧妙地构建不同代码。Steven Haines 分享 5 个技巧,可以帮助您在使用同步方法、volatile 变量和原子类时做出更明智的决策。 虽然很少有 Java™ 开发人员能够忽视多线程编程和支持它的 Java 平台库,更少有人有时间深入研究线程。相反地,我们临时学习线程,在需要时向我们的工具箱添加新的技巧和技术。以这种方式构建和运行适当的应用程序是可行的,但是您可以做的不止这些。理解 Java 编译器的线程处理特性和 JVM 将有助于您编写更高效、性能更好的 Java 代码。 在这期的 5 件事 系列 中,我将通过同 ...
  三十、用enum代替int常量:      枚举类型是指由一组固定的常量组成合法值的类型,该特征是在Java 1.5 中开始被支持的,之前的Java代码都是通过“公有静态常量域字段”的方法来简单模拟枚举的,如:      public static final int APPLE_FUJI = 0;      public static final int APPLE_PIPPIN = 1;      public static final int APPLE_GRANNY_SMITH = 2;      ... ...      public static final int ORAN ...
十三、使类和成员的可访问性最小化:      信息隐藏是软件程序设计的基本原则之一,面向对象又为这一设计原则提供了有力的支持和保障。这里我们简要列出几项受益于该原则的优势:      1.    更好的解除各个模块之间的耦合关系:      由于模块间的相互调用是基于接口契约的,每个模块只是负责完成自己内部既定的功能目标和单元测试,一旦今后出现性能优化或需求变更时,我们首先需要做的便是定位需要变动的单个模块或一组模块,然后再针对各个模块提出各自的解决方案,分别予以改动和内部测试。这样便大大降低了因代码无规则交叉而带来的潜在风险,同时也缩减了开发周期。      2.    最大化并行开发:  ...
Global site tag (gtag.js) - Google Analytics