- 博客(41)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 IDEA 学生无需破解免费申请(可用学生证和教育邮箱申请)
一、安装进入官网下载适合自己系统的版本,下载地址:https://www.jetbrains.com/idea/download/#section=windows安装中选择适合本机的64位(32位)版本,其他一直next即可二、破解先下载jar包JetbrainsCrack.jar,把它放到你认为合适的文件夹内,我直接放在了安装目录C:\Program Files\JetBrai...
2019-10-18 17:13:29
121551
342
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Webflux响应式编程(SpringBoot 2.0新特性)——完整版
学习webflux前需要学习三个基础:函数式编程和lambda表达式Stream流编程Reactive stream 响应式流接下来进入学习一、函数式编程和lambda表达式1. 什么是函数式编程函数式编程是一种相对于命令式编程的一种编程范式,它不是一种具体的技术,而是一种如何搭建应用程序的方法论2. 为什么要使用函数式编程* 能让我们以一种更加优雅的方式进行编程*...
2018-11-17 17:08:55
5391
1
转载 学会了这些技术,你离BAT大厂不远了(转)
原文链接:https://blog.csdn.net/z694644032/article/details/100084287作者:平头哥的技术博文每一个程序员都有一个梦想,梦想着能够进入阿里、腾讯、字节跳动、百度等一线互联网公司,由于身边的环境等原因,不知道 BAT 等一线互联网公司使用哪些技术?或者该如何去学习这些技术?或者我该去哪些获取这些技术资料?...
2020-09-13 00:30:13
326
原创 (4)进程同步——计算机操作系统复习笔记
一、进程同步、进程互斥什么是进程同步?读进程和写进程并发地运行,由于并发必然导致异步性,因此“写数据”和“读数据”两个操作执行的先后顺序是不确定的。而实际应用中,又必须按照“写数据 →读数据”的顺序来执行的。同步亦称直接制约关系,它是指为完成某种任务而建立的两个或多个进程,这些进程因为需要在某些位置上协调它们的工作次序而产生的制约关系。进程间的直接制约关系就...
2020-07-12 23:39:54
330
原创 (3)处理机调度与死锁——计算机操作系统复习笔记
一、处理机调度的概念、层次在多道程序系统中,进程的数量往往是多于处理机的个数的,这样不可能同时并行地处理各个进程处理机调度,就是从就绪队列中按照一定的算法选择一个进程并将处理机分配给它运行,以实现进程的并发执行。调度的三个层次高级调度(作业调度)。按一定的原则从外存上处于后备队列的作业中挑选一个(或多个)作业,给他们分配内存等必要资源,并建立相应的进程(建...
2020-07-12 22:01:24
394
原创 (2)物理层——计算机网络复习笔记
1. 物理层的基本概念物理层解决如何在链接各种计算机的传输媒体上传输数据比特流,而不是指具体的传输媒体。尽可能地屏蔽掉这些传输媒体和通信手段的差异,以便透明地传送比特流。物理层的主要任务为:确定与传输媒体的接口的一些特性,即:机械特性:比如接口形状、大小等电气特性:比如电压范围功能特性:比如规定-5V 表示 0,+5V 表示 1过程特性:规定建立...
2020-07-12 20:30:55
1027
原创 (9)输入输出系统——计算机操作系统复习笔记
一、IO 设备的概念与分类什么是 I/0 设备“I/O”就是“ 输入/输出”(Input/Output)。就是可以将数据输入到计算机,或者可以接收计算机输出数据的外部设备,属于计算机中的硬件部件。如:鼠标、键盘、显示器等IO 设备的分类--按使用特性人机交互类外部设备(鼠标、键盘):数据传输速度慢存储设备(移动硬盘):数据传输速度快网络通信设备(调...
2020-07-12 16:32:23
873
原创 (4)网络层——计算机网络学习笔记
1. 网络层提供的两种服务网络层关注的是如何将分组从源端沿着网络路径送达目的端。两种服务:网络层应该向运输层提供怎样的服务?虚电路服务数据报服务虚电路虚电路表示这只是一条逻辑上的连接,分组都沿着这条逻辑连接按照存储转发方式传送,而并不是真正建立了一条物理连接。数据报服务网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务。网络在...
2020-07-12 16:32:11
250
原创 (5)存储器管理——计算机操作系统复习笔记
一、内存的基础知识什么是内存?有何作用?内存是用于存放数据的硬件。**程序执行前需要先放到内存中才能被 CPU 处理。**内存地址从 0 开始,每个地址对应一个存储单元。程序编译时只需确定变量 x 存放的相对地址(也就是相对于进程在内存中的起始位置而言的地址),相对地址又称逻辑地址,绝对地址又称为物理地址。从写程序到程序运行编译:由编译程序将用户源代...
2020-07-12 15:18:07
678
原创 (2)进程的描述与控制——计算机操作系统复习笔记
一、进程的定义、组成、组织方式、特征进程的定义程序:就是一个指令序列。引入多道程序技术后:为了方便操作系统管理,完成各程序并发执行,引入了进程、进程实体的概念。程序段、数据段、PCB三部分组成了进程实体(进程映像)。一般情况下,我们把进程实体就简称为进程,例如,所谓创建进程,实质, 上是创建进程实体中的 PCB;而撤销进程,实质上是撤销进程实体中的 PC...
2020-07-12 15:13:01
174
原创 (6)虚拟存储器——计算机操作系统复习笔记
一、虚拟存储器概述1. 常规存储管理方式和局部性原理一次性:作业必须一次性全部装入内存后才能开始运行。这会造成两个问题: ① 作业很大时,不能全部装入内存,导致大作业无法运行; ② 当大量作业要求运行时,由于内存无法容纳所有作业,因此只有少量作业能运行,导致多道程序并发度下降。驻留性:一旦作业被装入内存,就会一直驻留在内存中,直至作业运行结束。事实上,在一个...
2020-07-12 13:13:32
752
原创 (1)计算机网络概述——计算机网络复习笔记
1.计算机网络在信息时代的作用数字化:计算机所处理的数据信息化:电话、QQ、购物等网络化:数字化和信息化都离不开网络,网络化分为三网:电信网、计算机网络、有线电视网络。计算机网络分为因特网、军网等其他网络。互联网具有两个重要的基本特点:连通性和共享。2. 因特网概述计算机网络由若干结点和连接这些结点的链路组成。网络:计算机通过交换机连接起来...
2020-07-12 13:01:18
184
原创 (1)操作系统引论——计算机操作系统复习笔记
操作系统(Operating System,OS) 是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配,以提供给用户和其他软件方便的接口和环境,它是计算机系统中最基本的系统软件。一、功能和目标操作系统的作用作为用户与计算机硬件之间的接口命令接口:允许用户直接使用联机命令接口脱机命令接口程序接口:允许用户...
2020-07-12 09:02:58
312
原创 (8)磁盘存储器的管理——计算机操作系统复习笔记
一、文件的物理结构几个基本概念类似于内存分页,磁盘中的存储单元也会被分为一个个“块/磁盘块/物理块”。很多操作系统中,磁盘块的大小与内存块、页面的大小相同。内存与磁盘之间的数据交换(即读/写操作、磁盘 I/O) 都是以“块”为单位进行的。即每次读入一块,或每次写出一块。在内存管理中,进程的逻辑地址空间被分为一个一个页面。同样的,在外存管理中,为了方便对...
2020-07-12 06:33:00
605
原创 (7)文件管理——计算机操作系统复习笔记
一、初识文件管理文件系统中,数据项是最低级的数据组织方式,分为两种类型:基本数据项:用于描述一个对象的某种属性的字符集,又称为字段;组合数据项:是由若干个基本的数据项组成,简称组项。记录是一组相关数据项的集合,用于描述一个对象在某方面的属性。文件是由创建者定义的、具有文件名的一组相关元素的集合,分为结构文件和无结构文件两种。文件属性包括:文件...
2020-07-12 04:59:58
1309
原创 (5)运输层——计算机网络复习笔记
1. 运输层概述进程间的通信从通信和信息处理的角度看,运输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,也是用户功能中的最低层。通信的真正端点不是主机而是主机中的进程。网络层为主机之间提供逻辑通信,运输层提供应用进程间端到端的逻辑通信。运输层的两个主要协议两个对等运输实体在通信时传送的数据单元叫做运输协议数据单元。用户数据报协议 UDP...
2020-07-12 02:37:20
744
原创 (3)数据链数层——计算机网络复习笔记
数据链路的几个基本概念数据链路层使用的信道主要有以下两种类型:点对点信道。这种信道使用一对一的点对点通信方式。广播信道。这种信道使用一对多的广播通信方式,因此过程比较复杂。广播信道上连接的主机很多,因此必须使用专用的共享信道协议来协调这些主机的数据发送。1. 使用点对点信道的数据链路层1.1 链路与数据链路链路是一条点对点的物理线路段,中间没有任...
2020-07-12 01:09:09
581
原创 Git常用命令
Git 常用命令创建版本库#把这个目录变成Git可以管理的仓库git init#把文件添加到仓库git add readme.txt#把文件提交到仓库git commit -m "wrote a readme file"时光穿梭机版本回退#查看历史记录git log#查询版本号git log --pretty=oneline#回退到...
2020-06-14 15:19:54
67
原创 Spring Boot使用docker部署(阿里云镜像服务)
之前了解过 docker 的简单使用,却一直没有将项目使用 docker 部署,听了大佬的建议,现全部改为 docker 部署,虽然比较简单 ????,但还是要分享给其他小伙伴 。Windows docker 下载地址:https://hub.docker.com/?overlay=onboarding一、创建镜像仓库进入阿里云镜像服务:https://cr.c...
2020-02-21 03:25:50
1080
原创 Linux 常用命令总结
大三这学期选了一门 Linux 操作系统,虽然之前学过一些,但是不够系统,以下简单整理了一下常用的一些命令。一、初识 Linux发行版本 Ubuntu debian deepin CentOS red-hat manjaro mint文件系统默认 EXT4默认启动方式 /etc/inittabman 命令 man 5 inittab(查看 inittab...
2020-02-01 15:26:15
100
原创 精选!必备的VSCode插件
精选!必备的 VSCode 插件1、Chinese Language简体中文汉化插件,和我一样英文不好的童鞋可以安装这个插件进行汉化。这个插件重载之后还没有汉化成功的话,把编辑器关闭重新打开就行了。2、vscode-icons让 vscode 资源树目录加上图标,有利于我们进行文件格式的判断。3、HTML Boilerplate通过使用 HTML 模版...
2020-01-31 08:47:55
651
原创 Java多线程下载——服务端及客户端
服务端支持多线程下载实现controller层 /** * 多线程文件下载 * @param filename * @return */ @GetMapping("/files/{filename:.+}") @ResponseBody public ResponseEntity<Resource> ser...
2019-06-09 17:30:35
437
原创 2019年未来软件工作室年会总结
学习方面学习一些博客或视频的时候,注重发现别人好的地方,好的工具、好的开发方式等等。深度遍历的同时进行广度遍历,这两项并不冲突。精力不好或容易犯困的时候不要学深度的东西,可以看一下论坛文章等等。专业课一定要重视,数据结构、计算机网络是面试的基本;英语也要重视,英语能决定你的上限。不要太过注重技术,技术迭代很快,多巩固基础、提高学习能力。学习中遇到困难不要气馁,不...
2019-05-04 14:44:48
275
1
原创 (4)实战开发——Webflux响应式编程利器
Webflux响应式编程利器先来一张图,这是spring文档的一张截图,介绍了spring如今的两种开发模式,MVC和webflux两种开发模式,可见webflux的重要性1. 初识SpringWebFluxwebflux 是spring5推出的一种响应式Web框架,它是一种非阻塞的开发模式,可以在一个线程里处理多个请求(非阻塞),运行在netty环境,也可以可以运行在servlet3.1...
2018-12-18 17:34:40
2040
1
原创 (3)Reactive stream 响应式流——Webflux响应式编程利器
Reactive stream 响应式流Reactive stream是jdk9新特性,提供了一套API,就是一种订阅发布者模式被压,背压是指在异步场景中,发布者发送事件速度远快于订阅者的处理速度的情况下,一种告诉上游的发布者降低发送速度的策略,简而言之,背压就是一种流速控制的策略。举个例子:假设以前是没有水龙头的,只能自来水厂主动的往用户输送水,但是不知道用户需要多少水,有了Reacti...
2018-12-18 17:26:04
1936
1
原创 (2)Stream流编程——Webflux响应式编程利器
Stream流编程1. 是什么,不是什么是一个高级的迭代器,不是一个数据结构、不是一个集合、不会存放数据、关注的是怎么把数据高效处理2. 创建/中间操作/终止操作1) 创建代码演示 List&amp;amp;amp;amp;lt;String&amp;amp;amp;amp;gt; list = new ArrayList&amp;amp;amp;amp;lt;&amp;amp;amp;amp;gt;(); // 从集合创
2018-12-18 17:22:16
1836
原创 (1)什么是函数式编程——Webflux响应式编程利器
函数式编程和lambda表达式1. 什么是函数式编程函数式编程是一种相对于命令式编程的一种编程范式,它不是一种具体的技术,而是一种如何搭建应用程序的方法论2. 为什么要使用函数式编程* 能让我们以一种更加优雅的方式进行编程* 函数式编程与命令式编程相比1)不同点:关注点不同,命令式编程我们关注的是怎么样做,而函数式编程关注的是做什么。2)优点:可以使代码更加的简短,更加的好读。...
2018-12-18 17:19:54
1839
原创 Windows脱坑,MySQL5.7安装版修改编码,亲测可用
最近Linux转win10,安装MySQL时修改编码无效,网上找了很多方案没一个成功的,在此特此记录一下。注:MySQL5.7安装版下载地址https://dev.mysql.com/downloads/mysql/ ,进入后点击下载旧版本5.7一、 首先说一下网上的方案,在MySQL安装目录添加my.ini文件,文件内容为:```[client]default-charact...
2018-11-18 16:06:32
2023
原创 Linux下查看内存型号、主板、硬盘等等
首先查看是否安装了dmidecode工具[root@algerfan ~]# dmidecodeLinux 查看内存的插槽数,已经使用多少插槽.每条内存多大:[root@algerfan ~]# dmidecode|grep -A5 "Memory Device"|grep Size|grep -v RangeSize: 4096 MBSize: 4096 MBSize: No M...
2018-10-30 08:45:51
7053
原创 Tomcat启动过程中找不到JAVA_HOME(Neither the JAVA_HOME nor the JRE_HOME environment variable is defined)解决方法
一、在deepin安装Tomcat的过程中启动报错二、查了原因后,发现是因为使用命令启动./startup.batTomcat时,它调用了catalina.bat,而它调用了setclasspath.bat。因此需要在setclasspath.bat手动声明环境变量三、解决办法:修改tomcat的bin目录下setclasspath.sh,手动添加JAVA_HOME和JRE_HOME两个环境...
2018-10-24 17:58:10
4243
原创 deepin15.7安装与卸载MySQL(解决不提示设置密码问题)、修改默认编码为utf-8以及查询MySQL的一些命令
一、首先安装MySQL安装前更新一下仓库,输入命令:sudo apt-get updatealgerfan@algerfan:~$ sudo apt-get autoremove --purge mysql-server-5.7输入命令:sudo apt-get install mysql-server mysql-client安装MySQL数据库程序和命令行管理工具客户端1)...
2018-10-23 22:32:48
2261
原创 Centos7部署项目常用命令(防火墙、查看端口占用、文件操作等命令)
一、Centos 7 firewall 命令:查看已经开放的端口:firewall-cmd --list-ports开启端口firewall-cmd --zone=public --add-port=80/tcp --permanent命令含义:–zone #作用域–add-port=80/tcp #添加端口,格式为:端口/通讯协议–permanent #永久生效,没有此...
2018-09-27 20:13:06
2610
原创 阿里云CentOs7服务器部署之JDK+MySQL+Tomcat安装与配置
一、jdk的安装1. 登录Linux,切换到root用户su root #获取root用户权限,当前工作目录不变(需要root密码)或sudo -i #不需要root密码直接切换成root(需要当前用户密码)2. 在usr/local目录下建立java安装目录mkdir -p /usr/local/java3.上传安装文件到linux解压tar.gz首先需要安装依赖:tar...
2018-09-27 18:09:44
1913
原创 [LeetCode]53. 最大子序和(Maximum suborder and)Java
一、题目:LeetCode地址给定一个整数数组nums,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释:连续子数组[4,-1,2,1] 的和最大,为6。进阶:如果你已经实现复杂度为 O(n) 的解法,尝试使用更为精妙的分治法求解。二、分析该题利用了...
2018-08-25 21:49:13
1909
原创 [LeetCode]46. 全排列(The whole arrangement) Java
一、题目:LeetCode地址给定一个没有重复数字的序列,返回其所有可能的全排列。示例:输入: [1,2,3]输出:[ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1]]二、分析:该题采用了回溯,刚开始接触回溯,不太好理解,基本概念、基本思想、步骤等等,具体了解-->推荐博客三...
2018-08-25 21:26:41
2019
原创 [LeetCode]66. 加一(Plus One)Java
一、题目:LeetCode地址给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储一个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例1:输入: [1,2,3]输出: [1,2,4]解释: 输入数组表示数字 123。示例2:输入: [4,3,2,1]输出: [4,3,2,2...
2018-08-25 20:50:06
1814
原创 [LeetCode]682. 棒球比赛(Baseball Game)Java
一、题目:LeetCode地址你现在是棒球比赛记录员。给定一个字符串列表,每个字符串可以是以下四种类型之一:1.整数(一轮的得分):直接表示您在本轮中获得的积分数。2."+"(一轮的得分):表示本轮获得的得分是前两轮有效回合得分的总和。3."D"(一轮的得分):表示本轮获得的得分是前一轮有效回合得分的两倍。4."C"(一个操作,这不是一个回合的分数):表示您获得的最后一...
2018-08-25 20:35:43
2025
原创 [LeetCode]17. 电话号码的字母组合(Letter Combinations of a Phone Number)
一、题目:LeetCode地址给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例:输入:"23"输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].注意:尽管上面的答案是按字典序排列的,但是你可以任意选择答案输...
2018-07-30 11:08:03
2121
原创 [LeetCode]198. 打家劫舍(House Robber)
一、题目:LeetCode地址你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃到的最高金额。示例 1:输入: [1,2,3,1]输出: 4解释: 偷...
2018-07-30 10:58:58
1918
原创 [LeetCode]746. 使用最小花费爬楼梯(Min Cost Climbing Stairs)
一、题目:LeetCode地址数组的每个索引做为一个阶梯,第 i个阶梯对应着一个非负数的体力花费值 cost[i](索引从0开始)。每当你爬上一个阶梯你都要花费对应的体力花费值,然后你可以选择继续爬一个阶梯或者爬两个阶梯。您需要找到达到楼层顶部的最低花费。在开始时,你可以选择从索引为 0 或 1 的元素作为初始阶梯。示例 1:输入: cost = [10, 15, 20]...
2018-07-30 09:49:34
1887
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人