1.概念GC管理的主要区域是Java堆,一般情况下只针对堆进行垃圾回收。方法区、栈和本地方法区不被GC所管理,因而选择这些区域内的对象作为GC roots,被GC roots引用的对象不被GC回收。根搜索算法是JVM用来的判断对象是否存活的算法,此算法基本思路为通过一系列的“GC Roots”对象作为起始点,从这些节点往下搜索,当一个对象和GC Roots不可达时,则该对象是无用的,可被回收的。如
转载
2023-10-14 07:54:34
96阅读
注解是个好东西,但好东西我们也是看见过,整理过,理解过,用过才知道好。不求我们每个都记住,但求保有印象,在需要的时候能提取出来再查找相关资料,平时工作就不会显得那么被动了。1.@Configuration注解该类等价 与XML中配置beans,相当于Ioc容器,它的某个方法头上如果注册了@Bean,就会作为这个Spring容器中的Bean,与xml中配置的bean意思一样。@Configurati
1、JVM的位置:JVM是在操作系统上面的应用软件 JVM虚拟机有三种如下: ① Sun公司的HotSpot; ② BEA公司的JRockit; ③ IBM公司的J9 JVM; java虚拟机属于第一种: 2、JVM的体系结构: 3、类加载器 作用:加载clas
转载
2023-08-09 10:22:47
61阅读
【前言】为什么有这个需求?Q:首先,谈谈为啥想要root呢?A:有root才能有控制权,也才能折腾很多东西,比如:删删流氓软件,用用代理、软件自动安装等;Q:然后,那么为何又需要删除root呢?A:有时候有些工具在已经root的机器上是不能执行的啦, 但是这些功能对我们也有很大的吸引力,比如:手机打卡呀 等等牛逼的功能;如果你也想要使用这些功能,同时又想要偶尔root一下的话, 那么恭喜你,可以通
转载
2023-11-27 10:35:31
77阅读
基于Java的Spring注解配置基于 Java 的配置,允许你在少量的 Java 注解的帮助下,进行你的大部分Spring 配置而非通过 XML 文件。以@Configuration 注解为例,它用来标记类可以当做一个 bean 的定义,被 Spring IOC 容器使用。另一个例子是@Bean 注解,它表示此方法将要返回一个对象,作为一个bean 注册进 Spring 应用上下文。怎样开启注解
转载
2023-06-26 21:00:03
181阅读
Spring使用注解配置bean1.使用注解配置bean步骤
(1.在配置文件中添加context命名空间
xmlns:context="http://www.springframework.org/schema/context"
http://www.springframework.org/schema/context
http://www.springfram
转载
2023-09-08 14:30:43
187阅读
GC Root挺多的,或者说,Java对象并不是只有用户才能new,虚拟机内部也new了一些,只要从某个地方出发能发现存活对象,它们就是GC Root。1. 所有已加载的类(ClassLoaderDataGraph::roots_cld_do)2. 所有Java线程当前栈帧的引用和虚拟机内部线程(Threads::possibly_parallel_oops_do)这个就是我们通常意义上Java代
转载
2023-07-19 13:48:34
92阅读
这个问题是我在刷牛客面经的时候遇到的,还特意整理在了个人常规面试题文档中,因此这道题主要考察的就是finalize方法的影响。javajava提供了一个finalize方法,能够帮助咱们进行资源释放,相似于C++中的析构函数。可是目前广泛的认识是不要使用,为何呢?就是由于对java虚拟机的垃圾回收有影响。这篇文章对其进行一个说明。面试1、为何有影响咱们都知道一个对象GCRoot不可达,java虚拟
转载
2024-02-11 20:57:57
44阅读
哪些对象可以作为 GC Roots 的对象:虚拟机栈中局部变量(也叫局部变量表)中引用的对象方法区中类的静态变量、常量引用的对象本地方法栈中 JNI (Native方法)引用的对象 public class GCRootDemo {
private byte[] byteArray = new byte[100 * 1024 * 1024];
private stat
转载
2023-10-26 17:45:26
64阅读
.一 .前言二 .总结三 .详情3.1. 所有已加载的类(ClassLoaderDataGraph::roots_cld_do)3.2. 所有Java线程当前栈帧的引用和虚拟机内部线程(Threads::possibly_parallel_oops_do)3.3. JVM内部使用的引用(Universe::oops_do和SystemDictionary::oops_do)3.4. JNI ha
转载
2023-08-29 18:26:59
140阅读
注解语法因为平常开发少见,相信有不少的人员会认为注解的地位不高。其实同 classs 和 interface 一样,注解也属于一种类型。它是在 Java SE 5.0 版本中开始引入的概念。注解的定义注解通过 @interface 关键字进行定义。public @interface TestAnnotation {
}它的形式跟接口很类似,不过前面多了一个 @ 符号。上面的代码就创建了一个名字为
转载
2024-06-24 15:28:23
26阅读
4 自定义及使用注解示例 自定义一个类级别的注解Descriptionimport java.lang.annotation.*;
@Documented //将此注解包含在javadoc
@Target(ElementType.TYPE) //此注解作用于类
@Retention(RetentionPolicy.RUNTIME) //运行时生效
public @interface D
转载
2024-07-26 22:33:28
31阅读
一、注解的定义:注解(Annotation) 为向代码中添加数据提供了一种形式化的方法。 Annatation(注解)是一个接口,程序可以通过反射来获取指定程序中元素的 Annotation 对象,然后通过该 Annotation 对象来获取注解中的元数据信息常见的作用有以下几种: 1.生成文档。这是最常见的,也是java 最早提供的注解。常用的有@see @param @return 等; 2.
转载
2023-06-20 14:37:05
305阅读
下面来看看Java中注解是如何实现的创建注解类Inter:创建测试类Test:在程序第二句设置断点,可以看到:可以看到,注解的实例是一个动态代理类的对象.要想查看这个动态代理类,可以在代码中加System.setProperty("sun.misc.ProxyGenerator.saveGeneratedFiles", "true");添加系统代理,将其导出为class文件可以看到如下两个文件:反
转载
2023-08-22 11:30:43
75阅读
Java注解是附加在代码中的一些元信息,用于一些工具在编译、运行时进行解析和使用,起到说明、配置的功能。注解不会也不能影响代码的实际逻辑,仅仅起到辅助性的作用下面我们来详细说说这个注解,到底是怎么一回事,一步一步看下去,总会后收获。注解起源:Annotation(注解)是JDK5.0及以后版本引入的。在java.lang.annotation包中。注解作用:它可以用于创建文档,跟踪代码中的依赖性,
转载
2023-08-15 18:11:05
86阅读
注解一、概述二、三个基本的Annotation1.@Override2.@Deprecated3.@SuppressWarnings三、如何自定义注解四、元注解1.@Target2.@Retention3.@Documented4.@Inherited 一、概述从JDK5.0开始,Java新增加了对元数据(MetaData)的支持,也就是注解(Annotation)注解其实就是代码中的特殊标记,
转载
2023-09-01 10:14:19
203阅读
Spring 的注解一、XML 配置:<bean id="accountService" class="com.didi.service.impl.AccountServiceImpl"
scope="" init-method="" destroy-method="">
<property name="" value="" | ref=""></
转载
2024-05-15 11:37:34
52阅读
注解呢,是java本身自带的一个东西,它基于java的接口进行实现,是一种特殊的接口类型,通常对于注解来说,三种情况,一个是在编译前就会被丢弃的,一个是编译后留在class中的,另一种是会一直存在,运行的时候注解也会被保留,而框架的注解一般都是第三种。Class对象,Method对象,Parameter对象,Constructor对象等java反射对象通常都具有getAnnotation方法可以直
转载
2023-07-05 22:48:04
213阅读
每一次实践得出结论,得出的对过往理论的印证,都是一次悟道,其收益远大于争论和抱怨。技术是一件比较客观的事,正确与错误,其实就摆在哪里,意见不统一,写段代码试验一下就好了,一段代码印证不了的时候,就多写几段。先同一个案例说起挺简单的一个案例,通过SpringAOP和注解,使用Guava缓存。代码如下:GuavaCache.java@Target(ElementType.METHOD)
@Retent
转载
2023-08-24 16:47:14
365阅读
spring两大特性: 1. 控制反转(IoC)(依赖注入) 控制反转,简单点说,就是创建对象的控制权,被反转到了Spring框架上。通常,我们实例化一个对象时,都是使用类的构造方法来new一个对象,这个过程是由我们自己来控制的,而控制反转就把new对象的工交给了Spring容器
转载
2023-07-15 11:10:18
0阅读