五分钟掌握TDengine时序数据的保留策略
https://z.itpub.net/article/detail/A0BF32D9A16FCFAEB480C4935F520FE2
那些经常被问的JAVA面试题(7)—— 幂等性
https://blog.51cto.com/u_15501087/5834819
使用Comparator 提供的reverseOrder() 方法
list = list.stream().sorted(Comparator.reverseOrder()).collect(Collectors.toList());
根据年龄升序排序。
list = list.stream().sorted(Comparator.comparing(Student::getAge)).collect(Collectors.toList());
先按姓名升序,姓名相同则按年龄升序。
list = list.sorted(Comparator.comparing(Student::getName).thenComparing(Student::getAge)).collect(Collectors.toList());
最全面的数仓分层剖析,一文搞定企业数仓分层
https://baijiahao.baidu.com/s?id=1725536452637878811&wfr=spider&for=pc
加速卡正式序列号:
72E7-6D79-778B-CA2D
//Liunx查看磁盘空间的命令
df -m | sed 1d | awk '{sum += $4} END {print sum/1024"GB"}'
//Liunx查看机器内存的命令
cat /proc/meminfo
//Liunx查看机器核数
cat /proc/cpuinfo |grep 'process' |sort |uniq |wc -l
jar-with-dependencies
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.0.0</version>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<finalName>FlinkStudent-1.0-full-jar-SNAPSHOT</finalName>
<appendAssemblyId>false</appendAssemblyId>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
问题:service注解放在 接口还是实现?
@Service注解是标注在实现类上的,因为@Service是把spring容器中的bean进行实例化,也就是等同于new操作,只有实现类是可以进行new实例化的,而接口则不能,所以是加在实现类上的。
ssm项目中 @Autowired 注解在接口类上却是注入的是他的实现类?
问题:
为什么在CategoryController类中 @Auto明明注解在CategoryService 这个接口上 而注入的却是CategoryServiceImpl这个实现类
因为: (自动装配实现了CategoryService接口的的实例,只有CategoryServiceImpl实现了CategoryService接口,所以就会注入CategoryServiceImpl)
这种自动装配 @Autowired 还是@Resource在装配或者注入的时候都是先是实例化后再进行的 第一步都是先实例化
这里他要实例化一个接口是不可能的 所以要找到他的实现类 实例化他的实现类
使用 @Autowired 的时候,到底是写接口还是实现类?
场景:使用 @Autowired 的时候,到底是写接口还是实现类?
答案:写的接口
解析:来自网友的回答 :这个其实是创建了实现类的对象但引用了接口类型,即 "InjectionDao injectionDao = new InjectionDaoImpl ()", 这个其实是 Java 多态性(向上转型)的一种应用。在实现类处加 @Repository 注解,意思就是 new InjectionDaoImpl (), 而在 InjectionServiceImpl 中定义属性 InjectionDAO injectionDAO 就是将 new 出来的这个 InjectionDaoImpl 对象向上转型为 InjectionDao 类型。
注意:
若一个接口被多个实现类,实现的时候
@Autowired,Spring 会按 byType 的方式寻找接口的实现类,将其注入。存在多个实现类,应该指定名字,可以通过 byName 注入的方式。可以使用 @Resource 或 @Qualifier 注解。
@Service("menuService1")
public class MenuServiceImpl implements IMenuService
@Service("menuService2")
public class MenuServiceImpl implements IMenuService
@Autowired
@Qualifier("menuService1")
private IMenuService menuService;
@Autowired
@Qualifier("menuService2")
private IMenuService menuService;
1、如果目标对象实现了接口,默认情况下会采用JDK的动态代理实现AOP
2、如果目标对象实现了接口,也可以强制使用CGLIB实现AOP
3、如果目标对象没有实现接口,必须采用CGLIB的动态代理,spring会自动在两种模式之间转换
4、不管哪一种方式都不能用private和final做修饰词
tar -zxvf是什么意思?
使用gzip工具(-z)解压(-x)由参数-f指定的文件,并显示压缩过程中详细信息(-v)