自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

伍六七的博客

不想当CTO的程序猿不是好程序猿

  • 博客(261)
  • 资源 (3)
  • 问答 (2)
  • 收藏
  • 关注

原创 Java 面试必考,Vector、ArrayList、LinkedList有何区别?

大家好,我是伍六七。今天,阿七继续带大家来看一道经典面试题。对比 Vector、ArrayList、LinkedList 有何区别?你应该使用什么线程安全的集合框架?让我们开始正文。

2023-11-15 12:33:24 95

原创 10 分钟学会使用 Java 多线程

有些情况,我们需要做到资源隔离,比如上面使用 进行 IO 操作,我们需要自定义线程池,那我们怎么定义呢?

2023-11-14 13:10:24 280

原创 Java必考面试题,谈谈你对 Spring AOP 的理解

AOP 通过将横切关注点与核心业务逻辑分离,提高了代码的可维护性和可重用性。

2023-11-10 12:56:14 89

原创 AI 辅助学习:Spring Boot 集成 PostgreSQL 并设置最大连接数

这是我自己之前整理的面试题,靠着这份面试题,我从 30 人的小公司,进了 2000 人+的央企子公司,之后又进了互联网大厂。通过以上步骤,你可以在Spring Boot项目中使用Apache数据库连接池配置数据源,并限制连接数据库的最小和最大连接数。我正在使用 spring boot 连接 PostgreSQL 数据库,我需要限制连接数据库的最小和最大连接数,怎么实现?如果没有看到相关信息,可能是配置有误或其他原因导致属性未生效,你可以检查配置是否正确,并查看其他可能的错误信息。大家好,我是伍六七。

2023-11-08 12:54:59 828

原创 AI 编程界的扛把子

现在,AI 破局 16 位顶级编程高手(里面有大厂架构师、技术负责人、大厂程序员)共创的 AI 编程小册,几天时间已经破3000人了,10 块钱,涵盖Java、C++、Python、Go、K8S、hadoop、前端、数据库、操作系统、机器学习、运维测试等硬核编程知识,更有 AI 全面赋能编程提效。最近,我还参加了公司组织的 AIGC 大赛,通过 AI 辅助程序员可视化项目代码,AI 根据输入的整个项目代码,直接输出接口时序图、流程图,项目流程图等。这些,都离不开我对 AI 编程的不断学习与应用。

2023-11-06 19:54:49 195

原创 六个问题带你入门 Java 编程

大家好,我是伍六七。今天我们来讲讲 Java 出现的历史原因,以及为什么 Java 现在还这么火?

2023-11-06 12:54:23 96

原创 后端除了增删改查还有什么?

刚工作 3、5 年的 Java 程序猿们,在日常工作中开始得心应手,基本上没有什么问题能难倒我们。这个时候,我们很容易陷入迷茫当中,不知道怎么继续提升自己?怎么才能进阶资深、专家、总监。我们今天从面试八股文和项目问题,来看这个问题的答案。

2023-11-03 16:14:48 350

原创 AI时代,程序员解bug,新思路

这是我自己之前整理的面试题,靠着这份面试题,我从 30 人的小公司,进了 2000 人+的央企子公司,之后又进了互联网大厂。

2023-11-01 12:39:36 114

原创 如何短时间突击 Java 通过面试?

如果内推了很多公司,还是拿不到 offer,那可能你的能力和你想去的公司之间有 gap,你需要重新评估你的能力,看看是否降低一下预期,先去小一点的公司培养一下能力,当做跳板,再去更好的公司。之后,就是继续熟悉和结合自己的工作,深入自己面试题目,让所有的题目都结合你自己的工作来回答,让面试官觉得你不是一个靠背诵的人,是自己真的碰到了并且认证去思考这些问题的人。增加面试机会:内推可以让面试者获得更多的面试机会,因为内推员工可以将面试者的简历推荐给多个部门和岗位,也可以将面试者的优势推荐给面试官。

2023-10-31 12:33:58 152

原创 代码没注释?一个方法几百行?

干程序员的都有接收别人的代码的经历,大部分时候,我们都会偷偷骂一句“这人是傻逼吧,这代码写的这么烂!“一个方法写几百行,还没有注释,鬼知道写的什么东西!现在,你不需要为这个事情担心了。AI 可以帮你生成注释,代码拆分。

2023-10-30 12:50:37 165

原创 Java 基础面试题,JVM 内存模型?

这样,我们可以根据Java代码的结构和特点,分析每个部分中存放的具体数据。需要注意的是,具体的内存分配和数据存储可能会受到 JVM 的具体实现和优化策略的影响。我们在 Java 岗位的面试题中,大概率会碰到这样一个面试题:请你解释你对 JVM 内存模型的理解。

