Flume面试题整理
Flume使用场景:线上数据一般主要是落地(存储到磁盘)或者通过socket传输给另外一个系统,这种情况下,你很难推动线上应用或服务去修改接口,实现直接向kafka里写数据,这时候你可能就需要flume这样的系统帮你去做传输。
2021-11-17
为什么会有面向对象编程的产生?
“分别管理程序处理内容和处理数据对象所带来的复杂性”问题是,为了得到正确的结果,必须保持处理和数据的一致性,这在结构化编程中是非常困难的,解决这一问题的方案就是数据抽象技术。 数据抽象是数据和处理方法的结合。这便是最初“对象”一词的得来。面向对象编程也因此得名。
2021-11-16
何时以及如何正确使用静态方法
要知道何时以及如何正确使用静态方法,首先要搞清楚静态方法与实例方法的区别。静态(static)本身说明该行为是无状态的,无需实例化,调用时无需再格外分配内存来存放实例。所以,针对全局的单例场景、无状态的行为时,就可以考虑用使用静态方法。但是,静态方法有一个致命的问题,即它与具体类型是强耦合的。如果该 ...
2021-11-15
代码原来是这样被CPU跑起来的
CPU对我们来说既熟悉又陌生,熟悉的是我们知道代码是被CPU执行的,当我们的线上服务出现问题时可能首先会查看CPU负载情况。陌生的是我们并不知道CPU是如何执行代码的,它对我们的代码做了什么。本文意在简单解释我们代码的生命周期,以及代码是如何在CPU上跑起来的。
2021-11-09
HTTP的前世今生
在1991年发布了HTTP 0.9版,在1996年发布1.0版,1997年是1.1版,1.1版也是到今天为止传输最广泛的版本(初始RFC 2068 在1997年发布, 然后在1999年被 RFC 2616 取代,再在2014年被 RFC 7230 /7231/7232/7233/7234/7235取 ...
2021-11-07
Spring Boot 使用 JavaMailSender 发送邮件
Spring Boot 是一个及其优秀的框架,帮我们集成了很多常用功能。今天想回顾下如何实现 Java 发送邮件,自然而然地看了下 JavaMail API。查询相关文章的时候,发现 Springboot 已经集成了邮件模块,真是孤陋寡闻了,看来还是应该有空多逛逛开源社区。本文简单记录下 sprin ...
2021-11-07
Java获取真实IP地址
客户端经过代理机器访问,或者 Nginx 转发后,都会导致无法通过 request.getRemoteAddr() 获取真实 IP。无法获取真实 IP 会导致对访问请求判断不准确,如判断用户异地登录风险、防止重复刷票等。
2021-11-01
mybatis自动注入mapper到spring
mybatis 的 mapper 接口,需要通过 SqlSessionTemplate.getMapper 方法来获取 mapper 实例,比较麻烦。可以通过自动注入的方式把 mapper 的实例注入 spring 容器,成为一个 bean,可以像其他 bean 那样自动注入依赖。
2021-10-20
被忽略的Spring注解Primary
在 Spring 中注入依赖,经常使用的是 @Resource、@Autowired。如果遇到一个类型有多个实例,可能还会用到 @Qualifier。其实也可以使用 @Primary 注解指定优先级最高的 bean。
2021-10-20
tomcat初始化慢问题
/dev/random 只返回熵池中噪声的随机字节,当熵池为空时,读操作将被阻塞,直到熵池收集到足够的环境噪声数据。因此 Tomcat 会阻塞一段时间,需换成非阻塞的 /dev/urandom 的熵源。
2021-10-17

© 2016 - 2024 chengxuzhixin.com All Rights Reserved.

浙ICP备2021034854号-1    浙公网安备 33011002016107号