自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 进程、线程、协程与虚拟线程(进程相关)

以一张操作系统的发展历程开始,引入对进程与线程等内容的切入。看完这张图之后,我们也会阐述一下其中与操作系统资源的关系。同时也是为后续的介绍做一些基本元素的介绍操作系统的演进历程不仅是计算机科技进步的缩影,更是进程和线程概念演化的舞台。在早期的简单批处理系统中,作业一次性装入内存运行,那时的作业可以看作是一个单一的进程。随着技术的发展,多道程序系统出现了,它允许将多个作业装入内存,它们可以轮流使用 CPU 资源,这里面的每一个作业也可以理解为是一个独立的进程。继续发展,操作系统引入了分时机制。

2024-03-26 01:25:32 1053

原创 外挂的本质以及进程相关的内容

的本质是一种未经授权的软件,它通过修改或干预正常软件、游戏或系统的运行方式来提供给用户不公平的优势或功能。外挂的实现方法多种多样,其中一种常见的方式确实是通过进程内存入侵。

2024-03-09 20:06:14 808

原创 关于 AC 自动机

AC 自动机,全称 Aho-Corasick 自动机,是一种用于字符串搜索的算法,由 Alfred V. Aho 和 Margaret J. Corasick 在 1975 年提出。这个算法是为了解决在一个主文本字符串中查找多个模式字符串(或称为“关键词”)的问题,它可以在线性时间内完成搜索,非常高效。在计算机科学中,Aho-Corasick 算法是 Alfred V. Aho 和 Margaret J. Corasick 于 1975 年发明的一种字符串搜索算法。

2024-02-22 00:23:59 896

原创 分布式事务入门,最终一致性方案

CAP 定理(Consistency、Availability、Partition Tolerance Theorem),也称为 Brewer 定理,起源于在 2000 年 7 月,是加州大学伯克利分校的 Eric Brewer 教授于“ACM 分布式计算原理研讨会(PODC)”上提出的一个猜想。CAP 定理图CAP 分别代表的含义:代表数据在任何时刻、任何分布式节点中所看到的都是符合预期的。

2024-01-28 14:25:03 888

原创 入门分布式事务,事务协调方法之 2PC & 3PC & XA

事务处理几乎在每一个信息系统中都会涉及,它存在的意义是为了保证系统中所有的数据都是符合期望的,且相互关联的数据之间不会产生矛盾,即数据状态的一致性C按照数据库的经典理论,要达成这个目标,需要三方面共同努力来保障。原子性Atomic):在同一项业务处理过程中,事务保证了对多个数据的修改,要么同时成功,要么同时被撤销。隔离性Isolation):在不同的业务处理过程中,事务保证了各自业务正在读、写的数据互相独立,不会彼此影响。持久性D。

2024-01-21 12:23:53 622

原创 初探 Reactor、Proactor 线程模型与 BIO、AIO、NIO

BIO/NIO/AIO 这些只是数据传输的输入输出流的一些形式而已。也就是说他们的本质就是输入输出流。只是存在同步异步,阻塞和非阻塞的问题。reactor 和 proactor 呢,Reactors 和 Proactors 是两种用于处理并发网络请求的线程模型。它们主要用于高性能网络服务器和应用程序中,用以有效地管理多个同时发生的连接和请求。总结来说,BIO、NIO和 AIO 是处理 I/O操作的不同方式,分别对应同步阻塞、同步非阻塞和异步非阻塞I/O。

2023-12-18 01:10:18 1101

原创 ScyllaDB 基础入门

接下来我们会从名词介绍入手,再介绍到具体的 ScyllaDB 架构设计。ScyllaDB 是一个可横向扩展的数据库,其采用了 Apache Cassandra 项目的大部分分布式横向扩展设计(该项目采用了 Amazon Dynamo 的分布式概念和 Google BigTable 的数据建模概念)。服务器架构层级:集群(Cluster):Scylla 节点的集合,可视化为环。

