JAVA对象拷贝为什么需要有对象拷贝?对象拷贝相对的自然是引用拷贝。java初学者经常会问,我这个方法要改变一个对象的属性,可以把参数传进去了,为什么没有改变了?——基本数据类型传值,而对象传引用或引用的拷贝。而有时候我们要获取到一个当前状态的对象复制品,他们是两个独立对象。不再是引用或者引用拷贝(实质都是指向对象本身)。就是说a是b的拷贝,b发生变化的时候,不要影响a。对象拷贝有浅拷贝和深度拷贝两种。1)浅拷贝浅拷贝是指对象中基本数据类型得到拷贝,而引用
系统 2019-08-29 23:47:17 2190
importjava.sql.*;publicclassProcedureTest...{publicstaticvoidmain(String[]args)...{try...{Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");Stringurl="jdbc:microsoft:sqlserver://localhost:1433;databasename=pubs";Connec
系统 2019-08-29 23:41:13 2190
¯理解封装封装(Encapsulation)是面向对象三大特征之一(封装、继承、多态),它指的是将对象的状态信息隐藏在内部,不允许外部程序直接访问对象内部信息,而是通过该类所提供的方法来实现对内部信息的操作和访问。对一个类或对象实现良好的封装,可以实现以下目的:µ隐藏类的实现细节。µ让使用者只能通过事先预定的方法访问数据,从而可以在该方法里加入控制逻辑,限制对属性不合理访问。µ可进行数据检查,从而有利于保证对象信息的完整性。µ便于修改,提高代码的可维护性。
系统 2019-08-29 22:55:54 2190
I/O问题可以说是当今互联网Web应用中所面临的主要问题之一,因为当前在这个海量数据时代,数据在网络中随处流动。这个流动的过程中都涉及到I/O问题,可以说大部分Web应用系统的瓶颈都是I/O瓶颈。本文的目的正是分析I/O的内在工作机制,你将了解到:Java的I/O类库的基本架构;磁盘I/O工作机制;网络I/O的工作机制;其中以网络I/O为重点介绍JavaSocket的工作方式;你还将了解到NIO的工作方式,还有同步和异步以及阻塞与非阻塞的区别,最后我们将介
系统 2019-08-29 22:25:44 2190
Jetty是一个开源的servlet容器,它为基于Java的web内容,例如JSP和servlet提供运行环境。Jetty以其高效、小巧、可嵌入式等优点深得人心,尤其是启动速度Tomcat6简直望尘莫及。Jetty作为可选的servlet容器只是一个额外的功能,而它真正出名是因为它是作为一个可以嵌入到其他的Java代码中的servlet容器而设计的。这就是说,开发小组将Jetty作为一组Jar文件提供出来,因此你可以在你自己的代码中将servlet容器实例
系统 2019-08-29 22:10:54 2190
5、Pattern类和Matcher类:1)Pattern类主要是表示一个规则的意思:正则表达式的规则要在Pattern类中使用。2)Matcher类主要表示使用Pattern类指定好的验证规则。publicstaticPatterncompile(Stringregex)将给定的正则表达式编译到模式中。publicstaticPatterncompile(Stringregexintflags)将给定的正则表达式编译到具有给定标志的模式中。publicM
系统 2019-08-12 09:30:00 2190
e.printStackTrace();本文从Java异常最基本的概念、语法开始讲述了Java异常处理的基本知识,分析了Java异常体系结构,对比Spring的异常处理框架,阐述了异常处理的基本原则。并且作者提出了自己处理一个大型应用系统异常的思想,并通过设计一个异常处理的框架来论述此思想。一、异常的概念和Java异常体系结构异常是程序运行过程中出现的错误。本文主要讲授的是Java语言的异常处理。Java语言的异常处理框架,是Java语言健壮性的一个重要体
系统 2019-08-12 09:29:41 2190
例子:以下是2位序列(n=2)00011110以下是3位序列(n=3)000001011010110111101100以下是4位序列(n=4)0000000100110010011001110101010011001101111111101010101110011000可以使用以下步骤从(n-1)位格雷码列表生成n位格雷码。1令(n-1)位格雷码列表为L1。创建另一个与L1相反的列表L2。2通过在L1的所有代码中加上前缀“0”来修改列表L1。3通过在L2的
系统 2019-09-27 17:49:59 2189
花了一上午的时候,终于把JAVAEYE这个网站的发贴中的代码高亮功能提取出来啦..呵呵..蛮爽的..有点不爽的就是核心的JS代码JAVAEYE竟然给我玩加密(虽说只是把空格去掉而已),但还是让人看着费劲,一点都不秉承JAVA开源的优良传统...废话少说,附上我提取的文件的说明图:源码下载:http://niunan.net/download/jscodelight.7zJAVAEYE网站的代码高亮功能
系统 2019-08-29 23:40:39 2189
Java语句-------关键语句介绍一、while语句一般形式:while(条件表达式){语句体………}执行过程:条件表达式为真,执行语句体。否则,退出!二、dowhile语句一般形式:do{语句体…….}while(条件表达式);执行过程:先执行一次语句体,判断条件表达式是否为真,为真再执行do语句中的语句体。为假,退出。需要注意:与while语句区别1.while(条件表达式)后面有分号;2.不管条件表达式是否为真,语句体均会执行一次。三、for语句
系统 2019-08-29 23:22:03 2189
Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的高墙,墙外面的人想进去,墙里面的人却想出来。按照《Java虚拟机规范(第2版)》的规定,Java虚拟机所管理的内存将包括以下几个运行时数据区域,来个图更加直观点,如下图所示:解释下各个部分程序计数器:ProgramCounterRegister是一块较小的内存空间,它的作用可以看做是当前线程所执行的字节码的行号指示器。每个线程都有一个独立的程序计数器,各个线程之间计数器互不影响,独立存储。此内存
系统 2019-08-29 22:50:35 2189
串行通讯慨述串行通讯协议有很多种,像RS232,RS485,RS422,甚至现今流行的USB等都是串行通讯协议。而串行通讯技术的应用无处不在。可能大家见的最多就是电脑的串口与Modem的通讯。记得在PC机刚开始在中国流行起来时(大约是在90年代前五年),那时甚至有人用一条串行线进行两台电脑之间的数据共享。除了这些,手机,PDA,USB鼠标、键盘等等都是以串行通讯的方式与电脑连接。而笔者工作性质的关系,所接触到的就更多了,像多串口卡,各种种类的具有串口通讯接
系统 2019-08-29 22:48:58 2189
1.publicclassReturnIt{returnTypemethodA(bytex,doubley){//line2return(short)x/y*2;}}whatisvalidreturnTypeformethodAinline2?答案:返回double类型,因为(short)x将byte类型强制转换为short类型,与double类型运算,将会提升为double类型.2.1)classSuper{2)publicfloatgetNum(){r
系统 2019-08-29 22:39:54 2189
一、程序使用java类的运行顺序当程序主动使用某个类的时候,若该类还未被加载至内存中,系统会通过加载,连接,初始化三个步骤对类进行初始化,有事也把这三个步骤称为类加载或者类的初始化。1类的加载将被编译的.java而成为.class字节码读入JVM内存并为之创建一个java.lang.Class对象,也就是说当程序中使用任何类的时候系统都会为之建立一个java.lang.Class对象。类的加载由类加载器完成,类加载器通常有JVM提供,我们称JVM提供的类加
系统 2019-08-29 22:04:23 2189
敏捷开发的理念已经流行了很长的时间,在敏捷开发中的开发迭代阶段中,我们可以通过五个步骤,来有效的提高整个项目的代码质量。Java项目开发过程中,由于开发人员的经验、Java代码编写习惯,以及缺乏统一的标准和管理流程,往往导致整个项目的代码质量较差,难于维护,需要较大的测试投入和周期等问题。这些问题在一个项目组初建、需求和设计均具有不完全可预期性和完备性的全新项目中将尤为突出。如图1所示,敏捷开发过程经历需求调研,用例分析和用例分解,进入开发迭代阶段。在每个
系统 2019-08-29 21:58:48 2189