2019年4月22日

接口和抽象类的区别

摘要: 接口的方法默认是public abstract,所有方法在接口中不能有实现,抽象类可以有非抽象的方法。(从 Java 8 开始,接口也可以拥有默认的方法实现,这是因为不支持默认方法的接口的维护成本太高了。在 Java 8 之前,如果一个接口想要添加新的方法,那么要修改所有实现了该接口的类。) 接口中 阅读全文

posted @ 2019-04-22 17:29 楼兰剑客 阅读(96) 评论(0) 推荐(0) 编辑

String 和 StringBuffer、StringBuilder

摘要: String为什么不可变? 简单的来说:String类中使用final关键字字符数组保存字符串,private final char value[],所以 String 对象是不可变的。而StringBuilder 与 StringBuffer 都继承自 AbstractStringBuilder 阅读全文

posted @ 2019-04-22 17:26 楼兰剑客 阅读(105) 评论(0) 推荐(0) 编辑

Java重载和重写的区别

摘要: 重载: 发生在同一个类中,方法名必须相同,参数类型不同、个数不同、顺序不同,方法返回值和访问修饰符可以不同,发生在编译时。 重写: 发生在父子类中,方法名、参数列表必须相同,返回值范围小于等于父类,抛出的异常范围小于等于父类,访问修饰符范围大于等于父类;如果父类方法访问修饰符为 private 则子 阅读全文

posted @ 2019-04-22 17:22 楼兰剑客 阅读(91) 评论(0) 推荐(0) 编辑

C++内存空间

摘要: 阅读全文

posted @ 2019-04-22 13:15 楼兰剑客 阅读(250) 评论(0) 推荐(0) 编辑

2019年4月21日

Java和C++的区别

摘要: 都是面向对象的语言,都支持封装、继承和多态。 Java 不提供指针来直接访问内存,程序内存更加安全。 Java 的类是单继承的,C++ 支持多重继承;虽然 Java 的类不可以多继承,但是接口可以多继承。 Java 有自动内存管理机制,不需要程序员手动释放无用内存。 阅读全文

posted @ 2019-04-21 09:30 楼兰剑客 阅读(128) 评论(0) 推荐(0) 编辑

什么是字节码?采用字节码的最大好处是什么?

摘要: 先看下 java 中的编译器和解释器: Java 中引入了虚拟机的概念,即在机器和编译程序之间加入了一层抽象的虚拟的机器。这台虚拟的机器在任何平台上都提供给编译程序一个的共同的接口。 编译程序只需要面向虚拟机,生成虚拟机能够理解的代码,然后由解释器来将虚拟机代码转换为特定系统的机器码执行。在 Jav 阅读全文

posted @ 2019-04-21 09:28 楼兰剑客 阅读(2162) 评论(0) 推荐(0) 编辑

JDK、JRE、JVM的区别

摘要: JDK: JDK(Java Development Kit)顾名思义它是给开发者提供的开发工具箱,是给程序开发者用的。它除了包括完整的JRE(Java Runtime Environment),Java运行环境,还包含了其他供开发者使用的工具包。 JRE: 普通用户而只需要安装 JRE(Java R 阅读全文

posted @ 2019-04-21 09:23 楼兰剑客 阅读(280) 评论(0) 推荐(0) 编辑

导航