【开源分享】Star 60k+,平替 TeamViewer 的远程控制软件RustDesk
RustDesk 是一款可以平替 TeamViewer 的开源软件,旨在提供安全便捷的自建方案。 关于 RustDesk RustDesk 是一款体验优秀的远程控制软件,和 TeamViewer、AnyDesk 等主流的控制软件一样简单,能够让我们在另外一台设备上远程控制电脑,无论是远程办公、远程教
【面试题101】Redis分布式锁如何解决锁超时问题?
一、前言 关于redis分布式锁, 查了很多资料, 发现很多只是实现了最基础的功能, 但是, 并没有解决当锁已超时而业务逻辑还未执行完的问题, 这样会导致: A线程超时时间设为10s(为了解决死锁问题), 但代码执行时间可能需要30s, 然后redis服务端10s后将锁删除, 此时, B线程恰好申请
【面试题100】我们说StringBuilder是线程不安全的,是什么原因呢?
引言 面试官:**StringBuilder和StringBuffer的区别在哪?** 我:StringBuilder不是线程安全的,StringBuffer是线程安全的 面试官:**那StringBuilder不安全的点在哪儿?** 我:。。。(哑巴了) 在这之前我只记住了StringBuilde
【面试题99】你真的知道 Java 类是如何被加载的吗?
一:前言 最近给一个非Java方向的朋友讲了下双亲委派模型,朋友让我写篇文章深度研究下JVM的ClassLoader,我确实也好久没写JVM相关的文章了,有点手痒痒,涂了皮炎平也抑制不住。 我在向朋友解释的时候是这么说的:双亲委派模型中,ClassLoader在加载类的时候,会先交由它的父Class
【面试题98】谈谈面试必问的Java内存区域(运行时数据区域)和内存模型(JMM)
Java 内存区域和内存模型是不一样的东西,内存区域是指 Jvm 运行时将数据分区域存储,强调对内存空间的划分。 而内存模型(Java Memory Model,简称 JMM )是定义了线程和主内存之间的抽象关系,即 JMM 定义了 JVM 在计算机内存(RAM)中的工作方式,如果我们要想深入了解J
【面试题97】Java中的finally一定会被执行吗?
一、前言 因为这次面试有问到一些同学finally的问题,发现自己这块好像有点记不太清楚了,有的点可能还给人家说错了,一度弄得场面有些尴尬。所以说这篇文章深入研究一下finally的执行情况和返回值的情况。
【面试题96】注册中心全部宕掉后,Dubbo服务还能进行调用吗?
今天群友小z在面试时被问到一个很有意思的面试题,表示被问到时有点懵圈,查过后有点懊恼 特意查了一下分享给大家! 注册中心宕掉后,Dubbo服务还能进行调用吗 答案是
【面试题95】史上最全的数据库面试题,面试前刷一刷!
一、基本概念 1.主键、外键、超键、候选键 超键:在关系中能唯一标识元组的属性集称为关系模式的超键。一个属性可以为作为一个超键,多个属性组合在一起也可以作为一个超键。超键包含候选键和主键。 候选键:是最小超键,即没有冗余元素的超键。 主键:数据库表中对储存数据对象予以唯一和完整标识的数据列或属性的组
【面试题94】面试技巧:面试的时候我只会聊项目,结果就把我挂了!
在上周,我密集面试了若干位Java后端的候选人,工作经验在3到5年间。我的标准其实不复杂:第一能干活,第二Java基础要好,第三最好熟悉些分布式框架。我相信其它公司招初级开发时,应该也照着这个标准来面的。 我也知道,不少候选人能力其实不差,但面试时没准备或不会说,这样的人可能在进团队干活后确实能达到
【面试题93】如何正确访问Redis中的海量数据?服务才不会挂掉!
目录 前言 事故产生 分析原因 解决方案
【面试题92】熟悉Java并发吗,谈谈对JUC线程池ThreadPoolExecutor的认识吧
前提 很早之前就打算看一次JUC线程池ThreadPoolExecutor的源码实现,由于近段时间比较忙,一直没有时间整理出源码分析的文章。之前在分析扩展线程池实现可回调的Future时候曾经提到并发大师Doug Lea在设计线程池ThreadPoolExecutor的提交任务的顶层接口Execut
【面试题91】BigDecimal一定不会丢失精度吗?
我们基本已经形成了常识,需要用到金钱的地方要用BigDecimal而不是其他,而我们也都知道浮点型变量在进行计算的时候会出现丢失精度的问题。 那么,你知道其实BigDecimal也会丢失精度吗?而使用BigDecimal的背后又有什么值得去探究的地方吗?今天,告诉你,知其然,也知其所以然。 如下一段
【面试题90】中高级开发面试必问的Redis,看这篇就够了!
出自:https://github.com/CyC2018/CS-Notes 一、概述 二、数据类型 STRING LIST SET HASH ZSET 三、数据结构 字典 跳跃表 四、使用场景 计数
【面试题89】给我说说你对Java GC机制的理解?
写在前面 使用Java快一年时间了,从最早大学时候对Java的憎恶,到逐渐接受,到工作中体会到了Java开发的各种便捷与福利,这确实是一门不错的开发语言。不仅是 Intellij开发Java程序的爽快,还有无需手动管理内存的便捷、 Maven管理依赖的整洁、 SpringCloud大礼包的规整等等。
【面试题88】一网打尽面试中常被问及的8种数据结构
快速介绍8种常用数据结构 数据结构是一种特殊的组织和存储数据的方式,可以使我们可以更高效地对存储的数据执行操作。数据结构在计算机科学和软件工程领域具有广泛而多样的用途。 几乎所有已开发的程序或软件系统都使用数据结构。此外,数据结构属于计算机科学和软件工程的基础。当涉及软件工程面试问题时,这是一个关键
【面试题87】盘点那些关于Nginx的常考面试题
什么是Nginx? Nginx是一个 轻量级/高性能的反向代理Web服务器,他实现非常高效的反向代理、负载平衡,他可以处理2-3万并发连接数,官方监测能支持5万并发,现在中国使用nginx网站用户有很多,例如:新浪、网易、 腾讯等。 为什么要用Nginx? 跨平台、配置简单、方向代理、高并发连接:处
【面试题86】你遇到 Redis 线上连接超时一般如何处理?
一封报警邮件,大量服务节点 redis 响应超时。 又来,好烦。 redis 响应变慢,查看日志,发现大量 TimeoutException。 大量TimeoutException,说明当前redis服务节点上已经堆积了大量的连接查询,超出redis服务能力,再次尝试连接的客户端,redis 服务节
【面试题85】经典面试题:Redis 内存满了怎么办?
Redis占用内存大小 我们知道Redis是基于内存的key-value数据库,因为系统的内存大小有限,所以我们在使用Redis的时候可以配置Redis能使用的最大的内存大小。 1、通过配置文件配置 通过在Redis安装目录下面的redis.conf配置文件中添加以下配置设置内存大小 //设置Red