自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

月伴飞鱼

公众号(月伴飞鱼),欢迎关注,公众号每周分享纯干货

  • 博客(16)
  • 资源 (26)
  • 收藏
  • 关注

原创 毕业一年半拿遍所有大厂offer,我是怎么做到的?

最近一段时间面试了几家互联网公司,陆续通过了阿里、头条、美团,滴滴,京东的面试,基本上面试的公司都通过了,所以在这里想分享一些自己面试的经验给大家,希望能帮助大家拿到心仪的offer我的基本情况:19届本科,现在在一家小公司,毕业一年半,后端开发文章在牛客还挺受欢迎的,希望对大家有帮助牛客原地址:https://www.nowcoder.com/discuss/594676?source_id=profile_create_nctrack&channel=-1我在csdn上看到有人直接搬运

2021-04-02 13:16:20 1112 4

原创 Effective Java-​第3章 对于所有对象都通用的方法

全部系列内容:https://xiaoflyfish.cn/覆盖equals时请遵守通用约定什么时候应该覆盖equals当类需要逻辑相等这个概念的时候就应该覆盖equals,比如要判断两个student是否是同一个人,这个时候我们就需要按需重写equals逻辑相等,就是逻辑上是相等的,比如id一样,判定它们相等,即使它们是两个不同的对象通用约定重写equals的时候就必须要遵守它的通用约定:自反性(reflexive),对于任何非null的引用值x,x.equals(x)必须

2022-02-06 17:12:55 580

原创 关于内存安全问题,你应该了解的几点!

前言Java在内存管理方面是要比C/C++更方便的,不需要为每一个对象编写释放内存的代码,JVM虚拟机将为我们选择合适的时间释放内存空间,使得程序不容易出现内存泄漏和溢出的问题不过,也正是因为Java把内存控制的权利交给了Java虚拟机,一旦出现内存泄漏和溢出方面的问题,如果不了解虚拟机是怎么使用内存的,那排查错误将会成为一项异常艰难的工作下面先看看JVM如何管理内存的文章首发在公众号(月伴飞鱼),之后同步到个人网站:xiaoflyfish.cn/喜欢的话,之后会分享更多系列文章!觉得有收获,希

2021-07-24 00:06:32 918 2

原创 分享一些工作中常用的工具软件,值得收藏!

前言我之前分享过一篇:分享一些常用的网站和工具,值得收藏!,今天再分享一波关于工作中常用的工具软件!文章首发在公众号(月伴飞鱼),之后同步到掘金和个人网站:http://xiaoflyfish.cn/觉得有收获,希望帮忙点赞,转发下哈,谢谢,谢谢Quiver适合程序猿使用的笔记本,支持混合书写文本、代码、Markdown标记等,方便程序员记录笔记和代码片段,并提供全文搜索功能,类似印象笔记的左中右三栏布局,是一款程序猿必备的利器下载地址:http://happenapps.com/Anoth

2021-06-11 01:42:29 1067 3

原创 面试题:Redis如何实现分布式锁!

前言之前的个人网站已经下线了,https://upheart.cn/,维护太花时间了,之后会把网站内容全部搬到公众号中,内容也会比网站内容更丰富,更全面,有时间就会更新,会尽快的,带大家真正的吊打面试官!之后分享的面试系列文章,主要是对之前面经的答案总结:社招一年半面经分享(含阿里美团头条京东滴滴)文章内容会尽量少废话,多干货!开始吧!为什么需要分布式锁为什么需要分布式锁使用分布式锁的目的,无外乎就是保证同一时间只有一个客户端可以对共享资源进行操作我们在分布式应用进行逻辑处理时经常会遇到并发

2021-05-15 15:26:23 386 1

原创 实现异步编程,这个工具类你得掌握!

我们知道多线程能并发的处理多个任务,有效地提高复杂应用程序的性能,在实际开发中扮演着十分重要的角色但是使用多线程也带来了很多风险,并且由线程引起的问题往往在测试中难以发现,到了线上就会造成重大的故障和损失下面我会结合几个实际案例,帮助大家在工作做规避这些问题多线程问题首先介绍下使用的多线程会有哪些问题使用多线程的问题很大程度上源于多个线程对同一变量的操作权,以及不同线程之间执行顺序的不确定性《Java并发编程实战》这本书中提到了三种多线程的问题:安全性问题、活跃性问题和性能问题安全性问题例如

2021-04-18 14:51:26 361 1

原创 这些线程安全的坑,你在工作中踩了么?

我们知道多线程能并发的处理多个任务,有效地提高复杂应用程序的性能,在实际开发中扮演着十分重要的角色但是使用多线程也带来了很多风险,并且由线程引起的问题往往在测试中难以发现,到了线上就会造成重大的故障和损失下面我会结合几个实际案例,帮助大家在工作做规避这些问题多线程问题首先介绍下使用的多线程会有哪些问题使用多线程的问题很大程度上源于多个线程对同一变量的操作权,以及不同线程之间执行顺序的不确定性《Java并发编程实战》这本书中提到了三种多线程的问题:安全性问题、活跃性问题和性能问题安全性问题例如

