2.
定义和描述垃圾收集、安全性和Java虚拟机。
自动垃圾收集器是Java提供的一种自动解决方案。在多数情况下,它能使你从必须为应用程序添加所有内存管理逻辑的任务中解脱出来。自动垃圾收集的缺点是不能完全控制它什么时候执行或不执行。
什么是内存?内存通常是用来创建栈、堆以及Java中的常量池和方法区域的。什么是堆?堆是Java对象所在的内存部分,它是垃圾收集过程所涉及的一块内存,也是唯一一块内存。
Java垃圾收集考虑的是要确保堆有尽可能多的自由空间。这个问题的核心就是要删除Java程序运行时不可再到达的任何对象。
何时运行垃圾收集器?垃圾收集器受JVM控制,JVM决定什么时候运行垃圾收集器。
每个Java程序有一个到多个线程,每个线程都有其资金的小执行栈。
当没有线程能够访问对象时,该对象就是适合进行垃圾收集的。
垃圾收集不能保证有足够的内存,它只能保证可用内存得到尽可能高效的管理。
Java安全性主要是指java语言本身的一些特性,主要是:
1.严格遵循了面向对象的规范。
2.无指针运算。
3.数组边界检查。
4.强制类型转换。
5.语言对线程安全的支持。
Java虚拟机(Java Virtual Machine)是运行所有Java程序的抽象计算机,是java语言的运行环境,它是java最具吸引力的特性之一。它的一非常重要的特点就是与平台的无关性。
3.
描述和使用java语言面向对象的特点。
什么是对象?对象是系统中描述客观事物的一个实体,它是构成系统的一个基本单位。一个对象由一组属性和对这组属性进行操作的服务组成。
什么是类?类是具有相同属性和服务的一组对象的集合。它为属于该类的所有对象提供了统一的抽象描述,其内部包括属性和服务两个主要部分。
面向对象有那几个重要特性?
1.封装性
2.继承性
3.多态性
具体细节请参考http://blog.csdn.net/wwj_748/article/details/8066352
4.断言机制
断言机制可以看做是java对异常处理的一种高级形式。
我们使用断言机制来为我们捕捉一些假设条件,这样我们就不必付出为异常而编写异常处理程序的代价,你可以假设一旦程序已经开发完成并全面部署,这些异常将永远不会发生。
断言只用两种使用形式:
1.assert
Expression1;
2.assert
Expression1 :Expression2;
详情请参考http://blog.csdn.net/wwj_748/article/details/8066419
5.使用java的异常处理来控制程序执行和自定义异常。
什么是java异常处理机制?
异常处理是Java中唯一正式的错误报告机制,并且通过编译器强制执行。
什么是异常?
异常是程序中的一些错误,但不是所有错误都是异常,并且有些错误是可以避免的。
Java中是如果处理异常的?
通过5个关键字来处理:try、catch、finally、throw、throws。基本过程是用try语句包住要监视的语句,如果try语句块内出现异常,则会抛出异常,你的代码catch块中可以捕捉到这个异常并做出处理。还有以部分系统生成的异常在Java运行时抛出。你也可以通过throws关键字在方法上声明要抛出的异常,然后在方法内用throw抛出异常对象。Finally语句块会在方法执行return之前执行。
如何自定义异常呢?
创建一个Exception或RuntimeException的子类即可得到一个自定义类的异常。
如何使用自定义异常?
用throws关键字声明方法可能抛出自定义的异常,并用throw语句在适当的地方抛出自定义的异常。
详情请参考http://blog.csdn.net/wwj_748/article/details/8066652
6.使用Java面向对象的特点,包括方法重载、方法覆盖、抽象类、接口、final、static和访问控制。
什么是方法重载?
方法重载指多个方法享有相同的名字,但是这些方法参数必须不同,或是参数个数不同,或是参数类型不同。返回类型不同不能用来区分重载的方法。
什么是方法覆盖?
方法覆盖也叫方法重写,子类从父类中继承方法,只修改方法内的实现,方法的签名完全相同。
什么是抽象类?
用关键字abstract修饰的类,这个类叫做抽象类。
什么是接口?
接口是抽象类的一种,只包含方法和常量的定义,而没有变量和方法的实现,其方法都都是抽象方法。
【final关键字】
final可以用来修饰类、成员方法和成员变量,但作用不同。
final修饰类,该类不能被继承。
final修饰成员方法,该方法不能被修改,即不能被重写。
final修饰成员变量,该变量为常量。
【static关键字】
static可以用来修饰类方法和类变量
类方法被称为静态方法,类变量被称为静态变量。则没有被关键字static修饰的方法为实例方法,变量为实例变量。
【访问控制】
default :
包访问权限。
public
:接口访问权限,任何人都可以访问。
private
:你无法访问。
protected
:继承访问权限。
7.使用java语言内在的线程机制来控制多线程。
Java中实现多线程的方法:
1.继承Thread类,重写run()方法。
2.实现Runnable接口。
详情参考http://blog.csdn.net/wwj_748/article/details/8067043
8.在特定的条件下选择适合的集合类和接口。
集合是用来做什么的?
1.将对象添加到集合。
2.从集合中删除对象。
3.找出一个对象(或一组对象)是否位于集合内。
4.从集合中检索对象(不删除它)。
5.迭代遍历集合,逐个查看每个元素(对象)。
集合框架的重点接口和类:
接口
具体实现类
Collection
Set
HashSet、LinkedHashSet、TreeSet
SortedSet
List
ArrayList、Vector、LinkedList
Map
HashMap、Hashtable、TreeMap、 LinkedHashMap
SortedMap
Queue
PriorityQueue
NavigableSet
NavigableMap
集合有4种基本形式:
1.List。事物列表(实现List的类)。
2.Set。具有唯一性的事物(实现Set的类)。
3.Map。具有唯一ID的事物(实现Map的类)。
4.Queue。按照被处理的顺序排列的事物。
【List接口】
List关心的是索引。
ArrayList。可以将它理解成一个可增长的数组。当需要快速迭代但不会做大量的插入和删除操作时,应选择ArrayList而不是LinkedList。
Vector。
LinkedList。需要快速的插入和删除时,它是一个不错的选择。
【Set接口】
HashSet。如果希望集合不具有重复值,并且当迭代遍历时不关心顺序,则可以使用这个类。
LinkedHashSet。会按照元素的插入顺序进行迭代遍历。
TreeSet。保证元素将按照元素的自然顺序进行升序排列。
【Map接口】
Map关心唯一的标识符。
HashMap。提供一种unsorted、unordered的Map。
Hashtable。是HashMap的同步版本。
LinkedHashMap。
TreeMap。
【Queue接口】
PriorityQueue。目的是创建“优先进,优先出”的队列。
分享到:
相关推荐
小巫CSDN博客客户端源码,配套博文可以到http://blog.csdn.net/wwj_748/article/details/39134151进行参考
小巫CSDN博客客户端源码, 基于eclipse的工程,模拟csdn客户端的源码demo。
小巫博主相关项目:小巫新闻客户端的源代码,比小巫博主本人的5分少一点,1分就可以下到,希望让更多人得到改资源
Android下开发小巫新闻客户端APP
这是小巫当初开发小巫新闻客户端所写的比较粗陋的说明书,但这是整个项目开发的基本流程。如果有些地方不明白的童鞋,可以参考参考。
CSDN-Blog-Client, 小巫CSDN博客客户端,CSDN人气博主——小巫的倾情之作。
小巫新闻客户端开发所有文件,项目源代码+服务端代码+数据库文件
想要源码的尽管下吧,虽然本人技术现在并不高超,但也乐于分享。
程序员上班刷题 A-week-to-develop-android-app-plan 一周开发Android App计划 ##首批参与成员 -小巫 -墨香 -梦痕 -边城刀客 -徐cc ##要求 -每位认领者按照开源规范来做,代码规范和Android开发规范 -每位认领者必须...
Android应用--简、美音乐播放器原型放送(作者:小巫) - 巫_1曲待续 Android应用--简、美音乐播放器原型放送(作者:小巫) - 巫_1曲待续
下面是MainActivity.java的代码主界面的业务逻辑实现,要一步就实现是非常困难的,因为项目总是从简单到复杂,所以小巫只把关键点说一下就行了:这里主要有三个关键点:首先创建一个GridView视图,通过GridView来...
这是我的博客参考的代码,我一并上传,大家参考起来比较方便,同时不要积分,互相借鉴! 我的博客链接:http://blog.csdn.net/u012320459/article/details/47373893
java语言程序设计(基础篇)各章偶数号题目编程练习题答案,有兴趣的可以下下
Fragment+ViewPager嵌套,根据IT_小巫 大神 作品 改版。
Android游戏-疯狂连连看,源码,适合于初、中级程序员学习。
#BobBlog这是一个从xtb那个项目嫁接过来的项目,因为种种原因,那个项目被迫暂停,我只好自己直接以这个为基础,按照小巫博客的节奏自己写一个属于自己的Blog,反正我自己也经常看博客。。。。ps:对,我就是这么一个...
因为小巫近期要开发新浪微博客户端,需要实现ListView的下拉刷新,所以就想把这个UI整合到项目当中去,这里只是一个demo,可以根据项目的需要进行修改。 就不要太在乎界面了哈: 知道你们想要源码了,去下吧...