- 博客(25)
- 收藏
- 关注
原创 SWEN90016 软件开发管理 Risk management
风险是:possible future that has negative resultsUncertain event代表有好有坏每天都在处理风险目标: 最小化负面,最大化正面的影响。Risk Management Plan是风险管理的结果,根据项目的需要来扩充细节。预测风险的三步:1. 可能性是否大于02. 影响会是什么3. 控制的程度Generic Risk:所有产品都有的风险Product-specific Risk:特有的风险.
2022-03-28 11:07:14 373
原创 JVM 第三节——垃圾回收 GC
判断对象可以回收:引用计数法:只要一个对象被其他引用,计数就会增加,如果没有引用了,计数就为0,可以被回收。但存在循环引用时,就无法进行垃圾回收。可达性分析算法:根对象——肯定不能被当作垃圾的对象扫描堆中的对象,虚拟机的垃圾回收器沿着GC root对象为起点的引用链来找到该对象,找不到,表示可以回收。哪些对象可以作为GC root?system class系统类,native stack底层本地方法,busy monitor锁的监控,thread线程。四种引用:
2022-03-28 00:00:56 261
原创 JVM 第二节
直接内存:常见于NIO操作,用于数据缓冲区分配回收成本较高,但读写速度快。磁盘文件 先进入到系统缓存区,再复制到Java缓冲区直接内存,在操作系统和Java内存都可以读取。不受JVM内存回收管理。直接内存的释放,需要调用unsafe.freeMemory()方法来释放分配和回收原理:使用了Unsafe对象完成直接内存的分配回收,并且回收需要调用freeMemory方法。ByteBuffer的实现类内部,使用了Cleaner虚引用来检测ByteBuffer对
2022-03-26 20:46:38 173
原创 JVM 第一节
Program Counter Register(程序计数器、寄存器)二进制字节码必须经过解释器才能变成机器码,机器码被CPU执行。程序计数器:记住下一条JVM指令的执行地址。在物理上就是寄存器,读写速度最快的,位于CPU。特点:线程私有、唯一不会内存溢出。虚拟机栈:Java virtual machine Stacks栈的结构是先进后出的模式,每个线程运行所需要的内存,就是虚拟机栈。每个线程只能有一个活动栈帧,对应当前执行的方法。栈帧(Frame):存入
2022-03-26 19:45:03 634
原创 算法刷题 Day 1/14 二分查找
No.704 二分查找Q: 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1该题为最常见的二分查找,首先在两端建立指针lo和hi,使用while循环,当lo <= hi时,代表两头的指针还未相遇,取一个mid作为lo和hi的中间二分点,(mid = lo + (hi - lo) / 2 防止越界)用该点的值 nums[mid] 来判断 target在 mid 下标的左边还
2022-03-04 22:53:03 148
原创 应用层-其他内容
Socket套接字的类型:不同主机的不同进程之间会进行双向通信,通信的一段即为一个套接字,不同主机上的不同进程需要通过套接字来发送讯息,TCP用主机IP+端口号座位TCP连接的端点,这个端点就是套接字。主要有三种类型:流套接字(sock_stream):基于TCP协议,面向连接、可靠的数据传输服务。数据可以保证无差错和重复,并且是按照顺序接收,所以通信两端不用对其进行额外处理。数据报套接字(sock_datagram):基于UDP协议,无连接、不可靠,但是不用建立长时间连接,同一个套接字可以
2022-01-24 18:21:05 186
原创 About optimizing of DB
数据库的优化:数据冗余、查询和更新速度、字段的数据类型是否合理等方面。·将字段很多的表分解为多个表,将字段较多的表中使用频率较少的字段,分离出来成为新表·增加中间表,对于使用联合查询的情况,可以建立中间表提高查询效率,namely,将联合查询的数据插入中间表,将联合查询改为对中间表的查询。·增加冗余字段,减少表的标准化引起的关系连接查询。分库和分表的目的:数据库内的数据量是不可控和预计的,随着时间发展,库中表越来越多,数据量爆炸式增长。增删改查的开销会越来越大,如果不进行分布式的话一
2022-01-24 18:20:30 886
原创 数据库 - About Redis
Redis是一种性能高的key-value数据库,它有以下几个优点:运行于内存但可以持久化到磁盘中,重启时能够再次加载使用。Redis还能提供List,set,sorted set,hash等数据储存结构。支持数据备份 master-slave主从模式。 MySQL Redis 类型 关系型数据库 NoSQL 功能 运行原理 ...
2022-01-24 10:59:56 735
原创 数据库-SQL语句
SQL语句分为以下几种:数据定义语言 DDL,数据查询语言 DQL,数据操作语言 DML,数据控制语言 DCLDDL : CREATE、DROP、ALTER等,对表的结构和索引等进行操作。DQL : 以SELECT为主的查询语言,各种的简单查询。DML : 例如 INSERT,UPDATE,DELETE等,对数据进行操作。DQL和DML也构成了增删改查的基本操作。DCL : GRANT、REVOKE,COMMIT,ROLLBACK等,是控制数据库的安全完整性和权限的。super
2022-01-13 19:53:59 435
原创 数据库-锁
共享锁(shared lock):他读锁,可以并发读取数据,但不能修改。排它锁(exclusive lock):独占锁、写锁,对数据资源进行增删改时,其他事务不可以操作这个资源,知道排它锁被释放,防止同时对同一资源多重操作。更新锁(Update lock):防止死锁,两个事务对同一个数据进行先读取再修改的情况,不使用共享锁或排它锁。资源的更新锁只能分配给一个事务,如果要对资源进行修改,就会变成排它锁,否则会变成共享锁。意向锁:表示SQL Server需要层次结构中中的某些底层资源上获取share
2022-01-12 21:34:32 235
原创 Transaction
Transaction事务类似一种集合,代表着一系列的数据库操作,其结果会使数据库变为一个整体,因此不可分割。事务状态:活跃状态、部分提交状态、失败状态、中止状态、提交状态事务的四大特性(ACID):原子性(Atomicity):事务要么全部执行,要么全部失败;不会存在一个事务的部分内容完成的现象。一致性(consistency):事务的起始和结束,数据应当是不变的。隔离性(Isolation):一个事务的执行不受外界其他事务持久性(Duration):一个事务提交之后,对数据库
2022-01-12 20:58:57 1211
原创 数据库的索引
优点 缺点 保证数据库表中每行数据的唯一性 创建和维护索引需要耗费时间,尤其是增删改的时候索引也要维护 加快检索速度 加速表和表之间的连接 索引需要占用一定的内存空间,聚簇索引需要的空间更大。 使用索引,可以在查询过程中,使用优化隐藏器,提高系统性能 索引的数据结构:在数据库中,主要有三类索引结构:B树索引、Hash索引和位图索引B树索引(平衡树索引),MySQL、Oracle和SQL Server数据库都用的是B树索引,它具有一个或者多个分支,
2022-01-11 18:28:30 466
原创 链路层与物理层
MAC地址是链路层和物理层所使用的地址,位于网卡的物理的地址。MAC地址用来定义网络设备的位置。而IP地址是网络层以上的地址,是逻辑地址。用来区别网络的计算机。MAC不能用于唯一的寻址,因为全世界存在海量的设备,MAC的地址长度是远远不够存储这些。而IP通常与地狱相关,因此在一个子网中有同样的IP前缀,这样路由器就可以根据前缀知道设备的子网,剩下的就可以通过子网内部进行实现。只有当设备连入网络时,才能根据它的所在子网来分配IP,在设备没有IP地址或者还未分配的时候,我们需要MAC地址来区分设备。
2022-01-11 16:16:38 425
原创 网络层 - Internet Protocol
IP是互联网协议的简称,在网络层工作,无连接/不可靠。寻址和路由:IP数据包携带source IP和destination IP来寻找主机,在IP网关和路由器进行转发,并且路由器会根据路由表选择best route。分段与重组:IP数据包在传输中经过不同的网络时,面对无法一整个通过时,会被分配一个标识符和拆分和组装的信息,使得数据包可以通过不同网络。到达目的地后由目标主机重组为原来的数据包。...
2022-01-11 14:03:13 1229
原创 传输层-TCP和UDP
TCP 是面向连接 提供可靠的传输 使用字节流 但是速度慢、开销大,适合文件、邮件传输,首部字节20-60个UDP是无连接 传输不可靠 使用数据报文段(datagram)传输效率快、开销小,适合即时通讯,首部8个字节可靠的TCP:数据分块、序列号和确认应答(Ack)、checksum、流量控制、拥塞控制、ARQ协议、超时重传不可靠的UDP:UDP只有一个socket接收缓冲区,没有socket发送缓冲区,所以不管对方能否正确接收,它只要有数据就发送。对方的接收缓冲区满了以后,后来的dat
2022-01-10 21:18:08 846
原创 传输层 - TCP的三次握手 四次挥手
三次握手:建立TCP连接,这中间涉及如下几个过程:Client:close , SYN-SENT, EstablishedServer:close, Listen, SYN-RECV,Established1. client向server发送一个SYN包,等待server的确认,SYN为标识为,表示“我想建立连接”;序号Seq = x(x是随机数);client进入了 SYN-SENT状态2. server向client返回了一个SYN包,同时结束LISTEN阶段,标识位为S
2022-01-10 18:40:41 935
原创 应用层-HTTP相关知识详解
GET和POST的区别:1. get所提交的数据位于URL之后,请求参数等会被完整的保留在浏览器记录里,参数的暴露存在安全问题,往往用于获取;而post参数在请求主体内,参数不会被保留因此更为安全,可以用于修改服务器的资源。2. get请求只支持URL编码,post支持多种编码格式3. get只支持ASCII字符格式的参数,post没有限制4. get的提交数据大小受到浏览器限制,post提交的数据无限制5. get方式需要Request.QueryString来取得变量值,post是童
2022-01-05 14:15:27 735
原创 应用层-http与https学习笔记
首先要知道,http是目前使用最为广泛的应用层协议,但它存在以下几个缺点:窃听、篡改、冒充。1. 请求信息都是明文传输,很容易被窃听2. 数据的完整性不能校验,容易被篡改3. 没有验证对方身份,存在冒充风险。而https则是在应用层和网络层中间加入了SSL/TLS层,用于校验服务器身份,并且对C/S两端通信的内容进行加密,https的默认端口号是443(http为80)。SSL(Safe socket layer)安全套接字层,TLS(tranport layer secur...
2022-01-05 11:17:18 165
原创 课程笔记 Comp90038 1.数据结构和算法分析
Intro:算法是一个能够通过计算机程序 机械性解决同类问题的方法算法问题,就是面对多个实例的一个普通的问题集;一个算法能够解决所有可能的实例。例如:Sort排序问题,Graph color 图的配色问题,equation solving 相等解决问题算法的术语:算法是一个有限的指令集,并且:没有模棱两可,每一步都清晰定义;对于所有符合格式的输入,都能够工作在合理的时间内运行完成;解决问题的步骤:1.理解问题,2.决定计算方法(顺序vs并行,精确vs近似)
2021-10-21 10:09:07 283
原创 课程笔记 Info 90002 - NoSQL
Big Data的特点:Volume:远超传统的关系型数据库的体量Variety:海量的数据结构和格式Velocity:数据增长的速度飞快大数据时代,更在乎Schema on read,Schema on Write:预先设计存储模型Schema on read:稍后建模,取决于如何使用NoSQL的特点:不使用关系型模型,不适用SQL系列语句设计应用于分布式服务器开源为现代网络而设计最终一致性目的:提高开发者的生产力,解决大量的数据例如:J
2021-10-18 22:00:39 153
原创 课程笔记 Info 90002 - Data Warehouse
Intro:OLTP = "OnLine Transaction Processing" 在线处理数据可以用于分析和决策制定因此需要一个完整的组织化数据这就是信息化数据库(Informational Database)这个数据库用于观察单一因素的变化对结果的影响,因此具有:Single Point of Truth about the data(SPOT)由此引入数据仓库 Data Warehouse这一概念:它是单一的存储组织化数据的载体,集成了来自多个来源的数据,使数据对
2021-10-18 21:13:08 133
原创 课程笔记 Info 90002 - Distributed Databases
两个概念——分布式数据库和去中心化数据库Distributed Database:逻辑统一但是物理分布于多个地区的电脑上的数据库,通过数据通信连接;用户体验为在一个数据库上使用;Decentralized Database:一系列独立的数据库,没有网络连接成一个整体;用户体验为在多个数据库上使用;每个物理服务器都有一个记忆结构,能够获取他们自己和功效的物理存储。聚类管理器,用来协调各个物理服务器。分布式数据库的优点:1.能够适应地理分布,使用互联网连接2.能够使数
2021-10-18 20:44:34 216
原创 课程笔记 Info 90002 - DB Architecture & Administration
两个与Database相关的工作:Database Administrator(DBA,技术角色):分析和设计数据库,选择合适的DBMS,安装和更新DBMS,测试DBMS性能,负责数据的安全隐私和完整,负责备份和恢复。Data Administrator(DA,管理角色):数据政策,流程和标准的制定,负责规划,数据的冲突和解决,管理信息储存库,内部的市场和培训,遵守法规和公司政策。DBMS的架构:DBMS作为一个整体存在与两个部分:·内存(memory)·硬盘(disk)
2021-10-18 18:06:53 152
原创 课程笔记 Info 90002 - Storage & Indexing
This part is about Heap files and Index Files文件(File):可以被视为pages的集合,每个page包含了一系列的记录(records)DBMS必须支持:对records的增删改查,以及遍历全部的记录,因此针对不同的情况,出现了不同类型的文件。Heap files:类似于栈,无序的插入,但是适合获取全部数据的情况Sorted files:对文件进行排序,适合查询部分数据Index file organization:特别的数据结
2021-10-18 17:08:26 214
原创 课程笔记 Info 90002 - Transaction & Concurrency
交易和并发位于DBMS的Concurrency Control(Transaction manager & lock Manager)·Transaction-事务、交易在数据库中,transaction指的是一组逻辑单元的工作(内包含一系列SQL语句),要么全部执行,否则全部丢弃。DML语句已经是MySQL和SQL Server中不可再分的语句,但RDBMS允许用户自定义transaction,并且能对数据库做永久性改变。Transaction解决了两个问题:...
2021-10-18 16:28:41 155
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人