`
freesoftman
  • 浏览: 314447 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论
文章列表
 java.lang.String类对大家来说最熟悉不过了,我们写java程序很少能不用String的。本文讲述如何正确的使用String,内容主要涉及初始化、串联和比较等操作。      首先我们必须清楚的一点是String类是final类型的,因此你不可以继承这个类、不能修改这个类。我们使用String的时候非常简单,通常都是String s = "hello",但是Java API中同时提供了一个构造函数为String(String s),因此你也可以这样使用String s = new String("hello"),对于后面这样初始化一个Str ...
今天在看深入Java虚拟机的class文件结构时,看到了这么一句话, 可能出现在class文件中的两种编译器产生的方法是:实例初始化方法(名为<init>)和类与接口初始化方法(名为<clinit>)。   这两种方法有什么区别呢? 首先:这两个方法一个是虚拟机在装载一个类初始化的时候调用的(clinit)。另一个是在类实例化时调用的(init)   首先说说类的初始化: 在Java代码中,一个正确的初始值是通过类变量初始化语句或者静态初始化语句给出的。一个类变量初始化语句是 变量声明后的等号和表达式: class Example { s ...
定义:u1 1个字节为单位的非负值u2 2个字节为单位的非负值u3 . . . . . . . . (其他以此类推 )Java文件结构用类似struct的描述如下:ClassFile {u4 magic; // 必须为: 0xCAFEBABEu2 minor_version;u2 major_version; //CLASS文件结构主次版本号 JAVA2支持45.0-46.0u2 constant_pool_count; //记录常量信息cp_info constant_pool[constant_pool_count-1]; //计数从1开始u2 access_flags; //class/i ...
昨天下班, 我回来后。由于没有钥匙,于是先到一个待就业的学弟那里做了一下。 首先我们谈了一下最近的就业环境。 后来他就像我问了一个Java基础方面的问题。   Object对象中有那些方法? 呵呵,还别说,  对于这些基础知识本人还是很有信息的。   但是结果还是差强人意。少说了两个方法equals(), clone();   一说起clone(),前不久在公司写的一个native方法,还打算去重载clone()这个方法呢 这里, 给大家和我都留下一个研究的问题。 那就是hashCode这个方法到底有什么用途? 它在C层面是怎么实现的? 这个这次就不做详细的研究了。   ...
文档内容来源---Documentation Home phoneME™ Feature MR3 一. 项目简介:phoneME™ Feature is an open source version of the Sun Java™ Wirless Client Software, a high-performance platform, based on an optimized implementation of the Connected Limited Device Configuration (CLDC) and Mobile Information Device Profile (M ...
phoneME是SUN Open Source Java中的一个重要项目,包含了CLDC和CDC的HotSpot实现以及多个JSR。相比起以前能下载到的RI,phoneME是一个真正经历过众多实际产品验证的,商业级的JavaME实现。如果你是虚拟机技术的爱好者,或是热衷于嵌入式编程的hacker,那么加入phoneME社区,把玩一下 HotSpot VM的源码是件饶有趣味的事情。首先,到phoneME的社区首页看看(https://phoneme.dev.java.net/)。phoneME分为phoneME Feature Software和phoneME Advanced Software两 ...
在Java、J2EE大型应用中,JVM非标准参数的配置直接关系到整个系统的性能。JVM非标准参数指的是JVM底层的一些配置参数,这些参数在一般开发中默认即可,不需要任何配置。但是在生产环境中,为了提高性能,往往需要调整这些参数,以求系统达到最佳新能。另外这些参数的配置也是影响系统稳定性的一个重要因素,相信大多数Java开发人员都见过“OutOfMemory”类型的错误。呵呵,这其中很可能就是JVM参数配置不当或者就没有配置没意识到配置引起的。 为了说明这些参数,还需要说说JDK中的命令行工具一些知识做铺垫。 首先看如何获取这些命令配置信息说明:假设你是windows平台,你安装了J2SDK,那么 ...
这是偶第二次自己写对外部的技术文档:   这次公司要开发一个有关从外部读取权限信息。 牵涉到了文件的解析。   在文件的解析中,最麻烦的可能就数对一些控制符号的理解了。   而首当其冲的就是换行符号'\n'与回车符号"\r".   google找到了这么一段信息: 换行符就是另起一行,回车符就是回到一行的开头,所以我们平时编写文件的回车符应该确切来说叫做回车换行符   '\n' 10 换行(newline)'\r' 13 回车(return) 在windows系统下,回车换行符号是"\r\n".但是在Linux等系统下是没有&qu ...
1.它们都可以用来装载库文件,不论是JNI库文件还是非JNI库文件。在任何本地方法被调用之前必须先用这个两个方法之一把相应的JNI库文件装载。 2.System.load 参数为库文件的绝对路径,可以是任意路径。例如你可以这样载入一个windows平台下JNI库文件:System.load("C:\\Documents and Settings\\TestJNI.dll");。 3. System.loadLibrary 参数为库文件名,不包含库文件的扩展名。例如你可以这样载入一个windows平台下JNI库文件System. loadLibrary ("Tes ...
拦截器在在流行的开源框架中很常见,依赖的技术就是Java的动态代理。理解拦截器的核心原理对理解这些开源框架的体系结构至关重要。下面以一个简单的模型的来说明拦截器的实现的一般方法。 模型分为以下模块:业务组件:是被代理和被拦截的对象。代理处理器:实现了InvocationHandler接口的一个对象代理对象:Proxy对象。拦截器:普通的JavaBean,在调用业务方法的之前或者之后会自动拦截并执行自己的一些方法。客户端:执行业务处理的入口。  以下是模型的实现 一、业务组件:分为业务接口和业务类 /** * Created by IntelliJ IDEA. * User: leizhimi ...
2007 充满了激荡人心的事件,动态语言的不断升温,JVM在开源社区不断发展以及Java社区的重要贡献者,Google的崛起等。问题是,这些预示了来年什么 呢?安德鲁•格勒弗(Andrew Glover)准备了一些答案给那些打破砂锅问到底的Java开发者――现在,什么在2008接踵而至。 法国诗人保尔•瓦雷里曾经伤心地写下“困扰我们这个时代的是,未来,并不像过去看上去的那样”。然而,对于我们这些生活在Java平台崛起推动的互联网时代的人来说,瓦雷里多年前留下的这些诗句是永恒的。 过去的十多年,我们见证了Java Applet的兴起和没落,见证了EJB头顶上光环的不断暗淡,见证了JSF,Sprin ...
在Java领域,无形中形成两个体系,一个以IBM/SUN等公司为主导的厂商路线;一个是以开源中立市场为主导的路线,很多初学者总是带着微软思路看待Java领域,以为Java领域最牛逼的就是SUN,然后就拿SUN和微软做比较,现在SUN被收购 ...
在过去一年左右的时间里,在相当平静,企业的软件架构变得相当令人振奋的一次。 我们终于看到新出现的一些课题已经融入主流,并潜在地改变了游戏规则,一些创新,本来徘徊在边缘的技术也开始进行颠覆式革命。一些大的变化是:传统的霸权的第3和第4层应用模型 ,重量级的运行平台(集中式数据库计算模型),以及古典面向服务SOA的架构已经主宰了近十年,现在几乎被四分五裂了一系列新办法的设计和架构应用。这些听起来似乎很轻率的话,但确实在悄悄发生,建筑师正在寻找新的解决办法,因为他们在新的领域中遇到了新的挑战。 因此,这些新的方式可以解决现行做法的缺点或添加新的功能, 例如一些例子包括建立可重复使用的平台的应用,Ope ...
2008年下半年这些日子,虽然微软还在表示进军云计算,但是云计算在Java世界实际上已经从口号变成现实。这是一篇Web服务器Jetty集群文章的翻译,也就是说:Jetty已经可以嵌入下面这些云计算软件,而你只要将你的Web应用部署到J ...
class Task { public Task () { this.url = null; this.tag = null; this.hrefSpell = null; this.query = null; this.doubleQuote = true; } public Task(String anUrl, String aTag, String aHrefSpell, String aQuery, boolean aDoubleQuote) { this.url = anUrl; this.tag = aTag; this.h ...
Global site tag (gtag.js) - Google Analytics