本博文不具备参考价值,仅作为本人自己的文档记录!!! 好一出骂架,吓得我都不敢随便说话了: 语言中,静态方法和非静态方法你懂多少? 头脑发昏记录了这个,我只需要像约翰·卡马克一样专注就好了:程序员的五点建议--如何成为编程高手并以此创业 ...
分类:
其他好文 时间:
2019-10-02 13:10:42
阅读次数:
71
首先,两者本质上的区别是:静态方法是在类中使用staitc修饰的方法,在类定义的时候已经被装载和分配。而非静态方法是不加static关键字的方法,在类定义时没有占用内存,只有在类被实例化成对象时,对象调用该方法才被分配内存。 其次,静态方法中只能调用静态成员或者方法,不能调用非静态方法或者非静态成员 ...
分类:
其他好文 时间:
2019-09-10 00:23:07
阅读次数:
81
原文链接地址:https://www.cnblogs.com/zheting/p/7751752.html 当一个对象创建后,Java虚拟机(JVM)就会给这个对象分配一个引用自身的指针,这个指针的名字就是 this。 因此,this只能在类中的非静态方法中使用,静态方法和静态的代码块中绝对不能出现 ...
分类:
编程语言 时间:
2019-09-04 09:44:13
阅读次数:
104
一般@Value是使用在非静态方法上的 对于静态方法,以下做法是无效的 需要使用如下方法 方法一:xml通过bean注入 方法二:使用set方法注入 方法三:通过中间变量赋值 1.@PostConstruct说明 被@PostConstruct修饰的方法会在服务器加载Servlet的时候运行,并且只 ...
分类:
其他好文 时间:
2019-09-02 12:13:30
阅读次数:
774
对象锁:就是这个锁属于这个类的对象实例,可以通过为类中的非静态方法加synchronized关键字 或者使用 synchronized(this) 代码块,为程序加对象锁。 Class锁:就是这个锁属于这个Class类,所以即使是不同的实例对象仍然拥有的是同一个锁,可以通过为类中的静态方法加sync ...
分类:
其他好文 时间:
2019-08-28 01:05:06
阅读次数:
76
锁的是当前对象this,被锁定后,其他线程都不能进入到当前对象的其他的synchronized方法。 1. 所有的非静态同步方法用的都是同一把锁 实例对象本身 2. 所有的静态同步方法用的也是同一把锁 类对象本身 ...
分类:
编程语言 时间:
2019-08-26 18:10:20
阅读次数:
128
这个要从java的内存机制去分析,首先当你New 一个对象的时候,并不是先在堆中为对象开辟内存空间,而是先将类中的静态方法(带有static修饰的静态函数)的代码加载到一个叫做方法区的地方,然后再在堆内存中创建对象。所以说静态方法会随着类的加载而被加载。当你new一个对象时,该对象存在于对内存中,t ...
分类:
编程语言 时间:
2019-08-26 10:19:37
阅读次数:
82
前言 昨晚老东家微信群里一堆前同事充满兴致的在讨论一道据说是阿里P7的面试题,不管题目来源是不是真的,但题目本身却比较有意思,虚虚实实去繁化简,却能看出一个人对Java知识掌握的深度以及灵活度。 闲话少叙,咱们直接“上菜”。 正文 1、原代码如下所示,问执行之后打印的数是什么? 相信只要对多线程的执 ...
分类:
其他好文 时间:
2019-08-17 14:29:57
阅读次数:
91
静态方法调用非静态方法: 在类中静态方法中,需要实例化对象,然后再调用类中的方法 非静态方法调用静态方法: 可以 或者 类名加 的形式调用 如下面的案例: 运行结果: ...
分类:
Web程序 时间:
2019-08-11 23:24:27
阅读次数:
195
1.内存结构 Java程序在运行时,需要在内存中的分配空间为提高运算效率,空间进行了不同区域的划分,因为每一片区域都有特定的处理数据方式和内存管理方式。 栈内存 ·用于存储局部变量,当数据使用完,所占空间会自动释放, 堆内存 ·数组和对象,通过Bw建立的实例都存放在堆内存中, ·每一个实体都有内存地 ...
分类:
编程语言 时间:
2019-08-11 10:51:02
阅读次数:
73