自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(77)
  • 收藏
  • 关注

原创 十个问题教你弄清JVM&GC,细致入微全是精华!!(建议收藏)

每个java开发同学不管是日常工作中还是面试里,都会遇到JDK、JVM和GC的问题。本文会从以下10个问题为切入点,带着大家了解一下JVM的方方面面。JVM、JRE和JDK的区别和联系JVM是什么?以及它的主要作用JVM的核心功能有哪些类加载机制和过程运行时数据区的逻辑结构JVM的内存模型如何确定对象是垃圾垃圾收集的算法有哪些各种问世的垃圾收集器JVM调优的参数配置线程私有内存区在类加载器编译某个class文件时就确定了执行时需要的“程序计

2021-07-20 11:02:07 374 2

原创 Java 集合框架看这一篇就够了!

话不多说,直接上图:Java 集合,也称作容器,主要是由两大接口 (Interface) 派生出来的:Collection 和 Map顾名思义,容器就是用来存放数据的。那么这两大接口的不同之处在于:Collection 存放单一元素;Map 存放 key-value 键值对。就是单身狗放 Collection 里面,couple 就放 Map 里。(所以你属于哪里?学习这些集合框架,我认为有 4 个目标:明确每个接口和类的对应关系;对每个接口和类,熟悉常用的 API

2021-07-20 10:47:13 323 2

原创 细嚼慢咽 Java 线程池,你品你细品!

你好同学,我是今天的面试官。咱们来聊聊平时开发中为什么要使用线程池技术,Java 线程池它具体是怎么实现的?好处多多假设我们不使用线程池技术,那么就在任务来临时刻启动一个新的线程,任务处理结束,释放线程资源。但是启动和销毁线程对服务器来说是比较耗费性能的一件事情,首先当任务来临时候,由于需要创建新的线程,会造成任务的延迟,其次频繁的创建和销毁线程也造成了大量不必要的资源浪费。在使用线程池以后,线程处理完当前任务以后不会被销毁,当新任务来临时候会重新利用已经创建好的线程,避免了创建销毁线程的开销,同时.

2021-07-20 10:42:15 274 2

原创 搞定SpringBoot多数据源:动态数据源

一句话概括:使用动态数据源对多个数据库进行操作,灵活,简洁。1. 引言动态数据源可以解决多套数据源的处理不够灵活、占用资源多等问题。用户可以根据实际的业务需要,统一操作逻辑,只要在需要切换数据源的进行处理即可。何为动态,其实是批切换数据源的时机可以动态选择,在需要的地方进行切换即可。本文延续上一篇文章的示例,以主从场景为示例,结合代码,对动态数据源的实现进行讲解,内容包括搭建动态数据源原理、动态数据源配置、动态数据源使用,AOP 注解方式切换数据源等。2. 动态数据源流程说明Spring Bo.

2021-07-20 10:38:28 1074 2

原创 BIO,NIO,AIO 总结

熟练掌握 BIO,NIO,AIO 的基本概念以及一些常见问题是你准备面试的过程中不可或缺的一部分,另外这些知识点也是你学习 Netty 的基础。BIO,NIO,AIO 总结Java 中的 BIO、NIO和 AIO 理解为是 Java 语言对操作系统的各种 IO 模型的封装。程序员在使用这些 API 的时候,不需要关心操作系统层面的知识,也不需要根据不同操作系统编写不同的代码。只需要使用Java的API就可以了。在讲 BIO,NIO,AIO 之前先来回顾一下这样几个概念:同步与异步,阻塞与非阻塞。同步

2021-07-20 10:20:28 146 2

原创 如何产出规范、安全、高质量的代码?

对于一个软件开发团队,可以通过哪些代码质量指标和扫描方法让团队产出规范、安全、高质量的代码?让开发团队运行的安全、透明、可靠?本文总结了其中一些实践和工具,包含常见代码质量扫描工具、代码质量指标、第三方依赖管理、安全运维等几个方面,主要适用于 Java/JavaScript 技术栈的 web 项目,希望对于想要规范化自己的项目的 Tech Lead 有所帮助。对于一个软件开发团队,可以通过哪些代码质量指标和扫描方法让团队产出规范、安全、高质量的代码?让开发团队运行的安全、透明、可靠?本文总结了其中一.

2021-07-20 10:07:45 1148 11

原创 秒懂JVM的三大参数类型,就靠这十个小实验了

本实验的目的是讲解 JVM 的三大参数类型。在JVM调优中用到的最多的 XX 参数,而如何去查看和设置 JVM 的 XX 参数也是调优的基本功,本节以实验的方式讲解 JVM 参数的查看和设置。希望大家能有所启发。标配参数常见标配参数-version,获取JDK版本-help,获取帮助-showverision,获取JDK版本和帮助动手实验 1 - 查看标配参数实验步骤:查看Java JDK 版本`java -version `实验 1-1可以看到Java

2021-07-20 09:58:40 180 2

原创 Guava - 拯救垃圾代码,写出优雅高效,效率提升N倍!

杭州-梦想小镇最近在看一个同学代码的时候,发现代码中大量使用了 Google 开源的 Guava 核心库中的内容,让代码简单清晰了不少,故学习分享出 Guava 中我认为最实用的功能。Guava 项目是 Google 公司开源的 Java 核心库,它主要是包含一些在 Java 开发中经常使用到的功能,如数据校验、不可变集合、计数集合,集合增强操作、I/O、缓存、字符串操作等。并且 Guava 广泛用于 Google 内部的 Java 项目中,也被其他公司广泛使用,甚至在新版 JDK 中直接引入了 .

2021-07-20 09:48:25 546 13

原创 HashMap 是如何工作的?图文详解,一起来看看!

1 HashMap 在 JAVA 中的怎么工作的?基于 Hash 的原理。2 什么是哈希?最简单形式的 hash,是一种在对任何变量 / 对象的属性应用任何公式 / 算法后, 为其分配唯一代码的方法。一个真正的 hash 方法必须遵循下面的原则:“哈希函数每次在相同或相等的对象上应用哈希函数时, 应每次返回相同的哈希码。换句话说, 两个相等的对象必须一致地生成相同的哈希码。Java 中所有的对象都有 Hash 方法,Java 中的所有对象都继承 Object 类中定义的 hashCode(

2021-07-19 11:57:32 170

原创 你真的了解String吗?一道面试题引发的思考

前言首先,先来和大家看一道熟悉的面试题,判断以下输出的结果分别是什么?public class Test { public static void main(String[] args) { String str1 = "hello"; String str2 = "hello"; String str3 = new String("hello"); String str4 = new String("hello");

2021-07-19 11:44:37 124

原创 2021,你还在写“赤裸裸”的API吗?来试试这个方法吧!

前言新的项目要开始了,由于项目中涉及到和第三方厂商的接口对接,所有对接口的安全性有要求,下来我们看看如何写好一个规范的接口如何保证接口传输中数据安全保证数据安全,大家首先能想到的就是对内容进行加密。加密的话主要有两种方式,对称加密和非对称加密。1、对称加密我们先一起看一张图 可以看到,上图中采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密。对称加密有很多种算法,由于它效率很高,所以被广泛使用在很多加密协议的核心当中。对称加密的强度取决

2021-07-19 11:35:52 196 12

原创 如何从字节码角度分析Java问题!

前言有一天逛知乎的时候,遇到了这样的问题:面代码为什么i最后的结果是8?`public static void main(String[] args) { int i = 1; i += i += ++i + 2.6 + i; } `很简单的两行代码,如果是你遇到这样的问题,你会怎样去把问题解释清楚?是利用Java运算符顺序将式子拆解,然后一步步运算,还是其他什么办法?在思索一会儿之后,决定还是通过字节码指令来看看这两行代码是怎么运行的。将两行代码拷贝到Test.java中,

2021-07-16 16:28:18 126 5

原创 Java8的Stream流真香,没体验过的永远不会知道

虽然现在Oacle官方发布的最新JDK版本已经到了JDK14。但我相信很多团队的生产系统还是JDK8,甚至有的团队还是JDK7或者JDK6。即便很多团队已经将生产环境升级为JDK8,但是代码却还是老代码,也就是说根本没有使用JDK8提供的新特性。JDK8 给程序员来带了很多便利,甚至可以让Java程序员跟Python,Ruby等程序员撕逼的时候,也能够扬眉吐气一把;因为JDK8终于开始支持“行为参数化了”,也就是大家经常说的,可以把一个函数当作参数传给另一个函数。JDK8最明显的两个变化就是开始支持La

2021-07-16 16:07:38 270

原创 真正号称下一代可视化监控系统,结合SpringBoot使用,贼爽!

摘要当面对一个复杂的系统时,我们往往需要监控工具来帮助我们解决一些性能问题。比如之前我们使用SpringBoot Admin来监控应用,从而获取到SpringBoot Actuator暴露的指标信息。今天给大家介绍一个功能强大的监控工具Grafana,只要需要用到监控的地方,用它做可视化就对了!Grafana简介Grafana是一款开源的数据可视化和分析工具,不管你的指标信息存储在哪里,你都可以用它来可视化这些数据。同时它还具有告警功能,当指标超出指定范围时会提醒你。Prometheus简介Pro

2021-07-16 15:57:51 248

原创 SQL 查询并不是从 SELECT 开始的,让阿里P8来告诉你!

日常使用中写 SQL 查询命令都是以 SELECT 开始的(注意:本文仅探讨 SELECT 查询,不涵盖 insert 或其他 SQL 命令)。昨天我想到一个问题:可以用 WHERE、HAVING 或者其他方式来过滤窗口函数执行结果吗?经过一番探索,我得出的最终结论是否定的,因为窗口函数必须在 WHERE 和 GROUP BY 之后才能运行。但是,这也延伸到了一个更大的问题——SQL 查询的执行顺序是怎么样的呢?你所不知道的 SQL 查询执行顺序我专门查了一下文档 SQL 查询执行顺序如下:如果

2021-07-16 15:37:48 112

原创 高质量代码优化!谈谈重构项目中的if-else代码

switchif - else只适合在3层之内使用当条件判断较多时,可以首先考虑使用switchinterface当判断条件还可能动态增加时,可以考虑将switch进一步优化,引入接口interface,将代码与数据分离:创建一个map:key: switch的case值value: 对应的实体类抽象出通用方法,变成一个接口,统一入参和返回值主实现类controller类就是将type值传进去,获取到对应的实现类,然后调用抽象出来的方法,这样无论增加多少个case, 都不会改

2021-07-16 15:07:34 149 3

原创 面试再次被吊打系列 - Redis缓存血崩

小张兴冲冲去面试,结果因为redis的缓存雪崩问题被面试官拒绝!小张:面试官,你好。我是来参加面试的。面试官:你好,小张。我看了你的简历,你们平时在项目中用了redis,能说一下你们使用redis的场景吗?小张:redis的话我们主要是用来存储一些常用的配置类数据还有一些热点数据;还有存储一些到期失效的数据,比如登录用户颁发的token等。面试官:那好,既然你们用来存储热点数据。那么我来问你个实际场景,「查询热点数据的时候会先从缓存加载,如果缓存没有命中则会检索数据库获取数据。往往我们还会给热点.

2021-07-15 22:05:53 141 2

原创 史上最全Redis高可用技术解决方案大全,腾讯大牛来教你!

Redis常见的几种主要使用方式:Redis 单副本Redis 多副本(主从)Redis Sentinel(哨兵)Redis ClusterRedis 自研Redis各种使用方式的优缺点:1Redis单副本Redis 单副本,采用单个Redis节点部署架构,没有备用节点实时同步数据,不提供数据持久化和备份策略,适用于数据可靠性要求不高的纯缓存业务场景。优点:1、架构简单、部署方便2、高性价比,当缓存使用时无需备用节点(单实例可用性可以用supervisor或

2021-07-15 21:55:27 184 2

原创 Redis的内存优化,阿里P8来教你!

前言作为一台服务器来说,内存并不是无限的,所以总会存在内存耗尽的情况,那么当 Redis 服务器的内存耗尽后,如果继续执行请求命令,Redis 会如何处理呢?内存回收使用Redis 服务时,很多情况下某些键值对只会在特定的时间内有效,为了防止这种类型的数据一直占有内存,我们可以给键值对设置有效期。Redis 中可以通过 4 个独立的命令来给一个键设置过期时间:expire key ttl:将 key 值的过期时间设置为 ttl 秒。pexpire key ttl:将 key 值的过期时间设置为

2021-07-15 21:49:29 107 2

原创 Redis 分布式锁遇到的序列化问题,细致入微全是精华!

场景描述最近使用 Redis 遇到了一个类似分布式锁的场景,跟 Redis 实现分布式锁类比一下,就是释放锁失败,也就是缓存删不掉。又踩了一个 Redis 的坑……这是什么个情况、又是怎样排查的呢?本文主要对此做个复盘。问题排查既然是释放锁有问题,那就先看看释放锁的代码吧。释放锁释放锁使用了 Lua 脚本,代码逻辑和 Lua 脚本如下:释放锁示例代码public Object release(String key, String value) { Object existedV

2021-07-15 21:27:13 200 2

原创 Redis最佳实践:10个维度+143条使用规范,带你彻底玩转Redis

导读这篇文章我想和你聊一聊 Redis 的最佳实践。你的项目或许已经使用 Redis 很长时间了,但在使用过程中,你可能还会或多或少地遇到以下问题:我的 Redis 内存为什么增长这么快?为什么我的 Redis 操作延迟变大了?如何降低 Redis 故障发生的频率?日常运维 Redis 需要注意什么?部署 Redis 时,如何做好资源规划?Redis 监控重点要关注哪些指标?尤其是当你的项目越来越依赖 Redis 时,这些问题就变得尤为重要。此时,你迫切需

2021-07-15 17:30:59 192 10

原创 爆肝撸完了Spring全家桶,人快没了

前言Spring框架自从诞生以来,就一直很受开发者的青睐。随着技术发展,Spring 从往日的 IoC 框架,已经发展成 Cloud Native 基础设施,衍生出大量 Spring 技术栈,如大家熟知的 Spring Boot、Spring Cloud 、 Spring Security 等,也统称为Spring全家桶。Spring的重要性不言而喻,可以说它是重点也是难点,工作中必须会,面试时肯定考。由于Spring 生态体系变得庞大,Java程序员面对突如其来的变化,总会面临各种挑战和考验,出现

2021-07-14 21:21:21 115 7

原创 好不容易撑过了阿里三面!却因为虚报工资被刷了...

说在前面面试时最好不要虚报工资。本来阿里是很想去的,几轮面试也通过了,最后没offer,自己只想到几个原因:1、虚报工资,比实际高30%,现在有些公司要提供银行流水;2、有更好的人选,这个可能性不大,我看还在招聘。我是面试Android开发的,3年经验,下面是面试流程:一面:redis集群,为什么是16384?哨兵模式,选举过程,会有脑裂问题么?raft算法,优缺点JVM类加载器,自定义类加载器,双亲委派机制,优缺点,tomcat类加载机制Tomcat热部署,热加载了解吗?怎么做到的?

2021-07-10 16:15:06 978 23

原创 2年6个月23天,从外包到拿下阿里offer,没想到我也能有今天

开篇介绍个人背景:不说太多废话,但起码要让你先对我有一个基本的了解。本人毕业于浙江某二本院校,算是科班出身,毕业后就进了一家外包公司做开发,当然不是阿里的外包,具体什么公司就不透露了,在外包一呆就呆了整整2年多,直到现在才从外包离开,如今拿到阿里的offer准备入职了。阐述原因:在外包公司的两年里,作为一名菜鸡,确实非常合格,技术没什么长进,眼见也没有提升,没规划没未来,让人实在焦虑,之所以开始改变自己也是家庭发生了变故,才让自己开始思考人生。身边很多人感叹过,能从外包逆袭,算是传奇,所以今天想要分

2021-07-07 20:08:35 1091 49

原创 小码农也有大目标,用时17天完成4面阿里,已斩获45W offer,总结下个人面经心得体会

前言上个月接到阿里的面试通知,也是我近期面试的第一家公司,却没想到来了一个开门红!总共4轮面试,我很快就拿到了阿里的offer,结果出来很快,也给我增添了不少的信心。特分享一下这次阿里的面经,供大家参考。阿里一面一面是在上午9点多接到支付宝的面试电话的,因为很期望能够尽快接到阿里的电话,所以非常兴奋。电话接通之后还是非常紧张的,毕竟是第一次这样的面试。中间面的问题有些记不清了,下面列出了一面问到的问题:自我介绍下自己,不超过3分钟(实际上我的自我介绍不到一分钟)你感觉比本科阶段自己进步

2021-06-30 11:30:15 1972 231

原创 作为阿里的面试官,我有话想说

面试,面试官比候选人还难近期面试了许多,真的是许多同学,讲道理其实我是比较有耐心的面试官,但是还是忍不住想要吐槽,因此写下这篇文章,一方面希望可以帮助到正在面试,或者在来面试路上的同学,另一方面,纯粹吐槽。作为面试官,我是真心希望为团队招到优秀的候选人,招到优秀的合作伙伴,其实面试官比候选人还着急。尽管我的问题犀利,但那绝对不是我故意要刁难,其实我都好想直接帮你回答,简直尴尬的不行。勇于面试,你就是成功了一半正所谓,人无完人。不可能有谁啥都会,我们也不需要教科书型的人才,因此请广大未来的师弟们,

2021-06-29 11:55:50 228 1

原创 非科班二本Java大厂面试的心路历程和总结(腾讯、头条、阿里、京东)

现状和背景个人背景我是17年毕业的,大三升大四的暑假期间开始学习Java;在这之前一直在小公司打滚;而且至今已经换了四家公司了(算上接下来入职的公司),可谓跳槽非常频繁(其实是小公司容易倒闭)。如果说别人的经历的是如何的加分,那我得经历大概是负无穷。在这样的背景下,我从2019年末到2020年三月底为止;基本面完了深圳大多大公司和一些小公司;这篇文章主要就是讲个人简历准备、面试准备和心态方面的经历。面试情况腾讯 - offer京东凹凸实验室 - 谈薪环节字节跳动 - 谈薪环节富途证券 -

2021-06-28 14:41:04 480 7

原创 我以为我对Mysql索引很了解,直到我遇到了阿里的面试官,瞬间打脸

前言本文来自一位不愿意透露姓名的粉丝投稿相信很多人对于MySQL的索引都不陌生,索引(Index)是帮助MySQL高效获取数据的数据结构。因为索引是MySQL中比较重点的知识,相信很多人都有一定的了解,尤其是在面试中出现的频率特别高。楼主自认为自己对MySQL的索引相关知识有很多了解,而且因为最近在找工作面试,所以单独复习了很多关于索引的知识。但是,我还是图样图森破,直到我被阿里的面试官虐过之后我才知道,自己在索引方面的知识,只是个小学生水平。以下,是我总结的一次阿里面试中关于索引有关的问题以及知

2021-06-25 14:31:22 186 5

原创 想进阿里吗?送你一份 6000 字《阿里内推指南》

前言Hi,大家好,我在加入阿里后有不少人来问过我关于阿里内推的事,我也帮助过一些人内推过阿里,发现大家对阿里的内推有着很多相同的疑问,也有很多错误的认知,想着整理一份《阿里内推新手不完全指南》来帮助那些有意向通过内推进阿里的同学。写在前面,本文的内容不是阿里官方出品,只是我个人的内推经验以及我所看到的内容的总结,并且内容偏向社招,我不代表阿里,本文也是,内容仅供参考!同时内推只是一个渠道,能不能进主要还是看个人实力。BTW,如果你找我内推,请先把它看完!0. 为什么要通过内推来进阿里?要进阿里有多

2021-06-25 14:27:22 2828 5

原创 我花10个小时,写出了小白也能看懂的阿里数据中台分析!

前言数据中台被誉为大数据的下一站,由阿里兴起,核心思想是数据共享,2015年阿里提出“大中台,小前台”的策略。2018 年因为“腾讯数据中台论”,中台再度成为了人们谈论的焦点。2019年,似乎人人都在提数据中台,但却不是所有人都清楚数据中台到底意味着什么。数据中台是只有大厂才需要考虑的高大上的概念吗?普通企业该不该做数据中台?数据中台的出现会给现有数据从业者们带来颠覆式的挑战吗?数据中台不是大数据平台!首先它不是一个平台,也不是一个系统,如果有厂商说他们有个数据中台卖给你,对不起,它是个骗子。要回

2021-06-25 14:07:42 249 1

原创 血洗多线程,抱得 offer 归

前言工作和面试之中,遇到了很多多线程问题。这里我总结了一下,希望对你有所帮助。本篇内容,基本上都是一些反例,有些很低级但常见。当然,面试时拿来装逼用,也是极好的。先来10个。我来评个级一、玩命的创建线程池现象: 系统资源耗尽,进程僵死。原因: 每次方法执行,都new一个线程池。小姐姐味道解决方式:共用一个线程池即可。作死等级: 五颗星脑残等级: 五颗星void doJob(){ ThreadPoolExecutor exe = new ThreadPoolExecuto

2021-06-25 11:34:15 95 4

原创 java多线程——锁

前言本篇主要内容:线程安全的分类线程同步的实现方式锁优化线程安全分类线程安全并非是一个非真既假的二元世界,如果按照线程安全的“安全程度”来排序的话,java中可以分为以下几类不可变。对数据类型修饰为final类型的,就可以保证其实不可变的(reference 对象除外,final对象属性不保证,只保证内存地址)。不可变的对象一定是线程安全,比如String类,它是一个典型的不可变对象,当调用它的subString()、replace()和concat()的方法都不会影响它原来的值,只

2021-06-25 11:28:43 318 1

原创 图解Java多线程

前言Java内存模型(JMM)定义了:how and when different threads can seevalues written to shared variables by other threads,and how to synchronize access to shared variables when necessary.Java堆和栈中的对象存储位置:Java内存模型与硬件模型:线程读取主内存的数据到CPU缓冲中,当数据放在不同位置时,会有两个问题:可见性与静态条

2021-06-25 09:45:18 175

原创 用生成树算法生成迷宫,这种技巧只头发少的人才知道!

前言很多地牢类型的游戏都会生成随机的地牢地图,一张好的地牢地图是非常具有美感的;生成迷宫要比生成地牢简单一些,不需要考虑房间的放置,生成迷宫可以说是生成地牢的基础(同时也是一种参考)生成迷宫的常见算法有递归回溯、递归分治等等;生成树算法生成的迷宫是比较美观的完美迷宫 所谓完美迷宫,就是任何两个可达点之间只有一条通路;这个性质天生和生成树十分契合,下面要用Kruskal最小生成树算法生成一个完美迷宫Kruskal 算法生成树:对连通图进行遍历,过程中所经过的边和顶点的组合可看做是一棵普通树,通常称为生

2021-06-24 20:49:39 1033 4

原创 安利几款好用的idea插件

絮叨Z宝平时开发的时候一般用到的是idea,然后目前为止,也积累了不好好用的插件,这边就打算自己写篇文章记录一下,等下次换idea的时候,能让自己快速找回这些插件,这篇文章Z宝会一直更新的,除非自己不用idea了,哈哈Translation一款翻译插件,集成在idea中,可以不用切换窗口到浏览器或其他软件中搜索,且可以根据驼峰命名规则对应的变量名或方法名,在定义方法名或属性变量时很方便1、安装在idea中settings–>plugins,搜索Translation回车,然后点击instal

2021-06-18 15:15:40 322 1

原创 SpringBoot读取配置文件的几种方式

日积月累,水滴石穿 ????前言在 SpringBoot 中呢,我们经常要读取配置文件的值,那读取配置文件的值有哪几种方式呢?跟着笔者一起来看看吧!一、使用@Value注解先准备一下两个配置文件,名称为:application.properties和application.ymlpropertiesuserproperties.name=gongj===propertiesuserproperties.age=11===propertiesuserproperties.sex=12==

2021-06-18 15:00:27 445 1

翻译 Java8——方法引用和构造器引用

日积月累,水滴石穿 ????什么是方法引用方法引用是Lambda表达式的另外一种表现形式,是一个语法糖。那为什么要使用方法引用呢?当 Lambda 体中的具体实现,已经有其他方法帮我们实现过了,那这时候我们就可以使用方法引用。也就是说使用 方法引用 可以少写一些代码,提高工作效率。使用方法引用的时候 需要保证引用方法的参数列表、返回值类型与我们当前所要实现的函数式接口方法的参数列表、返回值类型保持一致。语法格式对象::实例方法名 @Testpublic void test1(){ C

2021-06-18 14:56:02 102

原创 跳槽必问的 JVM 垃圾收集器,看这篇就够了!

前言hello,大家好,这里是Z宝。今天我们来聊聊jvm垃圾收集器,垃圾收集器是我们在面试中必然会被问到的。今天选取了我们非常常见的垃圾收集器,给大家进行详细解读。jvm垃圾收集器jvm垃圾收集器是jvm内存回收的具体实现。本次讨论hotspot虚拟机中的垃圾收集器。图中总共有7中垃圾收集器。两个收集器中连线则表示可以配合使用。 中间的横线代表新生代和老年代的分区。上面的是新生代的垃圾收集器,下面是老年代的垃圾收集器。serial收集器serial收集器是最早的收集器,是单线程的垃圾收集器,采

2021-06-17 17:46:22 255 6

翻译 Java 中序列化与反序列化,看这篇就够了!

一、 序列化和反序列化概念Serialization(序列化)是一种将对象以一连串的字节描述的过程;反序列化deserialization是一种将这些字节重建成一个对象的过程。将程序中的对象,放入文件中保存就是序列化,将文件中的字节码重新转成对象就是反序列化。二、 序列化和反序列化的必要性当两个进程进行远程通信时,可以相互发送各种类型的数据,包括文本、图片、音频、视频等, 而这些数据都会以二进制序列的形式在网络上传送。而java是面向对象的开发方式,一切都是java对象,想要实现java对象的网络传

2021-06-17 17:40:23 238

原创 Java 开发实战:一致性hash算法在redis中的应用

前言hello,大家好,这里是Z宝。今天我们来聊聊一致性 hash 算法在 redis 上的应用。很多小伙伴的公司随着业务量的增长,数据量也在不断的加大,redis缓存也用的越来越多,这时候一台redis,往往解决不了问题,需要多台redis进行分布式存储。一旦涉及到分布式,我们就要考虑数据存储的均衡以及机器宕机带来的数据影响。那么如上,我们就抛出两个问题。第一个,如何使数据均衡的存储在每一个redis服务器上?第二个,当redis某台机器宕机的时候,如何最大限度的减少数据的丢失,减少缓存雪崩的发生。今天

2021-06-17 17:20:17 436 1

空空如也

空空如也

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

TA关注的人

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