- 博客(88)
- 问答 (1)
- 收藏
- 关注
原创 互联网大厂Java求职面试实录
在一家著名的互联网大厂,面试官正坐在办公桌后,目光严肃。面试者谢飞机,虽然看起来有些紧张,但他知道自己要尽力而为。面试即将开始。
2026-03-21 22:49:47
317
原创 互联网大厂Java求职面试:严肃面试官与搞笑程序员的对话
在一个阳光明媚的早晨,互联网大厂的面试室里,一位严肃的面试官坐在桌子后面,面前则是一位名叫谢飞机的程序员。他的外表看似严谨,但言辞中却透出几分幽默。面试官:请简单描述一下Java的核心知识。谢飞机:Java是一种编程语言,还有JDK、JRE都是它的一部分。哈哈,就像我们的生活,吃饭、穿衣、睡觉,JAVA就是编程的基本操作呀。面试官:不错的比喻!面试官:你知道JUC是什么吗?谢飞机:呃,JUC就是Java Concurrent的一个缩写,为了让多个线程能够一起愉快地玩耍。面试官:可以这样理解。
2026-03-21 22:48:43
200
原创 互联网大厂Java求职者面试的搞笑瞬间
嗯,电商系统就像超市,各种商品都是聚焦的领域,我们需要将不同的功能拆分,哈哈,听起来好像也不错。Java是一种面向对象编程语言,具有跨平台性、封装性、继承性和多态性等特性。它通过Java虚拟机(JVM)实现了与平台无关性。
2026-03-21 22:26:48
222
原创 使用TypeScript与React构建高效用户界面
在现代Web开发中,TypeScript和React都是非常流行的技术栈。结合二者,可以提高代码的可维护性和可读性。本文将通过一些示例来展示如何使用TypeScript与React构建一个高效的用户界面。
2026-03-21 21:55:17
78
原创 互联网大厂Java求职者面试
MyBatis 是一个半自动的 ORM 框架,适合复杂 SQL 的管理,而 Hibernate 是一个全自动 ORM 框架,简化数据库交互。:一间装修现代化的办公室,面试官坐在桌后,面色严肃,面试者谢飞机在对面,穿着随意,显得格外放松。JUC 是 Java 的并发包,提供一系列的工具类与接口,帮助处理多线程问题。(微微一笑):不错,Java 是一种面向对象的编程语言,拥有平台无关性。:嗯,Java就是那种大家都在用的编程语言吧,感觉好像不是个萝卜。:可以这么理解,线程池用来管理和复用线程,但还有许多细节。
2026-03-21 21:54:47
189
原创 互联网大厂Java求职者面试:严肃面试官与搞笑程序员的较量
在一家知名互联网大厂,面试官张经理正坐在面试室内,准备对前来面试的Java程序员谢飞机进行面试。谢飞机是一位热爱编程的程序员,但在技术面试中有些紧张。让我们看看这场面试的精彩对话。
2026-03-16 21:19:56
34
原创 互联网大厂Java求职者面试实录
你好,谢飞机,首先请你简单介绍一下Java的核心概念。:哦,Java就是那种可以写很多代码,然后在不同的地方跑的,像是...嗯,跨平台!:非常好,Java的跨平台特性确实是它的一个亮点。接下来,你能谈谈Java中的JUC(Java.util.concurrent)吗?:哦,JUC就是Java的一个...嗯,工具箱,里面有很多可以让我们...并发的东西!:不错!并发编程确实是JUC的一个重要方面。最后一个问题,你能给我讲讲JVM的内存模型吗?
2026-03-16 20:59:54
181
原创 互联网大厂Java面试:谢飞机的搞笑之旅
Java基本数据类型Java集合类:ArrayList、LinkedList、HashMap、HashSet等。ArrayList与LinkedList的区别:ArrayList基于动态数组,查找快,插入慢;LinkedList基于链表,插入快,查找慢。线程池:通过复用线程来减少创建和销毁线程的开销,优点是提高性能,缺点是池满时无法接收新任务。JUC:Java并发包,提供了一系列用于处理多线程的工具,帮助开发者简化并发编程。Spring的IoC。
2026-03-16 19:57:01
168
原创 搞笑的Java面试:谢飞机的奇妙经历
Java内存管理:Java通过垃圾回收器自动管理内存,减少内存泄漏的风险。JVM:Java虚拟机,负责Java程序的运行,提供了跨平台的特性。线程池:通过预先创建的线程来处理任务,提高系统性能,减少资源消耗。HashMap:通过哈希算法存储键值对,具有快速查找的特性。多线程:提高程序的效率,合理使用锁可以避免线程安全问题。Spring框架:简化Java企业级应用的开发,提供了依赖注入和面向切面编程等功能。MySQL事务:确保数据库操作的原子性、一致性、隔离性和持久性。Docker。
2026-03-16 17:59:26
143
原创 互联网大厂Java求职面试:严肃的面试官与搞笑的水货程序员的对话
Java核心特性:跨平台性、自动内存管理、面向对象。线程池:复用线程、减少开销。HashMap:底层实现是数组和链表。JVM:内存结构包括堆和栈,垃圾回收是自动清理不再用的内存。Spring特性:依赖注入等。Dubbo:分布式框架。RabbitMQ:消息队列,异步处理。Redis:缓存,减轻数据库压力。MySQL优化:加索引。Docker:打包应用,方便部署。
2026-03-16 17:47:27
205
原创 互联网大厂Java求职面试:谢飞机的搞笑历程
在一个阳光明媚的早晨,谢飞机走进了互联网大厂的面试房间,面试官是一位看起来严肃的中年男士,身上散发着一股专业的气息。谢飞机虽然有些紧张,但还是努力保持镇定。
2026-03-16 17:14:58
154
原创 互联网大厂Java面试:严肃面试官与搞笑程序员的对决
Spring是一个大型应用框架,而SpringBoot是基于Spring的快速开发套件,简化了Spring应用的配置。在某互联网大厂的面试室,一位严肃的面试官正准备提问,而对面坐着一位看似紧张却又想显得轻松的程序员小张。JVM就像一个巨大的购物车,负责把所有的变量都放进去,呃……:JVM内存管理包括堆内存和栈内存,堆内存用于存储对象实例,栈内存用于执行线程时的栈帧。:HashMap嘛,就是……呃,一个很大的箱子,大家都往里面扔东西,有时候会打架……:嗯,第二个问题,请说说HashMap的工作原理。
2026-03-16 14:59:40
27
原创 OnlyOffice 8.2 版本测评
OnlyOffice 是由 Ascensio System SIA 开发的开源办公套件,提供了文档、电子表格、演示文稿编辑等基础功能,支持多人实时协作,同时兼容多种格式(如 DOCX、XLSX、PPTX 等)。它拥有丰富的 API 以方便与其他平台整合,并且提供了桌面版、云端和自托管版等多种部署方式,以满足不同的企业或个人需求。OnlyOffice 的优势在于其高兼容性和自定义能力,使用户可以根据实际情况进行调整。
2024-11-01 19:15:31
1381
原创 使用shell脚本,实现备份mysql数据库
本脚本通过使用mysqldump备份,并且博主是通过docker安装的mysql,因此需要进入mnysql容器,备份的语句是docker exec mysql /usr/bin/mysqldump,如果是直接在linux上安装,则直接使用mysqldump命令。可以先运行./mysql_backup.sh试试效果。然后编写脚本,将相关配置改成自己的。在vi编辑器中编辑定时任务即可。将脚本加入到cron中执行。在每天的2点10分执行。通过vim编辑器编辑。
2024-11-01 16:28:20
652
原创 ONLYOFFICE 8.1 版本桌面编辑器测评
在文档处理方面,ONLYOFFICE 8.1 版本提供了丰富的编辑工具和模板库,支持多种文档格式(如 DOCX、ODT、RTF 等)。用户可以轻松进行文本编辑、排版、插入图片、表格和图表等操作。此外,ONLYOFFICE 8.1 增强了对文档协作的支持,用户可以实时协作编辑文档,查看修改历史,并添加评论。这对于团队协作办公尤为重要。
2024-06-24 12:57:23
1325
原创 es索引同步
使用MQ的优势是代码解耦,但是需要处理消息可靠性的问题有一定的技术成本,做到消息可靠性需要做到生产者投递成功、消息持久化以及消费者消费成功三个方面,另外还要做好消息幂等性问题。通过向索引中添加文章信息最终实现了课 程的搜索,我们发现文章信息是先保存在关系数据库中,而后再写入索引,这个过程是将关系数据中的数据同步到elasticsearch索引中的过程,可以简单成为索引同步。为了避免重复索引已经存在且未更新的数据,可以使用增量同步策略,仅同步新增和更新的数据,同时删除已经被标记删除的数据。
2024-05-18 18:43:48
740
原创 springboot工程中使用es实现搜索功能
ElasticSearch是一个基于Lucene的开源的、分布式实时搜索和分析引擎。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。上一节我们以及安装好了elasticsearch以及kibana、IK分词器现在让我们看看如何在springboot工程中使用吧。
2024-05-18 15:24:17
640
原创 VO、PO、DTO的区别
值对象,用于视图层,它的作用是把某个指定页面(或组件)的所有数据封装起来。:持久化对象,它跟持久层(通常是关系型数据库)的数据结构形成一一对应的映射关系,如果持久层是关系型数据库,那么,数据表中的每个字段(或若干个)就对应PO的一个(或若干个)属性。:数据传输对象,这个概念来源于的设计模式,原来的目的是为了EJB的分布式应用提供粗粒度的数据实体,以减少分布式调用的次数,从而提高分布式调用的性能和降低网络负载,但在这里,我泛指用于展示层与服务层之间的数据传输对象。
2024-05-12 20:03:11
668
1
原创 什么是分库分表
分表就是对单表的数据进行拆分,可以是垂直拆分,也可以是水平拆分。垂直分表是对数据表列的拆分,把一张列比较多的表拆分为多张表。举个例子:我们可以将用户信息表中的一些列单独抽出来作为一个表。水平分表是对数据表行的拆分,把一张行比较多的表拆分为多张表,可以解决单一表数据量过大的问题。举个例子:我们可以将用户信息表拆分成多个用户信息表,这样就可以避免单一表数据量过大对性能造成影响。水平拆分只能解决单表数据量大的问题,为了提升性能,我们通常会选择将拆分后的多张表放在不同的数据库中。
2024-05-12 16:22:36
937
原创 什么是读写分离?
读写分离将读操作和写操作分别分配给不同的数据库实例,以提高系统的吞吐量和性能。一般情况下,我们都会选择一主多从,也就是一台主数据库负责写,其他的从数据库负责读。主库和从库之间会进行数据同步,以保证从库中数据的准确性。这样的架构实现起来比较简单,并且也符合系统的写少读多的特点。
2024-05-11 11:27:26
811
原创 乐观锁、悲观锁、互斥锁、读写锁
乐观锁和悲观锁是两种不同的锁机制,用于在多线程环境下解决资源竞争问题。互斥锁和读写锁是两种常见的锁类型,它们都可以用来实现乐观锁或悲观锁。
2024-05-10 19:50:52
794
原创 Spring AOP浅谈
AOP技术利用一种称为“横切”的技术,解剖封装的对象内部,并将那些影响了多个类的公共行为封装到一个可重用模块,这样就能减少系统的重复代码,降低模块间的耦合度,并有利于未来的可操作性和可维护性。AOP把软件系统分为两个部分:核心关注点和横切关注点。业务处理的主要流程是核心关注点,与之关系不大的部分是横切关注点。横切关注点的一个特点是,他们经常发生在核心关注点的多处,而各处都基本相似。比如权限认证、日志、事务处理。
2024-05-10 16:51:25
402
1
原创 Spring框架中的单例Bean是线程安全的吗?
但是,在多线程操作中如果需要对Bean中的成员变量进行数据更新操作,这样的Bean称之为有状态Bean,所以,有状态的单例Bean就可能存在线程安全问题。因此,Spring容器中的Bean其实都是根据我们自己写的类来创建的实例。3、在类中定义 ThreadLocal 的成员变量,并将需要的可变成员变量保存在 ThreadLocal 中,ThreadLocal 本身就具备线程隔离的特性,这就相当于为每个线程提供了一个独立的变量副本,每个线程只需要操作自己的线程副本变量,从而解决线程安全问题。
2024-05-10 11:06:05
526
原创 java泛型浅谈
Java泛型这个特性是从JDK 1.5才开始加入的,因此为了兼容之前的版本,Java泛型的实现采取了“伪泛型”的策略,即Java在语法上支持泛型,但是在编译阶段会进行所谓的“类型擦除”(Type Erasure),将所有的泛型表示(尖括号中的内容)都替换为具体的类型(其对应的原生态类型),就像完全没有泛型一样。
2024-05-09 19:12:11
569
原创 内网穿透使用教程
内网穿透,即NAT穿透,网络连接时术语,计算机是局域网内时,外网与内网的计算机节点需要连接通信,有时就会出现不支持内网穿透。就是说映射端口,能让外网的电脑找到处于内网的电脑,提高下载速度。不管是内网穿透还是其他类型的网络穿透,都是网络穿透的统一方法来研究和解决。
2024-05-08 10:45:42
473
原创 Shiro + JWT 进行登录验证
Shiro是一个关于java的安全框架,可以实现用户的认证和授权,简单易用。首先导入依赖在 doGetAuthenticationInfo 方法中,使用 jwtUtil.isVerify(jwt) 方法做验证处理。这是一个自定义的 Filter 在 onAccessDenied 获取 request 请求的 token 入参信息,之后调用 getSubject 进行验证处理。这部分是一个设置过滤器和拦截处理,把 jwt 的过滤器设置上,之后拦截指定的 /verify 方法。
2024-05-07 19:11:55
586
原创 RateLimiter 限流 —— 通过切面对单个用户进行限流和黑名单处理
关于登录的安全性管理有较多的手段,包括;设备信息、IP信息、绑定的信息、验证码登各类方式。不过在一些网页版的登录中,如果有人想办法把你的验证码给我,我就可以登录你的账户,查看你的数据。对于一些不法分子通过让你进入某些应用的录屏会议后(XXX退货返现),就能拿到你的验证码,并做登录操作。还有一些是完全流氓式做法,就玩命的一些快递📦手机号+验证码频繁的撞接口,也是有概率成功登录的。因此,为了避免这种情况,我们还需要思考如何防范。
2024-05-04 16:21:31
692
1
原创 java注解浅述
Java 5之后可以在源代码中嵌入一些补充信息,这种补充信息称为注解(Annotation)。注解并不能改变程序运行的结果,不会影响程序运行的性能。有些注解可以在编译时给用户提示或警告,有的注解可以在运行时读写字节码文件信息。无论是哪一种注解,本质上都是一种数据类型,或者一种接口类型。到Java 8为止Java SE提供11种内置注解。其中有 5 个是基本注解,它们来自于java.lang包。
2024-05-04 15:53:41
600
原创 订单支付异常情况处理
正常情况下我们选择商品然后购买,完成支付后就发货了,但是因为大多采用的是http协议,如果出现了网络异常等情况就会掉单之类的,比如顾客付完钱了但是订单状态并没有改变,还有就是支付成功后回调失败,导致没有发货。对于真正的服务,这些异常情况我们也得考虑进去。那么,这些就都是可能出现的异常流程。虽然概率很低,但随着使用规模的增加,很低概率的问题,也会产生较大规模的客诉问题。1. 掉单补偿,检测未接收到或未正确处理的支付回调通知(即用户已经扫码支付成功但是订单状态没有改变)因此,我们通过使用定时任务完成补偿。
2024-05-03 19:43:51
2821
原创 统一异常处理
我们需要定义服务中可能抛出的自定义异常类。这些异常类可以继承自,并携带有关异常的相关信息。即可理解为局部异常,用于特定的业务处理中异常。手动埋点抛出。super();
2024-05-02 17:07:19
316
原创 Apollo Dreamview+之播放离线数据包
您可以通过包管理和源码两种方式快速体验离线数据包播放操作。其中进入 docker 环境和启动 dreamview+ 的命令有所区别,请您按照命令进行操作。启动 Dreamview+ 之后,进入 Dreamview+ 界面,您可以选择默认模式,也可以选择其他模式播放数据包。您可以通过包管理或源码方式启动 Dreamview+,请您选择一种方式按照相应命令启动 Dreamview+。完成 Dreamview+ 插件安装,参见 Studio 插件安装。中先下载需要的数据包。在 Dreamview+ 中。
2024-04-30 15:28:34
863
1
原创 Apollo Dreamview+之Studio插件安装
进入 Dreamview+,刷新页面,左下角出现头像和资源中心按钮,即插件同步成功,可以开始资源下载了。之后在您的 docker 环境中运行该指令,插件同步(Dreamview+的登录)就完成了。,选择 Apollo 最新版本,并单击。
2024-04-30 15:23:15
839
1
原创 Apollo应用实践之Dreamview +快速使用
Dreamview+ 是 Apollo 内置的一个 web 应用程序,为开发者提供各个自动驾驶模块的可视化输出界面,如规划路径、定位信息、底盘状态等。在自动驾驶车辆行进过程中,通过 Dreamview+ 可以对车辆硬件、各自动驾驶模块的状态进行实时监测,利用人机交互接口对车辆及各模块进行启停等控制操作,使用 PnC 监视器等调试工具定位问题,帮助开发者对自动驾驶过程有更加全面的掌控。本实验将使用 Dreamview+ 播放并分析自动驾驶离线数据包。
2024-04-30 11:38:16
1139
空空如也
为什么c语言调试出错误,显示写入位置时发生访问冲突
2022-03-26
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