- 博客(33)
- 收藏
- 关注
原创 面试官:集群部署时的分布式 Session 如何实现?
实现分布式会话管理的方式确实多种多样,每种方式都有其适用的场景和优缺点。在近年来,通过Spring Session来实现分布式会话管理已成为一种流行且高效的方法。
2024-02-28 09:52:35
1057
原创 【开源分享】轻量级动态可监控线程池解决方案:dynamic-tp
使用线程池 ThreadPoolExecutor 过程中你是否有以下痛点呢?代码中创建了一个 ThreadPoolExecutor,但是不知道那几个核心参数设置多少比较合适凭经验设置参数值,上线后发现需要调整,改代码重新发布服务,非常麻烦线程池相对开发人员来说是个黑盒,运行情况不能及时感知到,直到出现问题如果有以上痛点,动态可监控线程池框架(DynamicTp)或许能帮助到你。🔥🔥🔥 一款基于配置中心的轻量级动态可监控线程池。
2024-02-27 09:19:57
1737
原创 【开源分享】Star 60k+,平替 TeamViewer 的远程控制软件RustDesk
RustDesk 是一款可以平替 TeamViewer 的开源软件,旨在提供安全便捷的自建方案。
2024-02-26 13:36:46
1436
原创 int 类型的数字在不转型的前提下怎么放入List<String>?
今天面试问到的int类型的数字,在不转型的前提下怎么放入List其实,这道题考验的面试者对于java泛型的理解,java泛型的实现采取了“伪泛型”的策略。Java泛型的实现确实采用了所谓的“伪泛型”(Pseudo-Generics)策略。这是因为在Java 5之前,泛型并没有被真正实现,而是通过类型擦除(Type Erasure)来实现的。类型擦除是Java泛型实现的核心机制。在编译期间,所有的泛型信息,包括类型参数和类型引用,都会被擦除。这意味着在运行时,Java虚拟机(JVM)无法获取泛型信息。
2024-02-25 07:00:00
372
原创 大厂面试题:Java中interrupt、interrupted和isInterrupted的区别?
interrupt:这是一个方法,用于请求中断一个线程。当你调用一个线程的interrupt方法时,该线程的中断状态将被设置为true。这通常意味着该线程应该检查中断状态并采取适当的行动。如果线程正在执行一个长时间运行的操作,它应该定期检查中断状态,并在收到中断请求时停止。interrupted:这是一个静态方法,用于清除当前线程的中断状态。当你调用Thread.interrupted()方法时,当前线程的中断状态将被清除,并且返回一个布尔值,表示线程是否曾经被中断。
2024-02-24 07:15:00
426
原创 【开源分享】Java 短信服务聚合框架-SMS4J
在日常的开发流程中,短信发送功能经常被使用,特别是在中小型的外包公司中。毕竟,并非每个公司都具备像阿里巴巴或腾讯那样的雄厚实力,也并非每个公司都像银行或联通那样拥有内部的短信发送规范。因此,第三方短信服务商成为了最常见的解决方案。然而,市场上的第三方短信服务商众多,每家都有各自的操作方式和标准。每次需要使用短信服务时,都需要投入大量时间和精力去阅读文档和编写相应的工具,这无疑增加了不必要的负担。为了解决这个问题,SMS4J诞生了,旨在统一各个短信厂商的发送工具标准。
2024-02-23 07:15:00
2267
原创 Java Z 垃圾收集器 (ZGC):彻底改变内存管理
欢迎来到!我们致力于为广大IT从业者、学生和爱好者提供全面、实用的资源和服务。加入我们的聊天群,这里有专业大佬为你提供有价值的建议和指导!Z 垃圾收集器 (ZGC) 是 Oracle 在 JDK 11 中引入的一种创新垃圾收集算法。其主要目的是最大限度地减少Java 虚拟机(JVM) 上的应用程序暂停时间,使其特别适合需要低延迟和高延迟的现代应用程序。-吞吐量性能。ZGC 采用分代方式进行垃圾收集,将堆分为两代:年轻代和老一代(也称为成熟代)。年轻代又进一步分为伊甸园空间和两个幸存者空间。
2024-02-22 17:12:40
1173
原创 MyBatis-Flex 一个优雅的 MyBatis 增强框架
MyBatis-Flex 是一个优雅的 MyBatis 增强框架,它非常轻量、同时拥有极高的性能与灵活性。我们可以轻松的使用 Mybaits-Flex 链接任何数据库,其内置的 QueryWrapper帮助我们极大的减少了 SQL 编写的工作的同时,减少出错的可能性。总而言之,MyBatis-Flex 能够极大地提高我们的开发效率和开发体验,让我们有更多的时间专注于自己的事情。
2024-02-20 08:30:00
949
原创 【开源分享】Star 14.4k,人人可用的开源数据可视化分析工具-DataEase
数据的采集、提取和理解是人类感知和认识世界的基本途径之一。相对于数宇、文本等非图像化信息,人类对图像化信息有着更好的感知能力。基于这个原因,数据可视化逐渐成为了人们更深入分析理解数据、获取知识并转化为智慧的一种主要途径。数据可视化分析的发展史已逾数百年。自个人计算机问世以来,可视化基础平台和架构、常用可视化分析软件就在不断被研究开发,研究的领域包括医学可视化、科学可视化、信息可视化等。DataEase 是人人可用的开源数据可视化分析工具,帮助用户快速分析数据并洞察业务趋势,从而实现业务的改进与优化。
2024-02-19 08:54:13
1074
原创 【开源分享】一系列的开源BI推荐
Superset是一个开源的、现代的、轻量级BI系统,能够对接Druid、Kylin、ClickHouse、MySQL、Presto等多种数据源,拥有丰富的图表展示形式、支持自定义仪表盘,且拥有友好的用户界面,十分易用。现在市场上开源 BI 产品比较多,各个产品的侧重点不同,有的以报表为主、有的以可视化为主、有的以查询分析为主。GoView的核心优势 丰富的组件库:GoView提供了丰富的数据可视化组件,如折线图、柱状图、饼图、散点图等,这些组件不仅支持高度自定义,还具备良好的交互性和响应性。
2024-02-07 07:30:00
5237
原创 2024年面向初学者的25大Java项目创意
欢迎来到!我们致力于为广大IT从业者、学生和爱好者提供全面、实用的资源和服务。加入我们的聊天群,这里有专业大佬为你提供有价值的建议和指导!Java是IT行业的领先编程语言,几乎所有类型的软件开发都使用Java。从手机到大型机,Java无处不在。如果您是初学者或有软件开发抱负的人,我们强烈建议您开始从事实时和成熟的实时Java项目。这篇“Java项目”文章完全基于相同的计划,即帮助其他开发人员提供实时Java项目的想法,这将帮助您更接近您的梦想角色。
2024-02-06 06:45:00
2733
原创 【开源分享】Star 4.2k,这是我用过最舒服的跨平台Redis桌面客户端
一个现代化轻量级的跨平台Redis桌面客户端,支持Mac、Windows和Linux。
2024-02-05 06:00:00
511
原创 终于明白了压力/性能测试中的并发、TPS、RT及吞吐量指标
也就是我们所说的响应时间,当相应时间较小时,用户体验是很好的,当然用户体验的响应时间包括个人主观因素和客观响应时间,在设计软件时,我们就需要 考虑到如何更好地结合这两部分达到用户最佳的体验。一个系统吞吐量通常有QPS(TPS),并发数两个因素决定,每套系统这个两个值都有一个相对极限值,在应用场景访问压力下,只要某一项达到系统最高值,系统吞吐量就上不去了,如果压力继续增大,系统的吞吐量反而会下降,原因是系统超负荷工作,上下文切换,内存等等其他消耗导致系统性能下降。虽然很相似,但其实是不同的。
2024-02-04 12:52:41
1789
原创 笔记本也能飞:运行chat大模型
image.png本模型是 decapoda-research/llama-13b-hf 底座模型 合并 ziqingyang/chinese-llama-plus-lora-13b 和 ziqingyang/chinese-alpaca-plus-lora-13b 两个LoRA权重, 并转化为PyTorch版本权重(.pth文件),可以直接使用或者继续训练。image.pngLlamaChat是一款MacOS应用程序,可以让你用LLaMA、Alpaca 、 GPT4等模型进行聊天。
2024-01-22 15:34:25
1350
原创 【跳槽面试】使用 int 做 primary key 和使用 string 有什么优劣?
选择使用整数还是字符串作为主键取决于具体的应用场景和需求。在大多数情况下,如果性能是一个关键因素,并且不需要在主键中存储描述性信息,那么使用整数类型的主键是一个更好的选择。然而,在某些情况下,如果需要在主键中包含更多信息,或者可读性和灵活性更加重要,那么使用字符串类型的主键可能更合适。欢迎加入我们的聊天群,这里有专业大佬为你提供有价值的建议和指导!如果您喜欢这篇文章,请点击右下角的。
2024-01-20 16:27:13
978
原创 【跳槽面试】Redis中分布式锁的实现
本地面试考点是,你对Redis使用熟悉吗?Redis中是如何实现分布式锁的。在Redis中,分布式锁的实现主要依赖于Redis的原子操作和事务功能。使用SETNX命令尝试设置一个键值对,如果键已经存在,则设置失败。如果SETNX成功,则表示获取到了锁,接下来可以执行需要同步的逻辑。如果SETNX失败,则表示锁已经被其他客户端持有,当前客户端需要等待或者重试。使用EXPIRE命令为锁设置一个过期时间,当锁过期后,其他客户端可以重新获取锁。这样可以避免死锁和饥饿问题。这里将锁的过期时间设置为10秒。
2024-01-19 09:11:25
533
1
原创 【开源分享】LarkMidTable数据中台
作为一站式开源的数据中台,LarkMidTable以实现元数据管理、数据仓库开发、数据质量管理以及数据可视化为目标,旨在高效赋能数据前台并提供数据服务。数据在当今社会中扮演着越来越重要的角色,希望通过LarkMidTable,让用户能够更好地理解和利用数据,从而创造出更多的价值。通过数据的优化和利用,能够为企业和个人带来更多的机遇和发展空间,为社会的进步做出贡献。无论是数据管理、仓库开发还是数据质量管理,LarkMidTable都能够提供全方位的支持与服务,让小企业能够以更高效的方式管理和利用数据资源。
2024-01-18 10:18:38
3343
2
原创 Java中打印图案最常用的25个图案程序
Java是公认的最流行的编程语言,因为它的简单性和多功能性。还可以使用它开发各种应用程序,包括Web、移动和桌面应用程序。此外,Java为开发人员提供了强大的工具来轻松高效地创建复杂的程序。Java最有前途的特性之一是它能够创建可以以特定格式打印数字的图案程序。模式程序是学习Java编程的一种很好的方法,特别是对于初学者,因为它有助于理解Java编程的语法和逻辑。Java模式程序一直是Java面试问题的关键部分之一。它们看起来几乎不可能在某一点上被破解,但这些问题实际上是基于数理逻辑和矩阵的基本原理。
2024-01-18 10:13:24
2108
1
原创 【跳槽面试】了解什么是 redis 的雪崩、穿透和击穿?redis 崩溃之后会怎么样?应对措施是什么
缓存击穿,就是说某个 key 非常热点,访问非常频繁,处于集中式高并发访问的情况,当这个 key 在失效的瞬间,大量的请求就击穿了缓存,直接请求数据库,就像是在一道屏障上凿开了一个洞。大约在 3 年前,国内比较知名的一个互联网公司,曾因为缓存事故,导致雪崩,后台系统全部崩溃,事故从当天下午持续到晚上凌晨 3~4 点,公司损失了几千万。其实这是问到缓存必问的,因为缓存雪崩和穿透,是缓存最大的两个问题,要么不出现,一旦出现就是致命性的问题,所以面试官一定会问你。这样的话,缓存中不会有,请求每次都“
2024-01-18 07:30:00
1840
1
原创 【跳槽面试】你能说说Java中Comparable和Comparator的区别吗
如果实现类没有实现Comparable接口,又想对两个类进行比较(或者实现类实现了Comparable接口,但是对compareTo方法内的比较算法不满意),那么可以实现Comparator接口,自定义一个比较器,写比较算法。实现Comparable接口的方式比实现Comparator接口的耦合性要强一些,如果要修改比较算法,要修改Comparable接口的实现类,而实现Comparator的类是在外部进行比较的,不需要对实现类有任何修改。
2024-01-17 13:09:51
854
原创 【跳槽面试】如何判断一个对象是否存活?(或者GC对象的判定方法)?
这个问题,面试被问到的概率还是很大的。以下关于如何判断一个对象是否存活的回答,完全参照《深入理解Java虚拟机》一书,有需要的可以看书学习。以下是题目解析判断对象是否存活的算法包括:引用计数算法可达性分析算法问题的回答就是通过引用计数算法或者可达性分析算法去判断一个对象是否存活,下面开始具体描述这两种算法。例如Object-C,Python语音使用引用计数算法进行内存管理。Java虚拟机没有选用引用计数器算法来管理内存,其中最主要的原因是它很难解决对象之间相互循环引用的问题。
2024-01-17 13:08:05
864
原创 【跳槽面试】一份tcp、http面试指南,常考点都给你了
Http会通过TCP建立起一个到服务器的连接通道,当本次请求需要的数据完毕后,Http会立即将TCP连接断开,这个过程是很短的。所谓的无状态,是指浏览器每次向服务器发起请求的时候,不是通过一个连接,而是每次都建立一个新的连接。应用层可以通过会话Session来跟踪用户请求之间的相关性,服务器会为每个会话对象绑定一个唯一的会话ID,浏览器可以将会话ID记录在本地缓存LocalStorage或者Cookie,在后续的请求都带上这个会话ID,服务器就可以为每个请求找到相应的会话状态。
2024-01-17 07:45:00
966
原创 【跳槽面试】谈谈联合索引生效和失效的条件
不在索引列上做任何操作(计算、函数、(自动or手动)类型转换),会导致索引失效而转向全表扫描存储引擎不能使用索引范围条件右边的列尽量使用覆盖索引(只访问索引的查询(索引列和查询列一致)),减少select *mysql在使用不等于(!=或者)的时候无法使用索引会导致全表扫描is null,is not null也无法使用索引like以通配符开头(’%abc…’)mysql索引失效会变成全表扫描的操作。问题:**解决like‘%字符串%’时索引不被使用的方法?**字符串不加单引号索引失效。
2024-01-16 18:36:08
524
1
原创 如何在Java中实现革命性的OOPS概念
如前所述,面向对象编程中的类是以数据结构的形式存储数据成员和数据操作方法的蓝图。要声明类,我们使用关键字class,后跟用户定义的名称。Syntax:Example:对象是每种面向对象编程语言的构建块。对象是在使用特定类时创建的。对象可以包括属性和方法。有时,它还可能包括另一个对象。Syntax:Example:构造函数是将类用作蓝图的唯一方法。它初始化类对象并构造它们。Syntax:Example:Java方法是用户定义他们想要应用到其数据成员的操作的位置。
2024-01-16 08:00:00
1245
1
原创 【跳槽面试】String长度有限制吗?是多少?还好我看过
话说Java中String是有长度限制的,听到这里很多人不禁要问,String还有长度限制?是的有,而且在JVM编译中还有规范,而且有的家人们在面试的时候也遇到了,本人就遇到过面试的时候问这个的,而且在之前开发的中也真实地遇到过这个String长度限制的场景(将某固定文件转码成Base64的形式用字符串存储,在运行时需要的时候在转回来,当时文件比较大),那这个规范限制到底是怎么样的,咱们话不多说先䁖䁖去。
2024-01-15 10:55:04
1056
1
原创 百战百胜,你能像哈尔滨一样出圈吗?
百战百胜网站为您提供了一个全面、实用的IT学习平台。通过我们的面试题、技术教程、IT工具集和导航页,您将不断提升自己的技能水平,解决实际问题,成为行业的佼佼者。欢迎您常来访问,与我们共同成长!欢迎关注分享我们的网站“百战百胜”、公众号“IT开DD那点小事”,技术文章第一时间推送。
2024-01-14 16:58:02
268
1
原创 面试官:数据量很大的情况下,对于分页查询你有什么优化方案吗
当需要从数据库查询的表有上万条记录的时候,一次性查询所有结果会变得很慢,特别是随着数据量的增加特别明显,这时需要使用分页查询。对于数据库分页查询,也有很多种方法和优化的点。下面简单说一下我知道的一些方法。
2024-01-14 16:51:16
899
1
原创 面试题:Java中的引用类型有哪几种?特点是什么?
强引用:正常的引用软引用:内存不够, 进行清除,大对象的内存,常用对象的缓存弱引用:遇到GC就会被回收缓存, 没有容器引用指向的时候就需要清除缓存虚引用:看见就回收, 且看不到值 管理堆外内存欢迎加入我们的聊天群,来到百战百胜网站(https://www.51fire.xyz/)
2024-01-12 17:46:41
470
1
原创 面试官:请说一下Mysql事务实现原理
回滚日志,在insert、update、delete的时候产生的便于数据回滚的日志。当insert的时候,产生的undo log日志只在回滚时需要,在事务提交后,可被立即删除。而update、delete的时候,产生的undo log日志不仅在回滚时需要,在快照读时也需要,不会立即被删除。
2024-01-12 13:34:29
1113
1
原创 面试官:请列举 Spring 的事务会失效的场景
在日常工作中,如果对 Spring 的事务管理功能使用不当,则会造成 Spring 事务不生效的问题。而针对 Spring 事务不生效的问题,也是在跳槽面试中被问的比较频繁的一个问题。今天,我们就一起梳理下有哪些场景会导致 Spring 事务失效。
2024-01-11 18:46:33
1010
原创 解决程序员需求的一站式服务网站,推荐百战百胜!
在这里,你将有机会与这些专家进行互动,解答你在学习过程中遇到的问题,进一步提升自己的技术水平。其次,百战百胜致力于提供高质量的内容,避免了一些个人维护博客存在的写作水平和知识储备限制,确保了内容质量的稳定和一致性。在这里,无论你是初出茅庐的新手还是经验丰富的老手,都能找到满足自己求知欲的美味佳肴。在如今快节奏的社会中,对于程序员来说,不仅需要持续学习和巩固技术知识,还需要找到一家稳定的公司来发展自己的职业生涯。首先,百战百胜提供的所有内容都是免费的,不会有任何付费内容。),开始你的技术之旅吧!
2024-01-11 17:54:05
440
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人