2021-04-14 17:14:09 190 1

原创 Spring奇技淫巧之扩展点的应用

最近在看公司项目和中间件的时候,看到一些Spring扩展点的使用,写篇文章学习下,对大家之后看源码都有帮助首先先介绍下Bean的生命周期我们知道Bean的生命周期分为几个主干流程Bean(单例非懒加载)的实例化阶段Bean的属性注入阶段Bean的初始化阶段Bean的销毁阶段下面是整个Spring容器的启动流程,可以看到除了上述几个主干流程外,Spring还提供了很多扩展点下面详细介绍下Spring的常见的扩展点Spring常见扩展点BeanFactoryPostProcess.

2021-04-11 14:15:58 481 2

原创 面试题:Kafka如何保证高可用?有图有真相

上次面试多次被问到一个问题:❝Kafka如何保证高可用的?❞「下面来跟大家分享下当时我答到的点」什么是高可用「高可用性」,指系统无间断地执行其功能的能力,代表系统的可用性程度Kafka从0.8版本开始提供了高可用机制,可保障一个或多个Broker宕机后,其他Broker能继续提供服务备份机制Kafka允许同一个Partition存在多个消息副本,每个Partition的副本通常由1个Leader及0个以上的Follower组成,生产者将消息直接发往对应Partition的Leader,

2021-04-08 00:35:46 320 2

原创 MySQL为什么莫名其妙的断开连接以及解决方案

前言最近遇到在将本地的项目部署到服务器上之后遇到的一个奇怪问题在部署完成后,网站当时可以正常工作,但是第二天访问网站的时候却会遇到一个500 Server Error。从日志中可以看出是MySQL数据库出现了异常翻译:最后一个数据包在 83827560 ms 之前被成功接收,最后一个数据包在83827560 ms 之前被成功发送。比服务的配置参数wait_timeout的值要长。日志中给出的建议如下翻译:你应考虑在程序中进行数据库操作之前检验数据库连接的有效性或者将数据库的auto

2020-12-10 11:01:23 16638 2

原创 Redis如何解决频繁的命令往返造成的性能瓶颈

Redis客户端和服务端交互模型先来看看Redis客户端和服务端的交互模型可以得出:1.Redis是基于一个Request,一个Response的同步请求服务2.客户端将数据包发送至服务器,然后服务器再将响应数据发送回客户端,这都需要花费一定时间的。这段时间被称为往返时间RTT(Round Trip Time)。当一个客户端需要连续执行很多请求时,就很容易看出往返时间是影响系统性能的例如:如果往返时间RTT是250毫秒,即使Redis服务器每秒钟能处理1000个请求,我们也只能每秒钟最多处理四

2020-12-05 14:42:26 1362 1

原创 从源码角度解析ArrayList.subList的几个坑

前言《阿里巴巴Java开发手册》中提出了以下几点建议和规则:规则1:规则2:本文通过源码分析,给大家讲清楚《手册》为什么这么规定ArrayList的subList分析首先通过 IDEA 的提供的类图工具,我们可以查看下该类的继承体系。具体步骤:在 SubList 类中 右键,选择 “Diagrams” -> “Show Diagram” 。可以看到 SubList 和 ArrayList 的继承体系非常类似,都实现了 RandomAccess 接口 继承自 AbstarctLis

2020-11-28 15:58:23 241

原创 二分搜索算法解题步骤,吐血整理

基本介绍二分搜索(折半搜索)是一种在有序数组中查找某一特定元素的搜索算法。从定义可知,运用二分搜索的前提是数组必须是排好序的。另外,输入并不一定是数组,也有可能是给定一个区间的起始和终止的位置。他的时间复杂度是 O(lgn),非常高效。特点他的缺点要求待查找的数组或者区间是排好序的。对数组进行动态的删除和插入操作并完成查找,平均复杂度会变为 O(n)。因此,当输入的数组或者区间是排好序的,同时又不会经常变动,而要求从里面找出一个满足条件的元素的时候,二分搜索就是最好的选择。解题思路二分搜索一

2020-11-25 23:11:25 4799 1

原创 一文搞懂Kafka核心基础知识

Kafka是最初由Linkedin公司开发,是一个分布式、支持分区的(partition)、多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特性就是可以实时的处理大量数据以满足各种需求场景:比如基于hadoop的批处理系统、低延迟的实时系统、Storm/Spark流式处理引擎,web/nginx日志、访问日志,消息服务等等,用scala语言编写,Linkedin于2010年贡献给了Apache基金会并成为顶级开源 项目。下面这篇文章会从以下方面会带大家介绍下这个强大的开源

2020-11-25 09:45:29 1246 1

原创 条件语句的多层嵌套问题优化,助你写出不让同事吐槽的代码