2023-10-27 14:09:36 148

原创 有财务自由的思维,才能实现财务自由!

前两天在洋哥、竹子姐以及渡心总等大佬的带领下,第一次体验了穷爸爸富爸爸的作者研发的现金流游戏,收获颇丰!心灵创富 现金流游戏分为三步:一局游戏,时间两个小时;总结分享时刻;以及,最最重要的结合自己的生活,复盘自己关键时间点的选择,是否是符合财务自由的决策。首先,说一下明面上的游戏规则:每个人都选择一张身份卡,这张身份卡决定了你的工资,还有每个月的现金流。你的身份可能是小学老师、飞机驾驶员、医生等等,他们月工资和现金流(每月结余)各不一样。老鼠圈,所有玩家没实现财务自由之前都在老鼠圈。

2023-10-25 12:58:05 101

原创 AI提效Java程序员,从这里开始!

GPT 今天大火,但是 GPT 对于 Java 等程序员有什么作用呢?今天我分享一个能对 Java 程序员提效的点:GPT 能很好的帮我们解决代码生成的问题,以前像 MyBatis 等代码生成都需要使用代码生成包,或者插件。现在,你只需要把你的问题仍给 GPT 就行了,下面就是几个生成代码的例子。另外,我之后一段时间打算分享 AI 对 Java 等程序员提效方面的内容,大家有兴趣的可以后台留言。同时,有好的建议,如果采纳,也可以给大家发红包哟!

2023-10-25 09:00:00 105

原创 程序员空闲时间应该卷技术,还是找副业?

在程序员的职业生涯中,技术提升和副业都有着重要的意义。我们应该根据自己的实际情况来选择技术提升和副业。技术提升可以帮助我们不断地提高自己的技术能力,而副业可以帮助我们拓宽自己的视野和增加自己的经验和收入。技术提升和副业之间是可以相互促进的,我们应该根据自己的实际情况来平衡技术提升和副业的关系,从而更好地发展自己的职业生涯。

2023-10-22 15:00:00 67

原创 Redis 底层对 String 的 3 个优化

回答出来以上三点,表明你对 Redis 的 String 类型的源码是有研究的,而不是每天只顾 CRUD,只顾写业务。另外,也能表明你的技术深度,面试官一定会对你另眼相看哟!加油!

2023-10-20 12:29:35 463

原创 人人都要知道的,Redis缓存使用的三种模式

Cache Aside是一种常见的缓存模式,也是最简单的一种缓存模式。在Cache Aside模式中,应用程序首先从缓存中读取数据,如果缓存中不存在,则从数据库中读取数据,并将数据写入缓存中。在更新数据时,应用程序首先更新数据库中的数据,然后删除缓存中的数据。当下一次请求到来时,应用程序会从数据库中读取最新的数据,并将其写入缓存中。Cache Aside模式的优点是简单易用,缓存和数据库之间的数据一致性较好。

2023-10-19 12:19:29 358

原创 程序员的护城河是什么?

​今天我们来聊聊什么是程序员​的护城河。在美国等技术发达的国家,程序员可以以技术生活到退休。但是,在中国,光有技术,是不行的。注意,我说的是光有技术。。

2023-10-18 10:59:03 109

原创 面试58同城!面试官问我redis 雪崩、穿透、击穿怎么处理?

结语:通过理解和应对 Redis 缓存雪崩、穿透和击穿的概念、原因和解决方案,Java 工程师们可以更好地应对面试中与缓存相关的问题,提升自己的面试竞争力。缓存雪崩指的是在某个时间点,缓存中的大量数据同时失效,导致大量请求直接落到数据库上,造成数据库压力过大,甚至引发系统崩溃。缓存击穿指的是某个热点数据的缓存过期,导致大量请求同时访问数据库,造成数据库压力过大。缓存穿透指的是恶意请求直接绕过缓存,直接请求数据库,导致数据库压力过大。同时,合理使用缓存技术和策略对于系统的性能和稳定性也至关重要。

2023-10-17 12:48:28 115

原创 提升微服务稳定性与性能:深入剖析Netflix Hystrix框架

com.netflix.hystrix.HystrixCommand 是 Netflix Hystrix 框架中的核心类,用于实现服务的容错和熔断功能。它通过封装远程服务调用,提供容错处理、熔断机制和监控统计等功能,适用于微服务架构和高并发场景。通过使用 HystrixCommand,可以提高系统的可用性、稳定性和性能。

2023-10-16 12:38:28 553

