【JavaWeb】
JavaWeb
Tomcat
可以通过Tomcat/conf下的server.xml文件配置启动的端口号
Tomcat默认端口号为8080
mysql: 3306
http: 80
https: 442
<Connector port="8081" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
可以配置主机的名称
默认的主机名为:localhost 或者是 127.0.0.1
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
1234567891011121314151617181920212 ...
The Kaleidoscope Language(万花筒语言)——LLVM学习
学习Kaleidoscope:Kaleidoscope Introduction and the Lexer(万花筒语言的简介和词法)
万花筒语言简介和词法
万花筒语言
万花筒语言中唯一的数据类型是64位浮点类型(也就是C语言中的double),并且该语言不需要类型声明,例如下面的计算斐波那契数列的代码:
12345678910# 计算第x个斐波那契数.# def:定义def fib(x) if x < 3 then 1 else fib(x-1)+fib(x-2)# 这个表达式会输出第40个斐波那契数fib(40)
允许Kaleidoscope调用标准库函数(LLVM JIT使这完全无关紧要)。这意味着您可以在使用之前使用’extern’关键字来定义函数(这对于相互递归函数也很有用)。例如:
1234extern sin(arg);extern cos(arg);extern atan2(arg1 arg2);atan2(sin(.4), cos(42))
词法分析器 / gettok
使用词法分析器分析万花筒语言
12345678910111213//如果t ...
【数据结构01】
迷宫生成算法
现在的迷宫生成主要有三种算法:DFS算法,随机Prim算法,Kruskal算法
DFS算法:即深度优先搜索算法,这种方法生成的迷宫具有较为明显的通路
Prim算法:这种算法生成的迷宫岔路较多,整体看上去也较为自然
Kruskal算法:这种算法同样不会产生明显的主路,岔路也较多
本篇主要采用Prim算法生成完美迷宫
完美迷宫
完美迷宫是指符合以下条件的迷宫:
迷宫中任意两点之间存在通路
任意两点见的通路是唯一的
迷宫中不存在回路
Prim完美迷宫生成算法
以下讲述中使用的代码大部分是伪码
主要步骤
设置一个二维数组,用于记录地图信息
地图尺寸为 奇数×奇数
地图最外侧一周是墙
将坐标为(奇数,奇数)的点先看做路点(坐标从0开始)
这里用0表示路,用1表示墙
123#define Width 11#define Height 11int roadOrWall[Width][Height] = 0;
初始化地图信息
将所有地图块标记为墙,即数组所有元素的值都为1
123456789for (int i = 0; i < Width; ...
Java多线程
1.1 线程、进程、多线程
1.1.1 普通方法调用和多线程
1.1.2 程序 进程 线程
一个进程可以有多个线程,比如视频中同时听到声音、看到图像和弹幕等等。
1.1.3 Process与Thread
说起进程,就不得不说下程序。程序是指令和数据的有序集合,其本身没有任何运行的含义,是一个静态的概念。
而进程则是执行程序的一次执行过程,它是一个动态的概念。是系统资源分配的单位。
通常在一个进程中可以包含若干个线程,当然一个进程中至少有一个线程,不然没有存在的意义。
线程是CPU调度和执行的单位。
执行程序 -> 进程 -> 线程
1注意:很多多线程是模拟出来的,真正的多线程是指有多个cpu,即多核,如服务器。如果是模拟出来的多线程,即在只有一个cpu的情况下,在同一个时间点,cpu只能执行一个代码,因为切换的很快,所以就有同时执行的“感觉”。
1.1.4 总结
线程就是独立的执行路径;
在程序运行时,即使没有自己创建线程,后台也会有多个线程,如主线程,gc线程(Java的垃圾回收机制);
main()称为主线程,是系统的入口,用 ...
初识MySQL07 ☆ 插入修改和删除语句详解
数据库意义:数据存储和管理
DML语言:数据操作语言
Insert
Update
Delete
7.1 插入
Insert
12345678910111213-- 插入语句-- insert into 表名 ([字段1,字段2,...]) values('值1'),('值2'),('...')INSERT INTO `student` (`name`) VALUES('好耶')-- 由于主键自增 可以省略主键-- 如果不写表的字段 就会一一匹配-- 一般写插入语句 数据和字段要一一对应-- 插入多个字段 INSERT INTO `student` (`name`) VALUES('二十四'),('二十五'),('二十六')INSERT INTO `student` (`name`,`pwd`,`sex`) VALUES('超高校级的二十四','24233','男'),(' ...
初识MySQL06 ☆ 修改和删除数据表字段
使用SQL命令对表进行修改和删除
6.1 修改表
123456789101112131415161718-- 修改表-- ALTER TABLE 旧表名 RENAME AS 新表名ALTER TABLE teacher RENAME AS teacher_max-- 增加表的字段-- ALTER TABLE 表名 ADD 字段名 列属性ALTER TABLE teacher_max ADD age INT(10)-- 修改表的字段(重命名&修改约束)-- ALTER TABLE 表名 CHANGE 旧字段名 新字段名 [列属性]ALTER TABLE teacher_max CHANGE age age1 INT(1) -- 字段重命名-- ALTER TABLE 表名 MODIFY 字段名 [列属性]ALTER TABLE teacher_max MODIFY age VARCHAR(10) -- 修改约束-- 删除表的字段-- ALTER TABLE 表名 DROP 字段名ALTER TABLE teacher_max DROP age
6.2 删除表
123-- ...
初识MySQL05 ☆ MyISAM和InnoDB
MyISAM和InnoDB的区别
5.1 数据表的类型
12345-- 关于数据库引擎/*INNODB 默认使用MYISAM 早期使用*/
MYISAM
INNODB
事务支持
不支持
支持
数据行锁定
不支持
支持
外键约束
不支持
支持
全文索引
支持
不支持
表空间大小
较小
较大,约为前者两倍
常规使用操作
MYISAM 节约空间,速度较快
INNODB 安全性较高,支持事务处理,多表多用户操作
物理空间存在的位置
所有数据库文件都存在(Environment)data目录下
本质还是文件的存储
MySQL引擎在文件上的区别
InnoDB 在数据库表中之后一个*.frm文件,以及上级目录下的ibdata1文件
MYISAM 对应的文件
*.frm 表结构的定义文件
*.MYD 数据文件(data)
*.MYI 索引文件(index)
设置数据库表的字符集编码
1CHARSET=utf8
不设置的话,会是mysql默认的字符集编码(Latin1,不支持中文)
在 ...
初识MySQL04 ☆ 创建数据表
这是用SQL命令创建一个表的范例
4.1 创建一张表
1234-- 目标:-- 创建学生表 使用SQL-- 学号int(4) 姓名 登录密码varchar(20) 性别varchar(2)-- 出生日期datetime 家庭住址 email
12345-- AUTO_INCREMENT 自增-- 字符串使用单引号引起来-- 表名和字段最好用``括起来-- 所有语句后面加逗号 最后一个字段不用加-- 一般一个表只有唯一的主键
123456789101112CREATE TABLE IF NOT EXISTS `student` ( `id` INT(4) NOT NULL AUTO_INCREMENT COMMENT '学号', `name` VARCHAR(30) NOT NULL DEFAULT '匿名' COMMENT '姓名', `pwd` VARCHAR(20) NOT NULL DEFAULT '123456' COMMENT '密码', `sex` VAR ...
初识MySQL03 ☆ 操作数据库
操作数据库–>操作数据库中的表–>操作数据库中表的数据
数据库的字段属性讲解
3.1 命令操作数据库
mysql的关键字不区分大小写
创建数据库
1CREATE DATABASE [IF NOT EXISTS] 数据库名
删除数据库
1DROP DATABASE [IF NOT EXISTS] 数据库名
使用数据库
12--如果名称或字段是一个关键字,就需要加 `` (反引号).USE `数据库名`
查看数据库
1SHOW DATABASES --查看所有数据库
学习思路:
对比SQLYog的可视化历史记录查看sql
记忆固定语法或关键字
3.2 数据库的列类型
数值
tinyint 十分小的数据 1 字节
smallint 较小的数据 2 字节
mediumint 中等大小的数据 3 字节
int 标准整数 4 字节 --> ...
初识MySQL02 ☆ SQLYog的安装和使用
主要是SQLYog的安装和基本操作
以及一些常用的sql命令
2.1 安装SQLyog
1.安装不用我多说了吧
2.点击连接
3.新建一个数据库
每一个SQLyog的操作,本质就是对应了一个SQL,可以在历史记录中查看
4.新建一张表
1字段:id,name,age.
主键:唯一性
记得输入注释
5.查看表
鼠标右键–>打开表(或者查看表数据)
6.添加记录、刷新并保存
点击刷新–>保存表
2.2 连接数据库
命令行连接数据库
12345678910111213141516171819202122232425mysql -uroot -p --连接数据库update mysql.user set authentication_string=password('123456') where user='root' and Host = 'localhost'; --修改用户密码flush privileges; --刷新权限------------------- ...







