静态方法是属于类的,即静态方法是随着类的加载而加载的,在加载类时,程序就会为静态方法分配内存,而非静态方法是属于对象的,对象是在类加载之后创建的,也就是说静态方法先于对象存在,当你创建一个对象时,程序为其在堆中分配内存,一般是通过this指针来指向该对象。静态方法不依赖于对象的调用,它是通过‘类名.静态方法名’这样的方式来调用的。而对于非静态方法,在对象创建的时候程序才会为其分配内存,然后通过类的
转载
2023-06-02 22:44:51
107阅读
static修饰的变量习惯称为静态变量,static修饰的方法称为静态方法,static修饰的代码块叫做静态代码块。 “static方法就是没有this的方法。在static方法内部不能调用非静态方法,反过来是可以的。而且可以在没有创建任何对象的前提下,仅仅通过类本身来调用static方法。这实际上正是static方法的主要用途。” --《java编程思想》&nb
转载
2023-08-30 16:41:03
34阅读
static 修饰符能够与变量、方法一起使用,表示是“静态”的。静态变量和静态方法能够通过类名来访问,不需要创建一个类的对象来访问该类的静态成员,所以static修饰的成员又称作类变量和类方法。静态变量与实例变量不同,实例变量总是通过对象来访问,因为它们的值在对象和对象之间有所不同。请看下面的例子:运行结果:类变量 i=10实例变量 j=20static 的内存分配静态变量属于类,不属于任何独立的
转载
2023-08-30 16:44:13
0阅读
之前接触过klocwork代码检查工具,一直对“JD.METHOD.CBS”规则的正确性有些怀疑。可疑点JAVA进程运行时内存分多个区。规则没有说明能减少哪一部分的内存消耗。抛开剂量谈毒性就是耍流氓,没有说清楚节省多少内存。最终造成开发人员或项目管理者基于对klocwork的信任或者其他原因而采信,投入了人力成本,却不清楚收益是什么。基于对JVM的浅显的认识,对象内存占用是不包括“方法”的。该规则
转载
2024-07-25 19:10:44
78阅读
1、static关键字的用法: static关键字主要有以下四种使用场景:修饰成员变量和成员方法:被static声明的成员变量属于静态成员变量,存放在JVM内存区域的方法区;被static修饰的成员方法属于类,不仅仅属于这个类的某个对象,而是被类中所有对象共享,可以通过类名或对象名调用。静态代码块:静态代码块定义在类中,静态代码块在非静态代码块之前执行(静态代码块- ->非静态代码
转载
2023-06-02 17:32:41
54阅读
一、数据保存的地方: 1、 寄存器:这是最快的保存区域,因为它位于和其他所有保存方式不同的地方:处理器内部。然而,寄存器的数量十分有限,所以寄存器是根据需要由编译器分配。我们对此没有直接的控制权,也不可能在自己的程序里找到寄存器存在的任何踪迹。 2、 堆栈:存放基本类型的数据和对象的引用,但对象本身不存放在栈中,而是存放在堆中(new 出来的对象)。驻留于常规RAM(随机访问存储器)区域。但可
转载
2023-05-22 21:55:59
74阅读
Java 变量类型Java的变量分为:类变量(静态变量)、实例变量、局部变量以及常量1、类变量类变量也称为静态变量,在类中以static关键字声明,但必须在方法之外无论一个类创建了多少个对象,类只拥有类变量的一个拷贝静态变量除了被声明为常量外,很少使用。静态变量存储在静态存储区,经常被声明为常量,很少单独使用static声明变量静态变量在第一次被访问是创建,在程序结束时销毁与实例变量具有相似的可见
转载
2023-08-31 07:12:19
24阅读
本文根据《大话数据结构》一书,实现了Java版的静态链表。用数组描述的链表,称为静态链表。数组元素由两个数据域data和cur组成:data存放数据元素;cur相当于单链表中的next指针,称为游标。某一静态链表结构如图所示(游标存放内容可参考程序中的说明1):静态链表的优缺点:静态链表实现程序:package StaticLinkList;
/**
* 说明:
* 1.数组第一个
转载
2023-07-22 18:26:14
126阅读
static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念。 被static修饰的成员变量和成员方法独立于该类的任何对象。也就是说,它不依赖类特定的实例,被类的所有实例共享。只要这个类被加载,Java虚拟机就能根据类名在运行时数据区的方法区内定找到他们。因此,st
转载
2023-06-21 23:52:39
93阅读
Java中的内部类共分为四种:静态内部类static inner class (also called nested class) 成员内部类member inner class 局部内部类local inner class匿名内部类anonymous inner class 静态内部类Static Inner Class 最简单的内部类形式。static关键字。 不能和外部类有
转载
2023-06-08 17:03:14
327阅读
FreemarkerFreeMarker 是一个用 Java 语言编写的模板引擎,它基于模板来生成文本输出。FreeMarker与 Web 容器无关,即在 Web 运行时,它并不知道 Servlet 或 HTTP。它不仅可以用作表现层的实现技术,而且还可以用于生成 XML,JSP 或 Java 等。目前企业中:主要用 Freemarker 做静态页面或是页面展示总结:freemarker 模版引擎
转载
2023-07-09 22:09:48
50阅读
静态方法Java是面向对象的,但若处于某种特殊情况下(通常是实用方法),则不需要类的实例。static这个关键词可以标记出不需类实例的方法。一个静态的方法就是不需要实例变量、不需要对象的行为。带有静态方法的含义带有静态方法的类通常不打算要被初始化。 想要不让类被初始化可以有两种途径: 用abstract标记类。抽象的类不能被初始化。用私有的构造函数来限制非抽象类被初始化(Math防止被初始化的方
转载
2023-06-09 15:54:14
77阅读
Static 被称为静态,可以用来修饰属性和方法Static 属性:如果类的某个属性,不管创建多少个对象,属性的存储空间只有一个,这个属性就应该用static修饰。被static修饰的属性被称为静态属性(静态属性并不表示为不可以修改的)Static 属性可以使用对象调用,也可以直接用类名调用,一般都用类名调用静态属性是类的所有对象共享的,即不管多少个对象,静态属性在内存中只有一个。例如,对于一个班
转载
2023-07-05 11:03:11
88阅读
要使用静态成员(方法和变量)我们必须给出提供这个静态成员的类。静态导入可以使被导入类的静态变量和静态方法在当前类直接可见,使用这些静态成员无需再给出他们的类名。 静态导入也是JDK5.0引入的新特性,下面以实例来说明静态导入的用法: 比如先在一个包中定义一个这样的类: package com.example.lea
转载
2023-06-04 19:59:34
71阅读
java存储机制--常量池java存储机制java的6种存储地址常量池java为很多基本类型的包装类/字符串都建立常量池Java为常量字符串都建立常量池缓存机制基本类型的包装类和字符串有两种创建方式参考链接 java存储机制java的6种存储地址寄存器:最快的存储区,由编译器根据需求进行分配,我们在程序中不能控制。栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(ne
转载
2023-10-17 12:23:36
44阅读
static 关键字例如:在球类中使用PI这个常量,可能除了本类需要这个常量之外,在另外一个圆类中也需要使用这个常量。这时没有必要在两个类中同时创建PI这个常量,因为这样系统会将这两个不在同一个类中定义的常量分配到不同的内存空间中。为了解决这个问题,可以将这个常量设置为静态的。PI常量在内存中被共享的布局如图参考资料:Java从入门到精通 第三版被声明为static的变量,常量和方法被称为静态成员
转载
2023-05-19 10:30:57
209阅读
这里的静态,指以static关键字修饰的,包括类,方法,块,字段。非静态,指没有用static 修饰的。静态有一些特点:1.全局唯一,任何一次的修改都是全局性的影响2.只加载一次,优先于非静态3.使用方式上不依赖于实例对象。4.生命周期属于类级别,从JVM 加载开始到JVM卸载结束。 关于静态内部类(嵌套类)和非静态内部类的区别,可参考:http://www.jb51.net/artic
转载
2023-06-19 22:54:02
153阅读
static 是静态方法,他的引用不需要对象,可以使用类名直接进行引用,当然也不需要this。 由于不需要对象,所以static方法内无法调用非static的方法或对象 至于为什么main方法必须是static的,因为程序在执行main方法的时候没有创建任何对象
转载
2023-07-03 11:57:21
60阅读
Java静态方法和实例方法相同之处:都能接收传过来的参数,都能返回参数。不同之处:有static就是静态方法,静态方法在另外一个类里面,不用new这个静态方法所在的类,也能直接访问这个方法,比较方便。缺点是静态方法常驻内存,不能都用静态方法。 this的用法:当别的类传参过来的局部变量和当前类里的全局变量重名的时候,用this.来区分,加了this.的就是当前类里的全局变量。如果你把传参
转载
2023-05-22 21:27:32
50阅读
java中的类加载机制一般包括装载,链接,初始化。这些其实在面试中能回答上来就已经达到面试官的期望值了,有一段时间,在思考的过程中,突发奇想,链接为什么叫链接呢?当时完全把自己问住了,不懂就要学习,就先去问度娘,然而并没有找到答案,于是继续看书,突然脑子里蹦出来动态链接和静态链接这两个词汇。调整方向往编译链接那边去思考。豁然开朗! 一般情况下程序到可执行阶段
转载
2023-09-30 20:39:28
44阅读