yindarui
码龄8年
关注
提问 私信
  • 博客:52,196
    社区:7
    52,203
    总访问量
  • 70
    原创
  • 548,302
    排名
  • 13
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:北京市
  • 加入CSDN时间: 2017-05-07
博客简介:

yindarui

查看详细资料
个人成就
  • 获得39次点赞
  • 内容获得9次评论
  • 获得92次收藏
创作历程
  • 3篇
    2022年
  • 19篇
    2021年
  • 48篇
    2020年
成就勋章
TA的专栏
  • 读书笔记
    7篇
  • 区块链学习
    2篇
  • 软件安装
    1篇
  • 算法刷题
    34篇
  • Java全栈
    11篇
  • 算法模板
    1篇
  • 高并发解决方案
    2篇
  • 分布式存储
    2篇
  • Hadoop
    2篇
  • 数据结构
    3篇
  • 算法学习
    6篇
创作活动更多

AI大模型如何赋能电商行业,引领变革?

如何使用AI技术实现购物推荐、会员分类、商品定价等方面的创新应用?如何运用AI技术提高电商平台的销售效率和用户体验呢?欢迎分享您的看法

183人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

HyperLedger Fabric(二):单机网络构建

1. 简介基于上一篇文章的基础环境,我们接着准备Fabric的相关组件并启动一个单机网络。2. Fabric组件安装Hyperledger (超级账本)是一组开源工具,旨在构建一个强大的、业务驱动的区块链框架。Hyperledger (超级账本)是区块链行业中最大的项目之一,它由一组开源工具和多个子项目组成。该项目是由 Linux 基金会主办的一个全球协作项目,其中包括一些不同领域的领导者们,这些领导者们的目标是建立一个强大的、业务驱动的区块链框架。Hyperledger Fabric 是 Hype
原创
发布博客 2022.03.27 ·
8871 阅读 ·
2 点赞 ·
0 评论 ·
10 收藏

HyperLedger Fabric实战(一):基础环境构建

简介本文将介绍从一台裸机上面如何构建出一个可用的Fabric网络(单机版,非测试网络)。基础环境构建Fabric组件安装
原创
发布博客 2022.03.27 ·
12375 阅读 ·
4 点赞 ·
2 评论 ·
19 收藏

Redis安装

Redis安装redis作为典型的nosql,采用的是内存存储的方式,适合用来存储具有一定生命周期的数据,不适合作为长期的存储方式(内存是宝贵的资源)。同时redis也提供了对数据持久化的方案,在软件开发中经常会使用到它。1. redis for linuxredis官方建议使用linux系统,其安装也十分的方便:基础环境系统:ubuntu 18.04apt-get updateapt-get upgrade# gzipsudo apt-get install zip# makesud
原创
发布博客 2022.03.13 ·
1106 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Perti网(一):概论与EN系统

简介本文为清华大学《Perti网:模理论与应用》公开课的读书笔记。概述术语1. 网模型论(Special Net Theory)SNT:有向网+网系统。在有向网是模型的基础,在有向网的基础上加上资源的分布和动态的规则就变成了网系统。有向网(棋盘):结构,以及结构特征。网系统(棋局):动态性质,分析方法,层次结构。2. 通用网论(General Net Theory)GNT的研究点:Synchrony:同步论,研究同步距离(对同步定量的描述)。Concurrency:并发公理,让
原创
发布博客 2021.11.05 ·
1026 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

动态规划:子数组的最大和

简介本文主要介绍了一个系列的问题:子数组的最大和环形子数组的最大和。问题来自LeetCode。LC:53 子数组和问题给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。这个思路较为简单,考虑计算每个位置的前缀和:preSum,在遍历到下一个位置时,比较preSum+curNum是否比curSum大,如果大则 preSum+=n,否则preSum=n。每次比较完之后,需要记录下最大值。这样做其实是一种贪心的策略,如果curNum加上该位置之前的前
原创
发布博客 2021.08.27 ·
316 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

读书笔记——深入理解JVM(JVM自动内存管理)

简介本系列为《深入理解Java虚拟机—JVM高级特性与最佳实践》一书的阅读笔记。本书开头介绍了JVM发展的历史,接着介绍了JVM是如何实现自动内存管理的。本章节主要介绍:JVM的存储结构;JVM的运行机制;GC 的原理。1. JVM内存结构和内存溢出异常JVM实质上就在内存中开辟的一块内存空间,这块空间被JVM占用并被划分成若干个分区(逻辑上的),为了高效的管理,这些分区会执行不同的功能,由于JVM有GC机制,所以我们不用太过于纠结内存泄露的问题,然而当出现内存不足等问题时,我们需要分析
原创
发布博客 2021.08.17 ·
435 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

