计算机组成
计算机系统概述1.1 计算机系统的层次架构计算机系统由硬件和软件两部分组成
1.1.1 计算机硬件的基本组成
早期的冯诺依曼机
冯诺依曼提出了存储程序原理,即指令以代码的形式输入到计算机内存中,按照其在内存中的存放顺序,一条一条地执行指令,直到程序结束。按照这样的原理,计算机应当具有5大功能:数据传送,数据存储,数据处理,操作控制,操作判断。
冯诺依曼体系有以下特点:
计算机的硬件由运算器,控制器,存储器,输入设备,输出五大部分组成
指令和数据以同等地位存放在存储器中,可按地址寻访
指令和数据均用二进制表示
指令由操作码和地址码组成,操作码表示操作的性质,地址码表示操作数的地址
存储程序原理
以运算器为中心
leetcode
376-摆动序列
如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为 摆动序列 。第一个差(如果存在的话)可能是正数或负数。仅有一个元素或者含两个不等元素的序列也视作摆动序列。
例如, [1, 7, 4, 9, 2, 5] 是一个 摆动序列 ,因为差值 (6, -3, 5, -7, 3) 是正负交替出现的。
相反,[1, 4, 7, 2, 5] 和 [1, 7, 4, 5, 5] 不是摆动序列,第一个序列是因为它的前两个差值都是正数,第二个序列是因为它的最后一个差值为零。子序列 可以通过从原始序列中删除一些(也可以不删除)元素来获得,剩下的元素保持其原始顺序。
给你一个整数数组 nums ,返回 nums 中作为 摆动序列 的 最长子序列的长度 。
示例 1:
123输入:nums = [1,7,4,9,2,5]输出:6解释:整个序列均为摆动序列,各元素之间的差值为 (6, -3, 5, -7, 3) 。
示例 2:
1234输入:nums = [1,17,5,10,13,15,10,5,16,8]输出:7解释:这个序列包含几个长度为 7 摆动序列。其中一个是 [ ...
Negix
Negix主要用于实现三个功能
请求转发
负载均衡
动静分离
反向代理正向代理比如我们要看推特,看GitHub等等。我们直接用国内的服务器无法访问国外的服务器,或者是访问很慢。所以我们需要在本地搭建一个服务器来帮助我们去访问。那这种就是正向代理。正向代理的过程,隐藏了真实的客户端。客户端请求的服务都被代理服务器代替来请求
反向代理比如:我们访问淘宝的时候,淘宝内部肯定不是只有一台服务器,它的内部有很多台服务器,那我们进行访问的时候,因为服务器中间session不共享,我们在服务器之间访问需要频繁登录。这时,淘宝搭建一个过渡服务器,对我们是没有任何影响的,我们登录一次,但是能访问所有,这种情况就是反向代理。对我们来说,客户端对代理是无感知的,客户端不需要任何配置就可以访问,我们只需要把请求发送给反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,再返回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器的地址。
Negix便是一个高性能的HTTP和反向代理web服务器
请求转发Negix服务器对外暴露Negix代理服务器的地址,将 ...
Java
Spring读取配置文件属性@ConfigurationProperties和@Value注解用于获取配置文件中的属性定义并绑定到Java Bean或属性中
@Value使用@Value直接从配置文件中读取配置
配置:
1234aliyun.oss.file.endpoint=aliyun.oss.file.keyId=aliyun.oss.file.keySecret=aliyun.oss.file.bucketName=
读取:
12345678@Value("${aliyun.oss.file.endpoint}")private String endpoint;@Value("${aliyun.oss.file.keyid}")private String keyId;@Value("${aliyun.oss.file.keysecret}")private String keySecret;@Value("${aliyun.oss. ...
动态规划
有人相爱,有人看海,有人dp做不出来
初入DPFibonacciLeetcode-斐波那契通过计算前面的一些项来得出序列中的指定项的值,即递推。一个比较熟悉的例子即斐波那契数列。我们知道斐波那契数列有$f(n-1)+f(n)=f(n+1)$,即
11 1 2 3 5 8 13....
对于该数列,他的每一项都是由他的前两项推出的,构成了一个递推序列。类似这样的问题便可以用动态规划的思想解决。动态规划就是通过拆分问题,定义问题状态和状态之间的关系( 如上面的f(n),f(n-1),f(n+1)之间的关系),使得问题能够以递推(或者说分治)的方式去解决。实际上,递推是一种最简单的状态转移。
1234567891011class Solution { public int fib(int n) { int[] f = new int[31]; f[0] = 0; f[1] = 1; for(int i=2;i<=n;i++){ ...
Java和IDEA的日常抽风
4月24日 Failed to determine a suitable driver class出现在一个SpringCloud项目里,启动子服务出现以下报错
12345678910111213141516***************************APPLICATION FAILED TO START***************************Description:Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.Reason: Failed to determine a suitable driver clAction:Consider the following: If you want an embedded database (H2, HSQL or Derby), please put it on the classpath. If you have da ...