L3 琐碎基础知识

文档注释

  • 简介:文档注释通过 Javadoc 生成相应的 API 帮助文档,主要用来说明类、成员变量和方法的功能。文档注释只放在类、接口、成员变量、方法之前,因为 Javadoc 只处理这些地方的文档注释,而忽略其它地方的文档注释。
  • 文档注释操作:在类、方法等之前输入/**并回车
  • javadoc:javadoc是Sun公司提供的一个技术,它从程序源代码中抽取类、方法、成员等注释形成一个和源代码配套的API帮助文档。也就是说,只要在编写程序时以一套特定的标签作注释,在程序编写完成后,通过Javadoc就可以同时形成程序的开发文档了。

输出

Scanner scanner = new Scanner(System.in);
String str=scanner.nextLine();   //nextline能接受空白输入
//凡是属于IO流的,用完要关闭,不然会一直占用资源
scanner.close();

增强for循环

//语法格式
for(变量声明:数组名)
{
}

//实例,主要用于数组、集合
int[] a={10,20,30,40};
for(int x:a)
{
    System.out.println(x);
}
//输出结果:10,20,30,40

java内存分析

**堆(Heap):**此内存区域的唯一目的就是存放对象实例,几乎所有的对象实例都在这里分配内存。这一点在Java虛拟机规范中的描述是:所有的对象实例以及数组都要在堆上分配。

**栈(Stack) :**是指虚拟机栈。虚拟机栈用于存储局部变量等。局部变量表存放了编译期可知长度的各种基本数据类型( boolean、byte、char、short、int、float、long、double)、对象引用( reference类型,它不等同于对象本身,是对象在堆内存的首地址)。方法执行完, 自动释放。

**方法区(Method Area):**用于存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据。

单例设计模式

饿汉式实现单例设计模式的步骤:

  • 1,私有化类的构造器
  • 2,在类内部创建类的对象
  • 3,提供静态的公共方法,返回类的对象
  • 4,在主函数中通过该静态方法创建对象。所创建的都是同一个对象实例
package L3;
/*
单例设计模式:采用一定的方法保证在整个软件系统中,对某个类只能存在一个实例对象
实现方式:饿汉式
 */
public class singletonTest {
    public static void main(String[] args) {
        //此时B1 B2 B3都是同一个对象。是唯一的实例
        bank B1= bank.getB();
        bank B2= bank.getB();
        bank B3= bank.getB();
    }

}
class bank{
    //1,私有化类的构造器,这样就不能在类外通过new创建该类的对象了
    private bank(){

    }
    //2,内部创建类的对象
    private static bank B=new bank();   //静态方法不能调用非静态变量,所以变量B也要设置为静态
    //3,提供静态的公共方法,返回类的对象
    public static bank getB(){   //需要把此方法设置为静态,才能不依靠对象而调用方法。
        return B;
    }
}

懒汉式实现单例设计模式的步骤:

package L3;
//懒汉式实现单例设计模式
public class singletonTest2 {
    public static void main(String[] args) {
        order o1=order.getinstance();
        order o2=order.getinstance();
        order o3=order.getinstance();
        System.out.println(o1==o2);
        System.out.println(o1==o3);
    }
}
class order{
    //1,私有化类的构造器,这样就不能在类外通过new创建该类的对象了
    private order(){
    }
    //2,声明当前类对象,设为null;
    private static order instance=null;
    //3,设计一个方法返回该类的实例化对象
    public static order getinstance(){
        if(instance==null){
            instance=new order();
        }
        return instance;
    }
}

饿汉式和懒汉式区别:

  • 饿汉式

    好处:线程安全

    坏处:对象存在生命周期过长

  • 懒汉式

    好处:延迟对象创建。用的时候才创建,减少资源占用

    坏处:线程不安全

    //改良版懒汉式
    class order{
        //1,私有化类的构造器
        private order(){
        }
        //2,声明当前类对象,设为null;
        private static order instance=null;
        public static order getinstance(){
            //改良代码,加入了同步代码块,解决了线程安全问题
            if(instance==null) {
                synchronized (bank.class) {
                    if(instance==null)
                    { instance = new order();}
                }
            }
            return instance;
        }
    }
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值