
Java基础
LovoEducation
这个作者很懒,什么都没留下…
展开
-
Tomcat Server处理一个http请求的过程
假设来自客户的请求为:http://localhost:8080/wsota/wsota_index.jsp1) 请求被发送到本机端口8080,被在那里侦听的Coyote HTTP/1.1 Connector获得2) Connector把该请求交给它所在的Service的Engine来处理,并等待来自Engine的回应3) Engine获得请求localhost/wsota/wsota_原创 2010-01-08 15:56:00 · 200 阅读 · 0 评论 -
Java:扑朔迷离的String
Java内存分配: 1. 寄存器:我们在程序中无法控制; 2. 栈:存放基本类型的数据和对象的引用,但对象本身不存放在栈中,而 是存放在堆中; 3. 堆:存放用new产生的数据; 4. 静态域:存放在对象中用static定义的静态成员; 5. 常量池:存放常量; 6. 非RAM存储:硬盘等永久存储空间。 Tips: 引用变量就相当于是为数原创 2009-11-24 14:41:00 · 163 阅读 · 0 评论 -
Java序列化与反序列化讲解
首先解释两个概念,何为序列化?何为反序列化? 序列化:将对象转化成流的过程称为序列化 反序列化:将流转化成对象的过程称之为反序列化 序列化与反序列化必须遵守的原则 a) Java对象 在java中要想使一个java对象可以实现序列化与反序列化,必须让该类实现java.io.Serializable接口 java.io.Serializable接口定义如原创 2009-11-09 15:27:00 · 406 阅读 · 0 评论 -
框架开发背景
一. Alibaba内部框架Webx先容 1.长处: 1).一个承载了5年重任的框架 - Webx 2).MVC框架 3).脱胎于Apache Turbine 4).具有Alibaba特色的Web框架 5).页面驱动的完美实现 6).管道机制(Pipeline) 7).Web模块分离(Car : Component Archive) 2.缺点:原创 2009-11-06 14:34:00 · 246 阅读 · 0 评论 -
阿拉伯数字转化汉文大写的技巧
New Document http://www.lovoinfo.com> /**实现银行中将金额小写转化成汉字大写, * 如果存在负数,转换显示(红字) * 方法:MoneyToUpper(Num) * 参数:Num * 功能:将金额小写转化成汉字大写 * 返回:返回转换结果 */ function MoneyToUpper(value){原创 2009-10-30 16:04:00 · 427 阅读 · 0 评论 -
Oracle MTS
一、什么是MTS MTS = Multi-Threaded ServerMTS是ORACLE SERVER的一个可选的配置选择,是相对DEDICATE方式而言,它最大的优点是在以不用增加物理资源(内存)的前提下支持更多的并发的连接。Joseph C.Johnson以餐馆给出一个MTS的形象的比喻 假设ORACLE是一家餐馆,当你走进一家餐馆时你感觉最舒服的服务方式就是有一个专原创 2009-10-30 15:44:00 · 188 阅读 · 0 评论 -
Java中静态变量的适用场景
Java类中的静态变量在程序运行期间,其内存空间对所有该类的对象实例而言是共享的,有些时候可以认为是全局变量。因此在某些时候为了节省系统内存开销、共享资源,可以将类中的一些变量声明为静态变量,通过下面的例子,你可以发现合理应用静态变量带来的好处: Java代码 public class WeekA{ static class Data { private int原创 2009-10-26 14:32:00 · 199 阅读 · 0 评论 -
Java中静态变量的适用场景
Java类中的静态变量在程序运行期间,其内存空间对所有该类的对象实例而言是共享的,有些时候可以认为是全局变量。因此在某些时候为了节省系统内存开销、共享资源,可以将类中的一些变量声明为静态变量,通过下面的例子,你可以发现合理应用静态变量带来的好处: Java代码 public class WeekA{ static class Data { pri原创 2009-10-23 15:28:00 · 198 阅读 · 0 评论 -
Java泛型全面总结
虽然Scala创始人Martin Odersky说当年正是因为Java泛型的丑陋,所以才想到要创建一个新的语言,不过这仍然不妨碍我们学习Java泛型。毕竟即使听说Java泛型不好用,但好不好用还是得会用了才知道。下面是一些有关Java泛型的总结:普通泛型class Point{ // 此处可以随便写标识符号,T是type的简称 private T var ; // var的类型由T指原创 2009-10-15 16:24:00 · 279 阅读 · 0 评论 -
通过Java泛型实现数组排序和搜索的通用方法
下面讨论的是数组的排序和搜索功能,而一个通用方法则是实现Comparable接口的方法,这个方法需要通过Java泛型来实现。下面便逐步讲解为何,以及如何通过Java泛型实现此类的通用方法。如何在java类中一些通用方法, 特别是一些静态的工具方法? 比如,数组Arrays的sort、search等? 1. 整数数组的顺序收缩 public static int seqSearch(原创 2009-10-15 16:15:00 · 638 阅读 · 0 评论 -
setClip使用技巧
在J2ME编程中,为了降低文件的尺寸,经常把类似的小图片合并成一个文件,在J2ME程序实际绘制的时候,可以根据需要只显示该文件中的一部分图片。Graphics中的setClip方法就是实现该功能的。setClip方法的原理是通过只在屏幕上显示一部分内容,让图片恰好位于该部分的内容显示出来。setClip的方法就是在屏幕上设置这个“透视孔”,只有位于该孔中的图片内容显示出来。setCli原创 2009-10-14 13:22:00 · 208 阅读 · 0 评论 -
Java ME中实现碰撞检测算法
在Java ME游戏开发中,经常需要进行碰撞检测算法的实现,例如判断前面是否有障碍以及判断子弹是否击中飞机,都是检测两个物体是否发生碰撞,然后根据检测的结果通过碰撞检测算法做出不同的处理。进行碰撞检测算法的物体可能有些的形状和复杂,这些需要进行组合碰撞检测,就是将复杂的物体处理成一个一个的基本形状的组合,然后分别进行不同的检测。下面简单介绍一下两种最基本的形状进行碰撞的时候进行的处理。原创 2009-10-14 13:06:00 · 244 阅读 · 0 评论 -
基本数据类型默认值
Java中数据类型分为两种,一种是基本数据类型,另一种是对象引用类型。所以默认值也分为基本数据类型及对象引用的默认值。另外数组的默认值则是依据是基本数据类型数组还是对象引用类型数组了。 Java中基本数据类型默认值为: short: 0 int: 0 long:0 float: 0.0 double: 0.0 char:(int)char=0原创 2009-11-24 14:47:00 · 237 阅读 · 0 评论 -
jBPM-4.x常见问题解决方案FAQ
这段时间整理的jBPM-4.x常见问题以及解决方案,希望帮助对jBPM-4.x感兴趣的同学少走弯路,如果有没有覆盖到的问题,请及时和我们联系,我们会尽快更新这个FAQ,先说一句多谢了。:) + 为什么MyEclipse下无法安装流程设计器因为GPD只能运行在eclipse-3.5下,目前的MyEclipse还不支持Ecipse-3.5,所以无法将GPD安装在MyEclipse下。如果原创 2010-01-22 16:24:00 · 202 阅读 · 0 评论 -
Java输入数据流详解
Java输入数据流在Java中,我们把能够读取一个字节序列的对象称作一个Java输入数据流;而我们把够写一个字节序列称作一个输出流。它们分别由抽象类 InputStream和OutputStream类表示。因为面向字节的流不方便用来处理存储为Unicode(每个字符使用两个字节)的信息。所以Java 引入了用来处理Unicode字符的类层次,这些类派生自抽象类Reader和Writer,它们用原创 2010-01-06 14:47:00 · 179 阅读 · 0 评论 -
Flex技巧:计算器源代码
问题描述:输入一个数,然后按某个运算符,再输入另一个数,按等号即可得出结果。只按照输入顺序计算结果,而非按照运算符优先级来得出结果,即,如果按顺序输入2+8*3=会得到30,而非26.算法描述:定义三个全局变量,分别是first(Number), second(Number), symbol(String)first代表二目运算中第一个数,second代表第二个数,symbol代表运算符(+-*/原创 2009-12-26 15:45:00 · 288 阅读 · 0 评论 -
Java实例代码:投票计数器
import java.awt.*;import java.awt.event.*;import java.io.BufferedWriter;import java.io.FileWriter;import java.io.IOException;import javax.swing.*;public class ElectToo extends JFrame implements原创 2009-12-26 15:40:00 · 466 阅读 · 0 评论 -
JVM虚拟机基础:Java对象大小与类型详解
基本数据的类型的大小是固定的,这里就不多说了。对于非基本类型的Java对象,其大小就值得商榷。在Java中,一个空Object对象的大小是8byte,这个大小只是保存堆中一个没有任何属性的对象的大小。看下面语句:Object ob = new Object(); 这样在程序中完成了一个Java对象的生命,但是它所占的空间为:4byte+8byte。4byte是上面部分所说的Java栈中原创 2009-12-24 15:56:00 · 238 阅读 · 0 评论 -
Java虚拟机基础:堆与栈概念详解
Java虚拟机中,数据类型可以分为两类:基本类型和引用类型。基本类型的变量保存原始值,即:他代表的值就是数值本身;而引用类型的变量保存引用值。“引用值”代表了某个对象的引用,而不是对象本身,对象本身存放在这个引用值所表示的地址的位置。 基本类型包括:byte, short, int, long, char, float, double, Boolean, returnAddress引原创 2009-12-24 15:58:00 · 385 阅读 · 1 评论 -
Java实现利用搜索引擎收集网址的程序
怎么让程序利用搜索引擎来搜集网址,这有什么用?很有用!网上动辄有人叫卖网址数据库,如发布软件网址、邮件地址、论坛网址、行业网址,这些网址是怎么来的呢?不可能是人手工收集而来的,都是让程序利用搜索引擎取到的,如果您需要某类网址信息数据,就跟成都朗沃教育来一起研究一下,非常简单。 本文采用Java语言写成,以google和百度搜索引擎为对象。 我们要利用google、百度搜原创 2010-02-24 16:11:00 · 181 阅读 · 0 评论 -
JVM(Java 虚拟机)深度剖析
可能有很多学习Java的朋友还不知道Java的运行原理、Java虚拟机是怎么工作的,本文将为你详细讲解(JVM)Java 虚拟机。 在Java中引入了虚拟机的概念,即在机器和编译程序之间加入了一层抽象的虚拟的机器。这台虚拟的机器在任何平台上都提供给编译程序一个的共同的接口。编译程序只需要面向虚拟机,生成虚拟机能够理解的代码,然后由解释器来将虚拟机代码转换为特定系统的机器码执行原创 2010-02-24 16:15:00 · 228 阅读 · 0 评论 -
Java 7决定包含闭包 发布日期推迟至2010年底
在Devoxx 2009(一年一度的Java社区大会,今年在11月16-20日举行)上,Sun宣布将在JDK 7中增加闭包功能。这个功能的添加将从FCM v0.5(First-Class Methods,第一类方法)的语法和语意开始着手。FCM与JCA原本一同被提交,然而Sun宣布JCA将不在JDK 7中考虑。 同时,Sun表示Java 7的发布时间将被推迟至2010年底。原创 2010-01-26 15:34:00 · 184 阅读 · 0 评论 -
spring jar包的相关性详解
spring.jar是包含有完整发布的单个jar包,spring.jar中包含除了 spring-mock.jar里所包含的内容外其它所有jar包的内容,因为只有在开发环境下才会用到spring-mock.jar来进行辅助测试,正式应用系统中是用不得这些类的。 除了spring.jar文件,Spring还包括有其它13个独立的jar包,各自包含着对应的Spri原创 2010-01-26 15:22:00 · 308 阅读 · 0 评论 -
Java 7新特性(二)——Jigsaw项目和‘module’关键字
在Java SE 7中有一个问题将得到解答,即Sun将如何来使用module关键字,它是最初的JSR 294中的一个重要概念,预计将包含在下一平台版本中。 假定有一个名为Flapjack的项目由几个Java包(package)组成,该项目包含在基包(base package)中的一个public APIs,和实现这个API的几个内部包: ◆org原创 2010-01-22 16:21:00 · 195 阅读 · 0 评论 -
Java 7新特性(三) ——更多NIO APIs
JSR 203:NIO 2扩展和实现了在Java 1.4中加入的最初NIO功能。在NIO 2中最明显的新增功能就是文件访问API的全面改进。多数开发者都用过java.io.File,对其存在的众多缺陷自然心中有数: ◆不支持符号链接(symbolic links ) ◆不支持简单移动和拷贝操作 ◆目录漫游和过滤API非常复杂原创 2010-01-22 16:21:00 · 163 阅读 · 0 评论 -
使用缓存将屏幕内容存储为Image
如何将手机屏幕的内容存储为Image对象,这里认为手机屏幕上显示的是一个Canvas。完成这一个功能的思想就是使用缓存机制。我们不能直接获得Canvas上的像素,因此不能直接从Canvas上的内容获得Image对象。转换一下思路,如果把要绘制的Canvas上的内容首先绘制到一个Image上,而这个Image并不显示到屏幕上,只是在绘画完成后一次性的显示到屏幕上。有经验的朋友一定联想到了双缓存机制,原创 2009-10-14 13:29:00 · 507 阅读 · 0 评论 -
Java ME中的Math.pow()方法使用详解
使用 Java 开发移动设备应用程序时,可能需要用到特定 Java VM 所没有的数学方法。本文将专门解决 Java ME 没有“幂”方法 Math.pow() 的问题。我们将演示使用三种不同的方法开发同一个 ME 应用程序,并从中选出最佳的编程解决方案。要讨论此问题,我们先考察整数和分数幂参数,将我们的分析限于正实数。我们将演示求整数问题和小数问题的解集相对而言比较容易(而不考虑指数的符号)原创 2009-10-14 12:00:00 · 546 阅读 · 0 评论 -
J2ME UI库深度剖析
J2ME UI库除了自带的以外,还有很多开源J2ME UI库,其中很多都比J2ME的自带UI库好用。下面介绍一下这些开源J2ME UI库:J2ME自带UI不是太美观,使用起来也不太方便,为了解决这问题,很多UI库应势而出。使用这些库,可以大大简化开发,提高效率。当然有好必有坏,使用 这些库的不好的地方就是这些库通常很大,很难在一些很老的机器上运行。不过这些库都是开源的,因此可以拿它们的代码来研原创 2009-10-14 11:53:00 · 361 阅读 · 0 评论 -
独家:5个常用Java 代码混淆器 助你保护你的代码
从事Java编程的人都知道,可以通过逆向工程反编译得到Java程序的源代码,这种反编译工具之一就是JAD。因此,为保护我们的劳动成果,尽可能给反编译人员制造障碍,我们可以使用Java Obfuscator(Java混淆器)保护Java的类文件。Java Obfuscator的原理就是将字节码转换为一个逻辑上的对等物,这种转换后的版本极难拆散。即使有人试图去反编译,过程将极其艰难复原创 2009-08-01 16:14:00 · 249 阅读 · 1 评论 -
Spring入门
进入Spring之前,对Hibernate的最后一点点内容进行了讲解Hibernate悲乐观锁悲观锁:在整个数据处理过程中,将数据处于锁定其实不是Hibernate本身提供的锁机制,而是使用的数据库的锁。乐观锁:大多是基于数据版本(Version)记录机制实现。何谓数据版本?即为数据增加一个版本标识,在基于数据库表的版本解决方案中,一般是通过为数据库表增加一个“version”字段来实原创 2009-07-25 14:52:00 · 133 阅读 · 0 评论 -
使用缓冲IO提高Java程序性能
在使用Java软件技术输入/输出(IO)的性能可以使用标准的缓冲类提升,就像操作系统通过缓冲请求提高它的速度一样。例如,如果一段代码要求从磁盘上读取数据,它会试图读取内存中已有的数据;如果代码希望向磁盘写一些东西,它可能在完成写操作前将输出在内存中存放一段时间以等待更多的数据。 在Java的IO系统中,将一个字符写入内存比写到磁盘上快得多,例如: // 这段代码会抛原创 2009-07-24 11:33:00 · 147 阅读 · 0 评论 -
Java 编程技术中汉字问题的分析及解决
在基于 Java 语言的编程中,我们经常碰到汉字的处理及显示的问题。一大堆看不懂的乱码肯定不是我们愿意看到的显示效果,怎样才能够让那些汉字正确显示呢?Java语言默认的编码方式是UNICODE,而我们中国人通常使用的文件和数据库都是基于GB2312或者BIG5等方式编码的,怎样才能够恰当地选择汉字编码方式并正确地处理汉字的编码呢?本文将从汉字编码的常识入手,结合Java编程实例,分析以上两个问题并原创 2009-07-21 10:20:00 · 118 阅读 · 0 评论 -
Java全面解析
学通Java语言需要一个过程,所有Java相关的概念都会在学习的过程中逐渐变得清昕。这个过程的开始就是要先学会标准的Java技术(J2SE),然后是学Java的简单Web运用,然后分布式运用,再以后对Java的移动技术运用就很容易理解了。 以下是Java标准技术的一些要点: 一、Java的跨平台性,即一次编译到处运行 简单地说Java的跨平台性就是指,编译后的Java程序可原创 2009-07-20 13:54:00 · 112 阅读 · 0 评论 -
正确理解Java事件模型的相关概念
没有正确理解Java技术中的理念 ,那么Java学习是非常困难的,下面我们来看看Java事件模型的相关概念。 什么是事件 事件可以简单地理解为发生了一件什么事情,如“我用鼠标单击一个按钮”,这就是一个事件,又如“把鼠标移到某图像中”、“单击键盘A”等,都是事件。什么叫事件的响应 单击按钮之后,按钮要做出响应。如单击“关闭”,程序就退出了。理想中的事件响应流程转载 2009-07-16 16:26:00 · 159 阅读 · 0 评论 -
Java高级篇:根据接口解耦示例
1、什么是耦合:简单的在开发一个类时,必须紧紧依赖于另一个类。或者一个类修改以后,另一个也必须修改等情况。 2、什么是解耦:通过一定的设计,使一个类并不紧紧依赖一另一个类,这样在类设计时或修改时,不会影响到其它类。 观察所有动物吃东西的情况,如果吃的东西为“植物”,则显示为食草动物如鱼类,“肉”,则为“食肉动物”,如虎类。 常规开发:原创 2009-07-16 16:10:00 · 284 阅读 · 0 评论 -
Java栈与堆的二三事
1. 栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。 2. 栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄存器。但缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。另外,栈数据可以共享,详见第3点。堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,Java的垃圾收集原创 2009-07-20 14:01:00 · 93 阅读 · 0 评论 -
给Java新手看的一些学习技巧
当今科技的迅猛发展,使得Java在软件开发业界得到极高的地位,按应用来分主要分为三大块:J2SE,J2ME和J2EE。 这三块相互补充,应用范围不同。 J2SE就是Java2的标准版,主要用于桌面应用软件的编程; J2ME主要应用于嵌入是系统开发,如手机和PDA的编程; J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站转载 2009-07-15 09:58:00 · 114 阅读 · 0 评论 -
Java 7 模块系统的基本概念
在具体讲述前,我们先来了解一些基本概念: 模块化 模块化是解决复杂性问题很重要的工具。把应用分成不同的部分(模块、库、包、子项目和组件),再分别进行计算,是行之有效的方式。模块化的最终目的是能定义出一套API用于模块间的沟通。 如果模块间所有的通讯都只通过这种API来实现,那么模块是松耦合的,那么: 改变某个模块的实现会很容易 开发和原创 2009-07-15 09:37:00 · 122 阅读 · 0 评论 -
带你入门:Java方向指导
Java学习一般来说有3个方向。 1.桌面系统,包括C/S结构; 2.J2ME,面向无限领域,很有潜力的家伙,看看中国的手机用户就知道了; 3.面向企业应用、计算的平台,J2EE。 刚接触Java这门语言时,感觉到Java入门是好像没有C语言入门快,工具也没有什么Turbo C、Visual C好用。什么JAVA_HOME,CLASSPATH翻译 2009-07-14 11:07:00 · 259 阅读 · 1 评论 -
Hessian 3.2.0的两个bug
在将Hessian从3.0.13升级到3.2.0时碰到两个bug和一个ClassLoader处理策略的改变的问题,在此记录下,希望能为使用Hessian 3.2.0的同学们提供点帮助,避免再走同样的弯路。Bug 1:HessianInput的readObject(Class)无效对于使用Hessian 1的同学而言,有可能会使用到HessianInput的readObject(Class)这个方法原创 2009-08-06 15:16:00 · 221 阅读 · 0 评论