文章列表
java虚拟机所管理的内存分为以下几个数据区域:
方法区(method area)
虚拟机栈(VM Stack)
本地方法栈(Native Method Stack)
堆区(Heap)
程序计数器(Program Counter Register)
程序计数器:
是一块较小的内存空间,它的作用可以看做是当前线程所 ...
当new HashSet的时候,HashSet的构造方法如下:
public HashSet() {
map = new HashMap<E,Object>();
}也就是说,hashSet的内部是用HashMap实现的。
当向set add一个对象的时候,源码如下:
public boolean add(E o) {
return map.put(o, PRESENT)==null;
}因为Map的key是不能重复的,所以说Set内的元素是没有重复的, PRESENT只是一个Object类型的常量。
因为HashSet是基于HashMap而实现的,所以每个对HashS ...
public class Test {
public void replace(List list, String str){
list.add(str);
}
public static void main(String[] args){
Test test = new Test();
List<Integer> list = new ArrayList<Integer>();
test.replace(list, "123");
test.replace(list, "abv" ...
Java String 对象:
String a = new String("abc");创建了几个String Object?
一般来说,答案是两个,一个是"abc",一个是指向"abc"的引用对象s。
如果答案是正确的,那么下面的表达式会不会创建四个对象呢?
String a = new String("abc");
String b = new String("abc");其实不然,
如果String对象"abc"不存在内存中,那么会创建一个String对象&qu ...
开发Java应用程序时,开发者要想有效地利用统一建模语言(UML),必须全面理解UML元素以及这些元素如何映射到Java。本文重点讨论UML类图中的元素。类图是最常用的UML图,它用于描述系统的结构化设计。其中包括类关系以及与每个类关联的属性及行为。类图能出色地表示继承与合成关系。为了将类图作为一种高效的沟通工具使用,开发者必须理解如何将类图上出现的元素转换到Java中。下面来进一步探索这一转换过程。
元素
在后面的小节中,分别讲解了类图的各个元素及其在Java中相应的表示。我会列出元素名,后续简短的代码片断和一幅图来表示元素在类图上的样子。每一节的最后简要总结了该元素。
类(Cl ...
Java的泛型只在源代码存在,只供编辑器检查使用,编译后的字节码文件已擦除了泛型类型,同时在必要的地方插入了强制转型的代码。
泛型代码:
Java代码
public static void main(String[] args) {
List<String> stringList = new ArrayList<String>();
stringList.add("oliver");
System.out.println(stringList.get(0));
}
...
IOC 容器
org.springframework.beans 和 org.springframework.context包是spring IOC容器的基础。
BeanFactory 和 ApplicationContext:BeanFactory提供的高级配置机制,使得管理各种对象成为可能。而ApplicationContext是BeanFactory的扩展,功能进一步增强。简单 ...
在配置Spring 的时候,我们需要在web.xml文件中配置一个listener如下:
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
当server启动的时候,需要初始化WebApplicationContext,那么就会调用ContextLoaderListener的contextInitialized方法,该方法如下:
public vo ...