内容全部转载自优秀的博主: 我就是总结一下:
解读思路:变量,方法,类。 还能细分
2019/7/28
Objest类下面的几个方法
- tosString
- equals
- hashCode
java.lang定义的类和接口
- Java中== 与 equals 区别用法
他俩都是用来比较 左右信息 输出 true/false
信息的不同决定了输出(细节):
- 基本数据类型
- 包装类:Integer,Character
- String
- 对象【这里是否重写equals方法 影响着输出 】
- Java静态变量与常量
static修饰
变量:1.对象间共享值 2.调用方便
类名.静态方法名(参数列表…)
类名.静态变量名
java静态方法
*不需要创建对象使用此方法,现有的 对象名/类名直接用。
*只允许访问静态成员(即静态成员变量和静态方法)
所修饰的内容一旦赋值之后就不会再被改变
变量:
变量 | static修饰的 | 实例 | 其他 |
---|---|---|---|
成员变量 | 静态初始化块,声明该类变量时 | 非静态初始化块,声明该实例变量,构造器中 | |
局部变量 | 当且仅有一次赋值 |
基本数据类型变量不能被改变
final只保证这个引用类型变量所引用的地址不会发生改变
宏变量 =使用final修饰符修饰+在定义该final变量时就指定了初始值+该初始值在编译时就能够唯一指定。
方法:
- 父类中被final修饰的方法不能够被子类所重写
- final方法是可以被自己 重载的
类:
- 当一个类不希望被继承时就可以使用final修饰
不变类=private和final修饰+提供带参的构造器+仅为该类的成员变量提供getter方法,不提供setter方法+重写Object类 的hashCode()和equals()方法(对象1.equals(对象2) = true)
[多线程中 转载] https://blog.csdn.net/u011521203/article/details/80172121#commentBox
-
单态设计模式
懒汉式 & 饿汉式
一个类只生成一个实例
public class Sing {
private static Sing instance = null;
// private static Sing instance = new Sing();
//
public static Sing getInstance() {
if(instance == null)
instance = new Sing();
return instance;
}
}
在多线程中存在的问题
if(instance == null ) {
syncronized(Singleton.class){
if(instance == null)
instance = new Singleton(); }
}
线程介绍
进程:
每个程序有一个独立的进程,而进程之间是相互独立存在的
什么是线程?
进程中的最小执行单位就是线程
什么是线程安全?
A,B同时调用方法改变一个共享数,是有先后的,要求一件事,
一件事的做( ==不要乱== )。
//下面
如何确保线程安全?
几种方法:
- 一般是加在方法上synchronized关键字+锁的是括号里的对象+我没用完你就等待哇
- Lock的引入让锁有了可操作性=可以手动的获取锁和释放锁