首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

里面试: 说说强引用、软引用、弱引用、虚引用

无论是通过引用计数算法判断对象的引用数量,还是通过根搜索算法判断对象的引用链是否可达,判定对象是否存活都与“引用”有关。 引用 先说说引用,Java中的引用,类似 C 语言中的指针。...在 JDK 1.2 之后,Java 对引用的概念进行了扩充,将引用分为 强引用(Strong Reference) 软引用(Soft Reference) 弱引用(Weak Reference) 虚引用...强引用 在 Java 中最常见的就是强引用,把一个对象赋给一个引用变量,这个引用变量就是一个强引用。类似 “Object obj = new Object()” 这类的引用。...“幽灵引用”或者“幻影引用”,它是最弱的一种引用关系。...ReferenceHandler线程是Reference的静态代码创建的,所以只要Reference这个父类被初始化,该线程就会创建和运行,由于它是守护线程,除非 JVM 进程终结,否则它会一直在后台运行(注意它的run()方法里面使用了死循环

3.5K31
您找到你想要的搜索结果了吗?
是的
没有找到

聊聊Java里面引用传递

长久以来,在Java语言里面一直有一个争论,就是Java语言到底是值传递(pass-by-value)还是引用传递(pass-by-reference),有的人说是值传递,有的人说是引用传递,两边各执一词...简单的说,引用本身就代表了数据,改变引用相当于改变了数据本身。 根据概念的定义再回到Java语言里面,就会发现对Java本身来说,它只有指针传递也就是值传递,并非是引用传递。...到这里,我相信有一部分读者可能已经接受不了,因为在Java里面大多数时候,我们都是讲基本类型,引用类型,从没听过什么指针的概念。...只有认清了Java里面存在指针,承认指针,我们才能更加自信的理解Java语言。...你可能要说很简单啊,方法里面的作用域,只在方法里生效,出了方法就无效了。真的是这样吗?

73310

js如何引用同级元素

具体效果 示例效果 https://coder.itclan.cn/fontend/js/17-yinyong-tongji-elem/ 具体描述 在网页中,同级(兄弟)元素,指的是拥有相同的直接父级元素的元素...并且往往指的是同类的元素,同类元素在实际开发中遇到的比较多 比如:列表li,并列的按钮等,当需要做一些特殊的效果时,可以对其他同级的元素进行一些操作,满足特定的网页要求 比如:隔行填充颜色等 原生方法实现 以下是通过原生js...上面的两个input就是同级元素,同级元素拥有相同的父级元素都是p,那么就可以得到除自身以外的的同级元素,如果还需要排除同一类别的话,那么可以使用节点的nodeType属性来加以区别 Vue版本实现 在Vue里面...,就不用类似原生js的,不断的想办法,在寻找DOM节点,然后操作DOM,在Vue里面是直接操作的数据 如上面示例的按钮组合示例代码如下所示 <div class="wrap...实现是比较简单的,但是原生<em>js</em>的操作依旧还是要知道的

7.9K40

spring boot jsp里面的静态资源访问不到解决办法

闲着没事写的小Demo 用到了jsp页面,里面有些静态资源, springboot 默认的静态资源的值有四个:Default: classpath:/META-INF/resources/,classpath...那么默认的静态资源的位置就是resource 下面的static 文件夹,毕竟不用自己新建文件夹 那么你的页面引入的静态文件可以这么写: 当然就需要在static下面创建js文件夹,将jqeruy..js放在这个js文件夹下面 或者你习惯于在webapp下面写静态文件,那么需要注意两个点...: 1.需要在webapp下面创建一个static文件夹(和WEB-INF同级) 然后创建js文件夹,然后把静态文件放进去 2.引入静态文件的写法: 注意上面都是没有指定静态文件的地址的,指定静态文件的地址的属性是 : spring.resources.static-locations

1.1K31

Java里面volatile关键字修饰引用变量的陷阱

严谨的回答应该是volatile关键字对于基本类型的修改可以在随后对多个线程的读保持一致,但是对于引用类型如数组,实体bean,仅仅保证引用的可见性,但并不保证引用内容的可见性。...System.out.println("finished"); } 上面的代码,有个实体类Data,它有两个字段,分别是a和b,然后在我们的main方法中,我们声明了一个for循环1万次,在循环体里面我们先声明了一个写入线程...System.out.printf("a = %s, b = %s%n", x, y); } }); 总结: 本篇文章主要讲述了关于volatile修饰引用变量的问题即它只能保证引用本身的可见性...Overflow上提问的一个问题: https://stackoverflow.com/questions/50967448/about-java-volatile-array 在编程的世界里面,对于不确定的事情...,我们始终都要以最坏的打算来看待,所以请记住:尽量避免使用volatile关键字修饰引用变量。

98720
领券