
Java
文章平均质量分 56
嘟嘟ha
这个作者很懒,什么都没留下…
展开
-
Java static的内存图
1.static运行JVM可分为四个区:堆区、栈区、数据区、代码区类进入到方法区后,先加载自己的静态成员,main也是静态的,main是属于Test类,静态属于自己的类程序开始执行,运行main(),JVM到静态区将main方法复制一份压栈执行内存中,静态优先于非静态存在2.static特点被static修饰的成员变量属于类,不属于这个类的某个对象。(也就是说,多个对象在访问或修改static修饰的成员变量时,其中一个对象将static成员变量值进行了修改,其他对象中的static成员变量值跟原创 2020-07-05 20:14:43 · 258 阅读 · 0 评论 -
Java关键字static
1.概念当在定义类的时候,类中都会有相应的属性和方法。而属性和方法都是通过创建本类对象调用的。当在调用对象的某个方法时,这个方法没有访问到对象的特有数据时,方法创建这个对象有些多余。可是不创建对象,方法又调用不了,这时就会想,那么我们能不能不创建对象,就可以调用方法呢?可以的,我们可以通过static关键字来实现。static它是静态修饰符,一般用来修饰类中的成员。例如:学生都有姓名年龄,学校名,姓名年龄是学生独有的,但是都在一个学校,学校名字都是一样的,当创建五个学生对象时,学校名字也会在内存中创建原创 2020-07-05 15:48:12 · 249 阅读 · 0 评论 -
Java匿名对象 内部类 匿名类
内部类,可以使用外部类成员,包括私有外部类要使用内部类成员,必须建立内部类对象举例:内部类Inner()可以调用外部类Outer()的成员变量a外部类Outer()调用内部类成员的格式:外部类名.内部类名 变量 = new 内部类对象(); 变量.内部类方法()...原创 2020-07-04 14:18:22 · 215 阅读 · 0 评论 -
Java多线程运行的内存
1.单线程压栈单线程是压栈,先进后出,只有一条路径2.多线程多线程之间彼此有自己的私有栈,互不干扰,独立运行,当执行线程的任务结束了,线程自动在栈内存中释放了。但是当所有的执行线程都结束了,那么进程就结束了。...原创 2020-06-27 20:55:55 · 162 阅读 · 0 评论 -
Java创建线程及其随机性
new SubThread() 是在主线程路径下开辟一条新的子路径,开启新线程,子线程运行run()方法,cpu会随机选择主或子线程进行运行,运行结果也是随机性的原创 2020-06-27 15:31:19 · 218 阅读 · 0 评论 -
Java进程线程(一)
进程线程概念进程:进程指正在运行的程序。确切的来说,当一个程序进入内存运行,即变成一个进程,进程是处于运行过程中的程序,并且具有一定独立功能。线程:线程是进程中的一个执行单元,负责当前进程中程序的执行,一个进程中至少有一个线程。一个进程中是可以有多个线程的,这个应用程序也可以称之为多线程程序。简而言之:一个程序运行后至少有一个进程,一个进程中可以包含多个线程举例说明360软件进入内存运行效率取决于cpu, 早期的cpu只有一核,cpu会在多个线程之间进行高速的切换,现在cpu是多核,每一..原创 2020-06-26 22:53:28 · 162 阅读 · 0 评论 -
总结:this关键字 构造方法 super关键字
this关键字this关键字,本类对象的引用this是在方法中使用的,哪个对象调用了该方法,那么,this就代表调用该方法的对象引用this什么时候存在的?当创建对象的时候,this存在的this的作用:用来区别同名的成员变量与局部变量(this.成员变量)public void setName(String name) {this.name = name;}构造方法: 用来给...原创 2019-11-20 22:19:53 · 116 阅读 · 0 评论 -
this() super()
this()调用的是自己的构造方法,其实是间接形式父类得构造方法子类的构造方法,什么都不写,默认的构造方法第一行是super()结论:无论如何,子类的所有构造方法,直接,间接,必须调用到父类的构造方法...原创 2019-11-20 22:11:41 · 104 阅读 · 0 评论 -
super关键字
注意:子类中所有的构造方法。无论重载多少个,第一行必须是super()如果父类中有多个构造方法,子类中任意调用一个就可以构造方法不能继承原创 2019-11-20 21:22:37 · 109 阅读 · 0 评论 -
子类父类内存图
先进堆内存,初始化成员变量,再调用构造方法子类中,super()的方式,调用父类的构造方法super()调用的是父类的空参数构造,子类构造方法第一行super语句,调用父类的构造方法super(参数)调用的是父类的有参数构造方法1、2两步:子类文件.class通过super找到父类文件.class,标明了位置所在...原创 2019-11-20 21:03:01 · 266 阅读 · 0 评论 -
继承后子类与父类成元变量特点
子类的对象,调用成员变量子类自己有,使用自己的子类没有,调用父类在子类中,调用父类的成员,关键字super.父类的成员子类继承父类(超类)this.调用自己本类成员super.调用自己的父类成员...原创 2019-11-12 23:47:10 · 94 阅读 · 0 评论 -
Java单继承,允许多层继承
多层继承原创 2019-11-12 23:40:54 · 172 阅读 · 0 评论 -
this内存图
原创 2019-11-12 21:11:20 · 144 阅读 · 0 评论 -
this关键字
成员变量和局部变量同名问题当在方法中出现了局部变量和成员变量同名的时候,那么在方法中怎么区别局部变量成员变量呢?可以在成员变量名前面加上this.来区别成员变量和局部变量class Person {private int age;private String name;public void speak() { this.name = "小强"; this.age = 18; Sy...原创 2019-11-12 21:08:49 · 97 阅读 · 0 评论 -
私有private
了解到封装在生活的体现之后,又要回到Java中,细说封装的在Java代码中的体现,先从描述Person说起。描述人。Person属性:年龄。行为:说话:说出自己的年龄。class Person {int age;String name;public void show() { System.out.println("age=" + age + ",name" + name);}...原创 2019-11-12 21:02:35 · 186 阅读 · 0 评论 -
方法参数是基本数据类型与引用数据类型
原创 2019-11-12 21:00:35 · 106 阅读 · 0 评论 -
java成员变量和局部变量的区别
一:定义的位置不同成员变量,定义在类中,方法外局部变量,方法内,语句内二:作用域不同成员变量,作用范围,整个类局部变量,方法内,语句内二:在内存中的位置不同成员变量,跟随对象进入对内存存储局部变量,跟随自己的方法,进入栈内存三:生命周期不同成员变量随着对象的出现而出现在堆中,随着对象的消失而从堆中消失,内存等待JVM清理,生命相对较长局部变量,跟随方法,方法出栈。生命相对较短...原创 2019-11-12 20:50:11 · 129 阅读 · 0 评论 -
对象的内存图
栈中元素会自动弹栈释放内存,堆中的内存会由JVM虚拟机清理原创 2019-11-12 20:38:30 · 165 阅读 · 1 评论 -
集合的使用
八种基本类型对应的引用类型原创 2019-11-06 22:57:01 · 89 阅读 · 0 评论 -
自定义类型的内存图
原创 2019-11-06 22:40:41 · 97 阅读 · 0 评论 -
数组的越界和空指针
越界空指针原创 2019-11-05 22:59:36 · 127 阅读 · 0 评论 -
方法中的传参问题
传入的参数是数据类型传入的参数是引用数据类型原创 2019-11-05 22:46:09 · 106 阅读 · 0 评论 -
方法重载
重载看方法名和参数列表原创 2019-11-05 22:34:02 · 92 阅读 · 0 评论 -
数组的内存
arr是引用类型,保存的是内存中的位置(内存地址)原创 2019-11-03 22:50:13 · 109 阅读 · 0 评论 -
JVM的内存划分
1.计算机内存条,计算机操作系统去管理硬件,java程序需要运行,于是JVM找操作系统去分配内存,操作系统分配给虚拟机一片内存供虚拟机分配使用,虚拟机将分配到的内存又详细划分成五个区域...原创 2019-11-03 22:35:09 · 125 阅读 · 0 评论 -
java多态
1.1 多态概述现实事物经常会体现出多种形态,如学生,学生是人的一种,则一个具体的同学张三既是学生也是人,即出现两种形态。Java作为面向对象的语言,同样可以描述一个事物的多种形态。如Student类继承了Person类,一个Student的对象便既是Student,又是Person。Java中多态的代码体现在一个子类对象(实现类对象)既可以给这个子类(实现类对象)引用变量赋值,又可以给这个...原创 2018-09-27 11:27:53 · 159 阅读 · 0 评论 -
Java接口
1.1 接口概念接口是功能的集合,同样可看做是一种数据类型,是比抽象类更为抽象的”类”。接口只描述所应该具备的方法,并没有具体实现,具体的实现由接口的实现类(相当于接口的子类)来完成。这样将功能的定义与实现分离,优化了程序设计。请记住:一切事物均有功能,即一切事物均有接口。1.2 接口的定义与定义类的class不同,接口定义时需要使用interface关键字。定义接口所在的仍为.jav...原创 2018-09-27 10:13:56 · 155 阅读 · 0 评论 -
java关键字final
继承的出现提高了代码的复用性,并方便开发。但随之也有问题,有些类在描述完之后,不想被继承,或者有些类中的部分方法功能是固定的,不想让子类重写。可是当子类继承了这些特殊类之后,就可以对其中的方法进行重写,那怎么解决呢?final 修饰类final修饰类不可以被继承,但是可以继承其他类final修饰方法final修饰的方法不可以被覆盖,但父类中没有被final修饰方法,子类覆盖后可以加fina...原创 2018-09-26 11:36:52 · 108 阅读 · 0 评论 -
java接口与抽象类
参考:http://www.importnew.com/12399.html原创 2018-09-26 10:35:16 · 141 阅读 · 0 评论 -
Java方法的重写(Overriding)和重载(Overloading)
方法的重写(Overriding)和重载(Overloading)是java多态性的不同表现,重写是父类与子类之间多态性的一种表现,重载可以理解成多态的具体表现形式。(1)方法重载是一个类中定义了多个方法名相同,而他们的参数的数量不同或数量相同而类型和次序不同,则称为方法的重载(Overloading)。(2)方法重写是在子类存在方法与父类的方法的名字相同,而且参数的个数与类型一样,返回值也一...原创 2018-09-26 09:49:54 · 237 阅读 · 0 评论 -
Java成员变量和局部变量的区别
区别一:定义的位置不同定义在类中的变量是成员变量定义在方法中或者{}语句里面的变量是局部变量区别二:在内存中的位置不同成员变量存储在对内存的对象中局部变量存储在栈内存的方法中区别三:声明周期不同成员变量随着对象的出现而出现在堆中,随着对象的消失而从堆中消失局部变量随着方法的运行而出现在栈中,随着方法的弹栈而消失区别四:初始化不同成员变量因为在堆内存中,所有...原创 2018-09-25 11:42:39 · 107 阅读 · 0 评论 -
java内存图
引用变量内存图对象内存图原创 2018-09-25 11:03:26 · 194 阅读 · 0 评论