SevenCoding

31
获赞数
2
关注数
12
粉丝数
北京
IP 属地北京
2024-09-15 加入
浏览 6.6k

程序员Seven,记录Seven的菜鸟成长之路。在线阅读网站:www.seven97.top

65 声望|新手
后端
64
java
64
spring
12
mybatis
0
redis
0
黄金勋章
暂未获得该勋章
如何获得
3 白银勋章
个人动态
  • 发布了文章2 月 13 日
    LockSupport深度解析:线程阻塞与唤醒的底层实现原理
    LockSupport用来创建锁和其他同步类的基本线程阻塞原语。简而言之,当调用LockSupport.park时,表示当前线程将会等待,直至获得许可,当调用LockSupport.unpark时,必须把等待获得许可的线程作为参数进行传递,好让此线程继续运行。在AQS中大量使用,AQS最终都是使用...
  • 发布了文章2 月 12 日
    剑指offer-76、删除链表的节点
    题⽬描述给定单向链表的头指针和⼀个要删除的节点的值,定义⼀个函数删除该节点。返回删除后的链表的头节点。此题对⽐原题有改动题⽬保证链表中节点的值互不相同该题只会输出返回的链表和结果做对⽐,所以若使⽤ C 或 C++ 语⾔,你不需要 free 或 delete 被删除的节...
  • 发布了文章2 月 11 日
    剑指offer-75、买卖股票的最好时机
    假设你有⼀个数组 prices ,⻓度为 n ,其中 prices[i] 是股票在第 i 天的价格,请根据这个价格数组,返回买卖股票能获得的最⼤收益
  • 发布了文章2 月 10 日
    剑指offer-74、n个骰⼦的点数
    题目描述把 n 个骰⼦扔在地上,所有骰⼦朝上⼀⾯的点数之和为 s 。输⼊ n ,打印出 s 的所有可能的值出现的概率。你需要⽤⼀个浮点数数组返回答案,其中第 i 个元素代表这 n 个骰⼦所能掷出的点数集合中第 i ⼩的那个的概率。示例1:输⼊: 1输出: [0.16667,0.16667,0...
  • 发布了文章2 月 9 日
    AQS深度探索:以ReentrantLock看Java并发编程的高效实现
    AQS ( Abstract Queued Synchronizer )是一个抽象的队列同步器,通过维护一个共享资源状态( Volatile Int State )来表示同步状态 和一个先进先出( FIFO )的线程等待队列来完成资源获取的排队工作,通过CAS完成对State值的修改。
  • 发布了文章2 月 6 日
    Unsafe魔法类深度解析:Java底层操作的终极指南
    Unsafe是位于sun.misc包下的一个类,主要提供一些用于执行低级别、不安全操作的方法,如直接访问系统内存资源、自主管理内存资源等,这些方法在提升Java运行效率、增强Java语言底层资源操作能力方面起到了很大的作用。但由于Unsafe类使Java语言拥有了类似C语言指针一...
  • 发布了文章2 月 5 日
    剑指offer-73、连续⼦数组的最⼤和(⼆)
    题⽬描述输⼊⼀个⻓度为n 的整型数组array ,数组中的⼀个或连续多个整数组成⼀个⼦数组,找到⼀个具有最⼤和的连续⼦数组。⼦数组是连续的,⽐如[1,3,5,7,9] 的⼦数组有[1,3] , [3,5,7] 等等,但是[1,3,7] 不是⼦数组如果存在多个最⼤和的连续⼦数组,那么返回其中...
  • 发布了文章2 月 4 日
    剑指offer-72、礼物的最⼤价值
    在⼀个m × n的棋盘的每⼀格都放有⼀个礼物,每个礼物都有⼀定的价值(价值⼤于 0)。你可以从棋盘的左上⻆开始拿格⼦⾥的礼物,并每次向右或者向下移动⼀格、直到到达棋盘的右下⻆。给定⼀个棋盘及其上⾯的礼物的价值,请计算你最多能拿到多少价值的礼物?
  • 发布了文章2 月 3 日
    剑指offer-71、剪绳子(进阶版)
    给你⼀根⻓度为 n 的绳⼦,请把绳⼦剪成整数⻓的 m 段( m 、 n 都是整数, n > 1 并且 m >1 , m <= n ),每段绳⼦的⻓度记为 k[1] ,..., k[m] 。请问 k[1] k[2] ... * k[m] 可能的最⼤乘积是多少?例如,当绳⼦的⻓度是 8 时,我们把它剪成⻓度分别为 2 ...
  • 发布了文章1 月 30 日
    BlockingQueue:阻塞操作与条件队列的高效结合
    一个线程将会持续生产新对象并将其插入到队列之中,直到队列达到它所能容纳的临界点。也就是说,它是有限的。如果该阻塞队列到达了其临界点,负责生产的线程将会在往里边插入新对象时发生阻塞。它会一直处于阻塞之中,直到负责消费的线程从队列中拿走一个对象。 负责...
  • 发布了文章1 月 29 日
    剑指offer-70、把数字翻译成为字符串
    题⽬描述有⼀种将字⺟编码成数字的⽅式:'a'->1, 'b->2', ... , 'z->26'。现在给⼀串数字,返回有多少种可能的译码结果示例1输⼊:"12"返回值:2说明:2种可能的译码结果(”ab” 或”l”)示例2输⼊:"31717126241541717"返回值:192说明:192种可能的译码结果...
  • 发布了文章1 月 28 日
    剑指offer-69、数字序列中某⼀位的数字
    数字以 0123456789101112131415... 的格式作为⼀个字符序列,在这个序列中第 2 位(从下标 0 开始计算)是 2 ,第 10 位是 1 ,第 13 位是 1 ,以此类题,请你输出第 n 位对应的数字。
  • 发布了文章1 月 27 日
    剑指offer-68、调整数组顺序使奇数位于偶数前⾯(⼆)
    输⼊⼀个⻓度为 n 整数数组,数组⾥⾯可能含有相同的元素,实现⼀个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前⾯部分,所有的偶数位于数组的后⾯部分,对奇数和奇数,偶数和偶数之间的相对位置不做要求,但是时间复杂度和空间复杂度必须如下要求。
  • 发布了文章1 月 21 日
    剑指offer-66、机器⼈的运动范围
    地上有⼀个 m ⾏和 n 列的⽅格。⼀个机器⼈从坐标(0,0) 的格⼦开始移动,每⼀次只能向左,右,上,下四个⽅向移动⼀格,但是不能进⼊⾏坐标和列坐标的数位之和⼤于 k 的格⼦。 例如,当k 为 18 时,机器⼈能够进⼊⽅格(35,37) ,因为 3+5+3+7 = 18 。但是,它不...
  • 发布了文章1 月 20 日
    剑指offer-65、矩阵中的路径
    请设计⼀个函数,⽤来判断在⼀个矩阵中是否存在⼀条包含某字符串所有字符的路径。路径可以从矩阵中的任意⼀个格⼦开始,每⼀步可以在矩阵中向左,向右,向上,向下移动⼀个格⼦。如果⼀条路径经过了矩阵中的某⼀个格⼦,则该路径不能再进⼊该格⼦。 例如矩阵:
  • 发布了文章1 月 19 日
    InheritableThreadLocal,从入门到放弃
    InheritableThreadLocal相比ThreadLocal多一个能力:在创建子线程Thread时,子线程Thread会自动继承父线程的InheritableThreadLocal信息到子线程中,进而实现在在子线程获取父线程的InheritableThreadLocal值的目的。
  • 发布了文章1 月 16 日
    PriorityQueue的秘密:堆结构的高效应用与实现原理
    优先级队列的作用是能保证每次取出的元素都是队列中权值最小(或最大)的。这里元素大小的评判可以通过元素本身的自然顺序(natural ordering),也可以通过构造时传入的比较器(Comparator)。
  • 发布了文章1 月 12 日
    SPI机制:服务扩展的核心技术
    SPI是一种跟API相对应的反向设计思想:API由实现方确定标准规范和功能,调用方无权做任何干预; 而SPI是由调用方确定标准规范,也就是接口,然后调用方依赖此接口,第三方实现此接口,这样做就可以方便的进行扩展,类似于插件机制,这是SPI出现的需求背景。
  • 发布了文章1 月 9 日
    数据结构-图
    概述图是一种较为复杂的非线性结构。 为啥说其较为复杂呢?根据前面的内容,我们知道:线性数据结构的元素满足唯一的线性关系,每个元素(除第一个和最后一个外)只有一个直接前趋和一个直接后继。树形数据结构的元素之间有着明显的层次关系。但是,图形结构的元素之间...
  • 发布了文章1 月 8 日
    剑指offer-61、序列化二叉树
    ⼆叉树的序列化是指:把⼀棵⼆叉树按照某种遍历⽅式的结果以某种格式保存为字符串,从⽽使得内存中建⽴起来的⼆叉树可以持久保存。序列化可以基于先序、中序、后序、层序的⼆叉树遍历⽅式来进⾏修改,序列化的结果是⼀个字符串,序列化时通过 某种符号表示空节点( #...