2226-杨同学-java方向-就业:是 已关闭

2226-杨同学-java方向-就业:是 扫二维码继续学习 二维码时效为半小时

(0评价)
价格: 免费

一个topic对应多个partition,一个partition里面有多个segment文件段

每个segment文件段里面包含了两个文件

.index文件:存放的是.log文件数据的索引值

.log文件:存放的是我们真实的数据,一旦.log文件达到1GB的时候,就会产生一个新的segment

 

每一条数据都有一个唯一的offset值

index文件每隔一段距离,记录一次数据的offset索引值

kafka的基本架构

producer:负责生产数据到topic

topic:虚拟的概念

kafka需要依赖Zookeeper保存一些节点信息,kafka紧耦合Zookeeper

消费组:任意时刻,一个分区里面的数据,只能被一个消费组里面的一个线程进行消费

[展开全文]
2226_N_yy · 2021-11-08 · 自由式学习 0

kafka就是一个分布式消息队列系统

分布式就是有很多节点组成,一个节点就是一个服务器

应用场景:

流式处理,实时处理,数据从出现到产生,以一秒之内能够处理完成

流式计算:程序一旦启动,就会一直运行下去,一旦有数据,就会马上处理掉

生产者生产数据到kafka里面去,然后通过一些实时处理的框架例如flink等等去处理kafka

 

[展开全文]
2226_N_yy · 2021-11-08 · 自由式学习 0

在应用系统之间,传递的数据,叫做消息

[展开全文]
2226_N_yy · 2021-11-04 · 自由式学习 0
Spring框架对JDBC的简单封装。提供了一个JDBCTemplate对象简化JDBC的开发
* 步骤:
	1. 导入jar包
	2. 创建JdbcTemplate对象。依赖于数据源DataSource
		* JdbcTemplate template = new JdbcTemplate(ds);

	3. 调用JdbcTemplate的方法来完成CRUD的操作
		* update():执行DML语句。增、删、改语句
		* queryForMap():查询结果将结果集封装为map集合,将列名作为key,将值作为value 将这条记录封装为一个map集合
			* 注意:这个方法查询的结果集长度只能是1
		* queryForList():查询结果将结果集封装为list集合
			* 注意:将每一条记录封装为一个Map集合,再将Map集合装载到List集合中
		* query():查询结果,将结果封装为JavaBean对象
			* query的参数:RowMapper
				* 一般我们使用BeanPropertyRowMapper实现类。可以完成数据到JavaBean的自动封装
				* new BeanPropertyRowMapper<类型>(类型.class)
		* queryForObject:查询结果,将结果封装为对象
			* 一般用于聚合函数的查询
[展开全文]
2226_N_yy · 2021-10-25 · 自由式学习 0
定义工具类
		1. 定义一个类 JDBCUtils
		2. 提供静态代码块加载配置文件,初始化连接池对象
		3. 提供方法
			1. 获取连接方法:通过数据库连接池获取连接
			2. 释放资源
			3. 获取连接池的方法
[展开全文]
2226_N_yy · 2021-10-25 · 自由式学习 0

数据库连接池

1. 概念:其实就是一个容器(集合),存放数据库连接的容器。
	    当系统初始化好后,容器被创建,容器中会申请一些连接对象,当用户来访问数据库时,从容器中获取连接对象,用户访问完之后,会将连接对象归还给容器。

2. 好处:
	1. 节约资源
	2. 用户访问高效

3. 实现:
	1. 标准接口:DataSource   javax.sql包下的
		1. 方法:
			* 获取连接:getConnection()
			* 归还连接:Connection.close()。如果连接对象Connection是从连接池中获取的,那么调用Connection.close()方法,则不会再关闭连接了。而是归还连接

	2. 一般我们不去实现它,有数据库厂商来实现
		1. C3P0:数据库连接池技术
		2. Druid:数据库连接池实现技术,由阿里巴巴提供的


4. C3P0:数据库连接池技术
	* 步骤:
		1. 导入jar包 (两个) c3p0-0.9.5.2.jar mchange-commons-java-0.2.12.jar ,
			* 不要忘记导入数据库驱动jar包
		2. 定义配置文件:
			* 名称: c3p0.properties 或者 c3p0-config.xml
			* 路径:直接将文件放在src目录下即可。

		3. 创建核心对象 数据库连接池对象 ComboPooledDataSource
		4. 获取连接: getConnection
	* 代码:
		 //1.创建数据库连接池对象
        DataSource ds  = new ComboPooledDataSource();
        //2. 获取连接对象
        Connection conn = ds.getConnection();
[展开全文]
2226_N_yy · 2021-10-25 · 自由式学习 0

