Java基础 程序流程 Java默认初始值与无默认区分
public class DefaultValuesExample { int instanceVar; // 默认值: 0 static int staticVar; // 默认值: 0 int[] array = new int[5]; // 数组元素默认值: 0 public void method() { int localVar; // 局部变量,必须显式初始化 // System.out.println(localVar); // 编译错误 } public static void main(String[] args) { DefaultValuesExample example = new DefaultValuesExample(); System.out.println("Instance variable: " + example.instanceVar); System.out.println("Static variable: " + staticVar); System.out.println("Array element: " + example.array[0]); } } 局部变量必须有显式初始化
Java简易程序
public class Hello { public static void main(String[] args) { System....
SQL基本使用 关系型数据库 数据库:保存用户数据
随着应用程序的功能越复杂,数据量越大,管理这些数据就成了大问题 读写文件并解析出数据需要大量重复代码; 从成千上万的数据中快速查询出指定数据需要复杂的逻辑 数据模型
层次模型:以“上下级”的层次关系来组织数据的一种方式,看起来就像一颗树 网状模型:每个数据节点和其他很多节点都连接起来,看起来就像很多城市之间的路网 关系模型:数据看作是一个二维表格,任何数据都可以通过行号+列号来唯一确定,看起来就是一个Excel表 常见数据类型
名称 类型 说明 INT 整型 4字节整数类型,范围约+/-21亿 BIGINT 长整型 8字节整数类型,范围约+/-922亿亿 REAL 浮点型 4字节浮点数,范围约+/-1038 DOUBLE 浮点型 8字节浮点数,范围约+/-10308 DECIMAL(M,N) 高精度小数 由用户指定精度的小数,例如,DECIMAL(20,10)表示一共20位,其中小数10位,通常用于财务计算 CHAR(N) 定长字符串 存储指定长度的字符串,例如,CHAR(100)总是存储100个字符的字符串 VARCHAR(N) 变长字符串 存储可变长度的字符串,例如,VARCHAR(100)可以存储0~100个字符的字符串 BOOLEAN 布尔类型 存储True或者False DATE 日期类型 存储日期,例如,2018-06-22 TIME 时间类型 存储时间,例如,12:20:59 DATETIME 日期和时间类型 存储日期+时间,例如,2018-06-22 12:20:59 SQL
结构化查询语言的缩写,用来访问和操作数据库系统。SQL语句既可以查询数据库中的数据,也可以添加、更新和删除数据库中的数据,还对数据库进行管理和维护操做 SQL语言关键字不区分大小写!!!但表名和列名不一定 MySQL本身只是一个SQL接口,内部包含多种数据引擎
InnoDB:一款支持事务的数据库引擎 MyISAM:MySQL早期默认数据库引擎,不支持事务 关系模型 表的每一行称为记录(Record),记录是一个逻辑意义上的数据。
表的每一列称为字段(Column),同一个表的每一行记录都拥有相同的若干字段。
主键
记录一旦插入到表中,主键最好不要再修改,因为主键是用来唯一定位记录的,修改了主键,会造成一系列的影响 主键的一个基本原则:不使用任何业务相关的字段作为主键,也不应该允许NULL 一般字段命名为id ,常见类型有 自增整数类型:数据库会在插入数据时自动为每一条记录分配一个自增整数,这样我们就完全不用担心主键重复,也不用自己预先生成主键 全局唯一GUID类型:也称UUID,使用一种全局唯一的字符串作为主键,类似8f55d96b-8acc-4636-8cb8-76bf8abc2f57。GUID算法通过网卡MAC地址、时间戳和随机数保证任意计算机在任意时间生成的字符串都是不同的 联合主键 通过多个字段唯一标识记录,即两个或更多的字段都设置为主键 外键
在students表中,通过class_id的字段,可以把数据与另一张表关联起来,这种列称为外键
定义外键约束,关系数据库可以保证无法插入无效的数据。即如果classes表不存在id=99的记录,students表就无法插入class_id=99的记录
外键并不是通过列名实现的,而是通过定义外键约束实现的:...
常用命令记录 帮助 man man cp 查看 cp 命令的帮助手册 man -f cp 查看 cp 命令的简要信息 man -w cp 查看 cp 命令帮助手册文件所在位置 man -k cp 搜索跟 cp 相关的帮助手册 whatis whatis cp 查询 cp 命令的功能 info:阅读info格式文件 info ls 查看ls命令的info文档 info -w ls 显示ls命令info文档的物理位置 磁盘与文件系统 du : 查看磁盘使用空间 du 列出当前目录下所有文件和目录的容量大小 du -h dir 以易读方式显示 dir 文件夹及其子文件夹大小 du -ah dir 以易读方式显示 dir 文件夹内所有文件大小 du f.txt 显示文件 f.txt 所占用的磁盘空间 du -s dir 仅显示目录的总大小 df : 显示磁盘空间使用情况 df 显示磁盘空间使用情况 df /home 显示指定文件/目录所在分区的磁盘使用情况 df -i 以 inode 模式来显示磁盘使用情况 inode : 文件数据都储存在"块"中,还必须找到一个地方储存文件的元信息,储存文件元信息的区域就叫做inode,中文 “索引节点” sync : 强制将更改内容立刻写入磁盘 sync 所有挂载的文件系统的缓存数据写入磁盘 sync /path/to/file 同步指定文件的数据到磁盘 mount : 把文件系统过载到目录 mount 查看当前系统中挂载的所有文件系统信息 mount -t tmpfs 查看指定类型挂载的文件系统 sudo mount -o ro /dev/sdb/udisk 只读模式挂载 unmount : 卸载文件系统 umount -v /media/ALVIN/ 通过挂载点卸载 dd : 拷贝及转换文件(if=input file,of=output file,conv=conversion) dd if=/dev/one of=file....
git基本操作 由于学习更偏重点性记录或自己使用角度,深入度可能不足,详细见https://gitee.com/progit/index.html
安装及配置 :Git · Pro Git 第二版 简体中文
起步 版本控制 : 记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统
本地版本控制
eg : RCS工作原理是在硬盘上保存补丁集(补丁是指文件修订前后的变化);通过应用所有的补丁,可以重新计算出各个版本的文件内容。 集中版本控制 : 不同系统上的开发者协同工作
有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新 优点 : 每个人都可以在一定程度上看到项目中的其他人正在做些什么。 而管理员也可以轻松掌控每个开发者的权限 缺点 : 中央服务器的单点故障,只有单独快照 分布式版本控制
客户端并不只提取最新版本的文件快照,而是把代码仓库完整地镜像下来 git基础
Git 是把数据看作是对小型文件系统的一组快照。 每次提交更新,或在 Git 中保存项目状态时,主要对当时的全部文件制作一个快照并保存这个快照的索引。 如果文件没有修改,Git 不再重新存储该文件,而是只保留一个链接指向之前存储的文件。 Git 对待数据更像是一个 快照流 Git 中的绝大多数操作都只需要访问本地文件和资源,一般不需要来自网络上其它计算机的信息 Git 中所有数据在存储前都计算校验和,然后以校验和来引用。 这意味着不可能在 Git 不知情时更改任何文件内容或目录内容 计算校验和的机制叫做 SHA-1 散列(hash,哈希)。 这是一个由 40 个十六进制字符(0-9 和 a-f)组成字符串,基于 Git 中文件的内容或目录结构计算出来 实际上,Git 数据库中保存的信息都是以文件内容的哈希值来索引,而不是文件名 执行的 Git 操作,几乎只往 Git 数据库中增加数据 三种状态 已提交表示数据已经安全的保存在本地数据库中 已修改表示修改了文件,但还没保存到数据库中 已暂存表示对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中 由此 三个工作区 Git 仓库目录是 Git 用来保存项目的元数据和对象数据库的地方(github) 工作目录是对项目的某个版本独立提取出来的内容(本地仓库) 暂存区域是一个文件,保存了下次将提交的文件列表信息,一般在 Git 仓库目录中。称作索引 基本Git工作流程 在工作目录中修改文件 暂存文件,将文件的快照放入暂存区域 提交更新,找到暂存区域的文件,将快照永久性存储到 Git 仓库目录 Git基础 获取Git仓库...
Linux00 磁盘与目录树结构 linux 下所有的数据都是以文件的形态来呈现的,所以最重要的就是目录树架构 挂载 就是利用一个目录当成进入点,将磁盘分区槽的数据放置在该目录下 文件权限与目录配置 Linux 最优秀的就是多人任务,文件权限就很重要,将文件的可存取身份分为: owner、group、ohters,且都有 read、write、execute 等权限。
Linux系统里面账户,密码,群组目录
/etc/passwd:账户信息 /etc/shadow:账户密码,不过是加密了的 /etc/group:所有组名