- 博客(311)
- 资源 (1)
- 问答 (7)
- 收藏
- 关注

原创 2023 暑期实习历程总结
Hello 大家好久不见,已经三个月左右没有更新了,那我这三个月在干什么呢?自2023年3月中旬开始到现在五月底这期间接近三个月的时间里,我一直在进行2023暑期实习的投递和面试。这期间投递了包括各大中厂(阿里,腾讯,蚂蚁,美团,携程,拼多多,华为,SHEIN,快手等),外企(PayPal,亚马逊,微软没开),银行金融(微众银行,招商银行信用卡,东方财富,花旗金融,Wind等),其他(联想,吉利,海信,中兴,OPPO)等数十家公司和企业。从一开始的谨慎投递和筛选企业,到后面的没投投谁和查缺补漏;
2023-05-25 22:19:31
7200
13
原创 【技海登峰】Kafka漫谈系列(二)Kafka高可用副本的数据同步与选主机制
【技海登峰】Kafka漫谈系列(二)Kafka高可用副本的数据同步与选主机制:本文主要介绍了Kafka副本Replica的数据高可用机制与实现原理,包括副本同步与副本选主等;并详细介绍了ISR、OSR、LEO、HW、LeaderEpoch等核心概念的含义。
2025-02-04 21:46:23
270
1
原创 AI大模型(二)基于Deepseek搭建本地可视化交互UI
AI大模型(二)基于Deepseek搭建本地可视化交互UI:在上篇文章中我们详细介绍了基于DeepSeek的本地大模型部署教程,在文章结尾处我们已经能够在本地命令行中实现与大模型的对话服务。但是我们发现这种原始的交互方式非常不友好,并且功能和拓展都比较单一,难以满足我们的需求。因此本文将在此基础上,通过多种方式搭建基于Deepseek的本地可视化交互UI,并实现功能拓展。
2025-02-04 21:16:23
2291
原创 AI大模型(一)基于DeepSeek的本地大模型部署保姆级教程
AI大模型(一)基于DeepSeek的本地大模型部署保姆级教程:基于Ollama在本地部署并搭建DeepSeek-R1大模型,实现本地对话与服务,并解决Ollama存储位置修改和全局网络访问的问题,绝对保姆级教程,关注我带你探索更多未知世界。
2025-02-03 13:38:14
1138
原创 【技海登峰】Kafka漫谈系列(一)Kafka服务集群的核心组件
【技海登峰】Kafka漫谈系列(一)Kafka服务端的核心组件:本文作为Kafka漫谈系列的开篇,以图文并茂的形式详细介绍了Kafka集群服务中Broker、Topic、Partition、Replica等核心组件的概念。
2025-02-01 19:12:29
558
1
原创 Redis(一) SpringBoot 整合 Redis-Cluster
Redis(一) SpringBoot 整合 Redis-Cluster
2024-12-07 22:35:04
1582
原创 【技海登峰】SpringDataJPA(一) 配置整合与基本使用
JPA 的全称是 Java Persistence API , 即 Java 持久层 API。Spring Data JPA 是 Spring 生态中提出的一套数据库 ORM (对象关系映射)规范、抽象标准,或者说它是对ORM框架实现的顶层抽象封装,目的是整合不同的ORM技术以遵循统一的规范,并允许开发者以面向对象的方式实现数据库操作。
2024-12-01 14:11:56
879
原创 【技海登峰】Java JUC(四) 自定义线程池实现与原理分析
在Java基础(二) 多线程编程中,我们简单介绍了线程池 ThreadPoolExecutor 的核心概念与基本使用。在本文中,我们将基于前面学习的各种锁与同步工具来实现自定义的线程池,同时来探究和分析 Java 线程池的基本原理。
2024-11-02 15:27:49
599
原创 【技海登峰】Java JUC(三) AQS 与同步工具详解
AQS全称为 AbstractQueuedSynchronizer,即抽象队列同步器;AQS是java.util.concurrent.locks包下的一个抽象类,其为构建锁和同步器提供了一系列通用模板与框架的实现,大部分JUC包下的并发工具都是基于AQS来构建的,比如ReentrantLock、Semaphore、CountDownLatch等,本文将着重介绍AQS的核心原理及其同步工具类的使用与实现。
2024-10-03 20:28:10
1042
1
原创 【技海登峰】Java JUC(二) Synchronized 基本使用与核心原理
随着 Java 多线程开发的引入,程序的执行效率和速度都取得了极大的提升。但此时,多条线程如果同时对一个共享资源进行了非原子性操作则可能会诱发线程安全问题,而线程安全问题将会导致潜在的数据和行为错误。上述概念中包含了三个关键要素即:多线程、共享资源(临界资源)和非原子性操作,这也是线程安全问题产生的根本原因。因此,锁机制的出现就是为了确保多线程对共享资源的安全访问,控制线程之间的协作关系。接下来,本文将介绍最常用的 Synchronized 锁的基本使用与底层原理。
2024-09-24 20:40:54
659
原创 【技海登峰】Java JUC(一) 线程概念、使用与生命周期
Java JUC(Java Util Concurrent) 是Java平台提供的一个并发编程工具包(java.util.concurrent),全称为Java Concurrency Utilities。这个工具包包含了一系列的类和接口,旨在帮助开发者更方便、更安全地进行多线程编程和并发操作。JUC在Java 5.0(也称为Java SE 5或JDK 1.5)中引入,并随着Java版本的更新而不断发展和完善。JUC的主要特点和功能包括:线程同步和锁、并发容器、线程池、原子类、同步工具类等。
2024-09-12 21:20:12
1074
原创 Java8新特性(二) Stream与Optional详解
Stream(java.util.stream) 是Java 8中新增的一种抽象流式接口,主要用于配合Lambda表达式提高批量数据的计算和处理效率。Stream不是一种数据结构,它是来自数据源的一种元素序列组织视图,并支持一系列聚合操作,比如过滤、排序、映射、遍历等;其中,数据源可以是一个数组、集合或I/O channel等。
2024-08-02 17:39:33
934
原创 Java8新特性(一) Lambda表达式与函数式接口
Lambda表达式是Java 8中引入的一个重要的新特性,该表达式提出了一种新的语法规则,用于对某些(函数式接口)匿名内部类的书写方式进行简化。除此之外,Lambda表达式是函数式编程思想的一个重要体现,它允许我们通过表达式的形式来定义和传递功能,并且更加关注数据本身。
2024-07-28 22:44:42
1075
原创 Java基础(四) 内部类详解
内部类是嵌套在类内部进行定义的类,其外部的类则被称为外部类;按照内部类的定义位置,内部类可进一步划分为成员内部类、静态内部类、局部内部类和匿名内部类四种类型。内部类的出现实际上是进一步丰富了类的作用域和可访问限制...
2024-07-23 22:50:20
965
转载 软件技术领域就业大纲
本文的目的是提供索引,打开思路, 帮助那些面临就业、择业的同学们形成一个自上而下的框架,可以对市场上提供工作岗位的各类公司有一个系统性的认识。以下开始分类讨论,主要涉及互联网、游戏、工具服务、终端设备、AI、汽车生态、基础软件技术、芯片、大型综合IT集团、ICT、金融科技、外企、国企、科研单位、私企龙头、行业数字化、金融软件、工业软件等各领域。
2024-04-24 10:49:57
1051
1
原创 2024 应届校招经验分享(非互联网篇)
上篇文章主要介绍了博主在互联网行业的相关秋招经历。其实,除了互联网大厂,尤其是应届生在非互联网方面也有很多就业机会,比如电网烟草、银行运营商、选调、国考省考、人才引进、高校教师/辅导员、科研院所等等。这些行业基本都属于垄断型国企和体制内,最大的特点就是稳定、轻松,其中电网烟草、选调、人才引进等方向甚至只面向部分院校的应届生开放,所以希望大家能够多方了解信息,慎重选择人生道路!博主在秋招过程中,基本每一个方向都或多或少的参加了相关考试面试,并且拿到了很多不错的offer,接下来博主将结
2024-04-22 21:14:44
902
原创 2024 应届校招经验分享(互联网篇)
在经历过暑期实习之后(详情可以回顾上篇相关文章),秋招时的个人求职方向逐渐转变为以稳定和离家近为主。在本文互联网篇,除了一些互联网大厂企业,博主还投递了一些山东地区的中小厂企业,与暑期实习时期的投递内容形成比较明显的互补关系。互联网大厂一般有笔试和手撕,且流程较慢;而中小厂一般没有手撕,甚至没有笔试,流程也相对快一些。接下来,本文就求职过程中的时间节点和面试内容进行详细介绍,以供大家参考。
2024-04-08 12:06:37
2050
2
原创 动态规划入门(一) 01背包问题
题意:01背包也称为基础背包,是最基本的背包问题,说的是一共有 N 件物品(每件物品仅有一件),第 i(i从1开始)件物品的重量为w[i],价值为v[i]。在总重量不超过背包承载上限W的情况下,求能够装入背包的最大价值是多少?并输出具体选择的哪个物品?
2024-01-05 12:14:26
588
1
原创 实习记录(三) 缓存常见场景解决方案
缓存的好处加速读写,提高系统性能与吞吐量。因为缓存通常是全内存的存储介质,而缓存的后端(DB、REST、RPC等)相对而言速度慢抗压性差,通过加入缓存可以有效提升系统性能。减少后端负载。通过添加缓存,在正用户在一次请常的系统运行中且命中率不错的情况下,可以帮助减少后端不必要的重复计算(join、或者无法在优化的sql等),很大程度降低了后端的负载。缓存的代价数据不一致性。无论设计做的多么好,缓存数据与真实数据源一定存在着一定时间窗口的数据不一致性,时间窗口的大小,具体要看一下业务允许多大时间窗口的不一致性。
2023-08-22 22:11:19
477
原创 实习记录(一) Java 编程风格规约
本文为《码出高效》系列博文第一篇,主要目的是统一和规范代码编程风格,改善应用程序的可读性,提高开发效率。规约包括命名、定义、函数、异常、排版等不同的场景,结合个人的实习经验和业界开发手册总结归纳...
2023-06-07 11:15:17
671
原创 记忆化搜索
记忆化搜索是在搜索的基础上,利用数组来记录已经计算出来的重叠子问题状态,进行合理化的剪枝,从而降低时间复杂度。这个记录状态的过程就是记忆化的过程,我们需要找到不同搜索层次之间的子问题、状态转移关系,这与动态规划的思想又不谋而合。
2023-02-23 20:46:29
800
原创 【数论系列】 裴蜀定理(贝祖定理)
「裴蜀定理」,又称贝祖定理(Bézout's lemma)。是一个关于最大公约数的定理。其内容定义为:对于不全为零的任意整数 a 和 b,记二者的最大公约数为 g 即 gcd(a,b) = g,则对于任意整数x和y都一定满足 ax+by 是 g 的倍数...
2023-02-18 14:47:21
5453
原创 光流估计(三) PWC-Net 模型介绍
PWC-Net 的网络模型在 CVPR,2018 由 NVIDIA 提出,发表文章为 《PWC-Net: CNNs for Optical Flow Using Pyramid, Warping, and Cost Volume》。与FlowNet2.0模型相比,PWCNet的大小缩小了17倍,训练成本更低且精确度稳定。此外,它在Sintel数据集(1024×436)图像上的运行速度大约为35 fps,是光流估计深度学习中非常基础且具有重要意义的一个网络模型。
2023-01-29 15:28:09
7446
6
原创 光流估计(二) FlowNet 系列文章解读
FlowNet(或称为FlowNet 1.0)是FlowNet系列所提出的第一个光流估计网络,也是最重要最基础的网络,其思想来自于论文《FlowNet: Learning Optical Flow with Convolutional Networks》,这篇文章发布在IEEE International Conference on Computer Vision (ICCV), 2015。
2023-01-26 11:28:34
7033
4
原创 光流估计(一) 光流的简介与操作
光流是空间运动物体在观察成像平面上的像素运动的瞬时速度,也有人将二维平面图像内特定像素点的灰度/亮度的瞬时变化率定义为光流(Optical flow can also be defined as the distribution of apparent velocities of movement of brightness pattern in an image.) ,当时间间隔很小时(比如视频的连续前后两帧之间)也等同于空间点在成像平面内投影点的位移。
2023-01-20 21:20:37
6654
3
原创 点云配准(五) Sparse Point Registration 算法浅析
Sparse Point Registration (SPR)是一篇2017年的点云配准算法,该算法的主要目的是对稀疏点云进行配准,并且取得了不错的成果和突破。本文一方面是对SPR配准算法模型进行了简单的原理解析以及附加代码实现,另一方面是对之前工作的总结。
2022-11-20 22:13:39
2306
2
原创 WPF(六) Command 命令模型源码分析
在之前 [WPF(三) WPF命令中我们已经分析过了 WPF 的命令系统,包括WPF默认的 RoutedCommand 以及我们自定义的 ICommand 命令实现。但是上篇文章主要侧重于命令的使用,而一些命令工作原理和流程细节还存在一些疑问,比如 ICommand 的 CanExecuteChanged 事件是如何实现订阅的...
2022-10-12 18:06:39
1750
原创 点云配准(四) 四元数与旋转变换
四元数(Quaternions)是由爱尔兰数学家哈密顿(William Rowan Hamilton)在1843年引入的数学概念,可以看作是一种新的数值类型。四元数与复数的联系比较密切,可以视为是一种复数的拓展(复数是实数的复数,四元数是复数的复数)。四元数的定义和复数非常类似,唯一的区别就是四元数一共有三个虚部,而复数只有一个...
2022-09-18 21:10:33
1755
原创 Java 微信公众号每日自动给女朋友推送问候
近期网上又出现一股给女朋友做微信公众号推送的潮流,那么别人有的我女朋友也得有不是O.o 简单研究了一下做微信公众号推送的原理,简单来说就是后台服务器做个定时任务,然后定时调用微信公众平台提供的Web API接口(HTTP),发送模板消息(JSON数据)即可。
2022-09-04 21:06:40
6702
8
原创 Spring-Web(一) RestTemplate使用与源码浅析
RestTemplate 是 Spring Web 模块封装的一个基于Rest规范提供HTTP请求服务的工具,用于访问第三方的Rest接口。
2022-09-03 12:17:40
928
原创 WPF(五) MVVM模式
MVVM是Model-View-ViewModel的简写,MVVM是一种设计模式,类似于比较流行的MVC。这种模式引入的主要的目的就是将前端UI视图(View)和后端逻辑数据(Model)进行分离,从而降低前后端的耦合,提高项目的开发效率和可维护性、可拓展性。......
2022-08-25 17:49:44
3356
原创 WPF(四) WPF 模板
在WPF中,控件只是一个数据和算法行为的载体,是个抽象的概念。至于控件本身的外观和行为、控件数据的呈现方式都是靠 Template 来具体定义的,通过引入模板(Template)微软将数据和算法的“内容”与“形式”解耦了,我们可以轻松的创造、修改、调整控件长什么样、有什么行为、数据如何展示等。这就是为什么默认情况下 Button 或 TextBox 形状是矩形的,因为它是在其默认模板中定义(正是模板决定了TextBox是方方正正的输入框,可以输入数据)。深入到控件内部,每个控件本身是一棵 UI元素树,其..
2022-08-19 17:24:45
2154
原创 WPF(三) WPF 命令
WPF 区别于 WinForm,在继承WinForm熟悉的事件和委托技术之上,还提供了一套完善的命令(Command)系统。简单来说,命令是一个任务的完整封装,例如保存,复制,剪切这些操作都可以理解为一个个独立的命令。乍一看,命令和传统的事件机制似乎很相似,都是执行一些目的/行为,但命令和事件并不冲突,命令和事件的区别就在于命令是具有约束力的。
2022-08-19 17:14:39
3855
2
原创 WPF(二) WPF核心进阶
控件模型:WPF 提供三个用于创建控件的常规模型,每个模型都提供不同的功能集和灵活度。 三个模型的基类是UserControl、Control 和 FrameworkElement 。其中UserControl称为用户控件继承自ContentControl,提供类似于Window窗口的简单布局控件创建方式(实现组合控件)。而Control 和 FrameworkElement 称为自定义控件,自定义控件比用户控件更低级别,得到的控制越多,但继承的功能就越少。用户控件和自定义控件之间的主要区别之一:自定义控件
2022-08-19 17:06:33
2692
原创 WPF(一) WPF基本控件与布局
WPF(Windows Presentation Foundation)是微软推出的基于Windows的用户界面框架,中文译为“Windows呈现基础”,属于.NET Framework 3.0的一部分。WPF类似于WinForm技术框架,但是相比于WinForm,WPF对大部分基础功能进行了更加强大的拓展,并且引入了XAML标记语言,真正实现了开发人员和设计人员的前后端分离,并且衍生出了一套MVVM开发框架。
2022-08-19 16:39:15
6556
基于java GUI界面的简易netty聊天室(实现群聊和私聊)
2019-11-18
数据库多表联合查询时,一次sql join连接查询和多次单表查询哪个性能更高?
2022-01-20
springboot @PathVariable如何获取路径中的中文参数
2022-01-13
TA创建的收藏夹 TA关注的收藏夹
TA关注的人