程序员面试_Java基础技术
来源:互联网 发布:奇门排盘软件下载 编辑:程序博客网 时间:2024/05/16 23:36
目录
Java内存分配...1
静态区(方法区)1
栈:...1
堆:...1
Java Object类的常用方法... 1
LinkedList和ArrayList的优缺点...2
CRUD的各自的表现...2
HashSet的contains的判断方法...2
Java内存分配
静态区(方法区)
所有的class和static变量、方法名称、访问权限、字段信息等静态数据部分
栈:保存局部变量的值,包括:
a.用来保存基本数据类型的值;
b.保存类的实例,即堆区对象的引用(指针)。也可以用来保存加载方法时的帧。
堆:用来存放动态产生的数据,比如new出来的对象。注意创建出来的对象只包含属于各自的成员变量,并不包括成员方法。因为同一个类的对象拥有各自的成员变量,存储在各自的堆中,但是他们共享该类的方法,并不是每创建一个对象就把成员方法复制一次。
Java Object类的常用方法
1.1 clone():克隆方法 (5)
1.2 equals(Object obj): 判断相等与否 (1)
1.3 finalize(): 对象回收 (3)
1.4 getClass(): 得到运行时的class对象 (4)
1.5 hashCode(): 返回hashcode()值 (2)
1.6 notify():唤醒wait的线程
1.7 notifyAll():唤醒所有wait的线程
1.8 toString(): 对象字符串化 (6)
1.9 wait(): 拿到锁后等待
1.10 wait(longtimeout): 拿到锁后的wait timeout。
1.11 wait(long timeout,int nanos):加上纳秒的wait timeout
关于wait,notify等多线程的详解:
http://pan.baidu.com/s/1pJJrcqJ#path=%252F%25E5%25A4%25A9%25E4%25BA%25AE%25E6%2595%2599%25E8%2582%25B2%252FJavaSe%25E6%25A0%25B8%25E5%25BF%2583%25E5%259F%25BA%25E7%25A1%2580
LinkedList和ArrayList的优缺点
CRUD的各自的表现
Create: linkedlist没有空间浪费,如果指定初始化ArrayList的空间大小,则一开始就有空间浪费了。
Retrieve: 按索引下标查的话,Arraylist快。如果是按对象值来查呢,其性能是一样的。
Update: 取决于你的retrieve查找方式,与其雷同
Delete/Add::因为ArrayList的增加或删除,要伴随数组空间的copy,所以Arraylist一般性能要低。
HashSet的contains的判断方法
见demo: TestHashSetContains.java
判断某对象是不是在hashset集合中,首先判断hashcode()值是否在hashset当中,如果在则比较在该对象的equals方法。如果不在,则直接加入集合中,即该对象不在集合中。
- 程序员面试_Java基础技术
- 黑马程序员_java基础
- 黑马程序员_java基础
- 黑马程序员_java 基础
- 黑马程序员_java基础
- 黑马程序员_Java基础
- 黑马程序员_java基础
- 黑马程序员_java基础
- 黑马程序员_java基础
- 黑马程序员_Java基础
- 黑马程序员_java基础
- 黑马程序员_java基础
- 黑马程序员_java基础
- 黑马程序员_Java基础
- 黑马程序员_java基础
- 黑马程序员_Java基础
- 黑马程序员_java基础
- 黑马程序员_java基础
- oracle函数测试
- 关于OpenNI2和OpenCV2的那些事——获取彩色图和深度图(XtionProLive)
- C++ STL map key是自定义结构体或类
- SDWebImage
- MVC MVVM
- 程序员面试_Java基础技术
- Git中的AutoCRLF与SafeCRLF换行符问题
- CTP开发——下单
- java 线程池的原理分析
- Objective-C 入门博客链接
- qt背景设置
- iOS开发技巧--避免程序调试时出现三方库错误
- CentOS下Mysql数据库的安装与配置
- 绑定的细节