druid:数据库连接池实现技术,由阿里巴巴提供

步骤:

1.倒入jar包

2.定义配置文件:是properties形式的,放在那个包下都行

3.加载配置文件

4.获取连接池对象

5.获取连接

[展开全文]
2226_N_yy · 2021-10-25 · 自由式学习 0

常见的约束有哪些

唯一性约束:约束的字段不能重复

非空约束:约束的字段不能为空

主键约束:约束的字段不能重复,也不能为空

外键约束:。。。(简称FK)

检查约束:注意oracle数据库里还有check约束,但是mysql没有,目前mysql不支持该约束

 

[展开全文]
2226_N_yy · 2021-10-25 · 自由式学习 0

DBMS(执行)sql(操作)DB

[展开全文]
2226_N_yy · 2021-10-25 · 自由式学习 0

每一个字段应该包括那些属性:

字段名、数据类型、相关的约束

[展开全文]
2226_N_yy · 2021-10-25 · 自由式学习 0

PreparedStatement是预编译的,对于批量处理可以大大提高效率. 也叫JDBC存储过程

2.使用 Statement 对象。在对数据库只执行一次性存取的时侯,用 Statement 对象进行处理。PreparedStatement 对象的开销比Statement大,对于一次性操作并不会带来额外的好处。

3.statement每次执行sql语句,相关数据库都要执行sql语句的编译,preparedstatement是预编译得,   preparedstatement支持批处理

 

抽取jdbc工具类:jdbcUtils

目的:简化书写

分析:注册驱动也抽取

抽取一个方法获取连接对象

需求:不想传递参数(麻烦),还要保证工具类的通用性

解决:配置文件

jdbc.properties

[展开全文]
2226_N_yy · 2021-10-25 · 自由式学习 0

DDL:操作数据库和表

DML:增删改表中的数据

DQL:查询表中数据

DCL:管理用户,授权

DBA:数据管理员

[展开全文]
2226_N_yy · 2021-10-25 · 自由式学习 0

步骤:

导入驱动jar包

注册驱动

获取数据库连接对象connection

定义sql

获取执行sql语句的对象ststement

执行sql,接受返回对象

处理结果

释放资源

[展开全文]
2226_N_yy · 2021-10-22 · 自由式学习 0

jdbc:Java dateBase connectivity Java数据库连接,Java语言操作数据库

jdbc本质:官方定义了一套操作所有关系型数据库的规则,即接口

[展开全文]
2226_N_yy · 2021-10-22 · 自由式学习 0

事务的隔离级别:

多个事务之间隔离的,相互独立。但是如果多个事务同时操作同一批数据,则会引发一些问题,设置不同的隔离级别就可以解决这些问题

存在问题:

脏读:一个事务读取到另一个事务中还没有提交的数据

不可重复度:在同一个事务中,两次读取的数据不一样

幻读:一个事务操作数据表中的所有记录,另一个事务添加了一条数据,则第一个事务查询不到自己的修改

隔离级别:

读未提交:脏读,不可重复度,幻读

读已提交:不可重复度,幻读(oracle默认)

可重复读:幻读(mysql默认)

串行化:解决所有问题

隔离级别从小到大安全性越来越高,但是效率越来越低

[展开全文]
2226_N_yy · 2021-10-22 · 自由式学习 0

事务的四大特性:

原子性:

是不可分割的最小操作单位,要么同时成功,要么同时失败

持久性:

当事务提交或者回滚,数据库会持久化的保存数据

隔离性:

多个事物之间,相互独立

一致性:

事务操作前后,数据总量不变

[展开全文]
2226_N_yy · 2021-10-22 · 自由式学习 0

事务:

如果一个包含多个步骤的业务操作,被事务管理,那么这些操作要么同时成功,要么同时失败

操作:开启事务 start transaction

回滚:rollback

提交:commit

四大特征:

隔离级别

[展开全文]
2226_N_yy · 2021-10-22 · 自由式学习 0

子查询:查询中嵌套查询,称为子查询

[展开全文]
2226_N_yy · 2021-10-22 · 自由式学习 0

外连接:

左联

left join

右联

right join

区别:

内联查询: inner join ... on ... ,不以谁为主,列出满足条件的查询结果集;

左联查询:left join .... on ... , 以昨表为主,列出满足条件的结果集;

右联查询:right join ... on ... ,以右表为主,列出满足条件的结果集;
 

[展开全文]
2226_N_yy · 2021-10-22 · 自由式学习 0

内连接查询:

隐式查询:id关联

显示内连接:inner join on

[展开全文]
2226_N_yy · 2021-10-22 · 自由式学习 0