转载

JAVA刷题(持续更新)

一、基础

面向对象

面向对象概念面向对象(Object Oriented,OO)是软件开发方法

  • 对象 :万物皆对象,对象可以是具体的事物,也可以是抽象的规则、计划或事件。
  • 对象的状态和行为 :状态代表数据,行为代表方法。
  • 类(数据类型) :具有相同特性(数据元素)和行为(功能)的对象的抽象就是类。类的具体化就是对象,对象是类的实例。类具有属性(对象状态的抽象)和操作(对象行为的抽象)
  • 类的结构 :世界上存在若干类,这些类之间存在关系,通常存在两种主要的结构关系。⒈一般-具体结构(分类结构,"is a"关系)⒉整体-部分结构(组织结构,"has a"关系)
  • 消息和方法 :对象之间进行通信的结构叫做消息。对象接收到消息,根据消息说明去调用方法(消息应说明执行对象、方法、参数)。方法有方法名、返回值、参数、方法体。

面向对象特征:

  • 封装 :封装对象的属性和行为,并设置访问权限(支持方法重载)
  • 继承 :继承父类的属性和行为,提供复用性。(单继承,接口多继承;支持方法重写)
  • 多态 :基于封装、继承(重写)、父引用指向子对象;允许不同的对象对同一消息做出不同反应;编译期绑定(成员变量、静态变量、静态方法)、运行期绑定(成员方法);方法多态(重写,重载)、引用多态(向上造型);
  • 抽象 :表示对问题领域进行分析、设计中得出的抽象的概念,基于abstract关键字,必须被子类继承重写,无法私有化(private)、静态化(static)、最终化(final)。

JAVA

JAVA体系:

  • JAVASE(桌面程序)
  • JAVAEE(网站服务)
  • JAVAME(手机嵌入式)
  • JAVACard(Java小程序Applets)

JAVA特点:

  • 简单性 :单继承、自动拆装箱、简化内存管理(引用替代指针,提供自动GC垃圾回收器)...
  • 移植性 :Java先编译成字节码(中间码),由JVM来进行解释(二进制码)运行。
  • 健壮性 :强类型机制、异常处理、垃圾的自动收集等机制。
  • 多线程 :支持多线程

JAVA发展史:

  • 1991年4月:James Gosling博士领导Gree Project,推出JAVA前身(Oak橡树)
  • 1995年5月23日:Oak语言改名为JAVA,并在SunWorld大会上正式发布JAVA 1.0版本,并提出"Write Once, Run AnyWhere"口号。
  • 1996年1月23日: JDK 1.0 发布,提供纯解释执行的Java虚拟机实现(Sun Classic VM)。代表技术:Java虚拟机、Applet、AWT等...
  • 1996年4月:10个最主要的操作系统供应商申明将在其产品中嵌入Java技术。
  • 1996年5月底:Sun公司于美国旧金山举行首届JavaOne大会。
  • 1996年9月:已有大约8.3万个网页应用了Java技术来制作。
  • 1997年2月19日: JDK 1.1 发布。 代表技术 :JAR文件格式、JDBC、JavaBeans、RMI。 Java语法 :内部类(Inner Class)和反射(Reflection)
  • 1998年12月4日: JDK 1.2-Playground (竞技场)发布。Sun在这个版本中将 Java体系 拆分为3个方向:J2SE(面向桌面开发)、J2EE(面向企业级开发)、J2ME(面向手机移动终端开发); 代表技术 :EJB、Java Plug-in、Java IDL、Swing等; Java虚拟机 :第一次 内置 JIT(Just In Time)编译器(JDK1.2曾并存Classic VM、HoSpot VM、Exact VM,Exact VM只在Solaris平台出现过;后两者是内置JIT编译器;之前版本Classic VM只能以外挂形式使用JIT编译器); Java语法 :添加strictfp关键字; Java API :Collections集合类。
  • 1999年3月:JDK 1.2.1发布。
  • 1999年4月8日:JDK 1.1 共发布 1.1.0 ~ 1.1.8 九个版本。从1.1.4之后,每个版本都有工程代号:Sparkler、Pumpkin、Abigail、Brutus、Chelsea
  • 1999年4月27日: HotSpot 虚拟机发布。最初由"Longview Technologies"小公司发布。1997年被Sun公司收购。HotSpot虚拟机发布时是作为JDK1.2的附加程序提供。后来成为JDK 1.3及之后所有版本的Sun JDK的默认虚拟机。
  • 1999年7月:JDK 1.2.2发布。
  • 2000年5月8日: JDK 1.3-Kestrel (美洲红隼)发布。 Java API :数学运算、新的Timer API等;JNDI作为一项平台级服务提供(以前仅是一项扩展);使用CORBA IIOP实现RMI的通信协议;改进JAVA 2D(提供大量新的Java 2D Api,新增JavaSound类库)。
  • 2001你那5月17日:JDK 1.3.1-Ladybrid(瓢虫)修正版本发布。自JDK 1.3开始,Sun维持一个习惯:每隔两年发布一个JDK主版本,以动物命名,期间的各个修正版本则以昆虫作为工程名称。
  • 2002年2月13日: JDK 1.4-Merlin (灰背隼)发布。 技术特性 :正则表达式、异常链、NIO、日志类、XML解析器和XSTL转换器等。
  • 2002年9月16日:JDk 1.4.1-Grasshopper(蚱蜢)修正版本发布。
  • 2002年期间:微软公司发布 .NET Framework ,无论是技术实现上还是目标用户都与Java有很多相近之处,给Java带来了很多讨论、比较和竞争对Java的发展进程影响很大。
  • 2003年6月26日:JDK 1.4.2-Mantis(螳螂)修正版本发布。
  • 2004年9月30日: JDK 1.5-Tiger (老虎)发布。 语法特性 :自动装箱、泛型、动态注解、枚举、可变长参数、遍历循环(foreach)等; Java 虚拟机 :改进Java的内存模型(Java Memory Model,JMM); Java API :提供java.util.concurrent并发包等。
  • 2006年12月11日: JDK 1.6-Mustang (野马)发布。
原文  https://segmentfault.com/a/1190000019175953
正文到此结束
Loading...