基于UDP通信,在创建了发送数据包的对象后,如果想获得数据包的目标端口号,可调用方法() A.?getTargetPort() B.?getPort() C.?getTargetName() D.?getName() B
基于UDP通信,在创建了发送数据包的对象后,如果想获得数据包的目标地址,可调用方法() A.?getIP() B.?getPort() C.?getAddress() D.?getName() C
如果想发送数据包,还必须创建一个有多个参数的DatagramSocket的对象负责发送数据包,这个参数的个数() A.?0 B.?1 C.?2 D.?3 A
基于UDP通信,可用类的对象表示一个接收数据包,这个类是() A.?DataSocket B.?DatagramSocket C.?DataPacket D.?DatagramPacket D
基于UDP通信,接收数据包的端口号应() A.?0~65535 B.?0~1023 C.?1024~65535 D.?与发送数据包的端口号相同 D
基于UDP通信,一个接收数据包应调用方法接收数据包的是() A.?connect() B.?receive() C.?accept() D.?get() B
如果要接收一个数据包,必须先准备一个数据包用于接收,这个准备接收数据的数据包应是一个类的对象,这个类是() A.?DatagramSocket B.?DatagramPacket C.?DataSocket D.?DataPacket B
一个Applet程序,如果要从网络上加载一个图像,应使用方法() A.?getGraphics() B.?getSource() C.?getImage() D.?play() C
"要显示一幅图像,()" A.?直接将介质上的图像显示在屏幕上 B.?先读入内存,在显示在屏幕上 C.?将图像读入内存即可 D.?给出图像文件的文件名即可 B
在Applet程序中,如果想获得当前Applet程序的地址,应调用方法() A.?getAddress() B.?getIP() C.?getCodeBase() D.?getDocument() C
图像被加载,输出图像使用的方法是() A.?drawImage() B.?displayImage() C.?printImage() D.?pasteImage() A
屏幕上显示的图像,() A.?必须和实际图像大小一致 B.?在x方向可发生变化 C.?在y方向可发生变化 D.?可以和实际的图像大小不一致 D
"调用方法drawImage(Image img,int x,int y,int width,int height),显示的图像按比例自动调整,此比例为()" A.?width/height B.?width/img.getWidth() C.?height/img.getHeight() D.?x方向width/img.getWidth(),y方向height/img.getHeight() D
在一个图形方式的Application程序中,() A.?可以直接在窗口中显示一幅图像 B.?可以在窗口中添加一个Canvas组件,在这个组件上显示一幅图像 C.?另外建立一个可以显示图像的窗口 D.?Application程序不能显示图像 B
在图形方式的Application中,要获取一幅图像,必须先得到一个类的对象,这个类是() A.?Image B.?ToolKit C.?Frame D.?Cavas B
在图形方式的Application中,要设置窗口的图标,应调用方法() A.?drawImage() B.?drawIcon() C.?drawIconImage() D.?setIconImage() D
JDBC() A.?能与数据库建立连接 B.?能向数据库发送SQL语句 C.?能返回对数据库的处理结果 "D.?能完成上述A,B,C" D
JDBC和数据连接的一种方式是先建立一个桥接器,这个桥是() A.?JDBC B.?ODBC C.?JDBC-ODBC D.?SQL C
要与一个数据库进行连接,首先配置一个数据源是() A.?ODBC B.?JDB C.?ODBC-JDBC D.?Excel A
建立一个数据库桥接器,应使用Class类中的方法是() A.?forName() B.?getClasses() C.?getInterface() D.?getMethods() A
建立桥接器时,可能会发生异常的是() A.?FileNotFoundException B.?ClassNotFoundException C.?ClassCastException D.?RuntimeException B
JDBC建立数据库连接时,应使用类DriverManager中的静态方法创建一个Conection对象,这个方法是() A.?getDriver() B.?getLogStream() C.?registerDriver() D.?getConnection() D
JDBC和数据库连接时,可能会产生异常的是() A.?IOException B.?NoSuchFieldException C.?SecurityException D.?SQLException D
JDBC中向数据库发送SQL语句,首先应创建一个类的SQL语句对象,这个类是() A.?Statement B.?Driver C.?PreparedStatement D.?Connection A
JDBC中创建SQL语句对象可能产生例外的是() A.?IOException B.?DataTruncation C.?SQLException D.?SQLWaring C
JDBC中执行一条SQL语句应调用方法() A.?sendQuery() B.?sendSQL() C.?executeQuery() D.?executeSQL() C
JDBC中,一条语句的执行结果放在一个类的对象中,这个类是() A.?ResultSetMetaData B.?ResultSet C.?DatabaseMetaData D.?Driver B
要在Applet程序中播放声音文件,获得一个AudioClip的对象,应调用的方法是() A.?getAppletInfo() B.?getAudioClip() C.?getDocumentBase() D.?getImage() B
要播放一个音频对象表示的音频文件,应调用的方法是() A.?stop() B.?start() C.?init() D.?play() D
用Vector创建了一个对象后,该向量() A.?大小不可改变 B.?根据使用要求,大小可以改变 C.?只能表示一个平面向量 D.?只能表示一个三维向量 B
向量中的元素不能是() A.?Object类的对象 B.?Integer类的对象 C.?String类的对象 D.?基本数据类型的数据 D
往一个向量类对象中加一个元素的方法public void add(Object obj),其中参数obj表示() A.?所增加的元素只能是一个Object类的对象 B. 一个Class类的对象 C.?一个Process类的对象 D.?任何类的对象 D
向量类Vector中的方法的参数和方法的类型大多数为Object类型,是因为() A.?Object类是所有类的基类 B.?Object类包含所有类的属性和方法 C.?向量类中的元素只能为Object类的对象 D.?Object类是所有类的子类,能表示任何父类对象 A
使用JDK开发Java程序时,编译一个源文件使用的命令是() A.?javac B.?java C.?appletviewer D.?javap A
使用JDK开发Java程序时,如果要解释一个Application程序,须使用命令() A.?javac B.?java C.?appletviewer D.?javap B
使用JDK开发Java Applet程序时,如果想看一下该程序的运行结果,使用命令() A.?javac B.?java C.?appletviewer D.?javap C
InputStream类或Reader类的子类是所有的() A.?输入流 B.?输出流 C.?输入/输出流 D.?Java通信类 A
OutputStream类或Writer类的子类是所有的() A.?输入流 B.?输出流 C.?输入/输出流 D.?Java通信类 B
当构造一个输入流的对象时,可能产生异常的是() A.?InterruptedException B.?NoSuchFieldException C.?RuntimeException D.?FileNotFoundException D
构造一个输入流的对象时,可用一个类的对象作为构造方法的参数,这个类是() A.?FileReader B.?FileWriter C.?Inputstream D.?File D
一个输入流的对象用int read()方法从流中读数据时,该方法的返回值() A.?一个字符 B.?在0~255之间 C.?一行字符 D.?在0~65535之间 B
从一个FileInputStream流中用read方法读数据时,表示流结束,则该方法返回() A.?-1 B.?0 C.?255 D.?65535 A
当对一个流 *** 作完毕时,可以保证 *** 作系统将缓冲区中的数据写入到目的地,应调用方法() A.?available() B.?pack() C.?skip() D.?close() D
类RandomAccessFile不同于其它的I/O流,该流的对象() A.?只读 B.?只写 C.?读和写 D.?不能单独读写流,只有和其它流连接才能读写 C
"构造方法RandomAccessFile(File file,String mode)中的参数mode表示()" A.?读流的方法 B.?写流的方法 C.?读/写流的方法 D.?流的打开方式 D
将一个RandomAccessFile对象中的文件指针移动到文件中的一个确定位置,应调用方法() A.?skipBytes() B.?seek() C.?moveBytes() D.?seekBytes() B
PipedInputStream()构造的一个管道输入流,与另一个管道输入流连接,应调用方法() A.?connect() B.?receive() C.?read() D.?link() A
构造方法PipedOutputStream(PipedInputStream in)生成的输出流,() A.?须调用方法与另一个管道输入流连接 B.?已经与一个管道输入流in连接 C.?应连接到一个文件输入流 D.?应连接到一个文件输出流 B
构造方法PipedInputStream()或PipedOutputStream()创建对象时,() A.?可能产生IOException异常 B.?可能产生FileNotFoundException异常 C.?可能产生NotActiveException异常 D.?不可能产生异常 D
DataInputStream与DataOutputStream的特点() A.?读写数据时与具体的机器无关 B.?读写数据时与具体的机器有关 C.?读数据时与机器有关,而写数据时与机器无关 D.?读数据时与机器无关,而写数据时与机器有关 A
对象流可以将一个数据从流中读出,也可以写入流中,这个数据是() A.?整型数 B.?字符 C.?浮点数 D.?对象 D
如果一个用户自定义的类以对象为单位进行读写时,该类定义时应实现一个接口() A.?DataInput B.?DataOutput C.?ObjectOutput D.?Serializable D
用PushbackInputStream类定义的流,() A.?可将读出的所有字节退回到流中 B.?可将指定字节数退回到流中 C.?可将刚读出的字节退回到流中 D.?每读一个字节就自动退回一个字节到流中 D? ?
JDBC 事务隔离级别作用:
1:保证数据的正确性,保证如下特征: a:原子性:如果因故障中断,则所有结果都撤消 b:一致性:事务处理的结果保留不变的特性 c:孤立性:中间状态对其他事务是不可见的 d:持久性:完成事务的结果是持久的
事务终止的两种方式:1提交,一个事务使其结果永久不变,2回滚,撤消所有更改回到原来状态。
2:解决数据同时读取的问题: 3个问题:
a:脏读取:一个事务读取了另外一个并行事务未提交的数据
b:不可重复读取:一个事务再次读取之前的 数据时得到的数据不一致,被另外一个事务修改 c:虚读:一个事务重新执行一个查询,返回的记录包含了其他事务提交的新记录
解决办法:
设定事务的隔离级别:con.setTransactionIsolation(Connection.isolationLevel)
四种隔离级别:
con.setTransactionIsolation(Connection.TRANSACTION_READ_UNCOMMITTED)//最底级别:只保证不会读到非法数据,上述3个问题有可能发生
con.setTransactionIsolation(Connection.TRANSACTION_READ_COMMITTED)//默认级别:可以防止脏读
con.setTransactionIsolation(Connection.TRANSACTION_REPEATABLE_READ)//可以防止脏读和不可重复读取
con.setTransactionIsolation(Connection.TRANSACTION_SERIALIZABLE)//最高级别:防止上述3种情况,事务串行执行
你可以做一个下拉框,选项有教师和学生,不过这个的话,一般是通过权限来控制的,这样教师和学生登录之后,看到的菜单就不一样了。JDBC连接数据库
•创建一个以JDBC连接数据库的程序,包含7个步骤:
1、加载JDBC驱动程序:
在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机),
这通过java.lang.Class类的静态方法forName(String className)实现。
例如:
try{
//加载MySql的驱动类
Class.forName("com.mysql.jdbc.Driver")
}catch(ClassNotFoundException e){
System.out.println("找不到驱动程序类 ,加载驱动失败!")
e.printStackTrace()
}
成功加载后,会将Driver类的实例注册到DriverManager类中。
2、提供JDBC连接的URL
•连接URL定义了连接数据库时的协议、子协议、数据源标识。
•书写形式:协议:子协议:数据源标识
协议:在JDBC中总是以jdbc开始
子协议:是桥连接的驱动程序或是数据库管理系统名称。
数据源标识:标记找到数据库来源的地址与连接端口。
例如:(MySql的连接URL)
jdbc:mysql:
//localhost:3306/test?useUnicode=true&characterEncoding=gbk
useUnicode=true:表示使用Unicode字符集。如果characterEncoding设置为
gb2312或GBK,本参数必须设置为true 。characterEncoding=gbk:字符编码方式。
3、创建数据库的连接
•要连接数据库,需要向java.sql.DriverManager请求并获得Connection对象,
该对象就代表一个数据库的连接。
•使用DriverManager的getConnectin(String url , String username ,
String password )方法传入指定的欲连接的数据库的路径、数据库的用户名和
密码来获得。
例如:
//连接MySql数据库,用户名和密码都是root
String url = "jdbc:mysql://localhost:3306/test"
String username = "root"
String password = "root"
try{
Connection con =
DriverManager.getConnection(url , username , password )
}catch(SQLException se){
System.out.println("数据库连接失败!")
se.printStackTrace()
}
4、创建一个Statement
•要执行SQL语句,必须获得java.sql.Statement实例,Statement实例分为以下3
种类型:
1、执行静态SQL语句。通常通过Statement实例实现。
2、执行动态SQL语句。通常通过PreparedStatement实例实现。
3、执行数据库存储过程。通常通过CallableStatement实例实现。
具体的实现方式:
Statement stmt = con.createStatement()
PreparedStatement pstmt = con.prepareStatement(sql)
CallableStatement cstmt =
con.prepareCall("{CALL demoSp(? , ?)}")
5、执行SQL语句
Statement接口提供了三种执行SQL语句的方法:executeQuery 、executeUpdate
和execute
1、ResultSet executeQuery(String sqlString):执行查询数据库的SQL语句
,返回一个结果集(ResultSet)对象。
2、int executeUpdate(String sqlString):用于执行INSERT、UPDATE或
DELETE语句以及SQL DDL语句,如:CREATE TABLE和DROP TABLE等
3、execute(sqlString):用于执行返回多个结果集、多个更新计数或二者组合的
语句。
具体实现的代码:
ResultSet rs = stmt.executeQuery("SELECT * FROM ...") 法长瘁短诓的搭痊但花
int rows = stmt.executeUpdate("INSERT INTO ...")
boolean flag = stmt.execute(String sql)
6、处理结果
两种情况:
1、执行更新返回的是本次 *** 作影响到的记录数。
2、执行查询返回的结果是一个ResultSet对象。
• ResultSet包含符合SQL语句中条件的所有行,并且它通过一套get方法提供了对这些
行中数据的访问。
• 使用结果集(ResultSet)对象的访问方法获取数据:
while(rs.next()){
String name = rs.getString("name")
String pass = rs.getString(1) // 此方法比较高效
}
(列是从左到右编号的,并且从列1开始)
7、关闭JDBC对象
*** 作完成以后要把所有使用的JDBC对象全都关闭,以释放JDBC资源,关闭顺序和声
明顺序相反:
1、关闭记录集
2、关闭声明
3、关闭连接对象
if(rs != null){ // 关闭记录集
try{
rs.close()
}catch(SQLException e){
e.printStackTrace()
}
}
if(stmt != null){ // 关闭声明
try{
stmt.close()
}catch(SQLException e){
e.printStackTrace()
}
}
if(conn != null){ // 关闭连接对象
try{
conn.close()
}catch(SQLException e){
e.printStackTrace()
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)