java 串讲_Java知识串讲

java 串讲_Java知识串讲一 JDK 个版本之间的区别 1 JDK1 5 的新特性 泛型 ArrayListlis newArrayList gt ArrayListlis newArrayList 自动装箱 拆箱 for eachstaticim 静态导入 以前是 Math squrt squrt 边长参数 intsum int intlist 有任意

一、JDK个版本之间的区别:

1.JDK1.5的新特性:

泛型ArrayList list = new ArrayList();–>ArrayList list = new ArrayList();

自动装箱/拆箱

for – each

static import(静态导入) 以前是:Math.squrt() –》squrt();

边长参数: int sum(int … int list)有任意个参数,把它看做数组,通过…来表示

枚举

元数据(Meradata)

2.JDK1.6的新特性:

增强的for循环

监视器和管理:JavaSE6中内存泄漏增强了分析以及诊断能力。。当遇到java.lang.OutOfMemory异常的时候,可以得到一个完整的堆栈信息,并且当堆已经满了的时候,会产生一个Log文件记录这个致命错误,另外JVM还添加了一个选择,允许你在堆满的时候运行脚本。

插入式注解处理:插入式直接处理API(JSR 269)提供了一套标准API来处理Annotations(释文)

安全性

Desktop类和SystemTray类

使用JAXB2来实现对象域XML之间的映射

StAX

使用Compiler API

轻量级HTTPServer API

用console来发控制台程序

3.JDK1.7的新特性:

模块化特性:Java7也是采用了模块的划分出来提速,一些不是必须的模块并没有下载和安装,当虚拟机需要的时候,再下载相应的模块,同时对启动速度也有了很大的改善。

多语言支持:Java7的虚拟机对多种动态程序语言增加了支持,比如:Rubby,Python等等

开发者的开发效率得到了改善:switch中可以使用字符串。在多线程并发与控制方面:轻量级的分离与合并框架,一个支持并发访问的HashMap等等。通过注解增强程序的静态检查。提供了一些新的API用于文件系统的访问,异步的输入输出操作,socket通道的配置与绑定,多点数据包的传递等等。

执行效率的提高:对象指针由64为压缩到与32位指针相匹配的技术使得内存和内存带块的消耗得到了很大的降低,因而提高了执行效率。提供了新的垃圾回收机制来降低垃圾回收的负载和增强垃圾回收的效果。

堆积和类的语言支持Connections.sort();

自动资源管理

改进的通用实例创建类型推断

数字字面量下划线支持

二进制字面量

简化可变参数方法调用。

4.JDK1.8

接口的默认方法default方法名

Lambda表达式

函数式接口

方法与构造函数引用

Lambda作用域

访问局部变量

访问对象字段与静态变量

访问接口的默认方法

5.JDK1.9

Jigsaw项目;模块化源码

简化进程API

轻量级JSON API

钱和货币API

改善锁争用机制

代码分段缓存

智能Java编译,第二阶段

HTTP2.0客户端

kulla计划:Java的REPL实现

二、继承出现的目的?

提高代码的复用性让类与类之间产生关系,给多态提供了前提

降低代码的冗余度

三、子类继承父类的哪些资源?

子类用用父类非private的属性和方法

子类可以拥有自己的属性和方法,即子类可以父类进行扩展

子类可以用自己的方式实现父类的方法

Java的继承时单继承,但是可以多实现,单继承就是一个子类只能继承一个父类

提高了代码的耦合度,同时缺点也就随之而来,耦合度越高,代码联系越紧密,代码的独立性就越差

四、抽象类的特点?

抽象方法和抽象类使用abstract修饰

只要有抽象方法的类,一定是抽象类

抽象类中不一定有抽象方法

没有抽象方法的抽象类有意义,防止外界创建对象,防止外界实例化的方式:a)构造私有化b)抽象类c)内部类d)接口

抽象类不能实例化,得使用多态或者继承

抽象类是服务类,成员变量一般使用public或者protected

五、接口出现的目的?特点?

1.目的:

接口的目的是为了实现类的功能高度集中而存在的。一般情况下,实现类必须要实现接口的全部方法,可是有些情况却显得多余,为了避免这样的现象,出现了抽象接口。

2.特点:

