• java学习记录


    1,接口(不实现任何方法)——》抽象类(实现部分公共方法)——》简单实现类——》具体实现类

    2,抽象类不能被直接实例化,只能实现抽象方法,以匿名内部类的方式表现。

    3,如果static是写在单例中,高并发访问是会出问题的,这时候就要设置线程等待了,static是在容器加载的时候就已经加载到内存中,所以static方法和变量不宜过度使用,有选择的使用,

    4,&和&&都是逻辑运算符,都是判断两边同时真则为真,否则为假;但是&&当第一个条件不成之后,后面的条件都不 执行了,而&则还是继续执行,直到整个条件语句执行完为止。如&&例子中的i++>5被执行了,而i++<9并没有 被执行,这就是他们的差别。&例子中的i++>5和i++<9都被执行了。

           &还可以用作位运算符,0x31&0x0f=0x01

                    ===> 0011 0001 & 0000 1111  = 0000 0001  即0x01

    5,java中"=="和"equal"的区别。

    • str == null和null == str 区别在于前者你少写个等号是赋值不会报错后者会报错 
    •   "".equal可以回避空指针异常
    • ==比较的是地址,equals比较的是值
    1. equals 是比较的两个字符串是否一样 ,比如 “asd”.equals(“asd”)==true; 
    2. "==" 它比较的是两个“引用” ,比如: String a=new String ("a"); String b=new String ("a"); System.out.println(a==b)它就输出false了。

      因为不是一个引用(虽然都是a);

    3. String a=new String ("abc");至少创建一个对象a;a是肯定会被创建的。如果内存里没有"abc"字符串对象就创建一个,否则不创建。

    6,final、finally、finalize的区别

    final是一种声明属性,作用与类、方法和变量;final修饰的变量的值不能够再改变,final修饰的方面不能被覆盖,final修饰的类不能被继承。

    finally是异常处理语句的一部分,表示总是执行。

    finalize是object类的一个子方法,在垃圾回收器执行是调用回收对象的此方法,此方法可以被覆盖提供资源回收时的其他资源回收。如文件关闭等

    7,int是java的基本数据类型,Integer是java为int提供的封装类,用于在各种类型间转化

    8,sleep()和wait()的区别

      1,sleep是thread的方法,会释放对象锁,当指定的时间到了又会自动恢复运行状态。wait()是object的方法,不会释放锁,且只有调用notify()方法后本线程才进入对象锁定池准备获取对象锁进入运行状态。

    9,静态代码块,代码块,构造函数

        1,静态代码块:只会运行一次,无论new多少个对象,都只执行一次

        2,代码块:new每个对象,都会执行这个代码块

        3,构造函数:new每个不同的对象,针对性的执行。比如有参数,无参的,参数不同的。

    10,java对象的创建过程

         1,创建虚拟机进程,然后虚拟器用类加载器Class Loader加载.class文件到方法区。

         2,类加载完成后,主线程运行static main()时在虚拟机栈中建栈帧,压栈;执行到new Object()时,在堆heap里创建对象

         3,执行类的构造函数初始化

         4,new运算符 返回堆中这个对象的引用。

    11,throws和throw的区别

    1、throws出现在方法函数头;而throw出现在函数体。

    2、throws表示出现异常的一种可能性,并不一定会发生这些异常;throw则是抛出了异常,执行throw则一定抛出了某种异常对象

     

    12,try {}里有一个 return ,紧跟着在这个try之后的finally{}会不会被执行?

    ——会,在return过程中执行。解释:在执行return语句时,要返回的结果已经准备好了,并会把结果放在另外一个局部变量中。此时,程序转到finnaly执行,执行后再把存在这个变量中的结果取出返回。所以如果finally中修改了返回结果,但实际上返回结果不会变。应该是使用栈保存的返回值。

     

    13,堆:存放所有new出来的对象。栈:对象的引用。常量池:存放基本类型常量和字符串常量。

     

    14,反射:

      1,反射机制指的是程序在运行时能够获取自身的信息,实现动态创建对象和编译,比较灵活。缺点是对性能有影响。

       2.class-->.java

       3,通过反射机制访问java对象的属性,方法。

     

    依赖注入:在运行期,由外部容器spring动态地将依赖对象注入到组件中

    控制反转:spring容器初始化,创建并管理bean对象,以及销毁它

  • 相关阅读:
    运算符重载
    poj2329dfs
    poj2349最小生成树prim
    poj1258最小生成树prim
    read 一个防止找不到就写一下的输入模板
    CentOS7下安装ngnix
    CentOS7下安装mysql
    CentOS7下安装rabbitmq
    在window 2008r2开发服务器上安装MSMQ消息队列
    spark快速大数据分析学习笔记(1)
  • 原文地址:https://www.cnblogs.com/cxj20160928/p/5916837.html
Copyright © 2020-2023  润新知