原创 提升微服务稳定性与性能:深入剖析Netflix Hystrix框架

com.netflix.hystrix.HystrixCommand 是 Netflix Hystrix 框架中的核心类,用于实现服务的容错和熔断功能。它通过封装远程服务调用,提供容错处理、熔断机制和监控统计等功能,适用于微服务架构和高并发场景。通过使用 HystrixCommand,可以提高系统的可用性、稳定性和性能。

2023-10-16 11:45:00 328 1

原创 使用大模型提效程序员工作

通过在接手其他语言的项目中使用大模型、生成脚本辅助日志查询、根据接口文档使用大模型直接生成Java Bean代码以及学习新技术这四个场景的实践,我们可以更快地理解代码、更快地查找线上问题,以及减少编码时间。比如:你可以输入一段 Lua 脚本,询问大模型,这段脚本的意思,还可以让它详细解释每行代码的意思,让我们更快接手一个我们不熟悉编程语言写的项目。比如:我们需要接入其他人写的接口,他们只给了我们一个文档,文档中有表格,列举了每个字段的类型和意思,以及返回的一个示例 Json。

2023-10-12 12:38:56 361

原创 差点跑路!布隆过滤器大key,引发Redis崩溃

在大数据场景下,布隆过滤器是一种常用的数据结构,用于快速判断元素是否存在。而 Redis 则是一种流行的缓存和数据存储系统,广泛应用于互联网领域。然而,当布隆过滤器的 key 过大时,会引发 Redis 的崩溃,给系统带来严重的影响。做了刚转行互联网不久的新人,来公司不久,做了一个计算弹窗 CTR 的功能,需要通过设备 id 去重,以计算弹窗的 UV CTR。我这个时候想到了布隆过滤器,在 Redis 存储布隆过滤器,布隆过滤器中存储弹过窗的设备 id。

2023-10-11 10:40:36 142

原创 优秀程序员是怎么思考的?

现在在哪?要到哪去?怎么到那去?你应该要很清楚以始为终以始为终、任务分解、沟通反馈、自动化通过这个思考框架和四个思考原则,优秀程序员能够更好地思考问题、解决难题,并不断提升自己的技术水平。在我们的职业生涯中,思考是一项重要的技能,它能够帮助我们成为更出色的程序员。让我们在思考中不断成长,追求技术的卓越!文章首发公 Z 号掘金有时会漏发,欢迎大家关注:十二又十三,及时接收最新文章。

2023-10-08 22:44:17 688

原创 211 毕业就入职 30 人的小公司是什么体验

最后,培养更加全面,公司有一个同事,因为各方面比较优秀,在甲方爸爸的心中认可度比较高,自己成立了一个小公司,还是接原来甲方的需求,成功的从小员工变身为老板,后来还扩招了好几个员工,妥妥的打败大厂一般总监。其次,小公司更加自由,做一个项目,它不会限制你使用的技术,只要你能实现需求,不会管你用的什么技术、什么技术方案,你可以更加容易的实现你的技术想法,验证你的想法。在这家公司,我收获了 IT 圈的第一波朋友,也收获了工程化的思想,积攒了各类技术的经验,为我之后的工作提供了丰厚的积累。主要原因是因为没得选。

2023-10-07 23:04:23 712

原创 翻墙工作?承德程序员被罚款 108 万元!

然后,对于怎么定义违法所得,引起了很多人的思考?翻墙上班违法吗?翻墙使用 油管账号分享视频获取广告收入违法吗?很多人就说了,996 的“违法”所得,需要没收吗?更可气的是,很多人 996 都没有收入。但是,根据中国的法律法规,违法所得是指行政相对人从事违反国家法律、法规规定的活动,即实施了国家法律、法规禁止的行为,或未履行法定义务的所获得的利益。

2023-09-29 15:06:24 2935 1

原创 持续闭环工具PDCA

通过明确问题和目标、收集数据和信息、分析和评估结果,以及持续改进和循环迭代,我们可以不断提高工作效率和质量,实现持续改进的目标。在 PDCA 循环的第一个阶段,我们需要确定目标和需求,并制定相应的计划和策略。通过收集相关的数据和信息,我们可以更好地了解当前的状况,为后续的分析和评估提供依据。这意味着我们要付诸行动,将计划付诸实施,并收集相关的数据和信息,以便后续的分析和评估。PDCA循环是一个持续改进的过程,通过不断地循环迭代,我们可以不断优化工作流程,实现持续改进。

2023-09-28 16:37:38 178

原创 redis实现布隆过滤器

