`
文章列表
     在Java中,类装载器把一个类装入Java虚拟机中,要经过三个步骤来完成:装载、链接和初始化,其中链接又可以分成验证、准备、解析(可选的)。    装载:查找和导入类或接口的二进制数据;     链接:执行下面的校验、准备和解析步骤,其中解析步骤是可以选择的;           验证:检查导入类或接口的二进制数据的正确性;           准备:给类分配所需存储空间;           解析:将常量池中符号引用转成直接引用,根据实际需要,可以推迟到初始化之后进行;     初始化:也就是为变量赋予正确的初始值,如激活类的静态变量,初始化Java代码和静态Java代码块
客户机代码: import java.net.*; import java.io.*;   public class Client{ static Socket server;   public static void main(String[] args)throws Exception{ server=new Socket(InetAddress.getLocalHost(),5678); BufferedReader in=new BufferedReader(new InputStreamReader(server.getInputStream())); ...
事实上网络编程简单的理解就是两台计算机相互通讯数据而已.对于程序员而言,去掌握一种编程接口并使用一种编程模型相对就会显得简单的多了.Java SDK提供一些相对简单的Api来完成这些工作.Socket就是其中之一.对于Java而言.这些Api存在与java.net 这个包里面.因此只要导入这个包就可以准备网络编程了. 网络编程的基本模型就是客户机到服务器模型.简单的说就是两个进程之间相互通讯,然后其中一个必须提供一个固定的位置,而另一个则只需要知道这个固定的位置.并去建立两者之间的联系..然后完成数据的通讯就可以了.这里提供固定位置的通常称为服务器,而建立联系的通常叫做客户端.基于这个简单的 ...
    很多时候都会用到类型或者是对象是否相等的比较应用,需要总结一下。     操作符“==”是用来比较两个操作元是否相等,两个操作元可以是基本类型,也可以是引用类型,如果是引用类型变量,两个变量必须是同一个对象,结果才是true。 举例如下:  int i1= 1,i2=2,i3=1; boolean b1=false,b2=true,b3= false; String s1="test",s2 ="test_2",s3="test",s4; s4 = new String("test"); System. ...
当利用PL/SQL执行一个sql语句的时候,有时候中途手动终止了该语句的执行,但是利用 --查看正在运行的sql语句 select a.*,s.*  from v$sqltext a,v$session s where s.STATUS ='ACTIVE' and s.SQL_HASH_VALUE =a.hash_value order by s.USERNAME,a.PIECE 会发现,该语句还在运行,这时候就要终止sql语句锁对应的session,方法如下: 1. 利用“查看正在运行的sql语句”找到该sql语句对应的sid 和 serial# 2. 执行alter system ...
作用:为对象提供一种代理以控制对这个对象的访问。 示例-代理模式: 名称 说明 Printer 表示命名的打印机类(本人) Printable Printer和PrinterProxy
以下是Adapter Pattern模式解析: 装饰器模式参与者: Component-定义一个对象接口,可以给这些对象动态添加职责,是新增功能时的核心参与者。 ConcreteComponent- 定义一个对象,可以给这个对象添加职责。 Decorator-维持一个指向Component对象的指针(是我们要装饰的对象),并定义一个与Coponent接口一致的接口。 ConcreteDecorator –向组件添加职责,是装饰的具体参与者。 协作过程:Decorator将请求转发给他的Component对象,并有肯能在转发请求前后执行一些附加的动作。 装饰器模式实现类图见图片附件: ...
作用:装饰器模式,动态地给一个对象添加一些额外的职责。就增加功能来说,Decorator 模式相比生成子类更为灵活。Java I/O 中就应用了这一模式(如FilterInputStream,FilterOutputStream)。  示例-装饰器模式: 示例1(比较直观) //------------------------------------------接口Work 和类SquarePeg ---------------------------------------------------------------   package decorator_1; public ...
解析: 显然,只要使用接(或抽象类)Print,实例化类PrintBanner,就可以实现打印目的, 根本不需要知道如何实现打印方法。 <1>类适配器,是用一个具体的Adapter类对Target进行匹配,结果当我们想要匹配一个类以及所有它的子类时,类适配器将不能胜任,因为Java中不允许多重继承;是得Adapter可以重新定义Adaptee的部分行为,因为Adapter是Adaptee的一个子类;仅仅引入一个对象,并不需要额外的指针以间接得到Adaptee。 <2>对象适配器,则允许一个或多个Adaptee-即Adaptee本身以及它的所有子类(如果有的话)-同 ...
作用:适配器(也叫Wrapper-包装器)将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。也就是将“既有内容”转换成“需要结果”,是代码重用的利器之一,Java I/O中应用了这种模式(如ByteArrayInputStream、ByteArrayOutputStream)。形象地:就如同笔记本电脑的电源适配器,一端是220交流电(既有内容),另一端12v直流电(需要结果)。   分类:Adaptor模式有两种,类适配器(继承)、对象适配器(委托) 。两种模式各有优劣,具体在代码解析中说明。    示例-类适配器(继承):

Java反射机制

     Java提供了一套机制来动态执行方法和构造方法,以及数组操作等,这套机制就叫——反射。反射机制是如今很多流行框架的实现基础,其中包括Spring、Hibernate等。      通俗地讲:      JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。     Java反射机制主要提供了以下功能: 在运行时判断任意一个类所具有的成员变量和方法;在运行时构造任意一个类的对象;在运行时调用任意一个对象的方法;在运行时判断任意一个对象所属 ...
     Error(错误)表示系统级的错误和程序不必处理的异常,是java运行环境中的内部错误或者硬件问题,比如,内存资源不足等,对于这种错误,程序基本无能为力,除了退出运行外别无选择,它是由Java虚拟机抛出的。      Exception(违例)表示需要捕捉或者需要程序进行处理的异常,它处理的是因为程序设计的瑕疵而引起的问题或者在外的输入等引起的一般性问题,是程序必须处理的。      Exception又分为运行时异常,受检查异常。      运行时异常,表示无法让程序恢复的异常,导致的原因通常是因为执行了错误的操作,建议终止程序,因此,编译器不检查这些异常。      受检查 ...
用 TOAD 连接 Oracle RAC 数据库,调试存储过程的时候报错:Cannot debug session. In order to debug when connected to a RAC instance you must have SELECT privilege for GV$INSTANCE.授予用户DBA角色后,继续抱错:Cannot debug session. In order to debug when connected to a RAC instance you must have entries for the individual RAC instance i ...
<1>StringBuffer  线程安全的可变字符序列。一个类似于 String 的字符串缓冲区,但不能修改。     虽然在任意时间点上它都包含某种特定的字符序列,但通过某些方法调用可以改变该序列的长度和内容可将字符串缓冲区安全地用于多个线程。可以在必要时对这些方法进行同步,因此任意特定实例上的所有操作就好像是以串行顺序发生的, 该顺序与所涉及的每个线程进行的方法调用顺序一致。    从 JDK 5 开始,为该类补充了一个单个线程使用的等价类,即 StringBuilder。与该类相比, 通常应该优先使用 StringBuilder 类,因为它支持所有相同的操作,但由于它不执行 ...
Java  体系结构包括四个独立但是相关的技术: Java程序设计语言; Java class文件格式; Java应用编程接口(API); Java虚拟机 Java语言编写源代码,把它编译成class文件,然后在java虚拟机中运行class文件,java虚拟机运行 class文件,程序运行时通过调用Java API来访问系统资源。Java虚拟机和Java API一起组成了一个”平台“, 所有Java程序都在这上面编译、运行。 Java 虚拟机支持了面向网络体系结构三大支柱的所有方面:平台无关性、安全性、网络移动性   <优点>总得来说,Java技术适用于网络 ...
Global site tag (gtag.js) - Google Analytics