Java学习(六)

Java学习(六)

目录:

1、RedisMongoDBjsongson的概念理解:

2、什么是持久化?

3、什么是cookies

4、什么是session

5、String的一个常用构造方法:

6、OutputStreamflush方法解析:

7、java中字节数查询:

8、常见的运行时异常:

9、FileInputStream学习:

10、FileOutputStream学习:

11、练习:


1、RedisMongoDBjsongson的概念理解:

答:(1)RedisRedis是一个开源的使用ANSI C语言编写、支持网络,可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的APIApplication Programming Interface,应用程序编程接口)

(2)MongoDBMongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似jsonbson格式,因此可以存储比较复杂的数据类型。MongoDB最大的特点是支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。

它的特点是高性能、易部署、易使用,存储数据非常方便。

主要功能特性有:

a)面向集合存储,易存储对象类型的数据。

b)模式自由。

c)支持动态查询。

d)支持完全索引,包含内部对象。

e)支持查询。

f)支持复制和故障恢复。

g)使用高效的二进制数据存储,包括大型对象(如视频等)。

h)自动处理碎片,以支持云计算层次的扩展性。

i)支持RUBYPYTHONJAVAC++PHPC#等多种语言。

j)文件存储格式为BSON(一种JSON的扩展)。

k)可通过网络访问。

(3)JSONJSON(JavaScript Object Notation)是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括CC++C#JavaJavaScriptPerlPython等)。这些特性使JSON成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率)

JSON 数据的书写格式是:名称/值对。

(4)GSON:Gson是一个Java类库,用于将Java对象转换为它们所代表的Json数据,也可以将一个Json字符串转换为对应的Java对象。JSON中最常用的类库有:JSON-JavaGsonJacksonFastJson等。

 

2、什么是持久化?

答:持久化(Persistence),即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。

持久化的主要应用是将内存中的对象存储在数据库中,或者存储在磁盘文件中、XML数据文件中等等。

持久化是将程序数据在持久状态和瞬时状态间转换的机制。

JDBC就是一种持久化机制。文件IO也是一种持久化机制。

 

3、什么是cookies

答:指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(通常经过加密)。

Cookies在计算机中是个存储在浏览器目录中的文本文件,当浏览器运行时,存储在RAM中发挥作用 (此种Cookies 称作sion Cookies),一旦用户从该网站或服务器退出,Cookie 可存储在用户本地的硬盘上(此种Cookies 称作Persistent Cookies(persistent,长久的)

通常情况下,当用户结束浏览器回话时,系统将终止所有的Cookies。当Web 服务器创建了Cookies后,只要在其有效期内,当用户访问同一个 Web服务器时,浏览器首先要检查本地的Cookies,并将其原样发送给Web 服务器。这种状态信息称作“persistent client state http cookie” ,简称为Cookies

 

4、什么是session

答:(1)Session直接翻译成中文比较困难,一般都译成时域。在计算机专业术语中,Session是指一个终端用户与交互系统进行通信的时间间隔,通常指从注册进入系统到注销退出系统之间所经过的时间。以及如果需要的话,可能还有一定的操作空间。

(2)具体到Web中的Session指的就是用户在浏览某个网站时,从进入网站到关闭浏览器所经过的这段时间,也就是用户浏览这个网站所花费的时间。因此从上述的定义中我们可以看到,Session实际上是一个特定的时间概念。

需要注意的是,一个Session的概念需要包括特定的客户端,特定的服务器端以及不中断的操作时间。A用户和C服务器建立连接时所处的SessionB用户和C服务器建立连接时所处的Session是两个不同的Session

(3)在计算机中,尤其是在网络应用中,称为“会话控制”。Session 对象存储特定用户会话所需的属性及配置信息。这样,当用户在应用程序的Web 页之间跳转时,存储在Session 对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。当用户请求来自应用程序的Web 页时,如果该用户还没有会话,则Web 服务器将自动创建一个Session 对象。当会话过期或被放弃后,服务器将终止该会话。Session对象最常见的一个用法就是存储用户的首选项。例如,如果用户指明不喜欢查看图形,就可以将该信息存储在Session 对象中。

注意:会话状态仅在支持cookies的浏览器中保留。

 

5、String的一个常用构造方法:

答:Stringbyte[] bytes, int offset, int length

bytes :要解码为字符的byte

offset :要解码的第一个byte的索引

length:要解码的byte

 

6、OutputStreamflush方法解析:

答:什么时候flush()才有效呢?当要将FileOutputStream作为BufferedOutputStream构造函数的参数传入,然后对BufferedOutputStream进行写入操作,才能利用缓冲及flush()

 

7、java中字节数查询:

答:String i = “中国”; i.getBytes().length  输出4,说明一个汉字占用两个字节

String i 2= “c”; i2.getBytes().length  输出1,说明一个英文字母占用一个字节

 

8、常见的运行时异常:

答:(1)IndexOutOfBoundsException:某排序索引(数组,字符串或向量的排序)超出范围时抛出。

(2)NullPointerException:当应用程序试图在需要对象的地方使用null 时,抛出该异常。 

这种情况包括:

调用 null 对象的实例方法。

访问或修改null 对象的字段。

null 作为一个数组,获得其长度。

null 作为一个数组,访问或修改其时间片。

null 作为 Throwable 值抛出。

空指针异常,出现该异常的原因在于某个引用为null,却调用了它的某个方法。这时就会出现该异常。

(3)ArithmeticException:当出现异常的运算条件时,抛出此异常。例如零作为除数

(3)ClassCastException:类转换异常,当试图将对象转换为不是实例的子类时,抛出该异常。

 

9、FileInputStream学习:

答:(1)继承关系:

Java.lang.Object

--------Java.io.InputStream

----------------Java.io.FileInputStream

(2)方法学习:

①首先在F盘中创建一个FileInputStream.txt文件

 

图9.1 建立txt文件

②代码示例如下:

1)在调用该会产生异常的方法所在的方法声明throws Exception

 

图9.2 代码示例1

(2)对异常用trycatchfinally进行捕获:

 

图9.3 代码示例2

③运行结果:

 

图9.4 运行结果

 

10、FileOutputStream学习:

(1)继承关系:

java.lang.Object

--------java.io.OutputStream

----------------java.io.FileOutputStream

(2)方法学习:

①代码示例如下:

 

图10.1 代码示例

②运行结果:

 

图10.2 运行结果

 

11、练习:

(1)测试:将A文件内的内容复制到新文件B当中。

①代码如下:

 

图11.1 代码示例

②运行结果:

a)在桌面生成了A.txt以及B.txt文件

 

图11.2 运行结果1

b)查看两个文件的内容发现A文件的内容已经复制到了B文件上

 

图11.3 运行结果2

 

(2)9*9乘法表放入到一个文件里

①代码如下:

 

图11.4 第二题代码示例

②运行结果: 

Multiply.txt文件中输出了9 * 9乘法表。

 

图11.5 第二题运行结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值