JAVA 教程

JAVA 教程:包含了所有代写案例以及部分答案

  • 使用参数编译和运行 本节用于在家中使用Java并了解事情的基本知识。 创建一个在屏幕上打印内容的简单应用程序后,您需要编译代码并运行它。 如果您使用Linux,Mac或Windows,这应该不重要。您需要有一个控制台,并且您需要具有以下命令才能编译和运行Java。 java(或java.exe) javac(或javac.exe) 为了使这些可用,您必须下载并安装JDK(Java Development Kit)。 如果我们从上一课中获取代码并将其放在名为MyFirstClass.java的文件 … 继续阅读“Java基础教程:使用参数编译和运行”

    :
  • 对象 Java中的所有内容都在类和对象中。Java对象持有状态,状态是在对象中一起保存的变量,我们称它们为字段或成员变量。 让我们从一个例子开始: class Point {     int x;     int y;} 该类定义了具有x和y值的点。 为了创建此类的实例,我们需要使用关键字new。 Point p = new Point( … 继续阅读“Java基础教程:Objects对象”

    :
  • 例外 每次发生错误时都会抛出异常。可以在http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html上访问所有内置异常的列表。 使用try / catch语句处理异常。所有可能引发异常的代码都必须遵循Catch或Specify要求。要遵循该要求,只需将可能引发错误的代码包装在try块中。如果由于某种原因,它不适合或者您不能使用try / catch,则必须使用throws关键字指定方法/函数可以抛出的所有异常 public&n … 继续阅读“Java基础教程:例外”

    :
  • 泛型提供编译时类型安全性,允许程序员在编译时捕获无效类型。 由于此功能通常与集合一起使用,因此我们将重点关注集合。泛型允许用户设置集合的类型以限制可以将哪种对象插入集合中。用户也不必转换从集合中获取的值。 声明泛型时,它必须有一个类型参数,指定集合中的元素类型。例如,要声明包含字符串的列表,您可以编写List名称 = new ArrayList <>();

    :
  • 副标题#e# 媒介 本文不规划延续前几篇的气势气魄(对所有的源码插手注释),因为要领略透TreeMap的所有源码,对博主来说,确实需要淹灭大量的时间和经验,今朝看来不大大概有这么多时间的投入,故这里意在通过于阅读源码对TreeMap有个宏观上的掌握,并就个中一些要领的实现做较量深入的阐明。 红黑树简介 TreeMap是基于红黑树实现的,这里只对红黑树做个简朴的先容,红黑树是一种非凡的二叉排序树,关于二叉排序树,拜见:http://blog.csdn.net/ns_code/article/det … 继续阅读“Java集合汇总源码分解:TreeMap源码分解”

    :
  • 副标题#e# Hashtable简介 Hashtable同样是基于哈希表实现的,同样每个元素是一个key-value对,其内部也是通过单链表办理斗嘴问题,容量不敷(高出了阀值)时,同样会自动增长。 Hashtable也是JDK1.0引入的类,是线程安详的,能用于多线程情况中。 Hashtable同样实现了Serializable接口,它支持序列化,实现了Cloneable接口,能被克隆。 HashTable源码分解 Hashtable的源码的许多实现都与HashMap差不多,源码如下(插手了较量 … 继续阅读“Java集合汇总源码分解:Hashtable源码分解”

    :
  • 副标题#e# HashMap简介 HashMap是基于哈希表实现的,每一个元素是一个key-value对,其内部通过单链表办理斗嘴问题,容量不敷(高出了阀值)时,同样会自动增长。 HashMap长短线程安详的,只是用于单线程情况下,多线程情况下可以回收concurrent并发包下的concurrentHashMap。 HashMap 实现了Serializable接口,因此它支持序列化,实现了Cloneable接口,能被克隆。 HashMap源码分解 HashMap的源码如下(插手了较量具体的注 … 继续阅读“Java集合汇总源码分解:HashMap源码分解”

    :
  • Vector简介 Vector也是基于数组实现的,是一个动态数组,其容量能自动增长。 LinkedList是JDK1.0引入了,它的许多实现要领都插手了同步语句,因此是线程安详的(其实也只是相对安详,有些时候照旧要插手同步语句来担保线程的安详),可以用于多线程情况。 LinkedList没有丝线Serializable接口,因此它不支持序列化,实现了Cloneable接口,能被克隆,实现了RandomAccess接口,支持快速随时机见。 Vector源码分解 Vector的源码如下(插手了较量具 … 继续阅读“Java集合汇总源码分解:Vector源码分解”

    :
  • 副标题#e# ArrayList简介 ArrayList是基于数组实现的,是一个动态数组,其容量能自动增长,雷同于C语言中的动态申请内存,动态增长内存。 ArrayList不是线程安详的,只能用在单线程情况下,多线程情况下可以思量用Collections.synchronizedList(List l)函数返回一个线程安详的ArrayList类,也可以利用concurrent并发包下的CopyOnWriteArrayList类。 ArrayList实现了Serializable接口,因此它支持序 … 继续阅读“Java集合汇总源码分解:ArrayList源码分解”

    :