布隆过滤器是一种基于概率的数据结构,用于判断一个元素是否存在于一个集合中。相比于传统的数据结构,布隆过滤器具有占用空间少、查询速度快的特点,常被用于缓存、爬虫去重等场景。Redis 作为一款流行的 NoSQL 数据库,也提供了对布隆过滤器的支持。本文将介绍如何使用 Redis 实现布隆过滤器,并提供 Java 示例代码和单元测试。在实际应用中,布隆过滤器可以有效地减少 I/O 操作和网络请求,提升系统性能和效率。通过 Redis 提供的布隆过滤器扩展模块,我们可以方便地在Java中实现布隆过滤器功能。

2023-09-27 16:55:45 325

原创 JDK 21探秘:引领Java开发新潮流的强大功能

JDK 21是Java开发工具包的最新版本,它引入了许多令人振奋的新特性,旨在提高开发人员的生产力和代码质量。在本文中,我们将介绍一些JDK 21的新特性,并提供使用示例,以帮助您更好地理解和应用这些功能。

2023-09-21 10:58:40 264

原创 Reactor 第十二篇 WebFlux集成PostgreSQL

本文介绍了如何使用 Reactor 和 WebFlux 集成 PostgreSQL,实现响应式的数据库访问。通过使用 Spring Data R2DBC 和响应式的流处理,我们可以方便地进行数据库的增删改查操作。这种方式可以提升系统的性能和扩展性,特别适用于高并发和大数据量的场景。希望本文对您在使用 Reactor 和 WebFlux 集成 PostgreSQL 方面有所帮助。无论是使用 PostgreSQL 还是其他数据库,使用响应式方式来进行数据库访问都能带来很多好处。

2023-09-15 15:17:54 334

原创 Reactor 第十一篇 WebFlux集成Redis

本文介绍了如何使用 Reactor 和 WebFlux 集成 Redis 来处理缓存操作。通过使用 ReactiveRedisOperations 和 Spring 框架的缓存注解,我们可以方便地实现响应式的缓存逻辑。这种方式可以提升系统的性能和扩展性,特别适用于高并发和大数据量的场景。希望本文对您在使用 Reactor 和 WebFlux 集成 Redis 方面有所帮助。

2023-09-13 15:40:39 366

原创 Reactor 第十篇 定制一个生产的WebClient

刚开始尝试使用 Spring WebFlux 的时候,很多人都会使用 Mono.fromFuture() 将异步请求转成 Mono 对象,或者 Mono.fromSupplier() 将请求转成 MOno 对象,这两种方式在响应式编程中都是不建议的,都会阻塞当前线程。因此,可以使用 Mono.fromSupplier() 方法将一个纯计算型的操作转换为 Mono 对象,而将一个异步返回结果的操作转换为 Mono 对象时,可以使用 Mono.fromFuture() 方法。

2023-08-21 19:22:52 828

原创 使用大模型学习logback框架,太香了

大模型,如chatGPT3.5、GPT-4,国内的文心一言、通义千问、讯飞星火等,对文字工作者,图片、视频工作者的工作效率提升是巨大的,当你学会使用这些工具之后,你的工作和学习效率会大大提升,把其他人甩在身后。今天,我就用 zelinAI 包装 chatGPT3.5 学习了 Spring Boot 项目使用 logback 打印日志的最佳实践,效率杠杠的,一起来学习吧。

2023-05-22 20:04:31 559

原创 【Reactor第八篇】WebFlux 服务编排

WebFlux 服务编排是指使用 WebFlux 框架来编排多个的执行顺序和数据流动,从而构建出一个完整的、基于事件驱动的响应式应用程序。WebFlux服务编排的优势如下:高性能:WebFlux基于响应式编程模型,可以使用少量的线程处理大量的请求,从而提高系统的并发能力和吞吐量。异步处理:WebFlux可以异步处理请求和响应,避免线程的阻塞和等待,提高系统的并发能力和性能。高可靠性:WebFlux基于事件驱动的编程模型,可以更好地处理错误和异常,从而提高系统的可靠性和稳定性。

2023-04-25 17:36:53 532

原创 google Guava包RateLimiter使用最佳实践

如果您使用的是非阻塞的逻辑,并且需要根据RateLimiter的许可证可用性做出决策,则可以使用tryAcquire()方法来尝试获取许可证。Resilience4j 是一款支持多种限流和熔断策略的开源库,支持QPS、线程池、超时、重试等熔断和限流策略,可以帮助开发人员轻松实现应用程序的可靠性和弹性。在创建RateLimiter对象时,建议使用静态工厂方法来创建,因为它提供了更清晰的API,并且允许您使用不同的参数值来创建RateLimiter对象。该方法用于获取指定数量的许可证,并返回等待的时间。