2023-12-03 22:03:42 1366

原创 AI 学习笔记(持续更新)

通过让大模型逐步参与将一个复杂问题分解为一步一步的子问题并依次进行求解的过程可以显著提升大模型的性能。而这一系列推理的中间步骤就被称为思维链(Chain of Thought)。

2023-11-26 22:36:30 1180

原创 如何如何成为一名批判性思维者

学会思考

2023-07-16 17:57:18 80

原创 什么是用户态和内核态

关于用户态和内核态以及延伸的内容介绍

2023-03-04 13:21:46 957

原创 Flyway 数据库版本管理工具操作指南

FlyWay1、什么是 Flyway ?  Flyway 是一款开源的数据库版本管理工具,它更倾向于规约优于配置的方式。Flyway可以独立于应用实现管理并跟踪数据库变更,支持数据库版本自动升级,并且有一套默认的规约,不需要复杂的配置,Migrations 可以写成 SQL 脚本,也可以写在 Java 代码中,不仅支持 Command Line 和 Java API,还支持 Build 构建工具和 Spring Boot 等,同时在分布式环境下能够安全可靠地升级数据库,同时也支持失败恢复等。  简单来

2021-10-27 00:16:56 910

原创 WebSocket 协议介绍

WebSocket 协议1、相关技术背景介绍客户端/浏览器 和 服务端在是怎么进行通信的呢 ?当前许多传统应用的 Web 项目是通过简单的 AJAX 来进行通信的,AJAX 是一种用于创建快速动态网页的技术。通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。 图 1 AJAX 的 WEB 模型但随着当前 Web 应用对数据的实时性以及高效性,例如股票的实时行情、火车票的所剩票数、在线聊天的消息展示,随着要求的越

2021-10-26 23:55:59 3805

原创 杨辉三角 II 解题思路

119、杨辉三角 II本案例复制自LeetCode给定一个非负索引 rowIndex,返回「杨辉三角」的第 rowIndex 行。在「杨辉三角」中,每个数是它左上方和右上方的数的和。示例 1:输入: rowIndex = 3输出: [1,3,3,1]示例 2:输入: rowIndex = 0输出: [1]解题思路:根据DP动态规划,根据上一次DP记录下来的状态,进行倒序算值,因为正序会破坏上一个状态的值,导致往后走不对,所以我们这里采用倒序的方式,不影响上一个位置的值,能够计算成功

2021-07-25 12:55:20 212

原创 ElasticSearch基本操作说明

ElasticSearch基本操作说明文档这里默认ip地址为 http://localhost:9201/ ,更加直观,并且已经在此环境下配置好了es,默认操作工具使用postmanes的结构一般分为 _index/_type/_id/_sourceindex是索引,type是类型,id是id值,source是字段所需要的内容相对_mapping和_settings是_mapping是对mapping结构进行操作,mapping就是type的元数据,每个type都有一个自己的mapping,决定了

2020-12-09 11:23:35 101

原创 SpringBoot整合Dubbo框架简单实例

1、创建项目这是整个项目的目录结构,DubboTest只是起一个聚合模块的作用,除了pom.xml其余的都可以删除2、创建模块依次按照流程创建consumer、provider、service三个模块,一个是消费者一个是提供者一个是公共服务接口。3、配置好maven文件consumer的pom.xml:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0

2020-10-08 10:52:09 372

原创 DP解决硬币零钱问题

