
Java学习记录
Java
IWTSAMY
嘤嘤嘤
展开
-
String a=123 String b=123
String a = "123";String b = "123";System.out.println(a == b); 答案:trueJava栈的特点是存取速度快(比堆快),但是空间小,数据生命周期固定,只能生存到方法结束。我们定义的String a = “123”; String b = “123”; 这些语句,我们拆分开来看:123,等号右边的指的是编译期间可以被确定的内容,都维护在常量池中。str ,等号左边的指的是一个引用,引用的内容是等号右边数据在常量池中的地址原创 2020-05-24 12:56:47 · 1707 阅读 · 0 评论 -
Static关键字
Static关键字修饰的(方法,类。。)可以在不创建对象的情况下被调用1.Static修饰类Static一般不能修饰普通类。但是可以修饰内部类如果没有用static修饰InterClass,则只能new 一个外部类实例。再通过外部实例创建内部类。2.static关键字修饰方法修饰方法的时候,其实跟类一样,可以直接通过类名来进行调用:3.static关键字修饰变量被static修饰的成员变量叫做静态变量,也叫做类变量,说明这个变量是属于这个类的,而不是属于是对象,没有被static修饰的成员原创 2020-05-24 12:55:27 · 461 阅读 · 0 评论 -
内存泄漏
内存泄漏:在基于Java的运行中,内存泄漏是一种编程错误,它会导致应用程序对已经不需要再使用对象的引用。所以,无法回收该系统给该对象分配的内存。最终导致OOM(OutOfMemoryError 内存泄漏) 崩溃。简单来说就是:一些对象有着有限的生命周期。当这些对象所要做的事情完成了,我们希望他们会被回收掉。但是如果有一系列对这个对象的引用,那么在我们期待这个对象生命周期结束的时候被收回的时候,它是不会被回收的。它还会占用内存,这就造成了内存泄露。持续累加,内存很快被耗尽。内存泄漏出现的一些实例:1.单原创 2020-05-22 17:03:07 · 210 阅读 · 0 评论 -
String
在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串。**使用new创建对象,和不使用new创建对象的区别:**使用new创建对象,会直接在堆的字符串常量池内存区申请一块内存空间,使用完毕后会被GC回收。而不使用new创建对象,首先在字符串常量池内存区中查找是否有该字符串,如果有,那么创建的变量即为该字符串的引用,不会开辟新的内存空间。String 类是不可改变...原创 2020-05-04 07:16:08 · 168 阅读 · 0 评论 -
接口与抽象类
接口接口的声明:Interface关键字用来声明一个接口interface Animal { public void eat(); public void travel();}接口是隐式抽象的,当声明一个接口的时候,不必使用abstract关键字。接口中每一个方法也是隐式抽象的,声明时同样不需要abstract关键字。接口中的方法都是公有的。接口的实现当类实现接口...原创 2020-05-04 06:11:01 · 222 阅读 · 0 评论 -
List<String> list=new ArrayList<String>();与ArrayList<String> list=new ArrayList<String>();
如何理解:List list=new ArrayList();为甚麼要声明为List 而不是ArrayList?ArrayList LinkedList 都是List 的子类,就像 Set 也是Collection 的子接口。首先我们探究一下类的继承 对于java的对象,从类的继承关系来说,父类为上,子类为下,所以向上转型就是从子类型转换成父类型,而想下转型就是从父类型转化成子类型。publ...原创 2020-04-26 00:55:38 · 3543 阅读 · 5 评论 -
“==”与equals( )的异同
Java中的数据类型,可分为两类:1.基本数据类型,也称原始数据类型。byte,short,char,int,long,float,double,boolean他们之间的比较,应用双等号(==),比较的是他们的值。2.复合数据类型(类)当他们用(==)进行比较的时候,比较的是他们在内存中的存放地址==比较的是两边变量的内存地址是否相同,也可百以理解为是否是同一个变量。equals()是...原创 2020-04-25 00:39:44 · 199 阅读 · 0 评论 -
对象的引用
今天见到了类名+变量的写法,如定义了一个Person类,有一行写法为: Person person;这个其实是定义了一个Person对象的引用。我们知道new一个对象的语句是:Person person = new Person('张三');其实这行代码等价于以下两行:Person person;person = new Person("张三");第一行的person其实是对象...原创 2020-04-18 23:37:18 · 287 阅读 · 0 评论 -
Java零碎笔记
Java 中主要有如下几种类型的变量//局部变量类变量(静态变量)成员变量(非静态变量)//public Employee(string name, string alias){// Use this to qualify the fields, name and alias:this.name = name;this.alias = alias;}这是个构造函数,this.n...原创 2020-04-17 13:56:55 · 190 阅读 · 0 评论