一些需要注意的Java基础
来源:互联网 发布:cuda 8.0 linux 编辑:程序博客网 时间:2024/06/06 03:36
1.序列化: Serializble是自动序列化的,可以使用transient来修饰字段是否需要序列化,另外还有一种是Externalizable是非自动化的.需要在writeExternal()方法中来指定哪个字段是需要序列化的,还有就是static修饰的是无法进行序列化的.
2.创建对象的4种方式:1)new 2)使用反射 newInstance() 3)使用clone( ) 4)使用ObjecInputStream进行反序列化
3.Java中的参数传递是值传递,在调用方法并传参数时,虚拟机会自动开辟一个新的栈用来指向同一个对象,这样可以理解为什么可以在方法中修改对象,而不能指向另一个新的对象,因为Java的基础类(string,包装类)的变量都是final的,是不能更改的,只能重新开辟新的对象.
4.关于string,new string的时候会产生2个对象,一个是在堆中,一个是在常量池中,而常量池是在class文件中的,我觉得string就是char的包装类,哈哈
5. 1)关于hashMap.hashMap的核心是让记录的关键字和存储的值建立映射关系,而这种映射关系是通过哈希函数实现, 2)当我们put元素时,HashMap会先根据key的hashcode值找到散列桶的具体位置,一般来讲,每个key对应的hashcode是不一样的,但是如果万一是一样的,就形成链表,当链表数超过8个,就会改变数据结构,变成红黑数(Java8), 3)新的在链表头,旧的在链表尾, 4)HashMap的初始数组数为16(ArrayList的初始数量为10),当put值的数量超过75%,就会自动扩大一倍, 5)尽量使用final的类做为key,以保持key值得稳定性, 并且重写hashcode和equals方法.
6.Object类中11个方法,除了tostring,equals,wait(final),finalize(protected) 其余的都是本地方法,native.
7,以前认为只要只要哦是成员变量就一定是在堆中的,原来不是只要的,基本类型就是在栈中的,他的引用就是他的栈.
8.i--比i++性能好,因为jvm在与0做比较的时候速度更快,
以上可能有错误,希望大神能够详细指出.
- 一些需要注意的Java基础
- Java中的一些需要注意的地方
- java HashMap需要注意的一些地方
- 关于Java基础需要注意的点
- 一些需要注意的
- 内核中需要注意的一些基础问题集锦
- 积累的一些Java编程需要注意的性能考虑
- 一些需要注意的地方
- 一些需要注意的点
- 写java程序时需要注意的一些总结!
- java实际开发中泛型使用需要注意的一些问题
- java语法中一些需要注意的地方
- cmd执行Java源码需要注意的一些地方
- 以后需要注意的一些Java开发规范
- Java 泛型以及一些需要注意的问题
- 基础中需要注意的
- java学习基础需要注意的几个知识点
- 学习java基础时需要注意的几个知识点
- JAVA 报表
- 检测日期及时间
- 为何不能用j2me开发CDC程序?
- 请问一下J2ME的FORM如何清屏
- 开发S60 3rd开机后台运行的程序需要注意些什么?
- 一些需要注意的Java基础
- 想把一个图片全屏显示
- 一个无限分级删除的问题?
- 扩展系统Contacts menu后,通过点击这个Menu item如何获取被highlight contact的电话号码???????????
- 请教 DirectGraphics.drawPixels
- 如何通过获取手机的联网方式列表
- Android能否在子线程中更新UI呢?
- react-native ListView 通过Navigator传递数据
- mysql 多表链接查询