文章目录前言案例卫语句枚举状态模式策略+工厂模式总结最后前言《阿里巴巴开发手册》中,有关于多 if-else 分支和嵌套的建议和解决方案,如下:那么本文通过介绍几种优化方案,给大家提供几种思路案例下面是开发中可能会遇到的典型代码:public String getTweetTitle(int type) { String result; if (type == 0) { throw new IllegalArgumentException

2020-11-23 01:09:34 622 4

原创 常用的Lambda表达式案例解析,工作中都会用到

我们日常工作中,Lambda 使用比较多的场景,就是集合类下的 Lambda 流操作,往往几行代码可以帮助我们实现复杂代码接下来我们把 Lambda 流的常用方法用案列讲解一下。ForEach集合的遍历forEach方法public void testForEach(){ List<String> list = new ArrayList<String>() {{ add("1"); add("2");

2020-11-22 00:31:47 584 1

复仇者联盟精品桌面壁纸免费下载

复仇者联盟精品壁纸

2021-06-13

Sublime Text 3126.dmg

Sublime Text 3126.dmg

2019-06-06

jdk-12.0.1_osx-x64_bin.dmg

jdk-12.0.1_osx-x64_bin.dmg

2019-06-06

尚硅谷大数据技术之Kafka(笔记+代码+资料).rar

Kafka是一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。在本课程中,你将学习到,Kafka架构原理、安装配置使用、详细的Kafka写入数据和处理数据以及写出数据的流程、新旧版本对比及运用、分区副本机制的详解、内部存储策略、高阶API直接消费数据、等等

2019-05-28

尚硅谷大数据之Zookeeper视频(笔记+代码+资料)

Zookeeper主要应用于大数据开发中的,统一命名服务、统一配置管理、统一集群管理、服务器节点动态上下线、软负载均衡等场景。该框架相当于大数据框架中的润滑剂。是大数据大数据开发工程师必须会的框架之一。本套课程讲解了,Zookeeper的集群安装、选举机制、监听器原理、写数据流程、Shell命令行操作、客户端API操作、服务器节点动态上下线综合案例以及企业真实面试题。

2019-05-28

尚硅谷大数据视频_Kafka视频教程-笔记.zip

尚硅谷大数据视频_Kafka视频教程-笔记

2019-05-16

Git&GitHub;学习笔记

协同修改  多人并行不悖的修改服务器端的同一个文件。  数据备份  不仅保存目录和文件的当前状态,还能够保存每一个提交过的历史状态。  版本管理  在保存每一个版本的文件信息的时候要做到不保存重复数据,以节约存储空 间,提高运行效率。这方面 SVN 采用的是增量式管理的方式,而 Git 采取了文 件系统快照的方式。  权限控制  对团队中参与开发的人员进行权限控制。  对团队外开发者贡献的代码进行审核——Git 独有。  历史记录  查看修改人、修改时间、修改内容、日志信息。  将本地文件恢复到某一个历史状态。  分支管理  允许开发团队在工作过程中多条生产线同时推进任务,进一步提高效率。

2018-06-24

SSM高级整合(SSM+BootStrap)

SSM+BootStrap实现SSM的基本整合和CRUD!!!

2017-07-23

从零开始学SpringBoot

从零开始学SpringBoot!!!

2017-07-20

SSM个人博客项目实战(SSM+EasyUI)

SSM实现个人博客项目,前台使用EasyUI!

2017-07-15

学生信息管理系统(JSP+Servlet+EasyUI)--入门项目

学生信息管理系统(JSP+Servlet+EasyUI)--入门项目!!!

2017-07-13

学生信息管理系统(SSH+EasyUI)---入门项目

SSH+EasyUI实现学生管理系统!!!

2017-07-13

EasyUI使用-中文手册

EasyUI中文手册,方便大家学习!!!

2017-07-12

学生信息管理系统(JSP+Servlet)

学完JSP和Servlet后的第一个项目!!!

2017-07-03

各种API性能_性能优化技巧

各种API性能_性能优化技巧!!!

2017-06-12

JDK API 1.8参考手册

JDK API 1.8 参考手册!

2017-06-06

张孝详JAVA就业面试宝典

Java就业面试宝典!

2017-06-06

正则表达式学习手册-JAVA

Java正则表达式学习!!!

2017-06-04

JSTL中文文档-JSP

JSTL中文文档!!!

2017-06-04

EL手册-JSP

EL手册查看!!!

2017-06-04

算法图解-入门书

像小说一样有趣的算法入门书!!!

2017-06-03

IDEA-2017入门教程

IDAE工具的使用!!!

2017-05-31

Java-JUC学习PPT

Java基础之JUC学习!!!

2017-05-31

阿里Java开发规范手册

Java开发规范必不可少,大家学起来!

2017-05-30

Java-NIO学习PPT

回味Java基础之NIO!!!

2017-05-29

MyBatis学习入门案例

MyBatis学习入门案例

2017-05-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除