day25线程/数据库介绍以及建立数据库

网络编程部分,基于CS的编程

线程部分

程序:静态概念,存储在硬盘上的代码指令

进程:进行中的程序,它是个动态概念,就是静态的程序在内存中动起来

线程:进程中的多个程序执行流

 

单线程:在java中,真正的单线程是不存在的。以前我们编写的程序,至少在后台有一个垃圾回收线程存在,这个后台线程在整个程序的运行中一直存在,它会在需要的时候启动。

通常所说的单线程是指从表面上看,没有使用多线程的编码机制,只有一个main方法在运行。

 

多线程机制:java中支持多线程,

它支持一个任务分为几部分(每一部分称为一个程序执行流,一条执行路线),

使用多线程机制会极大提高效率,

一条线程出现阻碍,不影响其他线程的执行;

数据或代码的共享,即共享资源

 

线程对象的构造:

1、 继承java.lang.Thread类,

2、 让接口Runnable的实现类作Thread类的参数,构造一个线程对象

 

 

线程的启动方式:start()方法

调用此方法从概念上说不是执行线程中的代码。

 

线程执行哪些代码?

它要执行run()方法中的代码。一个线程对象肯定要重写run()方法,因为父类中的run()是空实现,接口Runnable中的run()方法没有实现。

 

线程三要素是哪些?

1、 CPU,程序无法控制cpu,因为它是由操作系统控制和调度的;

2、 代码

3、 数据

三者中,程序员可控的只有代码和数据;

根据代码和数据是否共享,可分为四种情况:

1、 代码和数据都共享;

a) 火车售票系统

2、 代码和数据都不共享

a) 线程A有自己的代码,如加法运算;线程B同样也有自己的代码,作减法运算。

3、 代码共享,数据不共享

a) 如果数据是属于实例的,每个线程对象都有自己的一份实例数据,但方法共享;

4、 数据共享,代码不共享

a) 上传文件和下载文件

 

同步概念:

程序的安全性

安全性体现当一个线程对象修改数据时,其他的线程对象都不能执行;

 

线程状态图:

正常状态四种,分别是:

1、 新建状态(new),构造一个线程对象;

2、 可运行状态(runable),新建的线程对象通过调用start()方法,进入可运行状态,

3、 运行状态(running),经过Cpu的调用(在多个线程对象中,cpu选中了这个线程对象),进入运行状态,执行run()方法中的代码;

4、 死亡状态(dead),线程中的代码正常运行完毕,线程消亡。

 

线程类提供一个有用的方法:

Sleep(int times);停顿若干毫秒的时间。

常用的场合为倒计时。

 

数据库:Database

 

Java基础

Database数据库

Java+database  = jdbc java访问数据库的一种技术

Javaweb开发中使用jdbc

对于jdbc的封装:orm框架   hibernate,mybatis,spring+mvc

 

Select * from [tbname]

Go

 

三种类型的数据库代表:

由小到大:

1、 Mysql,小,开源,免费,主要用于小型项目中。

a) 小型项目的判别:50万行以下

2、 Sqlserver系列,功能比mysql强,但远弱于oracle,主要用于中型项目开发中。

a) 中型项目:50-100万行之间

3、 oracle系列,是现今功能最强的数据库产品,用于大型项目的开发,100万行以上。

 

数据库的发展历程:

1、 手工阶段

2、 文件阶段

3、 数据库阶段

a) 网状

b) 层状

c) 关系型数据库(主流数据库)

d) 面向对象数据库(正在研究)  Cache  半面向对象

 

JavaDatabase的一些对应关系:

1、 一个数据库对应一个java项目

2、 数据库中的一个目录(模式)对应java中的一个包

3、 一张表对应Java中的一个实体类(并非一一对应)

4、 表中的一列对应java类中的一个字段

5、 表中的每列的数据类型在java中都有相应的类或内置类型对应

 

数据库对象有多种类型:

1、 数据库,它本身也是一类数据库对象;

2、 表,

3、 约束

4、 视图

5、 函数

6、 存储过程

7、 游标

8、 索引

9、 触发器

10、 …

 

以上的多种数据库对象信息,都由表来负责管理的,这样的表称为“数据字典”。

以上多种数据库对象中,其中可用数据库信息,是由master数据库中的表sysdatabases负责管理;在整个服务器中,只有这一个表;

其他类型的数据库对象,由所在数据库中的系统表sysobjects负责管理,每个数据库都有自己的sysobjects表;

 

数据库分为系统数据库和用户数据库,对于系统数据库(4个),如何操作?对于此类数据库中的数据(主要是表),可以查询,但不能做修改,更不能删除!也不要将用户表建在这些库中。

 

用户数据库是用户根据系统提供的model数据库模型创建的属于自己的数据库,对于此类数据库,可以执行任何的操作,即增、删、改、查的操作。

 

如何创建用户自己的数据库?mydb

数据库由以下几部分组成:

1、 数据库主文件

2、 数据库日志文件

3、 数据库辅助文件(可选)

4、 最大值

5、 最小值

6、 文件增长率

一个数据库至少包括两个文件,主文件mdf和日志文件ldf

系统数据库(4个)的存放位置:

C:\Microsoft SQL Server\MSSQL.1\MSSQL\Data

用户数据库可以与系统数据库存放一起,也可以存放到其他盘符,还可以将主文件和日志文件分别存放。

在创建用户数据库之前,必须要检测要建的数据库是否已经存在,如果存在,则不能创建成功。方法,如果检测到数据库存在,则删除之,再建。

如何检测数据库是否存在?

if exists(select name from sysdatabases where name='mydb')

drop database mydb

go

create databASE mydb on primary

(

name='mydb_dat',  --逻辑名称

filename='e:\db\mydb.mdf',  --物理名称

size=5Mb, --最小值

maxsize=20mb, --最大值

filegrowth=10% --2mb

)log on

(

name='mydb_log_dat',  --逻辑名称

filename='f:\db\mydb_log.ldf',  --物理名称

size=2Mb, --最小值

maxsize=5mb, --最大值

filegrowth=1mb

)

go

查看数据库信息:利用系统提供的方法sp_helpdb [dbname]

execute sp_helpdb mydb

go

 

利用最简单的方法建立用户数据库:

if exists(select name from sysdatabases where name='mydb')

drop database mydb

go

create database mydb

go

面试题目:建一个学生表。

预习:

1Sqlserver中的数据类型;

2、表的约束类型

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值