基础2

java基础知识点–vm

1.基本类型,以及int 与 Integer的区别。
基本类型对应的包装类字节
booleanBoolean-
byteByte1
charCharacter2
shortShort2
intInteger4
floatFloat4
longLong8
doubleDouble8

基本数据类型:没有属性和方法,所以无法对象化交互,通过包装类就可以拥有属性与方法,然后可以进行对象化交互。

自动和手动装箱
自动和手动拆箱
基本数据类型
包装类
2.线程的创建
  1. 创建一个Thread类,或者一个Thread子类的对象,重写run方法
    Thread是位于java.lang包的。
  2. 创建一个实现Runnable接口的类的对象
    • 声明实现Runnable接口的类
    • 在实现类内实现run方法
    • 创建实现类的对象
    • 通过实现类的对象创建线程类的对象
    • 调用start()方法启动线程。
  3. 使用Callable和Future创建线程
    callable可以拿到返回值,call()方法 返回的是对象。
  4. 使用线程池例如用Executor框架
3.接口与抽象类的区别

抽象类是用来捕捉子类的通用特性的 。abstract定义抽象类(包含抽象方法的类是抽象类,抽象类中可以没有抽象方法),抽象类不能直接实例化,只能被继承,可以通过向上转型完成对象实例。
接口是抽象方法的集合。如果一个类实现了某个接口,那么它就继承了这个接口的抽象方法。这就像契约模式,如果实现了这个接口,那么就必须确保使用这些方法。接口只是一种形式,接口自身不能做任何事情。

  1. 默认方法实现:
  2. 实现
  3. 构造函数
  4. main方法
  5. 实现数量:类可以实现很多个接口;但是只能继承一个抽象类。
  6. 访问修饰符
    在这里插入图片描述
    参考:http://www.importnew.com/12399.html
4.普通类和抽象类的区别
  1. 普通类不能包含抽象方法,抽象类可以包含抽象方法
  2. 抽象类不能直接实例化,普通类可以直接实例化
5.OSI的七层模型
  1. 物理层
    利用传输介质为数据链路层提供物理连接,实现比特流的透明传输
  2. 数据链路层
    负责建立和管理节点间的链路
  3. 网络层
    通过路由选择算法,为报文或者分组通过通信子网选择最适当的路径
  4. 传输层
    向用户提供可靠的端到端的差错和流量控制,保证报文的正确传输
  5. 会话层
    向两个实体的表示层提供建立和使用连接的方法
  6. 表示层
    处理用户信息的表示问题,如编码、数据格式转换和加密解密等
  7. 应用层
    直接向用户提供服务,完成用户希望在网络上完成的各种工作
6.设计模式
  1. 单例模式:
  • 目的:使得类的一个对象成为该类系统中的唯一实例
  • 定义:一个类有且只有一个实例,并且自行实例化向整个系统提供
  • 要点:某个类只能有一个实例 必须自行创建实例 必须自行向整个系统提供这个实例
  • 实现:只提供私有的构造方法 含有一个该类的静态私有对象 提供一个静态的公有方法用于创建、获取静态私有对象
  • 代码实现方案:
    – 饿汉式:对象创建过程中实例化
    – 懒汉式:静态公有方法中实例化
    代码:
    1)某公司研发星球维护系统,请使用饿汉式单例模式的实现思想,设计编写地球类。
public class Earth {
     //定义私有构造方法,并在构造方法中打印输出“地球诞生”
	private Earth(){
	    System.out.println("地球诞生");
	}
	 //定义私有静态类对象并完成实例化
	private static Earth er = new Earth();
		
	 //定义公有静态方法返回类内的私有静态对象
	public static Earth getEr(){
	    return er;
	}
}
public class Test {

    public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println("第一个地球创建中。。。。");
		Earth er1 = Earth.getEr();
		System.out.println("第二个地球创建中。。。。");
		Earth er2 = Earth.getEr();
		System.out.println("第三个地球创建中。。。。");
		Earth er3 = Earth.getEr();
		System.out.println("问:三个地球是同一个么?");
		System.out.println(er1);
		System.out.println(er2);
		System.out.println(er3);
	}
}

显示效果:
在这里插入图片描述
2)请使用懒汉式单例模式的实现思想,设计编写皇帝类。

public class Emperor {
    //定义私有构造方法
    private Emperor(){

    }
    //定义私有静态类对象
    private static Emperor em = null;
    //定义公有静态方法返回类内的私有静态对象
    public static Emperor getEm(){
        if(em == null){
            em = new Emperor();
        }
        return em;
    }
}
public class Test2 {

    public static void main(String[] args) {
        System.out.println("创建1号皇帝对象");
        Emperor em1 = Emperor.getEm();
        System.out.println("创建2号皇帝对象");
        Emperor em2 = Emperor.getEm();
        System.out.println("创建3号皇帝对象");
        Emperor em3 = Emperor.getEm();
        System.out.println("三个皇帝对象依次是:");
        System.out.println(em1);
        System.out.println(em2);
        System.out.println(em3);
    }
}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值