JDBC的执行过程:获取链接——> 预编译SQL——> 设置参数 ——> 执行SQL
谈一谈对volatile关键字的理解
volatile通常被比喻为“轻量级的synchronized”,它是Java并发编程中的比较重要的一个关键字。和synchronized不同的是,volatile它只是一个变量修饰符,只能用来修饰变量,无法修饰方法及代码块。
协议层次及其服务模型
从我们目前的讨论来看:因特网显然是一个极为复杂的系统。我们已经看到,因特网有许多部分:大量的应用程序和协议、各种类型的端系统、分组交换机以及各种类型的链路级媒体。面对着这种巨大的复杂性,存在着组织网络体系结构的希望吗?或者至少存在着我们对网络体系结构进行讨论的希望吗?幸运的是,对这两个问题的回答都是肯定的。
分组交换网中的时延、丢包和吞吐量
因特网能够看成是一种基础设施,该基础设施为运行在端系统上的分布式应用提供服务。在理想情况下,我们希望因特网服务能够在任意两个端系统之间随心所欲地瞬间移动数据而没有任何数据丢失。然而,这是一个高级目标,实践中难以达到。与之相反,计算机网络必定要限制在端系统之间的吞吐量(每秒能够传送的数据量),在端系统之间引入延迟,而且实际上也会丢失分组。
方法区(Method Area)
方法区(Method Area)与Java堆一样,是各个线程共享的内存区域,它用于存储已被虚拟机加载的类型信息、常量、静态变量、即时编译器编译后的代码缓存等数据。虽然《Java虚拟机规范》中把方法区描述为堆的一个逻辑部分,但是它却有一个别名叫作“非堆”(Non-Heap),目的是与Java堆区分开来。
网络边缘
通常把它与因特网相连的计算机和其他设备称为端系统。因为它们位于因特网的边缘,故而被称为端系统。因特网的端系统包括了桌面计算机(桌面PC、Mac、Linux设备)、服务器(Web和电子邮件服务器)和移动计算机(智能手机、平板电脑)。此外,越来越多的非传统物品正被作为端系统与英特网相连。
端系统也称为主机(host),因为它们容纳应用程序,如Web浏览器程序、Web服务器程序、电子邮件客户程序或电子邮件服务器程序等。主机有时又被进一步划分为两类:客户端(client)和服务器(server)。客户端通常是桌面PC、移动PC和智能手机等,而服务器通常是更为强大的机器,用于存储和发布Web页面、流视频、中继电子邮件等。今天,大部分提供搜索结果、电子邮件、Web页面和视频的服务器都属于大型数据中心(data center)。