首页
学习
活动
专区
工具
TVP
发布

后端架构

专栏作者
81
文章
17432
阅读量
13
订阅数
使用最短路径算法推荐春运回家路线
有个博主提出想使用python分析2024春运最忙路线,然后避开热门线路,分段购票回老家。因为铁路的售票系统估计也是以利益最大化的原则售卖数量很多的热门长线线路,目前有如下几个思路:
查拉图斯特拉说
2024-03-19
1230
Python使用递归实现目录树
说到目录数,下意识的很容易想起递归这个操作。当我们去获取一些文件目录的时候,递归是最合适的一种算法不管你是二叉树还是B+树,都能看到递归的影子。
查拉图斯特拉说
2024-03-13
1010
浅析ForkJoinPool类
ForkJoinPool类是Java中用于支持Fork/Join框架的关键类。它提供了一种用于并行执行任务的机制,通常用于处理递归划分的任务。ForkJoinPool类允许将大任务拆分成更小的子任务,然后并行执行这些子任务,并最终将结果合并起来。
查拉图斯特拉说
2024-02-18
2020
java8定义函数式接口
在Java 8中,Lambda表达式可以用来代替只有一个抽象方法的接口,这种接口称为函数式接口。函数式接口可以使用@FunctionalInterface注解进行标记,确保该接口只包含一个抽象方法。
查拉图斯特拉说
2024-02-17
2280
浅析ConcurrentHashMap
说起ConcurrentHashMap肯定会想到HashMap,ConcurrentHashMap 与 HashMap 的不同主要在于并发性。ConcurrentHashMap 是线程安全的,多个线程可以同时读写而不会导致数据不一致,而 HashMap 不是线程安全的,如果多个线程同时操作一个 HashMap,可能会导致数据不一致或者抛出 ConcurrentModificationException 异常。因此,在多线程环境下,推荐使用 ConcurrentHashMap 来避免并发访问的问题。
查拉图斯特拉说
2024-02-16
2020
DelayQueue队列实现原理
DelayQueue 是一个实现了 BlockingQueue 接口的类,用于存储实现了 Delayed 接口的元素,这些元素按照其到期时间的顺序被消费。
查拉图斯特拉说
2024-02-15
2150
java的阻塞队列使用和原理
阻塞队列在多种业务场景中都非常有用,特别是在需要实现生产者-消费者模式、任务调度、线程池等情况下。
查拉图斯特拉说
2024-02-14
1800
Redis存对象和存Json的思考
日常使用的还是很多的,经常会用radis存储一些json数据,对象数据,但是这样偶然间会发现不同的项目根据习惯的使用不同,有些人喜欢存对象,有些人喜欢存json。其实存json和存对象本质上到redis这边而言,它都是进行一个字符串的存储,只是会多一个类路径,然后就操作方面的区别。
查拉图斯特拉说
2024-02-12
2360
代码重构的一些建议
在进行编码的过程当中,有些时候会用一些代码检测工具接近对代码就进行一个检测,发现日常写的代码会有一些值得优化的问题,进行一个分享总结归纳。
查拉图斯特拉说
2024-02-10
920
double精度丢失问题
在Java中,使用double类型时可能会遇到精度丢失的问题。这是由于double类型是一种浮点数类型,在表示某些小数时可能会存在精度损失。这种情况通常是由于浮点数的二进制表示法无法准确地表示某些十进制小数,导致精度丢失。
查拉图斯特拉说
2024-02-09
2710
泛型<T>未定义类型之强制类型转换踩坑
这一节主要是介绍泛型强制类型转换。所产生的一些坑。一开始我还以为是jason转换的原因。因为之前配置的实体里面手动写的方法都生成了相应的属性,但是这次却没有,所以我一开始还以为是杰森。反虚化的原因。去直到我一步步锻炼去调试。会相应的问题才发现是类型转换异常。
查拉图斯特拉说
2024-02-08
950
SimpleDateFormat无法处理纳秒
这一节主要是介绍进行一个日期函数处理所踩坑的一个记录。这个SimpleDateFormat类大家都很熟悉,也是之前非常喜欢用的时间处理累类。平常可能会处理到的就是秒级别或者三位的毫秒级别。很少有接触到纳秒级别,因为用成了习惯,所以今天突然碰到一个使用纳秒的数据。然后就产生了一系列的异常。
查拉图斯特拉说
2024-02-07
1160
接口设计动态sql的一些思考
这个章节主要是在讲日常我们在进行一个SQL拼写的时候,需要注意的一些点有可能导致一个SQL注入。尤其是一些对表格进行排序的一些动态操作。因为之前没有想到一些好的方式,所以就进行了一个SQL属性传参数的编写。可以做到动态SQL对接口参数很友好,但是对安全性不友好。
查拉图斯特拉说
2024-02-06
1000
Go的逃逸分析及优化
在Go语言中,内存逃逸指的是变量在函数作用域之外继续存在的情况。当一个变量在函数内部定义,但在函数外部仍然被引用时,这个变量就会发生内存逃逸。这种情况下,编译器会将该变量分配到堆上,而不是栈上,以确保它在函数执行完后仍然可以被访问。
查拉图斯特拉说
2024-02-04
1150
Spring事务注解的原理
Spring的事务注解的原理是基于AOP(面向切面编程)实现的。当在Spring应用中使用事务注解时,Spring会使用AOP在方法调用前后插入事务管理相关的逻辑。具体来说,Spring会通过代理对象包装带有事务注解的类,然后在方法调用前开始事务,在方法调用后提交或回滚事务。
查拉图斯特拉说
2024-02-03
1020
聊聊LinkedBlockingQueue队列
在使用ReentrantLock之前,首先,我们需要对ReentrantLock有一个全面的理解。阅读前几篇关于ReentrantLock的文章,了解它的基本原理和使用方法,才能更好地运用到实际场景中。
查拉图斯特拉说
2024-02-02
750
Spring AOP的实现原理
Spring AOP(面向切面编程)是 Spring 框架中的一个重要功能,它通过在方法调用前后动态地添加额外的功能来实现横切关注点的处理,比如日志记录、性能监控、事务管理等。
查拉图斯特拉说
2024-02-01
1290
CountDownLatch源码详细讲解
CountDownLatch 的实现原理涉及到底层的线程同步和状态控制机制。在 CountDownLatch 内部,它使用了一个 Sync 内部类来实现具体的同步逻辑。Sync 类继承自 AQS(AbstractQueuedSynchronizer),这是一个用于构建锁和其他同步器的框架。
查拉图斯特拉说
2024-01-31
670
AQS与Condition实战
当谈到AQS(AbstractQueuedSynchronizer)和Condition的使用时,通常是指在Java中的并发编程中的相关概念和类。AQS是Java中用于实现锁和其他同步器的基础框架,Condition是AQS的一部分,用于在特定条件下进行线程之间的通信。
查拉图斯特拉说
2024-01-30
540
ReentrantLock源码详解
ReentrantLock是Java中用于多线程同步的一种机制,它允许线程在获得锁之后多次进入同步块,并且提供了比synchronized关键字更多的灵活性。ReentrantLock的源码分析可以帮助我们更好地理解其内部实现和工作原理。
查拉图斯特拉说
2024-01-29
830
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档