2023-04-14 16:18:10 706

原创 ToC业务用户弹窗的技术方案

现在很多 ToC 客户端,比如:滴滴、美团、携程等等,都有很多的弹窗,那后端怎么设计更合理、更方便、成本更低呢?我这里说的弹窗是说一级页面的弹窗,比如客户端的首页、个人中心页面、订单页面等。这种一级页面一般都有专门的部门负责,其他业务方需要接入弹窗,需要通过这个部门来接入。

2023-03-31 14:49:55 316

转载 借助Redis Bitmap实现简单的布隆过滤器

要初始化一个布隆过滤器的话,需要两个参数:预估的元素数量,以及可接受的最大误差(即假阳性率)。Bitmap在Redis中并不是一个单独的数据类型,而是由字符串类型(Redis内部称Simple Dynamic String,SDS)之上定义的与比特相关的操作实现的,此时SDS就被当做位数组了。另外,setbit指令不会重置对应Key的过期时间戳。Redis提供的Bitmap正好能够作为布隆过滤器所需要的位数组的基础,本文先简要介绍Bitmap,然后给出基于它的布隆过滤器实现。

2023-03-08 15:20:22 701

翻译 【翻译】Reactor 第七篇 Spring WebFlux 怎么进行异常处理

1 概览在本教程中,我们将通过一个实际示例了解Spring WebFlux项目中处理错误的各种策略。我们还将指出使用一种策略比另一种策略更有利的地方,并在最后提供完整源代码的链接。2 开始示例代码maven 设置和之前介绍 Spring WebFlux 的文章一样,对于我们的示例,我们将使用一个 RESTful 端点,它将用户名作为查询参数并返回“Hello username”作为结果。首先,让我们创建一个路由函数,这个路由函数将 “/hello” 请求路由到处理程序中名为 handleReque

2023-02-17 15:27:46 733

原创 【翻译】图像到Base64字符串转换

1 概览在这个简短的教程中,我们将介绍如何使用 Apache Common IO 包和 Java 8 原生类 Base64 将图片文件转成 base64 字符串,然后把 base64 字符串再转成图片。这个操作也可以应用到任何二进制文件或者二进制数组中。当我们需要以 json 格式传输二进制内容的时候,例如从移动app程序传到到 REST 端时,它非常有用。2 Maven 依赖添加一下依赖到 pom.xml 中:<dependency>    &

2022-12-23 19:59:53 1055

原创 工作 7 年的老程序员,现在怎么样了

犹记得高中班主任说:“大家努力考上大学,大学没人管,到时候随便玩”。我估计很多老师都这么说过。我考上大学(2010年)之前也是这么过的。第一年哥哥给买了个一台华硕笔记本电脑。那个年代买华硕的应该不少,我周边就好几个。有了电脑之后,室友就拉着我一起 cs,四个人组队玩,那会觉得很嗨,上头。后来看室友在玩魔兽世界,那会不知道是什么游戏,就感觉很好玩,再后来就入坑了。还记得刚开始玩,完全不会,玩个防骑,但是打副本排DPS,结果还被人教育,教育之后还不听(因为别的职业不会玩),就经常被 T 出组。之后,上课天天

2022-12-05 11:49:49 371 1

翻译 G1垃圾回收器教程

1 G1 垃圾回收器garbage-first (G1)收集器是一个服务器风格的垃圾收集器,针对具有大内存的多处理器机器。它在同时实现高吞吐量的情况下,以很高的概率满足垃圾收集(GC)暂停(STW:stop the word)时间目标。G1垃圾收集器在Oracle JDK 7 update 4和更高版本中得到了完全支持。G1收集器专为以下应用程序设计:可以向 CMS 垃圾回收器一样和用户线程并行。不会有长时间的 GC 停顿,且空闲空间更紧凑。需要更多可预测的GC暂停时间。不希望牺牲大量吞吐量不需要一个

2022-11-01 17:25:57 437

爬虫工具 scrapy 包:pymssql-2.1.4-cp36-cp36m-win_amd64.whl

安装 scrapy 爬虫工具的前置包,对应于 python 3.6

2018-09-27

pymssql-2.1.4-cp36-cp36m-win_amd64.whl

安装 scrapy 爬虫工具的前置包,对应于 python 3.5

2018-09-27

ojdbc5.jar

用户 oracle 数据库连接,实用的 jar 包。可以用来解决 mybatis 获取不到Date类型的时分秒的问题。

2018-09-17

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

TA关注的人

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