- 浏览: 512136 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
devon.k:
推荐的一种解决方案:https://developer.jbo ...
JBoss应用遇到问题记录 -
liuzl121:
楼主你好,我遇到了你说的第一个问题,能不能详细一些?
JBoss应用遇到问题记录 -
showzh:
...
MySQL5.1列类型 -
zijie110:
...
使用SpringSide的PropertyFilter无法实现 where 属性名1 like '%值1%' or 属性名1 like '%值2%' 的效果 -
JAVA-JVM:
您好,我看了您的一篇文章“用Maven构建Flex4项目实践记 ...
用Maven构建Flex4项目实践记录
[SCJP Sun Certified Programmer for Java 6 Study Guide (Exam 310-065)] chapter3
一. 栈和堆
1. 本地变量(方法变量)存于栈中;对象和实例的变量存于堆中。
二. Literals and Primitive Casting
1. 整型可以是10进制、8进制、或16进制。
2. 长整型以L或l结尾。
3. 浮点型以F或f结尾,双精度浮点型以D或d结尾。
4. boolean值是true或false。
5. chars值以单引号+单个字符表示。
三. Scope
1. Scope指的是1个变量的生命周期。
2. 有4种基本作用域:
1) Static 变量与它所在的类的生命周期一样长;
2) 实例变量与它所在的对象的生命周期一样长;
3) 本地变量与它所在的方法的生命周期一样长,如果该方法被另一个方法所调用,则本地变量已不可被访问;
4) Block变量的作用范围在它所在的块中。
四. Basic Assignments
1. Literal integers are implicitly ints.
2. Integer 表达式总是得到1个int-sized的结果,从不会变小。
3. Floating-point numbers are implicitly doubles (64 bits).
4. Narrowing a primitive truncates the high order bits.
5. Compound assignments (e.g. +=), perform an automatic cast.
6. A reference variable holds the bits that are used to refer to an object.
7. 1个引用变量可以指向所声明类型的子类型对象。
8. 当new1个对象(如Button b = new Button();)时,发生以下3件事:
1) 生成1个名为b、类型为Button的引用变量;
2) 创建1个Button类型的对象;
3) 分配这个Button对象给引用变量b。
五. 使用未初始化和未分配的1个变量或数组元素
1. 当1个对象数组实例化时,数组里的对象并不会自动实例化,而是自动默认值null。
2. 当1个原子类型数组实例化时,数组里的元素将自动默认值。
3. 实例变量初始化时永远会被赋以默认值。
4. Local/automatic/method 变量不会被赋以默认值。如果试图在初始化前使用它们,会有编译错误。
六. 向方法传递变量
1. 方法的参数可以是原子类型或对象引用。
2. 方法参数永远是copies.
3. 方法参数从来都不是实际的对象(只是对象的引用)。
4. 1个原子类型的参数是原始原子类型的unattached copy.
5. 1个引用类型的参数是原始对象引用的另一个copy.
6. Shadowing 发生在2个不同scope的变量具有相同的名称时。这将引起hard-to-find bugs 和 hard-to-answer exam questions.
七. 数组声明、构造、实例化
1. 数组可以存放原子类型或对象,数组本身是1个对象。
2. 声明1个数组时,[]可以在名称的左边或右边。
3. 声明1个数组时包含数组大小是不合法的。
4. 构造1个数组对象时必须指定数组大小,除非创建的是匿名数组。
5. 数组中的元素不会被自动创建,即使原子类型的元素会被赋以默认值。
6. 试图使用1个未指向任何实际对象的数组元素时,将引发 NullPointerException.
7. 数组有1个length变量,用于表示数组的元素个数。
8. 数组索引从0开始;当使用bad索引时,将引发 ArrayIndexOutOfBoundsException, 所能访问的最大索引总是=length-1.
9. 多维数组是存放数组的数组。
10. The dimensions in a multidimensional array can have different lengths.
11. 1个原子类型的数组可以接受任何可以转化为声明类型的值,如int数组可以接受byte值。
12. 1个对象类型的数组可以接受声明类型的子类型对象。
13. If you assign an array to a previously declared array reference, the array you're
assigning must be the same dimension as the reference you're assigning it to.
14. You can assign an array of one type to a previously declared array reference of
one of its supertypes.
八. 初始化块
1. 静态初始化块在类首次加载时执行1次。
2. 实例初始化块在每个实例创建时执行,在所有该类的所有父类构造函数执行之后、该类的构造函数执行之前执行。
3. 如果存在多个初始化块,则按代码的编写顺序执行。
九. 使用包装类
1. 包装类关联原子类型。
2. 包装类有2个作用:
1) 包装原子类型,使它们可以被作为对象进行处理;
2) 提供对原子类型有用(如类型转换)的方法。
3. 3个最重要的方法:
1) xxxValue() 没有参数,返回原子类型;
2) parseXxx() 接受String类型,返回原子类型,throws NFE;
3) valueOf() 接受String类型,返回包装类型,throws NFE;
4. 包装类的构造函数可以接受String类型或原子类型(Character除外,它只能接受char)。
5. Radix refers to bases (typically) other than 10; octal is radix = 8, hex = 16.
十. Boxing
1. 从Java5开始,boxing允许原子类型和包装类型之间的自动转换。
2. Using == with wrappers created through boxing is tricky; those with the same
small values (typically lower than 127), will be ==, larger values will not be ==.
十一. Advanced Overloading
1. Primitive widening uses the "smallest" method argument possible.
2. Used individually, boxing and var-args are compatible with overloading.
3. You CANNOT widen from one wrapper type to another. (IS-A fails.)
4. You CANNOT widen and then box. (An int can't become a Long.)
5. You can box and then widen. (An int can become an Object, via an Integer.)
6. You can combine var-args with either widening or boxing.
十二. 垃圾回收
1. Java中,GC提供自动内存管理。
2. GC的目的是删除不可达的对象。
3. 只有JVM决定什么时候运行GC。
4. GC的算法很难被确切知道。
5. 符合条件的对象才会被垃圾回收,这个条件是指1个对象已经没有被任何live thread所使用。
6. To reach an object, you must have a live, reachable reference to that object.
7. Java applications can run out of memory.
8. Islands of objects can be GCed, even though they refer to each other.
9. Request garbage collection with System.gc(); (only before the SCJP 6).
10. Object类有1个finalize()方法,finalize()方法在垃圾回收之前执行,只会执行1次。
11. The garbage collector makes no guarantees, finalize() may never run.
12. You can uneligibilize an object for GC from within finalize().
发表评论
-
JVM记要
2020-03-13 22:06 4JVM架构 图略(iteye已废) ... -
JUC(java.util.concurrent)要点笔记
2020-03-02 11:40 1084iteye没落了,编辑格式太难整,表格位置有问题,图片 ... -
JMH记要
2020-01-16 11:46 6181.What's JMH?——OpenJDK提供的微基准测 ... -
Windows下多个jdk共存问题
2016-08-26 13:52 1160现象: 共安装有jdk1.6、1.7、1.8这3个版本, ... -
国际化
2015-01-06 16:50 930语言代码标准 国家代码标准 Java: pu ... -
LTW(Loading-Time Weaving)应用实践要点记录
2013-05-09 17:50 0http://static.springsource.org ... -
Java常用命令(工具)
2013-03-21 16:04 2103启动参数加上-XX:+HeapDumpOnOutOfMemor ... -
Java基础修炼
2012-12-13 19:00 1086Java标准与规范 Java ... -
Java并发编程持续学习
2012-07-04 17:31 1385一. 概念与基础 book: 《Java并发编程实践》 ... -
Openfire和Spark本地开发环境搭建记要
2012-05-16 22:41 111511. Openfire 参考:openfire搭建 ... -
Java基础恶补——Development
2012-02-18 19:26 1062[SCJP Sun Certified Programmer ... -
Java基础恶补——线程
2012-02-11 23:19 921[SCJP Sun Certified Programmer ... -
Java基础恶补——内部类
2012-02-04 19:35 1181[SCJP Sun Certified Programmer ... -
Java基础恶补——泛型和集合
2012-02-01 18:17 3167[SCJP Sun Certified Programmer ... -
Java基础恶补——Strings, I/O, Formatting, and Parsing
2012-01-29 15:51 1233[SCJP Sun Certified Programmer ... -
Java基础恶补——控制流、异常、断言
2011-11-30 19:02 2084[SCJP Sun Certified Programmer ... -
Java基础恶补——Operators
2011-11-24 16:00 1196[SCJP Sun Certified Programmer ... -
Java基础恶补——OO
2011-11-17 13:30 1179[SCJP Sun Certified Programmer ... -
Java基础恶补——声明及访问控制
2011-11-07 15:54 1163[SCJP Sun Certified Programmer ... -
Java基础恶补——关键字
2011-10-19 16:01 0Java关键字表(assert added in 1.4, e ...
相关推荐
java-8e-assignments Assignments from Java Programming 8e 想了一下决定还是把java所有的作业题都放这里来好了 技术含量低的作业也放好了 万一以后吹牛用得着呢 万一以后想得起来脑洞一开把所有作业全补上了呢 ...
The Answers of The Assignments of Java Quizmaster for Beginners Teachers Guide 英文azw3 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或csdn删除
"corejava_assignments"是一个与Java编程相关的学习资源包,主要涵盖了Core Java的基础知识和实践练习。这个资源可能包括一系列的编程作业、示例代码、解释文档等,旨在帮助学习者深入理解Java语言的核心概念。 ...
【标题】"p1_java_assignments" 是一个与Java编程相关的学习项目或作业集合,它可能包含一系列的编程任务和练习,旨在帮助学习者提升Java编程技能。在Java编程领域,掌握基本概念、语法和常见数据结构是至关重要的。...
在"JAVA-Assignments-main"目录下,通常会包含一系列练习题,旨在让学习者应用上述概念。这些练习可能涉及数字计算、字符串操作、数组处理、条件判断和循环结构的组合等。通过实际编写和运行代码,巩固理论知识并...
在本项目"Java-2-assignments:我的第二个Java编程课的作业"中,我们可以深入探讨一系列与Java编程相关的知识领域。这些作业代表了学习者在掌握Java编程语言过程中的实践阶段,通过解决实际问题来深化理论理解。以下...
在本项目"java-assignments"中,我们关注的是计算机科学II课程中的Java编程作业。Java是一种广泛使用的面向对象的编程语言,由Sun Microsystems(现为Oracle Corporation)开发,以其跨平台兼容性和强大的功能而闻名...
在"java-assignments:回购包含我的Java练习示例"中,我们可以期待一系列与Java编程相关的练习和示例代码,这对于初学者和有经验的开发者来说都是宝贵的资源。这些练习可能涵盖基础到高级的Java概念,包括但不限于: ...
"Java Crash Course" contains a multitude of tips and tricks, examples and exercises you can do to grow your Java programming skills to unprecedented levels. We chose the content of this book carefully...
这个"Assignments-main"文件可能是Java编程课程或训练营的作业目录,可能包含了以上各个方面的练习题和项目,旨在帮助学习者巩固和提升Java编程技能。通过完成这些作业,学习者可以更好地理解和掌握Java的核心概念,...
在这个名为"Java-Assignments"的项目中,我们可以看到一个Java学习者或教师整理的练习和作业集合,旨在帮助提升Java编程技能。这个项目包含了一个具体的作业——"作业1-1-800-PIZZA",该作业要求我们将字符串转换为...
"Java_Assignments"这个标题表明这是一系列与Java编程相关的学习任务或项目,可能涵盖基础语法、面向对象编程、数据结构、算法等多个方面。这些实验作业是学习者巩固Java编程知识、提升编程技能的重要实践。 在描述...
"Advance_Java_Assignments" 是一个针对高级Java编程的学习资源集合,可能包含了多个实践项目或练习题,旨在帮助开发者深化对Java语言的理解并提升其编程技能。在深入探讨这些高级Java主题之前,我们首先需要了解...
标题和描述中提到的“Java-assignments”很可能是一个学习资源或者教学项目,旨在帮助初学者或者学生通过实践来掌握Java编程的基础。这些作业可能涵盖了变量、数据类型、控制结构(如if语句和循环)、函数、类和对象...
总的来说,"C-Java-Assignments-2SH4-"的学习资源应该可以帮助学习者深入理解C语言和Java的基础知识,通过实际编程练习提升编程能力和问题解决能力。对于初学者来说,完成这些作业将有助于他们从理论到实践的过渡,...
这个名为"Java_Assignments"的压缩包很可能包含了一系列与Java学习相关的练习题或项目,旨在帮助学生或初学者加深对Java语言的理解和实践能力。 首先,我们要理解Java的基础知识,包括它的特性。Java是面向对象的...
* Assignments * Operators * Strings and arrays * Flow control and exceptions * Assertions and Java 7 exceptions * String processing, data formatting, and resource bundles * I/O and NIO * Advanced OO ...