spring学习——IOC原理

一、DI和IOC的概念DI和IOC从本质上是从不同角度描述了同一件事情:IOC:将对象的控制权交付给框架,由框架管理对象的生命周期,用户使用对象的时候直接从容器按照名称拿即可;(从容器的角度)DI:程序通过容器使用对象,在使用容器前需要注入相应的对象名称。(从程序的角度)从我们开发的使用过程中,通常就是去容器中拿对应的对象,那么这个过程是怎么样的呢?本文将逐步分析IOC的整个流程,其中着重分析了:多级缓存;依赖注入的源码;循环依赖解决。二、spring容器缓存在Spring默认的单
原创
发布博客 2021.08.10 ·
344 阅读 ·
3 点赞 ·
0 评论 ·
4 收藏

算法模板——DFS和BFS

DFS深度优先搜索的基本思路就是从一个节点开始,一只遍历其可以到达的节点,直到遍历的节点没有任何可以达到且没有遍历到的节点,此时返回上一个节点,继续遍历上一个节点的可到达且尚未遍历的节点,直到所有相连的节点都被访问到了。Code递归的DFS比较好理解: public void DFS(char[][] board, char[] chs, int x, int y, boolean[][] visited) { // 控制边界 if (x < 0 || y <
原创
发布博客 2021.08.04 ·
314 阅读 ·
2 点赞 ·
0 评论 ·
0 收藏

算法刷题系列——DFS:矩阵中的路径

问题描述链接:https://leetcode-cn.com/problems/ju-zhen-zhong-de-lu-jing-lcof给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。例如,在下面的 3×4 的矩阵中包含单词 “ABCCED”(单词中的字母
原创
发布博客 2021.08.04 ·
355 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

算法刷题系列——动态规划:120. 三角形最小路径和

问题描述思路思路就是动态规划,如果采用递归会超时,其最主要的是写出状态转移方程。主要就是dp求解的过程中的边界值的细节要做好。fun(depth,i)={min(fun(depth−1,i),fun(depth,i−1))+triangle[depth][i]depth>1,0<=i<triangle[depth−1].lengthfun(depth−1,i)+triangle[depth][i]depth>1,i−1<0fun(depth−1,i−1)+triang
原创
发布博客 2021.08.03 ·
132 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

算法刷题系列——回溯:784. 字母大小写全排列

问题描述字母大小写全排列思路分析首先这个题目要求的是全排列。那么就是无可避免地使用回溯法。这里建议对回溯的思想和经典的模板要熟悉。那么这道题我其实并没有用求排列的方式,而是使用的组合。二者的区别是:1. 排列需要用used数组来标记该遍历的位置是否加入到结果集了;2. 组合则不需要,因为下次递归的起始下标从当前遍历的位置的下一个位置开始。二者的联系是:排列是从一个数组(n个元素)中选择1、2、3…n个数字的组合。这道题为什么我没有采用排列的思路呢?因为我们无法确定递归终止的条件,因为
原创
发布博客 2021.08.02 ·
235 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

Java并发编程的艺术(五)

简介本系列为《Java并发编程的艺术》读书笔记。在原本的内容的基础上加入了自己的理解和笔记,欢迎交流!Chapter 5:Java中的锁这章我觉得是本书的核心,他介绍了不是如何使用锁,而是如何设计锁,在设计锁的过程中,不断加深对锁的理解。1. Lock锁lock锁提供了和synchronized相似的锁功能,但是其使用必须是需要显式的获取和释放锁(finally块中)。这样做虽然和synchronized的隐式获取和释放比起来比较麻烦,但是更加灵活,程序员可以在任意位置获取和释放锁,可以应对更多复
原创
发布博客 2021.06.23 ·
212 阅读 ·
1 点赞 ·
1 评论 ·
0 收藏

Java并发编程的艺术(四)

简介本系列为《Java并发编程的艺术》读书笔记。在原本的内容的基础上加入了自己的理解和笔记,欢迎交流!chapter 4 Java并发编程基础1. 线程基础知识一个进程包括多个线程,进程是资源调度的基本单位,而线程的任务调度的基本单位,因为多个线程本质上是操作进程拿到的资源。一个最简单的helloworld程序会创建四个线程:Signal DispatcherFinalizerReference Headlermain多线程的好处是什么呢?现代处理器的性能提升从高主频转向多核心。
原创
发布博客 2021.06.23 ·
160 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Java并发编程的艺术(三)

简介本系列为《Java并发编程的艺术》读书笔记。在原本的内容的基础上加入了自己的理解和笔记,欢迎交流!chapter 3 Java内存模型(Java Memory Model JMM)本章节包括四个部分:内存模型基础;顺序一致性:指令重排序与顺序内存一致性模型;同步原语:synchronized、volatile、final。内存的设计模型。1. 内存模型基本概念介绍1.1 并发中两个关键问题:(非常关键)线程间如何通信;共享内存和消息传递。共享内存是指多线程访问公共的内容,是
原创
发布博客 2021.06.21 ·
140 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

Java并发编程的艺术(二)

简介本系列为《Java并发编程的艺术》读书笔记。在原本的内容的基础上加入了自己的理解和笔记,欢迎交流!chapter 2:Java并发机制的底层实现之前学习Java多线程的时候,使用过synchronized,这种锁称为重锁,而volatile被称为轻量锁,具有可见性,可见性是指一个线程修改一个共享变量时,其他线程可以读取修改后的值 。书中给出了一些术语,之后会频繁出现,作者介绍详尽,不再补充:volatile关键字在Java中,如果一个变量被该关键字修饰,那么所有线程看到这个变量的值一定是相
原创
发布博客 2021.06.21 ·
236 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

Java并发编程的艺术(一)

简介在暑期实习的过程遇到了大厂基本上都绕不开并发编程的问题,可以说并发编程是任何编程语言绝对重头的部分,不论是为了以后的面试还是自我的提升,学习并发编程都是必须的。希望通过本次的学习可以掌握:1. Java并发的机制;2. JVM中是如何支持并发的;3. 学会并发编程的基础语法;4. 加深对常用的关键字的理解;5. 掌握一定的并发编程的技巧;阅读书籍《Java并发编程艺术》阅读前推荐:对Java编程基础和面向对象设计熟悉;对操作系统比较熟悉(线程相关概念);JVM了解一点。正文
原创
发布博客 2021.06.21 ·
245 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

高并发解决方案——Redis(二)

简介本文主要介绍了安装、使用和redis的配置信息。安装redis基于Ubuntu 18.04。# 更新APT存储库缓存sudo apt update# 下载redissudo apt install redis-server关键配置vim /etc/redis/redis.conf# 端口号port 6379# 开启远程访问bind 0.0.0.0# 通过systemd监控redis状态supervised systemd# 数据库数量databases 16
原创
发布博客 2021.06.03 ·
144 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

高并发解决方案——Redis(一)

简介Redis作为重要的缓存数据库在高并发的解决方案中起着重要作用。为了系统的学习Redis,也为了秋招(美团比较关注Redis 的掌握),计划编写该系列博客,也是为了整理知识点。本篇主要介绍了Redis的基础知识与原理。之后将更新Redis的分布式相关知识和实际使用会用到的操作。希望读完这三篇文章可以完全掌握Redis的使用!NoSQLNot Only SQL的简称。NoSQL是解决传统的RDBMS在应对某些问题时比较乏力而提出的。具体的表现如下:RDBMS依赖的表结构扩展性差,当表很多时,修
原创
发布博客 2021.05.31 ·
5503 阅读 ·
3 点赞 ·
0 评论 ·
18 收藏

java开发——整合SSM

简介学习完了mybatis、spring、springMVC之后就是对这几个框架的整合了。采用的工具和软件:IDEAmysql 5.7springspringMVCmybatisSSM整合1. 导入对应的maven依赖:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.or
原创
发布博客 2021.01.21 ·
260 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Java开发——Spirng 5入门(一)

简介本文是基于狂神说java的教学视频的,希望记录自己的学习过程,同时也欢迎大家交流。  spring是一个开源且免费的框架,主要用于解决web应用开发。其特点是轻量级且非侵入式。  spring两个核心概念是:支持控制翻转(IOC)和面向切片编程(AOP)。同时,由于这两个特性,使得其对事务的支持性极强。Spring的组成模块如下:source![在这里插入图片描述](https://img-blog.csdnimg.cn/2021010813530718.png?x-oss-process=i
原创
发布博客 2021.01.15 ·
132 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多