Mysql
mysqlMysql介绍
java企业级开发离不开数据库
数据是所有软件体系中核心存在 (DBA职位)
只会写代码,学好数据库,混饭吃
操作系统,数据结构 ! 不错的程序猿
离散数学,数字电路, 体系结构, 编译原理 + 经验 大佬
1. 数据库(DB, DataBase)数据的仓库
SQL: 可以存储大量数据 500万以下都没问题
数据库分类(SQL/NOSQL)
关系型数据库(SQL)
Mysql, Oracle, Sql Server, DB2, SQLlite
通过表和表之间, 行和列之间的关系进行数据存储.
菲关系型数据库(NOSQL)
Redis, MongDB
存储对象,通过对象的自身属性. 而且使用key-value的关系存储的
==DBSM(数据库管理系统)==
数据库的管理软件, 管理和维护我们的数据
MySql 就是DBMS
Mysql操作语句
操作语句
作用
mysqld - install
安装数据库(在bin目录下)
mysqld –initialize-insecure – ...
分布式
分布式分布式理论
什么是分布式系统
建立在网络之上的软件系统
在《分布式系统原理与范型》一书中定义:分布式系统是若干独立计算机的集合, 这些计算机对于用户来说就像单个相关系统
分布式系统是由一组通过网络进行通信, 为了完成共同任务而协调工作的计算机节点组成的系统, 分布式系统的出现是为了用廉价的, 普通的机器完成单个计算机无法完成的计算, 存储任务. 其目的是==利用更多的机器, 处理更多的数据==
分布式的进化过程
刚开始是: 单一应用架构ORM
垂直应用架构MVC
分布式服务框架**(RPC, 并发)**
image.png
流动计算架构 提高机器利用率的资源调度和治理中心(SOA)
分布式的高性能体现
并行性(parallelism)
容错性 (fault - tolerance)
可用性: 因为系统是相对隔离的所以尽管出现了一些故障 还是可以运行的
可恢复性: 其中一个服务器坏了 修好了还能正常一样运行 减少一些不必要的重启
复制技术: 将数据做多个副本, 就算出现问题也能保证数据不出问题
在物理层面实现 ( 不 ...
Netty
NettyNetty是一个由JBoss提供的java开源框架,
Netty是一个异步的, 基于事件驱动的网络应用框架, 用于快速开发高性能, 高可用的网络IO程序.
Netty主要针对在TCP协议下, 面向client端的高并发应用, 或者Peer-to-Peer场景下的大量数据持续传输应用.
Netty 主要基于NIO
四种IO
netty 是基于 NIO 那先简单介绍一下IO
IO模型
I/O模型: 简单理解就是用什么方式进行数据的发送和接收, 决定了通信的性能
三种IO模型:
BIO(同步并阻塞)一个连接创建一个线程, 客户端有连接请求时服务器端就需要启动一个线程处理, 如果连接不进行操作还会造成不必要的开销
BIO
BIO例子
java
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566import java.io.IOException;import jav ...
计算机科学
计算机科学(随便记)
了解点计算机科学以及历史 记录一下
历史
计算机最早的机电设备 一般以十进制 齿轮计数 到 晶体管
后来以 开、关两种状态 出现二进制
有电流为1(true) 没有电流为0(false) 基本的数字电路嘛(逻辑代数部分)
布尔代数就是逻辑代数中的与或非运算 可以被晶体管很容易实现
image.png
真值表 或者 这里 二进制实现更加支持
到硬件部分了算数逻辑单元ALU计算机中所有操作都需要这部分
image.png
加法器就是 2个半加器 组成全加器 多个全加器进行计算 预留进位(可以判断是否溢出)
电脑会有专门做乘除法的计算单元
寄存器,锁存器,内存锁存器: 锁存器是电平触发的存储单元
image.png
另一种锁存器:
image.png
这些能存储一位的数据,经他们组合起来 叫寄存器 通常为8、16….位的
寄存器:用来存放数据的一些小型存储区域,用来暂时存放参与运算的数据和运算结果
image.png
多路复用:矩阵
image.png
多个组成内存
image.png
再有多个独立内存空间组合成现在使用的内存(RAM)
从基本 ...
epoll
epoll为什么性能好
对 select/poll/epoll 一个记录吧,一些自己的理解
服务端开发嘛,所以很重要的是网络编程,epoll作为linux下的高性能网络服务所以了解一下也蛮重要的。比如epoll和select的区别是什么?epoll高效率的原因是什么?
如何处理网络信息
一台机器接收到了一条消息后,硬件的传输后,写入到内存。这个写入内存的操作是一个优先级较高的中断程序。当很多很多的消息从客户端传来,怎么处理?
计算机如何知道网络数据对应哪个(socket)连接?如何同时监控这些数据。
=.=
首先第一个:建立多个连接,每个连接一个线程(如果是一个多线程的程序,一个用户一个线程,上下文切换会消耗很多性能,如果单线程下如何处理大量的网络消息呢?)
第二个:
如何识别哪个连接: ip和端口号在操作系统的socket的索引。
同时监控呢? 多路复用是重点
select先写一个程序来在用户态实现这个功能:
java
123456789首先在一个的循环程序下,遍历这个所有的连接,有数据进行处理。while(1){ ...
华为gt2
https://cn.club.vmall.com/thread-25848096-1-1.html
Spring的AOP和IOC
Spring的IOC和AOP[toc]
Spring介绍
Spring框架即以interface21*框架为基础,经过重新设计,并不断丰富其内涵,于*2004*年3月24日*,发布了1.0正式版。作者: [Rod Johnson]([[https://baike.baidu.com/item/Rod%20Johnson/1423612?fr=aladdin\]](https://baike.baidu.com/item/Rod Johnson/1423612?fr=aladdin])(https://baike.baidu.com/item/Rod Johnson/1423612?fr=aladdin))
==非入侵式, 轻量级框架 – 支持事务==
Spring(容器/代理类框架)
image.png
Spring七个模块
image.png
IOC(控制反转)IOC – Inversion of Control
DI:依赖注入:实现方式
IOC:控制反转:= ...