对象的实例化
对象创建的方式
1、new:最常见的方式、单例类中调用getInstance的静态类方法,XXXFactory的静态方法
2、Class的newInstance方法:在JDK9里面被标记为过时的方法,因为只能调用空参构造器,并且权限必须为 public
3、Cons...
2年前 (2022-10-20) 905℃
1喜欢
概述
我们希望能描述这样一类对象:当内存空间还足够时,则能保留在内存中;如果内存空间在进行垃圾收集后还是很紧张,则可以抛弃这些对象。
针对这个需求在JDK1.2版之后,Java对引用的概念进行了扩充,将引用分为:
强引用(Strong Reference)
软引用(Soft R...
2年前 (2022-10-20) 1021℃
1喜欢
什么是缓存穿透
首先要做一个小科普,在日常开发中,无论使用进程内缓存(如:ehcache),还是进程外的缓存中间件(如:redis),他的本质就是利用内存的高吞吐的特性高效的完成数据的提取工作。因为底层mysql 在进行数据提取操作的时候是随机读写,性能比较慢。我们通常把热点数据...
2年前 (2022-10-18) 1631℃
0喜欢
介绍
自Spring 3.1版本以来,Spring框架支持低侵入的方式向已有Spring应用加入缓存特性。与声明式事务类似,声明式缓存Spring Cache抽象允许一致的API来已支持多种不同的缓存解决方案,同时将对代码的影响减少到最小。
准备工作
0、创建一个Spring b...
2年前 (2022-10-18) 6984℃
1喜欢
介绍
Spring Boot 内置了spring-boot-starter-data-redis这个模块用于简化Spring与Redis的 交互过程。
Spring-data-redis是spring大家族的一部分,提供了在spring应用中通过简单的配置访问 redis服务,对...
2年前 (2022-10-18) 2752℃
0喜欢
场景介绍
在大数据业务采集场景中,经常会通过Flume把Kafka中的数据落地到HDFS进行持久保存和数据计算。为了数据计算和运维方便,通常会把每天的数据在HDFS通过天分区独立存储。
在数据落入HDFS 天分区目录的过程中,会出现数据跨天存储的问题,本来是2022年6月16日的...
2年前 (2022-10-18) 1825℃
2喜欢
Flume 内部原理
本文主要使用其中的Interceptor和Channel Selector
Interceptor:
对source中的数据在进入channel之前进行拦截做一些处理,比如过滤掉一些数据,或者加上一些key/value等。flume内置了一些拦截器,也可以...
2年前 (2022-10-18) 1749℃
1喜欢
本文原理图说明
1、黄色的框表示对象
2、蓝色的框表示线程
3、白色的框表示方法(API)
线程模型基本介绍
1、不同的线程模式,对程序的性能有很大影响,为了搞清 Netty 线程模式,我们先来看看各个线程模式,最后在看看 Netty 线程模型有什么优越性。
2、目前存在的线程模...
2年前 (2022-10-12) 1116℃
0喜欢
什么是幂等性
那什么是幂等性呢,说人话就是当多次重复请求时,接口能够保证与预期相符的结果。 我们举个例子来说明,例如我们设计了一个为员工涨薪的接口,本次请求发送后为1号员工涨薪500元。
PUT https://edu.lagou.com/employee/salary
{&...
2年前 (2022-10-12) 991℃
0喜欢
介绍
基于SQL的过滤,因为对SQL语句执行了校验和SQL语法的解析,执行效率相对于tag方式较低,同时作为自定义属性,他不像tag是标准的结构体,所以在进行消息筛选的时候,相比起tag过滤,这种SQL过滤的方式,执行效率是相对比较慢的,只适用于数据量不大,需要灵活来进行调整的时...
2年前 (2022-10-12) 6636℃
0喜欢