JAVA中零碎知识点

1,Java中基本类型所占的字节数:(1字节=8位)
byte-------->1字节
boolean----->1字节
char-------->2字节
short------->2字节
int----------4
float--------4
double-------8
long---------8
2,Java中对象的克隆(浅拷贝类型)
(1)自己的类要调用clone()方法,则必须
实现Cloneable接口
重写接口中的clone()方法
(2)什么是克隆,为什么需要克隆?
(3)何时使用克隆?
(4)如何实现clone()方法的深拷贝
深拷贝:不同b
浅拷贝:同一个b
A{
B b;
}

A1--->b
A2

3,运算符:instanceof
(1)用于检查某个对象是否实现了某接口或是某类的类型
(2)语法:布尔=( 对象 instanceof 接口/类 )
System.out.println(p1 instanceof Person);
System.out.println(p1 instanceof Object);
System.out.println(p1 instanceof Cloneable);
4,数组和集合的大小
(1)数组定义就会分配空间,并给初始化。
(2)List集合指定初始化大小时,并没有分配空间,也没有初始化。
5,break和continue的区别?
if(){
break/continue; 错误,循环专用
}
如何让break退出多层嵌套的循环:
A:
for(){
for(){
for(){
break A;
}
}
}
6,java.lang.;自动导入
java.lang.a.
;不会
7,this和super的使用
(1)this/super.方法/属性
(2)调用构造方法(只能在构造方法中)
this()调用自己的无参构造方法
super()调用父类的无参构造方法
8, Java基本类型的封装类
byte-------->首字母大写
boolean----->首字母大写
char-------->Character
short------->首字母大写
int---------->Integer
float--------首字母大写
double-------首字母大写
long---------首字母大写
9,path环境变量的作用?
查找命令的目录,以便在任何路径下都可以找到命令。
10,Java中的访问修饰符
修饰符 当前类 同包 子类 其他包
public 1 1 1 1
protected 1 1 1 0
默认 1 1 0 0
private 1 0 0 0
11,
float f=(float)3.6;
float f=3.6f;
long l=12L;
short s=(short)int;
long l=2.3f;错误,float>long
Java中常量的标准定义方式:不能在方法里定义
public static final int A=12;
其中public static final的顺序可以改变
12,switch(表达式值)
表达式值的类型:short,int,char (注意:String类型JDK1.7以后支持)
13,Java中的传值调用和传值调用
方法参数类型:
基本类型(int,double,float,char…String)---->传值调用
引用类型(数组、对象、集合)--------->传址调用
//传值
int a1=88;
aa(a1);
System.out.println(a1);
//传址
Dog dog=new Dog(“丁丁”);
aa(dog);
System.out.println(dog.name);
14,byte 类型的范围 -128到127
15,Float f=2.3;错误:2.3为double类型
Float f=new Float(2.3);正确,会自动转换
16,异常的分类:
轻量级:
ArithmeticException
NullPointerException
ClassCastException
ArrayIndexOutOfBoundsException
InputMismatchException
IllegalArgumentException
重量级:
Exception
IOException
SQLException
ClassNotFoundException
17,Java变量名的命名规范
(1)组成:数字、字母、下划线和$
(2)不能以数字开头
(3)不能使用关键字
(4)见名知意
18,方法的重载和重写
(1)重载:名同参不同
一个类中的多个方法的关系
参不同:个数、类型、顺序
(2)重写(复写或覆盖):在子类或实现类重写父类或接口中的方法
方法声明(返回类型、方法名、参数、声明的异常)相同
重写方法访问修饰符可以变大,但不能缩小
19,转义符\的使用:
需要输出一些特殊字符
转义符不计算字符串长度
20,一个类实现一个接口,如果不重写接口中的方法,那么该类就会被抽象化(抽象类)。
21,多态的体现方式:
Parent p=new Child();

	void method(Parent p){
	
	}
	method(Child);

22,集合框架
Collection接口(线性集合)
List接口:有序、重复
ArrayList:随机访问、遍历性能较好
LinkedList:插入、删除性能较好
Set接口:无序、不能重复
HashSet:不排序
TreeSet:自动排序 (对象:可排序性)
Map接口(键值对映射集合)
23,对象的排序
实现Compareable接口
重写compareTo()方法
24,数组和集合的排序
Arrays.sort(数组);
Collections.sort(List);
25,数组的排序算法
(1)冒泡排序
(2)插入排序
(3)快速排序
26,成员变量和方法中局部变量的区别
作用域
初始化
生命周期
局部变量:方法
成员变量:对象
静态成员变量:类,唯一一份
27,
public static void method(){
静态变量
}

static{
	静态变量
}

}
28, == equals hashCode 的区别?
(1)和equals的区别? A equals (B)
a,如果
为true,则equals一定是true
b,equals默认比较的是地址
c,重写equals方法(自定义规则)
(2)hasCode和equals关系
a,equals为true,则hasCode一定相同
b,hasCode相同,equals不一定为true
c,重写equals方法时最好也重写hasCode
d,HashSet判断重复元素时,既要判断hasCode也要判断equals
29,&&和&的区别?(||和|)
&&短路与:当第一个条件不成立,则直接短路,不执行后面的判断。
||短路或:当第一个条件成立,则直接短路,不执行后面的判断
30,String,StringBuffer和StringBuilder的区别?
String 不变性
StringBuffer和StringBuilder 可变的
StringBuilder没有同步,效率高
StringBuffer做了同步处理,效率低
31,快速排序算法:
原理:
选择数组的第一个元素作为基准值p,小于p放左边,大于p放右边。
递归的将p左边和右边的数按照第一步进行,直到不能递归。

《设计模式》
1,设计模式概念
(1)设计模式是一套被反复使用,多人知晓,并经过分类编目的代码设计经验的总结。
(2)思想
(3)语言无关,“高内聚、低耦合”。
2,Java中23种设计模式
(1)创建型模式(6):简单工厂、工厂方法、抽象工厂、建造者、原型、单例
(2)结构型模式(7):外观、适配器、代理、装饰、桥接、组合、享元
(3)行为型模式(10):模板方法、观察者、状态、责任链、命令、访问者、策略、备忘录、迭代器、解释器
3,工厂设计模式(简单工厂、抽象工厂)
通过工厂类创建对象
实例见代码
4,单例设计模式
保证单一的实例,对象唯一。
饿汉式:
私有化构造方法
在类中创建private static的该类对象为其属性
对外提供Public getInstance方法返回该对象
private static Singleton s=new Singleton();
private Singleton(){

	}
	public static Singleton getInstance(){
		return s;
	}
懒汉式:
	private static Singleton2 s=null;
	private Singleton2(){
	}
	public synchronized static Singleton2 getInstance(){
		if(s==null){
			s=new Singleton2();
		}
		return s;
	}

饿汉式 VS 懒汉式
(1)饿汉缺点是可能创建不需要的对象,浪费系统资源
(2)懒汉缺点存在多线程安全问题,故而需要方法的同步(synchronized),会影响效率。
(3)实际开发中,我们一般采用饿汉式

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值