网络编程部分,基于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 半面向对象
Java与Database的一些对应关系:
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 |
面试题目:建一个学生表。
预习:
1、Sqlserver中的数据类型;
2、表的约束类型
|