自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 线程池详解

线程池利用阻塞队列实现任务的排队等待,而阻塞队列包含ReentrantLock属性,利用AQS的条件等待队列调用LockSupport.park(this)将自己设置为WAITING状态。

2024-10-14 23:25:12 1636

原创 学习日报(0923-0929)

最新的解决方案是代码里新加一个字段(把处理人工号拼接成一个字符串),创建任务时把这个字段写入es(text格式),查询时通过es做条件查询就可以了。原本逻辑是:任务表里有对应的人员工号字段,在列表查询时把当前登录人的工号传进去,以工号做条件把有关的所有数据查出来,再做分页。场景是 在一个类似 项目+任务管理系统,要求每个业务人员在列表中只能看到和自己有关的数据(项目或任务),如何做这个鉴权。整理了一些之前项目的问题,把数据鉴权的逻辑重新想了一下,写到这里作为参考。更新秋招进度:美团AI面挂、快手一面挂。

2024-09-29 21:14:57 196

原创 Mysql是如何解决并发问题的?(脏读、幻读、不可重复读)

什么是脏读?脏读又称无效数据的读出,是指在数据库访问中,事务T1将某一值修改,然后事务T2读取该值,此后T1因为某种原因撤销对该值的修改,这就导致了T2所读取到的数据是无效的。脏读就是指当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交(commit)到数据库中,这时,另外一个事务也访问这个数据,然后使用了这个数据。因为这个数据是还没有提交的数据,那么另外一个事务读到的这个数据是脏数据,依据脏数据所做的操作可能是不正确的。什么是不可重复读?

2024-09-22 21:41:43 3060

原创 学习日报 9.16-9.22

高强度背八股文,现在很多八股文比去年找工作的时候理解的更深了。对很多场景问题也可以给一些基本的解决方案。感觉很多地方都可以串起来,希望能给面试官讲清楚吧。目前整理了大概15w字的文档。简历挂:蔚来3个意向目前挂1,饿了么挂。测评:兆易创新、京东、小米、顺丰、腾讯。

2024-09-22 21:25:35 266

原创 学习日报(0913-0915),代码随想录动态规划+项目+技术分享:JVM垃圾回收

1.开始投25届的秋招了,因为毕业时间比较尴尬,25年9月,大部分企业算成26届的,目前投了大概15家做了3家测评,一直不投简历感觉学习效率不高。但估计明年秋招才是需要集中投的。代码随想录贪心的部分先跳过了,因为没什么规律,不好总结。先开始做动态规划的题了。2.完善RPC项目,主要学了netty和zookeeper的一些用法,收获很多。3.技术分享今天主要整理了JVM垃圾回收相关的问题。

2024-09-16 01:34:34 819

原创 0905-0912 学习日报 代码随想录回溯完结+项目+技术分享

学校开学了 有点忙不过来。随便总结了点模版,组合问题还有如何去重。

2024-09-12 00:07:17 412

原创 synchronized分享

所以,在JDK1.6 中出现对锁进行了很多的优化,进而出现轻量级锁,偏向锁,锁消除,适应性自旋锁,锁粗化(自旋锁在1.4就有只不过默认的是关闭的,JDK1.6是默认开启的),这些操作都是为了在线程之间更高效的共享数据,解决竟争问题。在偏向锁模式下,锁会偏向于第一个获取它的线程,JVM会在对象头中记录该线程的ID作为偏向锁的持有者,并将对象头中的 Mark Word 中的一部分作为偏向锁标识。在这种情况下,如果其他线程访问该对象,会先检查该对象的偏向锁标识,如果和自己的线程 ID 相同,则直接获取锁。

2024-09-06 22:04:59 1004

原创 0904学习日报 代码随想录二叉树、Java并发、场景题

二叉树的题做完了,明天把二叉树复习一遍再整理几个题型的模版。整理并发相关问题、整理场景问题。

2024-09-04 20:30:18 145

原创 为什么单表2000万要考虑分表?

Innodb中的数据页默认大小是16KB,并且B+树的每个节点都对应着一个数据页,包括根节点、非叶子节点和叶子节点。B+树的非叶子节点对应着数据页,其中存储着主键+指向子节点(即其他数据页)的指针。B+树的叶子节点包含实际的数据行,每个数据行存储在一个数据页中。我们已知一个根节点的存储量是16KB,并且他作为非叶子节点,他只需要存储一个主键+一个指针就行了。根节点可以扩展出1170个二层高度的子节点,而三层的B+树则会有两层非叶子节点。一般建议将B+树的高度控制在3到4层以内,以获得更快的查询性能。

2024-09-04 20:25:06 250

原创 学习日报 0829-0903 Java基础+集合+并发,代码随想录, 项目

