![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java学习
IT小湃
这个作者很懒,什么都没留下…
展开
-
干货 | Java中获取类名的3种方法!
获取类名的方法Java 中获取类名的方式主要有以下三种。getName()返回的是虚拟机里面的class的类名表现形式。getCanonicalName()返回的是更容易理解的类名表示。getSimpleName()返回的是类的简称。都有什么区别?通过一个实例来看下它们主要的区别。public class TestClass {public static void ma...转载 2018-10-25 09:51:47 · 378 阅读 · 0 评论 -
为什么内部类能访问外部类的private成员
此文文转载文原文链接: https://droidyue.com/blog/2014/10/02/the-private-modifier-in-java/这篇文章通过反编译讲解了为什么内部类能用外部类private成员和为什么外部类能用内部类private成员在Java编程中,使用private关键字修饰了某个成员,只有这个成员所在的类和这个类的方法可以使用,其他的类都无法访问到这个pri...转载 2019-02-01 13:54:36 · 6646 阅读 · 0 评论 -
内部类访问权限
这个问题是我学习think in java思考,页面为第四版196面,Exeicise11首先,我们先来回顾一下,修饰符权限得问题如图:基础知识就不废话首先我们先来思考以下问题:1、创建一个private内部类,让他实现一个public接口,写一个方法,尝试指向此private内部类得实例引用,并将此引用想上转型成接口,通过尝试向下转型,说明此内部类被完全隐藏了~2、将上面问题改成pr...原创 2019-02-03 10:29:35 · 971 阅读 · 1 评论 -
Java前期(静态)绑定和后期(动态)绑定
转载文章!原文链接为:https://www.cnblogs.com/jstarseven/articles/4631586.html程序绑定的概念:绑定指的是一个方法的调用与方法所在的类(方法主体)关联起来。对java来说,绑定分为静态绑定和动态绑定;或者叫做前期绑定和后期绑定.静态绑定:在程序执行前方法已经被绑定(也就是说在编译过程中就已经知道这个方法到底是哪个类中的方法),此时由编...转载 2019-01-28 18:39:05 · 133 阅读 · 0 评论 -
匿名内部类引用外部对象要加final修饰符的原因
转发文章原文链接为: https://blog.csdn.net/lb_383691051/article/details/47700693为什么在匿名内部类中引用外部对象要加final修饰符呢,因为,在匿名内部类中引用的外部对象受到外部线程的作用域的制约有其特定的生命周期,以线程为例,当外部的变量生命周期已经完结之后,内部的线程还在运行,怎么样解决这个外部生命周期已经结束而在内部却需要继续使...转载 2019-02-03 21:48:38 · 534 阅读 · 0 评论 -
JVM内存模型详解
1、JVM内存分配与管理详解链接: https://blog.csdn.net/qq_37142346/article/details/79141210这篇文章,讲解的清晰简介明白2、Java虚拟机详解02----JVM内存结构链接: https://www.cnblogs.com/smyhvae/p/4748392.html这篇文章,带实例的讲解,虽然例子比较浅,入门看...原创 2019-02-03 21:53:00 · 152 阅读 · 0 评论 -
java变量中的作用域
在Java中,变量的作用域分为四个级别:类级、对象实例级、方法级、块级。类级变量又称全局级变量或静态变量,需要使用static关键字修饰,你可以与 C/C++ 中的 static 变量对比学习。类级变量在类定义后就已经存在,占用内存空间,可以通过类名来访问,不需要实例化。对象实例级变量就是成员变量,实例化后才会分配内存空间,才能访问。方法级变量就是在方法内部定义的变量,就是局部变量。块级变...转载 2018-10-23 21:20:53 · 180 阅读 · 0 评论 -
Java堆、栈和常量池以及相关String的详细讲解(经典中的经典)
博客分类: Java综合一:在JAVA中,有六个不同的地方可以存储数据:寄存器(register)。 这是最快的存储区,因为它位于不同于其他存储区的地方——处理器内部。但是寄存器的数量极其有限,所以寄存器由编译器根据需求进行分配。你不能直接控制,也不能在程序中感觉到寄存器存在的任何迹象。------最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制.堆栈(stack)。位...转载 2018-10-27 15:45:42 · 88 阅读 · 0 评论 -
Java常量池理解与总结
一.相关概念什么是常量用final修饰的成员变量表示常量,值一旦给定就无法改变!final修饰的变量有三种:静态变量、实例变量和局部变量,分别表示三种类型的常量。Class文件中的常量池在Class文件结构中,最头的4个字节用于存储魔数Magic Number,用于确定一个文件是否能被JVM接受,再接着4个字节用于存储版本号,前2个字节存储次版本号,后2个存储主版本号,再接着是用于存放...转载 2018-10-27 15:47:21 · 108 阅读 · 0 评论 -
java学习笔记—泛型
1、为什么我们会用到泛型泛型程序设计意味着编写的代码可以被很多不同类型的对象所重用。list可以添加所有引用类型,但是这样不安全。 例如:如果你定义了一个list并且向里面加入了很多引用数据类型,然后你需要用迭代器来迭代依次输出,这样就会造成混乱,因为类型得不同,调用得方法也不同,很多类没用相同pubilc修饰得相同名称得函数,这样一定会造成一些错误,所以用泛型来指定一个类型,就可以安...原创 2018-11-01 09:51:15 · 86 阅读 · 0 评论 -
Java 深入理解finalize()方法
什么是finalize()方法?,finalize()是Object的protected方法,子类可以覆盖该方法以实现资源清理工作。另外,Java 技术允许使用 finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。finalize()方法什么时候被调用?垃圾回收器GC在回收对象进行内存释放前会先调用finalize方法finalize()与C++中...转载 2018-11-14 16:50:03 · 148 阅读 · 0 评论 -
练习多线程中碰见的匿名内部类内存的问题
代码如下:前两个t1、t2分别用两个匿名内部类创建重写了run函数的接口的对象,再通过对象来创建Thread对象,并设置Thread引用来指向。后两个t3、t4一个是继承Thread创建和一个是实现Runnable接口来创建,即正常情况,没通过匿名内部使用 public static void main(String[] args) { //守护线程 setDaemon() Thr...原创 2018-11-17 21:19:15 · 219 阅读 · 0 评论 -
为什么类和接口不能使用private和protected?接口的方法不能使用private、protected、default
转载文章原文链接 https://www.cnblogs.com/leolztang/p/6041222.html对于java程序员来说,java的访问权限修饰词public、protected、default、private的区别和使用肯定都不是问题,这里也不再啰嗦了,反正度娘一搜就一大把。最近在整理java core的培训资料时,想到了几个关于权限修饰词的问题:为什么类和接口(不考虑内部...原创 2019-01-30 13:37:51 · 2116 阅读 · 0 评论