接口使用interface关键字修饰

接口是常量和抽象方法的集合,在JDK1.8以后还可以有静态方法和默认方法

接口中的创两默认省略public static final 方法默认省略public abstract

接口不能够实例化

想要“实例化”一个接口,必须使用多态【接口的实现】

六、实现多态的几种方式:

利用继承,让子类重写父类的方法

抽象类的抽象方法实现多态

接口实现多态

七、设计原则:

1.开闭原则:对扩展开放,对修改关闭

在原有项目中添加新的文件,实现新的功能,还不改动原有的代码

2.里氏替换原则:父类出现的地方,可以用子类替换,子类出现的地方可以用父类替换。

父类出现的地方可以用子类替换:使用架构或者模版

子类出现的地方可以用父类替换

里氏替换原则,是对开闭原则的补充(只要出现里氏替换原则必然会出现开闭原则)

3. 依赖倒转原则:

依赖于抽象而不依赖于实现

依赖于约束(形参和返回值)而不依赖于过程

依赖于标准而不依赖于实现细节

4. 接口隔离原则:==单一只能原则(一个接口只干一件事情)

作用:奖励依赖降低耦合

5. 迪米特法则:多用继承,少用组合

6. 合成复用原则:多用组合,少用继承

八、单例模式:

懒汉式:

public class Singleton{

//私有化构造方法,提供一个公共的方法来实例化

private static Singleton instance = null;

private Singleton(){}

//提供公共的方法

public Object getSing(){

if(instance == null){

instance = new Singleton;

}

return instance;

}

}

饿汉式:

public class Singleton{

//私有构造方法,提供一个公有的方法

private Singleton(){}

private static Singleton instance = new Singleton();

//公有的方法

public Object getSing(){

return instance;

}

}

持续更新中…

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/208753.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 上午10:50
下一篇 2026年3月19日 上午10:51


相关推荐

  • matlab物理碰撞建模_opencascade 碰撞检测

    matlab物理碰撞建模_opencascade 碰撞检测碰撞检测Note本节暂未进行完全的重写,错误可能会很多。如果可能的话,请对照原文进行阅读。如果有报告本节的错误,将会延迟至重写之后进行处理。当试图判断两个物体之间是否有碰撞发生时,我们通常不使用物体本身的数据,因为这些物体常常会很复杂,这将导致碰撞检测变得很复杂。正因这一点,使用重叠在物体上的更简单的外形(通常有较简单明确的数学定义)来进行碰撞检测成为常用的方法。我们基于这些简单的外形来检测碰撞,…

    2025年7月14日
    5
  • ThreadStart和ParameterizedThreadStart区别「建议收藏」

    ThreadStart和ParameterizedThreadStart区别「建议收藏」ThreadStart:ThreadStart这个委托定义为voidThreadStart(),也就是说,所执行的方法不能有参数。ThreadStartthreadStart=newThread

    2022年7月1日
    27
  • turtle递归作图绘制谢尔宾斯基地毯【详解】

    turtle递归作图绘制谢尔宾斯基地毯【详解】python数据结构与算法turtle递归作图绘制谢尔宾斯基地毯

    2022年7月13日
    16
  • pip国内镜像源配置

    pip国内镜像源配置python 从国外源下载安装包 会特别慢 还会经常出现下载失败的情况 所以我们要从国内源下载安装包 一 常用 pip 软件源 1 1pip 官方软件源官方源 https pypi python org simple1 2 常用国内镜像源阿里云 http mirrors aliyun com pypi simple 中国科技大学 https pypi mirr

    2026年3月17日
    3
  • Linux cat命令详解

    Linux cat命令详解cat 命令是 linux 下的一个文本输出命令 通常是用于观看某个文件的内容的 cat 主要有三大功能 1 一次显示整个文件 cat nbsp nbsp filename2 从键盘创建一个文件 cat nbsp nbsp filename 只能创建新文件 不能编辑已有文件 3 将几个文件合并为一个文件 cat nbsp nbsp file1 nbsp nbsp file2 nbsp filecat 具体命令格式为 cat

    2026年3月17日
    2
  • IntelliJ Platform SDK

    IntelliJ Platform SDKIntelliJPlatformSDK

    2022年6月4日
    48

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号