java新知识系列 二

时间:2023-03-09 05:44:13
java新知识系列 二
1:数据库事务隔离以及事务隔离的级别
数据库事务隔离:
在数据库操作中,为了有效保证并发读取数据的正确性,提出的事务隔离级别;为了解决更新丢失,脏读,不可重读(包括虚读和幻读)等问题在标准SQL规范中,定义了4个事务隔离级别,分别为未授权读取,也称为读未提交(read uncommitted);授权读取,也称为读提交(read committed);可重复读取(repeatable read);序列化(serializable).
数据库事务的隔离级别有4个,由低到高依次为Read uncommitted、Read committed、Repeatable read、Serializable,这四个级别可以逐个解决脏读、不可重复读、幻读这几类问题。
√: 可能出现    ×: 不会出现
数据库事务隔离级别 脏读 不可重复读 幻读
Read uncommitted
Read committed ×
Repeatable read × ×
Serializable × × ×
2:GC垃圾回收时间的不确定;
java提供了一个系统级的线程,即垃圾回收器线程。用来对每一个分配出去的内存空间进行跟踪。当JVM空闲时,自动回收每块可能被回收的内存,GC是完全自动的,不能被强制执行。程序员最多只能用System.gc()来建议执行垃圾回收器回收内存,但是具体的回收时间,是不可知的。
3:HashMap和HashTable之间的差别:
HashTable和HashMap区别 
①继承不同。 
public class Hashtable extends Dictionary implements Map public class 
public class HashMap extends AbstractMap implements Map 
② Hashtable 中的方法是同步的,而HashMap中的方法在缺省情况下是非同步的。在多线程并发的环境下,可以直接使用Hashtable,但是要使用HashMap的话就要自己增加同步处理了。 
③ Hashtable中,key和value都不允许出现null值。 在HashMap中,null可以作为键,这样的键只有一个;可以有一个或多个键所对应的值为null。当get()方法返回null值时,即可以表示 HashMap中没有该键,也可以表示该键所对应的值为null。因此,在HashMap中不能由get()方法来判断HashMap中是否存在某个键, 而应该用containsKey()方法来判断。 
④两个遍历方式的内部实现上不同。 Hashtable、HashMap都使用了 Iterator。而由于历史原因,Hashtable还使用了Enumeration的方式 。 
⑤ 哈希值的使用不同,HashTable直接使用对象的hashCode。而HashMap重新计算hash值。 
⑥ Hashtable和HashMap它们两个内部实现方式的数组的初始大小和扩容的方式。HashTable中hash数组默认大小是11,增加的方式是 old*2+1。HashMap中hash数组的默认大小是16,而且一定是2的指数
4:类方法的概念:类方法就是静态方法,其余的都是实例方法;
类方法可以对当前对象的实例变量进行操作,也可以对类变量进行操作,但类方法不能访问实例变量。实例方法必须由实例对象来调用,而类方法除了可由实例对象调用外,还可以由类名直接调用。
另外,在类方法中不能使用 this 或 super。 关于类方法的使用,有如下一些限制:
1 在类方法中不能引用对象变量。
2 在类方法中不能使用super、this关键字。
3 类方法不能调用类中的对象方法。
与类方法相比,实例方法几乎没有什么限制:
1 实例方法可以引用对象变量(这是显然的),也可以引用类变量。
2 实例方法中可以使用super、this关键字。
3 实例方法中可以调用类方法。
java新知识系列 二
  • 若超类的实例方法未被重写,则子类的实例方法可以可以直接调用超类的非private实例方法;若被重写了,则需使用super关键字调用;
  • 子类的实例方法可以直接调用超类的非private类方法(类方法不存在继承和重写问题);
  • 实例方法不可以直接调用其他类的实例方法;
  • 实例方法可以直接调用本类的类方法。
 
5:java程序的种类分为三种:
(a)内嵌于Web文件中,由浏览器来观看的_Applet
(b)可独立运行的 Application
(c)服务器端的 Servlets
  • Application
―Java应用程序”是可以独立运行的Java程序。
由Java解释器控制执行。
  • Applet
  ―Java小程序”不能独立运行(嵌入到Web页中)。
  由Java兼容浏览器控制执行。
  • Serverlets
是Java技术对CGI 编程的解决方案。
是运行于Web server上的、作为来自于Web browser 或其他HTTP client端的请求和在server上的数据库及其他应用程序之间的中间层程序。
Serverlets的工作是:
读入用户发来的数据(通常在web页的form中)
找出隐含在HTTP请求中的其他请求信息(如浏览器功能细节、请求端主机名等。
产生结果(调用其他程序、访问数据库、直接计算)
格式化结果(网页)
设置HTTP response参数(如告诉浏览器返回文档格式)  将文档返回给客户端。
6:Object的构造方法摘要:
方法是:
  • 1.getClass();
  • 2.hashCode();
  • 3.equals();
  • 4.clone();
  • 5.toString();
  • 6.notify();
  • 7.notifyAll();
  • 8.wait()
  • 9.finalize();
java新知识系列 二java新知识系列 二
java新知识系列 二java新知识系列 二