![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 72
酔清风
这个作者很懒,什么都没留下…
展开
-
Kafka架构及基本原理简析
Kafka简介Kafka是一个由Scala和Java编写的企业级的消息发布和订阅系统,最早是由Linkedin公司开发,最终开源到Apache软件基金会的项目。Kafka是一个分布式的,支持分区的,多副本的和多订阅者的高吞吐量的消息系统,被广泛应用在应用解耦、异步处理、限流削峰和消息驱动等场景。本文将针对Kafka的架构和相关组件进行简单的介绍。在介绍Kafka的架构之前,我们先了解一下Kafk的核心概念。Kafka核心概念在详细介绍Kafka的架构和基本组件之前,需要先了解一下Kafka的一些原创 2021-11-25 17:46:06 · 2047 阅读 · 0 评论 -
本科研究生计算机专业,字节跳动 基础架构 3面,真实面经奉上
先说说学历之类的硬性条件,方便同样经历的人做参考:学历:齐鲁工业大学,也不是很清楚是二本还是三本,总之普通的本科。和公司前辈们聊过这种学历投大公司能不能被捞挺看运气的。ACM 铜牌一块(只是有的面试官会稍微提一嘴,没感到很有用的样子)实习经历腾讯一段 (硬通货)三个项目,基本上反映了我的技能栈:乞丐版的 C++ web server乞丐版的 TCP 协议原型乞丐版的 os 内核总结本人记性不是很好,所以可能有些题忘记了没写上。不过每一轮都是若干提问 + 一道算法题,每轮都是 40m..原创 2021-11-18 16:01:24 · 613 阅读 · 0 评论 -
JDK 获取默认时区风险
源码分析TimeZone.getDefault() 是JDK自带的方法,所属包:java.util;方法返回此主机(程序运行的主机)的默认时区 //TimeZone类 public static TimeZone getDefault() { return (TimeZone) getDefaultRef().clone(); }我们来看下默认时区是怎么取值的1、java.util.TimeZone类中getDefault方法的源代码显示,它.原创 2021-11-18 16:00:07 · 918 阅读 · 0 评论 -
为什么阿里巴巴开发手册中强制要求 POJO 类使用包装类型?NPE问题防范
一、前言????今天在写一个AdvertVO类时,我当时用 id 是直接给了个 long,没有使用用包装类型,然后 idea 里面的 Alibaba Java Coding Guidelines 插件就直接给了个黄色波浪线,ALT+ENTER一看,阿里巴巴Java开发手册 的提示说:关于基本数据类型与包装数据类型的使用标准如下: 1) 所有的POJO类属性必须使用包装数据类型。 2) RPC方法的返回值和参数必须使用包装数据类型。 3) 所有的局部变量推荐使用基本数据类型。说明:POJO类属性原创 2021-11-18 15:59:02 · 391 阅读 · 1 评论 -
面试官:什么是对象池?有什么用?别说你还不会
对象池顾名思义就是存放对象的池,与我们常听到的线程池、数据库连接池、http连接池等一样,都是典型的池化设计思想。对象池的优点就是可以集中管理池中对象,减少频繁创建和销毁长期使用的对象,从而提升复用性,以节约资源的消耗,可以有效避免频繁为对象分配内存和释放堆中内存,进而减轻jvm垃圾收集器的负担,避免内存抖动。Apache Common Pool2 是Apache提供的一个通用对象池技术实现,可以方便定制化自己需要的对象池,大名鼎鼎的 Redis 客户端 Jedis 内部连接池就是基于它来实现的。原创 2021-11-18 15:57:04 · 313 阅读 · 0 评论 -
字节架构师:来说说Java异步调用的几种方式
一、通过创建新线程首先的我们得认识到,**异步调用的本质,其实是通过开启一个新的线程来执行。**如以下例子:public static void main(String[] args) throws Exception{ System.out.println("主线程 =====> 开始 =====> " + System.currentTimeMillis()); new Thread(() -> { System.out.println(.原创 2021-11-18 15:55:22 · 179 阅读 · 0 评论 -
工作 3 年的同事不懂 isEmpty 和 isBlank 的区别,我真是醉了。。
最近在检查代码时,发现有的同事喜欢用 isEmpty,有的同事喜欢用 isBlank,而且大家用的还不是同一个工具包中的,甚至还有自己手写 String 工具类的,天呀,我真是醉了……你们公司是否也有这样的情况呢?别说没有,我真不信!说到这个事情,最近还有个工作 3 年的同事问我 isEmpty 和 isBlank 的区别,好吧,今天就展开讲下。首先,这两个方法用的都是工具类 StringUtils 里面的方法,都是用来判断字符串是否为空的,而这个工具类到处都是,如下图所示,栈长输入 Strin原创 2021-11-18 15:54:05 · 88 阅读 · 0 评论 -
面试官:什么是布隆过滤器?如何解决高并发缓存穿透问题?
日常开发中,大家经常使用缓存,但是你知道大型的互联网公司面对高并发流量,要注意缓存穿透问题吗!!! 本文会介绍布隆过滤器,空间换时间,以较低的内存空间、高效解决这个问题。本篇文章的目录:1、性能不够,缓存来凑现在的年轻人都喜欢网购,没事就逛逛淘宝,剁剁手,买些自己喜欢的东西,释放下工作压力。地址: https://detail.tmall.com/item.htm?id=628993216729上图是一个天猫 iphone12 的商品详情页,id表示商品的编号我们都知道淘原创 2021-11-18 15:52:24 · 224 阅读 · 0 评论 -
腾讯的 Tendis 能否干掉 Redis
Redis 作为高性能缓存被广泛应用到各个业务, 比如游戏的排行榜, 分布式锁等场景。经过在 IEG 的长期运营, 我们也遇到 Redis 一些痛点问题, 比如内存占用高, 数据可靠性差, 业务维护缓存和存储的一致性繁琐。由 腾讯互娱 CROS DBA 团队 & 腾讯云数据库团队联合研发的 Tendis 推出了: 缓存版 、 混合存储版 和 存储版 三种不同产品形态, 针对不同的业务需求, 本文主要介绍 混合存储版 的整体架构, 并且详细揭秘内部的原理。导语本文首先介绍腾讯 I..原创 2021-11-18 15:50:40 · 167 阅读 · 0 评论 -
2021最新Java学习路线,对标阿里P7
阶段一 (夯实基础)本阶段为JavaSE基础阶段,主要以铺垫JAVA知识为主Java基础语法Java面向对象编程Java核心类库XML与JSON算法与数据结构数据库JDBC技术H5前端JavaEE基础项目实战复习操作系统训练教学项目训练阶段二 (前沿框架)以企业级框架学习为主,掌握市场中使用的框架技术MavenNoSqlJa.原创 2021-11-18 15:47:48 · 350 阅读 · 0 评论 -
这些年我用过的 6个API 接口文档平台,真的好用
1.EOLINKER(推荐)可以协作,界面简洁地址:https://www.eolinker.com/#/?status=link-jump2.RAP(前阿里妈妈团队)支持版本管理,开源,有文档地址:http://rap2.taobao.org/3.EasyAPI (相对来说easy)地址:https://www.easyapi.com/4.apizza地址:https://apizza.net/pro/#/5.showdoc地址:.原创 2021-11-18 15:26:37 · 1172 阅读 · 0 评论 -
为什么 128 KB 的魂斗罗可以实现那么长的剧情?
为什么魂斗罗只有 128KB 却可以实现那么长的剧情?下面来给新生代程序员讲讲这里面的奥秘吧。现代程序员A和1980年代游戏程序员B的对话:A:为什么你用128KB能实现这么多画面、音乐、动画?B:128KB还不够么?其实为了表现力已经相当奢侈了,加了很多不重要的细节。A:就说你们的音乐,这个音乐,我压到最低码率的mp3,也得至少1MB吧。B:你怎么压的?一首背景音乐怎么可能超过1KB。A:那你实现全屏卷轴,用了多少显存?B:一共就只有2KB显原创 2021-11-16 15:55:31 · 141 阅读 · 0 评论 -
95后阿里p7晒出工资单:狠补了这个,真香...
前段时间在某知名程序员论坛上看到一位95年阿里P7老哥分享自己跳槽的经历,跳到一个独角兽新公司一个月后发了工资,月入5万多,表示很满足!税后这薪资,税前估计超6万了。细想一下,是真的酸...只能狠补一下技术了。为了帮助大家快速回顾学习Java中的知识点:这套学习笔记,面试手册是由多位一线大牛老师联手打造3个月制作而成,几乎涵盖了所有的Java技术栈,非常珍贵!你在任何地方都找不到。全网首发!相信你看完一定会有帮助(莫做收藏党)说明考虑到本套笔记手册内容偏多(1734页),由十六大部分组成,干原创 2021-11-12 15:17:49 · 12114 阅读 · 1 评论 -
Spring Boot 核心知识点总结,面试再也不怕了!
Spring Boot 核心功能1、独立运行Spring项目Spring boot 可以以jar包形式独立运行,运行一个Spring Boot项目只需要通过java -jar xx.jar来运行。2、内嵌servlet容器Spring Boot可以选择内嵌Tomcat、jetty或者Undertow,这样我们无须以war包形式部署项目。3、提供starter简化Maven配置spring提供了一系列的start pom来简化Maven的依赖加载,例如,当你使用了spring-boot原创 2021-10-25 17:45:28 · 205 阅读 · 0 评论 -
肝了一个月,终于完成了24万字的Java面试手册
一直想整理一份面试手册,之前虽然也整理过,放在GitHub上目前Star数过千了。但是内容上来讲,涉及到的技术栈并不全面,内容上也不细致。索性重新整理了一份。内容包括网络协议、Java基础、进阶、字符串、集合、并发、JVM、数据结构、算法、MySQL、Redis、Mongo、Spring、SpringBoot、MyBatis、SpringCloud、Linux以及各种中间件(Dubbo、Nginx、Zookeeper、MQ、Kafka、ElasticSearch)等等...最后整理完,统计出来有转载 2021-07-14 17:27:45 · 155 阅读 · 0 评论 -
延迟执行与不可变,系统讲解JavaStream数据处理
最近在公司写业务的时候,忽然想不起来Stream中的累加应该怎么写?无奈只能面向谷歌编程,花费了我宝贵的三分钟之后,学会了,很简单。自从我用上JDK8以后,Stream就是我最常用的特性,各种流式操作用的飞起,然而这次事以后我忽然觉得Stream对我真的很陌生。可能大家都一样,对最常用到的东西,也最容易将其忽略,哪怕你要准备面试估计也肯定想不起来要看一下Stream这种东西。不过我既然注意到了,就要重新梳理一遍它,也算是对我的整体知识体系的查漏补缺。花了很多功夫来写这篇Stream,希望原创 2021-07-12 17:12:25 · 284 阅读 · 0 评论 -
再也不怕面试官问我设计模式使用场景了
前言最近有很多同学想让我整理下关于设计模式的内容,今天就将设计模式的核心要掌握的设计模式它们的基本原理和使用场景 简要述说一下。可能基础不是足够扎实的知道的没有这么全,不过也不影响各位编码。个人认为设计模式只是一个方法论、理论 供参考,让你能更好的、更方便的支撑业务,没必要花过多的功夫去写各种资料的demo 不然的话,相信我,用到项目中你还是不会信不信。想学习更多关于 优美、高效、简洁 的代码写法,可以关注我的主页 代码设计优化专栏设计模式 7 大原则单一职责 : 每个类只负责一个职原创 2021-07-09 15:55:01 · 241 阅读 · 0 评论 -
B站五面面经(附过程、答案)
在这篇文章中,我将会讲述我是如何从一名 TypeScript 黑粉的开发者转变到如今不想回到原生 JavaScript 世界的开发者的旅程 ,也许我的想法可以帮助和我几年前一样境遇的人们。为什么我曾经是 TypeScript 的黑粉?我一直觉得给函数和变量设定类型,满足 TypeScript 编译器的各种检查是一种过度的设计,并且没有任何意义上的好处。而且这个设计也让我编写程序的速度很慢,也是因为我经常会遇到一些作为一名新人所难以理解的编译错误。我挠头三千尺,白发飘落,试图去找出问题所在,也同时增生原创 2021-07-08 15:34:29 · 791 阅读 · 0 评论 -
起底JVM内存管理及性能调优【80+页Keynote私享】
由于图片较多(86张),可能引起部分同学不适,就不全部上传了,你可以直接划拉到本文底部,有PDF版本的获取提示,可以直接获取PDF版本阅读、收藏。PDF版本获取方式原创 2021-07-07 15:36:08 · 137 阅读 · 0 评论 -
面试官:谈谈分布式一致性机制,我一脸懵逼。。
是的,曾经我被面试官问到分布式一致性机制,当时我一脸懵逼。。分布式中一致性是非常重要的,分为弱一致性和强一致性。现在主流的一致性协议一般都选择的是弱一致性的特殊版本:最终一致性。下面就从分布式系统的基本原则讲起,再整理一些遵循这些原则的协议或者机制,争取通俗易懂。但是要真正实施起来把这些协议落地,可不是一篇文章能说清楚的,有太多的细节,要自己去看论文呐(顺着维基百科找就行了)。基本原则与理论CAP(Consistency一致性,Availability可用性,Partition tole原创 2021-07-06 15:42:07 · 207 阅读 · 1 评论 -
Spring Boot深度实战指南
文件上传新建一个项目,添加UploadController@RestControllerpublicclassUploadController{@PostMapping("upload")publicStringpost(@RequestParam("file")MultipartFilefile){if(file.isEmpty()){return"上传失败,请选择文件";}...转载 2021-07-05 15:29:27 · 162 阅读 · 0 评论 -
彻底懵了!被公司辞退 12 天后,被前领导要求回公司讲代码。。
最近在职场论坛上看到这样一个帖子:程序员被公司辞退都12天了,前领导要求回公司讲清楚代码,员工回复:一次一万,结果蒙了!这是怎么回事呢?原来这个程序员在上家公司做了4年多,后来公司因为各种原因辞退了很多员工,其中也包括这个程序员。当该程序员离职12天的时候,突然就接到了前领导的电话,他在电话中要求员工回公司把代码讲清楚。而且前领导并不是很客气的语气,而是用一种命令的方式。程序员接到这个电话时都蒙了,都离职这么久了,你这要求也有点不合理吧。该员工后来直接就拒绝了领导的要求,并且还说了这原创 2021-07-03 16:37:50 · 261 阅读 · 0 评论