2、社区项目接入redis、使用satoken实现登录鉴权机制、接入gateway网关、微服务注册到nacos、角色权限开发。二、总结了二叉树题型的模板(bfs、dfs、迭代法、针对二叉搜索树的中序遍历)一、总结了Java的常考题,学了之前没学清楚的一些底层知识。这几天把项目上线、学JVM和Mysql的题。1、整理了之前工作的项目,写了一份新简历。

2024-09-03 20:31:19 271

原创 代码随想录二叉树bfs总结

【代码】代码随想录二叉树bfs总结。

2024-08-28 00:04:08 336

原创 学习日报 0823-0825 项目+场景题+计算机网络+代码随想录

周末学习效率不高,攒了三天一起发项目进度:nacos实现属性动态切换、登录鉴权模块设计nacos这里进行的比较顺利,没遇到问题直接跑通了。前端设置按钮置灰操作,当用户点击一次后按钮禁用,但是有些情况可能来不及置灰,或者被用户绕过置灰操作。可以通过token的机制避免重复提交,当用户访问页面的时候,请求后端服务拿到一个token,然后下一次接口点击的时候把token带过来,服务端对token进行验证,验证该token是否被使用过,如果没有被使用过才可以进行点击。

2024-08-25 21:58:00 645

原创 学习日报 0822 项目+场景

7.分库分表: 将一个大型的数据库拆分成多个小型的数据库(分库),然后将每个小型数据库中的表再进行拆分(分表),从而减轻单个数据库或表的读写压力,通过分库分表,可以将大量的读写操作分散到多个数据库或表中,从而提高系统的并发度和响应速度。布隆过滤器是一种数据结构,用于快速检索一个元素是否可能存在于一个集合中,他的基本原理是利用多个哈希函数,将一个元素映射成多个位,然后将这些位设置为1.当查询一个元素时,如果这些位都被设置为1,则认为元素可能存在,否则肯定不存在。请使用 7 或更高版本。

2024-08-22 23:15:37 1954

原创 学习日报 0821 Effective Java + 场景 + 代码随想录

这里的静态工厂不同于设计模式的工厂方法静态工厂方法对比构造器的优缺点优点:1.有名称,可以确切的描述正被返回的对象2.不必每次调用都创建一个新对象,可以使用预先构建好的实例,或者将构建好的实例缓存起来,进行重复利用,从而避免创建不必要的重复对象。(为重复的调用返回相同的对象)3.可以返回原返回类型的任何子类型的对象,这种灵活性的应用是API可以返回对象,同时又不会使对象的类变成公有的。以这种方式隐藏实现类会使API变得非常简洁。

2024-08-21 22:11:58 730

原创 学习社区项目笔记 0820

MyBatis通过抽象接口Log,将日志输出接口化,用户可以根据需求选择适合自己的日志输出实现类,其中org.apache.ibatis.logging.stdout.StdoutImpl便是一种可供选择的实现类。例如,我们可以将该实现类配置在Test模块中,测试完毕后,我们可以将其换用别的实现类,如org.apache.ibatis.logging.slf4j.Slf4jImpl等输出日志信息到日志文件中,这样可以结合日志分析工具查看详细的日志信息。该实现类的主要优点在于其简便性和易于。

2024-08-20 20:16:08 1097

原创 代码随想录 day6 哈希表

【代码】代码随想录 day6 哈希表。

2024-08-20 20:12:10 256

原创 代码随想录第四天 链表

递归非递归。

2024-08-18 23:09:10 145

原创 代码随想录第三天 链表

移除链表元素 leetcode203。设计链表 leetcode707。反转链表 leetcode206。重点是利用虚拟头结点。

2024-08-17 18:40:58 124

原创 0816 学习社区项目笔记

通过工厂+策略模式来处理不同题目的插入逻辑。

2024-08-16 22:37:57 198

原创 代码随想录第二天 长度最小的子数组、螺旋矩阵II、 区间和、 开发商购买土地

前缀和,需要注意区间问题 sum = p[b] - p[a - 1]学习输入输出的写法(ACM)4、长度最小的子数组。

2024-08-16 22:25:39 189

原创 代码随想录第一天笔记

3.有序数组的平方 leetcode977。左闭右闭写法 [left, right]左闭右开写法 [left, right)1、二分法 leetcode704。2.移除元素 leetcode27。暴力解法,注意第9行的 i--时间复杂度:O(log n)时间复杂度: O(n)空间复杂度:O(1)时间复杂度:O(n)空间复杂度:O(1)

2024-08-15 22:50:06 183

原创 0815 学习社区项目笔记

一些

2024-08-15 18:20:26 920 1

空空如也

空空如也

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

TA关注的人

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