简单理解面向对象
面向 对象 (Object Oriented)是 软件开发方法 ,一种编程范式 对应的还有 面向过程,面向函数 等
是对现实世界的抽象和模型化
用代码做现实世界的对照
1 |
⾯向过程 :⾯向过程性能⽐⾯向对象⾼。 因为类调⽤时需要实例化,开销⼤,比较消 |
JAVA语言有哪些优点,那些缺点
优点
支持多线程,垃圾自动回收,面向对象,跨平台
缺点
面向对象,运行速度慢,容易被反编译,启动时间慢,属于高级语言不支持底层操作
JDK与JRE
JDK 开发环境,包含编译器,JRE的所有功能
JRE 运行环境,包含JVM,JAVA类库
JVM
JVM是用来运行JAVA编译之后的字节码
重写与重载
重写 是覆盖原有方法
重载是同名不同个数或类型的入参
String StringBuffer 和 StringBuilder 的区别是什么?
StringBuffer 对方法加了同步锁,线程安全
StringBuilder 未加锁,现成不安全
String 为什么是不可变的?
因为在string 中 存储数据的句柄用了 final 修饰,成员变量值不可改变
String s=”1”;s=”2”; 中创建了两个对象
== 与 equals(重要)
== 比较相等,判断两个对象是不是同一个对象,基本类型比较的是值,引用类型比较的是内存地址
默认情况下 equals()等价与==
hasCode
又称散列码 ,对数据进行摘要,提取指纹,具有 以下特性
对相同数据运算,结果相同
对不同数据运算,结果长度相同
运算单向不可逆
(重点) JAVA的方法参数只有值传递
形参只是实参的一个copy
如果形参的实际引用变了,实参不变
如果形参的成员变量变了,实参跟着改变
1 |
public class Main { |
简述线程、程序、进程的基本概念。以及他们之间关系是什么?
系统运行程序到停止就是一个进程创建到消亡的过程,而线程则是进程的更小单位
- 版权声明: 本博客所有文章除特别声明外,均采用 反996许可证版本1.0 许可协议。转载请注明出处!
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/289351.html