322. 零钱兑换给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。 示例 1:输入: coins = [1, 2, 5], amount = 11输出: 3 解释: 11 = 5 + 5 + 1示例 2:输入: coins = [2], amount = 3输出: -1 说明:你可以认为每种硬币的数量是无限的。代码:class Solution {

2020-09-20 22:13:47 275

原创 Java线程池知识细说及周边问题

Java线程池知识及详细理解1、引言:为什么要使用线程池?在Java中线程的创建时非常普遍的,也是我们经常用到的。那么对应一个请求我们就去自己创建一个线程,这样是不是显得有点呆板?毕竟在面向对象编程中,创建和销毁对象是很费时间的,因为创建一个对象要获取内存资源或者其它更多资源。在Java中更是如此,虚拟机将试图跟踪每一个对象,以便能够在对象销毁后进行垃圾回收。所以提高服务程序效率的一个手段就是尽可能减少创建和销毁对象的次数,特别是一些很耗资源的对象创建和销毁。如何利用已有对象来服务就是一个需要解决的关键

2020-09-06 23:46:19 93

原创 关于三次握手与四次挥手的超详细解释

关于三次握手与四次挥手的超详细解释看了很多博客的文章,再结合自己想要知道的知识,发现还是需要东看一下西看一下,才能明白大概的过程。所以这里博主决定来小小的结合一下自己记录的内容。来写一个容易看明白并且能够应对面试问答的文章。首先我们知道三次握手和四次挥手都是基于IP协议基础上进行的TCP应用。我们这里展示一下TCP报文格式三次握手接下来是三次握手的流程及图片其中的SYN是随机开始的。(1)主机A,发送SYN请求字段请求B主机建立连接,然后创建一个序列号ISN发送给主机B。(2)主机B应答主机

2020-08-30 23:41:05 297

原创 打家劫舍问题集合

打家劫舍 1你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。 示例 1:输入:[1,2,3,1]输出:4解释:偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号房屋 (金额 = 3)。 偷窃到的最高金额 = 1 + 3 = 4 。

2020-08-05 22:10:30 122

原创 经典全排列模板

全排列给定一个 没有重复 数字的序列,返回其所有可能的全排列。示例:输入: [1,2,3]输出:[ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1]]代码:class Solution { public List<List<Integer>> permute(int[] nums) { List<List<Integer>> res = .

2020-08-01 17:27:28 172

原创 判断二分图(染色,DFS)

判断二分图(染色,DFS)判断二分图给定一个无向图graph,当这个图为二分图时返回true。如果我们能将一个图的节点集合分割成两个独立的子集A和B,并使图中的每一条边的两个节点一个来自A集合,一个来自B集合,我们就将这个图称为二分图。graph将会以邻接表方式给出,graph[i]表示图中与节点i相连的所有节点。每个节点都是一个在0到graph.length-1之间的整数。这图中没有自环和平行边: graph[i] 中不存在i,并且graph[i]中没有重复的值。示例 1:输入: [[

2020-07-16 11:21:43 229

原创 买卖股票最佳时机(多例题)

买卖股票的最佳时机给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票一次),设计一个算法来计算你所能获取的最大利润。注意:你不能在买入股票前卖出股票。 示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。 注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格;同时,你不能

2020-07-10 09:48:33 248

原创 路径总和(二叉树递归系列)

路径总和 II给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径。说明: 叶子节点是指没有子节点的节点。示例:给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 / / \ 11 13 4 / \ / \ 7 2 5 1返回:[ [5,4,11,2],

2020-07-07 11:34:26 142

原创 常规动态规划(不同路径)

一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?网格中的障碍物和空位置分别用 1 和 0 来表示。说明:m 和 n 的值均不超过 100。示例 1:输入:[ [0,0,0], [0,1,0], [0,0,0]]输出: 2解释:3x3 网格的正中间有一个障碍物。从

2020-07-06 09:40:46 238

原创 最长有效括号(字符串匹配题型)

最长有效括号(字符串匹配题型)输入: "(()"输出: 2解释: 最长有效括号子串为 "()"输入: ")()())"输出: 4解释: 最长有效括号子串为 "()()"最直观的栈解法,通过下标减下标值class Solution { public int longestValidParentheses(String s) { int res = 0; Stack<Integer> stack = new Stack<>();

2020-07-04 12:38:20 273

原创 基于docker-compose的ELK环境搭建

基于docker-compose的ELK环境搭建因为最近学习到了需要利用到ELK的环境,因为昨天自己不小心踩了坑,在这里跟大家分享一下快速搭建的方法。简单易上手。也是记录自己的学习过程,以后也可以用到。1、安装Docker具体可参照 https://docs.docker.com/engine/install/centos/ 官方文档,linux下的docker安装我这里做简单介绍1、安装Docker所需要的包:yum install -y yum-utils \ device-mapper

2020-07-03 11:02:02 2140 1

原创 有序数组转二叉搜索树

将有序数组转换为二叉搜索树将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。示例:给定有序数组: [-10,-3,0,5,9],一个可能的答案是:[0,-3,9,-10,null,5],它可以表示下面这个高度平衡二叉搜索树: 0 / \ -3 9 / / -10 5/** * Definition for a binary tree

2020-07-03 09:56:13 87

原创 差分数组模板例题

题目描述一条直线上等距离放置了n台路由器。路由器自左向右从1到n编号。第i台路由器到第j台路由器的距离为| i-j |。 每台路由器都有自己的信号强度,第i台路由器的信号强度为ai。所有与第i台路由器距离不超过ai的路由器可以收到第i台路由器的信号(注意,每台路由器都能收到自己的信号)。问一共有多少台路由器可以收到至少k台不同路由器的信号。输入描述:输入第一行两个数n , k(1≤n , k≤10^5)第二行n个数, a1 , a2 , a3……… , an(0≤ai≤10^9)输出描述:

2020-06-18 12:20:53 335

原创 中序/前序+中序/后序构建二叉树

中序/前序+中序/后序构建二叉树根据一棵树的前序遍历与中序遍历构造二叉树。注意:你可以假设树中没有重复的元素。例如,给出前序遍历 preorder = [3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]返回如下的二叉树: 3 / \ 9 20 / \ 15 7class Solution { private Map<Integer, Integer> indexMap; public T

2020-05-22 11:38:41 106

原创 双指针+累加

获得最多的奖金(牛客)小明在越南旅游,参加了当地的娱乐活动。小明运气很好,拿到了大奖, 到了最后的拿奖金环节。小明发现桌子上放着一列红包,每个红包上写着奖金数额。现在主持人给要求小明在这一列红包之间“切”2刀,将这一列红包“切”成3组,并且第一组的奖金之和等于最后一组奖金和(允许任意一组的红包集合是空)。最终第一组红包的奖金之和就是小明能拿到的总奖金。小明想知道最多能拿到的奖金是多少,你能帮他算算吗。举例解释:桌子上放了红包 1, 2, 3, 4, 7, 10。小明在“4,7”之间、“7,10” 之

2020-05-21 12:14:08 181

原创 最长回文子串+回文子串总数练习

最长回文子串+回文子串总数题目1、最长回文子串给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。示例 2:输入: "cbbd"输出: "bb"class Solution { public String longestPalindrome(String s) { if (s == null || s.length() == 0) {

2020-05-21 12:09:32 92

原创 状态压缩+位运算+最大前缀和+hash

状态压缩+位运算+最大前缀和+hash题目:给你一个字符串 s ,请你返回满足以下条件的最长子字符串的长度:每个元音字母,即 ‘a’,‘e’,‘i’,‘o’,‘u’ ,在子字符串中都恰好出现了偶数次。示例 1:输入:s = "eleetminicoworoep"输出:13解释:最长子字符串是 "leetminicowor" ,它包含 e,i,o 各 2 个,以及 0 个 a,u 。示例 2:输入:s = "leetcodeisgreat"输出:5解释:最长子字符串是 "leetc" ,其

2020-05-20 11:32:55 158

原创 JVM学习(JMM内存模型知识)

JMM内存模型学习学习JMM内存模型,我们先从基础的入手,然后再从一步步的深入讲解来让大家对这些知识理解透彻。我尽量把我认识和知道的只是来分享给大家。以下很多知识转载自文章https://www.jianshu.com/p/8a58d83352701、线程之间的通信线程的通信是指线程之间以何种机制来交换信息。在编程中,线程之间的通信机制有两种,共享内存和消息传递。在共享内存的并发模型里,...

2020-03-26 12:11:02 187

原创 JVM学习(虚拟机性能监控工具以及基础调优)

虚拟机性能监控工具以及基础调优经过了前面给大家有关于JVM垃圾回收、内存分配等各种方面的知识,今天我们来初步接触JVM的调优,当然也只是基本的一些调优的知识以及一些案例,仅供大家参考学习,加深一点印象。在实际环境中的调优还是要看当时的情况下来进行调优,希望大家看完之后能够有所收获,有所进步。1、监控工具众所周知,Java的JDK的bin目录下有“java.exe”、“javac.exe”,这...

2020-01-05 23:09:59 188 3

原创 JVM学习(垃圾收集器和内存分配)

JVM学习(垃圾收集器和内存分配)通过前面几篇对JVM内存以及垃圾收集的一点点初步介绍,相信看过的都对JVM有了一点认识,这一篇我们来主要说JVM中的垃圾收集器以及他们的作用和分代收集算法里的新生代老年代的内存分配。垃圾收集器都有各自的特点,针对新生代或针对老年代,每个的设计都是别出一裁的,接下来让我们来认识认识他们。在介绍垃圾收集器之前,要先为大家介绍一个知识点,叫安全点也有时候是安全区域...

2019-12-24 17:58:34 111

原创 JVM学习(垃圾收集算法以及判断死亡)

JVM学习(垃圾收集相关)在上一个JVM学习中我们学习了JVM的内存区域,其中的程序计数器、虚拟机栈、本地方法栈随线程灭和生,还有栈中的栈帧随着方法的进入和退出有条不紊的出栈入栈,但每一个栈帧中分配多少内存基本上可以说是在类结构确定就已知的,所以这几个区域的垃圾回收暂且先不需要考虑。我们需要考虑的就是JVM堆和方法区的内容了。我们只有在程序运行期间才知道会创建那些对象,而这些对象内存的分配和回...

2019-12-22 19:37:51 112

原创 JVM学习(Java内存区域)

JVM学习(Java内存区域)随着Java学习的越来越深入,对框架了解过后,决定从Java底层入手,一步一步的更加了解Java,熟悉Java,争取能做到优化Java程序以及了解Java整体的一个架构,所以博主我读了 《深入理解Java虚拟机》这本书,所以有关JVM(Java虚拟机,下文皆用JVM代替)开头的博客都是我在学习这本书中整理出来的内容。提及的知识点也都来自于这本书,摘抄也是。我只是为了...

2019-12-20 13:37:01 118 2

原创 手把手配置虚拟机IP地址

手把手配置虚拟机IP地址因为之前在某课程上需要配置虚拟机网络,本人还纠结了好一阵,找不到好的文章以及方法,在这里来初步跟大家说一下 我是如何搭建的。可能原理之类的不一定对 但是效果一定能达到 。(本文主要针对小白)1、创建虚拟机首先在这里创建虚拟机,将不必要的虚拟机硬件设备移除掉,留下了这些,将网络适配器选择为NAT模式,桥接模式就自动连接自己主机的网络IP了。虚拟机内存我选择的是2G能够快...

2019-12-07 15:58:12 2476 2

原创 SpringBoot整合SSM+JSP页面(附带源代码及目录)

SpringBoot整合SSM+JSP页面第一次上传代码,有什么说的不对或者不仔细的请指出 慢慢学习进步因为图片问题有些没有上传具体的目录结构请下载源码打开查看这个项目使用eclipse来写的 用Springboot来整合ssm用jsp页面来表示,虽然Springboot官方并不太支持用jsp页面来表示,但我这里提供jsp来给一些有需求的人 比如我自己~.下面是我的文件目录 一个appli...

2019-11-27 12:28:28 1204

空空如也

空空如也

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

TA关注的人

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