上一页 1 2 3 4 5 6 7 ··· 19 下一页
摘要: Java对象结构 实例化一个Java对象之后,该对象在内存中的结构是怎么样的?Java对象(Object实例)结构包括三部分:对象头、对象体和对齐字节,具体下图所示 Java对象的三部分 对象头 对象头包括三个字段,第一个字段叫作Mark Word(标记字),用于存储自身运行时的数据,例如GC标志位 阅读全文
posted @ 2026-03-16 09:00 程序员Seven 阅读(178) 评论(0) 推荐(1)
摘要: 概述 计算机是不能直接运行java代码的,必须要先运行java虚拟机,再由java虚拟机运行编译后的java代码。 因为在cpu层面看来计算机中所有的操作都是一个个指令的运行汇集而成的,java是高级语言,只有人类才能理解其逻辑,计算机是无法识别的,所以java代码必须要先编译成字节码文件,jvm才 阅读全文
posted @ 2026-03-13 09:00 程序员Seven 阅读(233) 评论(0) 推荐(0)
摘要: 引言 我朋友,一个脾气温和、情绪稳定的成年人,今天,在电脑前憋出了他今年第一句字正腔圆的国骂。 对象不是甲方,不是队友,而是一个AI——确切说,是一个花了他不少钱、号称能当“私人数字助理”的玩意儿,花名龙虾。 事情得从头说起。那天下午,他喜气洋洋地跟我显摆,说也养了个龙虾,能自动整理AI资讯,能给它 阅读全文
posted @ 2026-03-12 22:37 程序员Seven 阅读(94) 评论(0) 推荐(0)
摘要: Java NIO零拷贝 在 Java NIO 中的通道(Channel)就相当于操作系统的内核空间(kernel space)的缓冲区,而缓冲区(Buffer)对应的相当于操作系统的用户空间(user space)中的用户缓冲区(user buffer)。 通道(Channel)是全双工的(双向传输 阅读全文
posted @ 2026-03-11 09:00 程序员Seven 阅读(210) 评论(0) 推荐(0)
摘要: 流与块 Standard IO是对字节流的读写,在进行IO之前,首先创建一个流对象,流对象进行读写操作都是按字节 ,一个字节一个字节的来读或写。而NIO把IO抽象成块,类似磁盘的读写,每次IO操作的单位都是一个块,块被读入内存之后就是一个byte[],NIO一次可以读或写多个字节。 I/O 与 NI 阅读全文
posted @ 2026-03-09 09:00 程序员Seven 阅读(251) 评论(0) 推荐(1)
摘要: 题⽬描述 给定⼀个⼆叉搜索树, 找到该树中两个指定节点的最近公共祖先。 对于该题的最近的公共祖先定义:对于有根树T的两个结点p 、q ,最近公共祖先LCA(T,p,q)表示⼀个结点x ,满⾜x 是p 和q 的祖先且x 的深度尽可能⼤。在这⾥,⼀个节点也可以是它⾃⼰的祖先. ⼆叉搜索树是若它的左⼦树不 阅读全文
posted @ 2026-03-07 09:59 程序员Seven 阅读(45) 评论(0) 推荐(0)
摘要: 关于同步/异步,阻塞/非阻塞,Unix IO模型,可以先看这篇文章网络系统 - Unix IO模型 BIO概述 阻塞式IO。也就是说io没有就绪的时候,操作IO当前线程会被阻塞。也就是用户线程需要等待IO线程完成 服务器实现模式为一个连接一个线程,也就是说,客户端每当有一个连接请求的时候,服务器就需 阅读全文
posted @ 2026-03-05 09:00 程序员Seven 阅读(153) 评论(0) 推荐(0)
摘要: 题⽬描述 给定⼀个⼆叉树root和⼀个整数值 sum ,求该树有多少路径的的节点值之和等于 sum 。 该题路径定义不需要从根节点开始,也不需要在叶⼦节点结束,但是⼀定是从⽗亲节点往下到孩⼦节点 总节点数⽬为 n 保证最后返回的路径个数在整形范围内 假如⼆叉树 root 为 {1,2,3,4,5,4 阅读全文
posted @ 2026-03-04 09:00 程序员Seven 阅读(36) 评论(0) 推荐(0)
摘要: 题目描述 请从字符串中找出⼀个最⻓的不包含重复字符的⼦字符串,计算该最⻓⼦字符串的⻓度。 数据范围: ⻓度⼩于40000 示例1 输⼊:"abcabcbb" 返回值:3 说明:因为⽆重复字符的最⻓⼦串是"abc",所以其⻓度为 3。 示例2 输⼊:"bbbbb" 返回值:1 说明:因为⽆重复字符的最 阅读全文
posted @ 2026-03-03 09:00 程序员Seven 阅读(40) 评论(0) 推荐(0)
摘要: 这是Java19新增的预览版功能,到Java21正式可以使用 简介 虚拟线程是一种用户态下的线程,类似go语言中的goroutines 和Erlang中的processes,虚拟线程并非比线程快,而是提高了应用的吞吐量,相比于传统的线程是由操作系统调度来看,虚拟线程是我们自己程序调度的线程。如果你对 阅读全文
posted @ 2026-03-02 09:00 程序员Seven 阅读(263) 评论(0) 推荐(1)
摘要: 概述 Condition 是一个多线程协调通信的工具类,可以让某些线程一起等待某个条件(condition),只有满足条件时,线程才会被唤醒。 在使用Lock之前,使用的最多的同步方式应该是synchronized关键字来实现同步方式了。配合Object的wait()、notify()系列方法可以实 阅读全文
posted @ 2026-02-27 09:00 程序员Seven 阅读(217) 评论(0) 推荐(0)
摘要: 题⽬描述 给定⼀个⾮负整数 x ,计算并返回 x 的平⽅根,即实现 int sqrt(int x) 函数。 正数的平⽅根有两个,只输出其中的正数平⽅根。如果平⽅根不是整数,输出只保留整数的部分,⼩数部分将被舍去。 示例1 输⼊:8 返回值:2 解释:8 的平⽅根是 2.82842…,由于⼩数部分将被 阅读全文
posted @ 2026-02-26 09:00 程序员Seven 阅读(45) 评论(0) 推荐(0)
摘要: 题⽬描述 输⼊数字 n ,按顺序打印出从 1 到最⼤的 n 位⼗进制数。⽐如输⼊ 3 ,则打印出 1 、2 、3⼀直到最⼤的 3 位数 999 。 ⽤返回⼀个整数列表来代替打印 n 为正整数 示例1 输⼊:1 返回值:[1,2,3,4,5,6,7,8,9] 思路及解答 直接计算 不太清楚这道题是要考 阅读全文
posted @ 2026-02-25 09:00 程序员Seven 阅读(58) 评论(0) 推荐(0)
摘要: 前言 CompletableFuture是jdk8的新特性。CompletableFuture的实现与使用上,处处体现出了函数式异步编程的味道。一个CompletableFuture对象可以被一个环节接一个环节的处理、也可以对两个或者多个CompletableFuture进行组合处理或者等待结果完成 阅读全文
posted @ 2026-02-24 09:00 程序员Seven 阅读(581) 评论(1) 推荐(2)
摘要: LockSupport简介 LockSupprot 用来阻塞和唤醒线程,底层实现依赖于 Unsafe 类。 LockSupport用来创建锁和其他同步类的基本线程阻塞原语。简而言之,当调用LockSupport.park时,表示当前线程将会等待,直至获得许可,当调用LockSupport.unpar 阅读全文
posted @ 2026-02-13 09:00 程序员Seven 阅读(227) 评论(0) 推荐(0)
摘要: 题⽬描述 给定单向链表的头指针和⼀个要删除的节点的值,定义⼀个函数删除该节点。返回删除后的链表的头节点。 此题对⽐原题有改动 题⽬保证链表中节点的值互不相同 该题只会输出返回的链表和结果做对⽐,所以若使⽤ C 或 C++ 语⾔,你不需要 free 或 delete 被删除的节点 数据范围: 0<=链 阅读全文
posted @ 2026-02-12 09:00 程序员Seven 阅读(31) 评论(0) 推荐(0)
摘要: 题⽬描述 假设你有⼀个数组 prices ,⻓度为 n ,其中 prices[i] 是股票在第 i 天的价格,请根据这个价格数组,返回买卖股票能获得的最⼤收益 你可以买⼊⼀次股票和卖出⼀次股票,并⾮每天都可以买⼊或卖出⼀次,总共只能买⼊和卖出⼀次,且买⼊必须在卖出的前⾯的某⼀天 如果不能获取到任何利 阅读全文
posted @ 2026-02-11 09:00 程序员Seven 阅读(67) 评论(0) 推荐(1)
摘要: 题目描述 把 n 个骰⼦扔在地上,所有骰⼦朝上⼀⾯的点数之和为 s 。输⼊ n ,打印出 s 的所有可能的值出现的概率。 你需要⽤⼀个浮点数数组返回答案,其中第 i 个元素代表这 n 个骰⼦所能掷出的点数集合中第 i ⼩的那个的概率。 示例1: 输⼊: 1 输出: [0.16667,0.16667, 阅读全文
posted @ 2026-02-10 09:00 程序员Seven 阅读(40) 评论(0) 推荐(0)
摘要: 概述 AQS ( Abstract Queued Synchronizer )是一个抽象的队列同步器,通过维护一个共享资源状态( Volatile Int State )来表示同步状态 和一个先进先出( FIFO )的线程等待队列来完成资源获取的排队工作,通过CAS完成对State值的修改。 AQS 阅读全文
posted @ 2026-02-09 09:00 程序员Seven 阅读(265) 评论(0) 推荐(0)
摘要: 介绍 Unsafe是位于sun.misc包下的一个类,主要提供一些用于执行低级别、不安全操作的方法,如直接访问系统内存资源、自主管理内存资源等,这些方法在提升Java运行效率、增强Java语言底层资源操作能力方面起到了很大的作用。但由于Unsafe类使Java语言拥有了类似C语言指针一样操作内存空间 阅读全文
posted @ 2026-02-06 09:00 程序员Seven 阅读(298) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 7 ··· 19 下一页