`
defrag_sly
  • 浏览: 126434 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
文章列表
Java语言特别强调准确性,但可靠的行为要以性能作为代价。这一特点反映在自动收集垃圾、严格的运行期检查、完整的字节码检查以及保守的运行期同步等等方面。对一个解释型的虚拟机来说,由于目前有大量平台可供挑选,所以进一步阻碍了性能的发挥。 “先做完它,再逐步完善。幸好需要改进的地方通常不会太多。”(Steve McConnell的《About performance》[16]) 本附录的宗旨就是指导大家寻找和优化“需要完善的那一部分”。 D.1 基本方法 只有正确和完整地检测了程序后,再可着手解决性能方面的问题: (1) 在现实环境中检测程序的性能。若符合要求,则目标达到。若不符合,则转到下一步。 ...
3. 等待和通知 通过前两个例子的实践,我们知道无论sleep()还是suspend()都不会在自己被调用的时候解除锁定。需要用到对象锁时,请务必注意这个问题。在另一方面,wait()方法在被调用时却会解除锁定,这意味着可在执行wait()期间调用线程对象中的其他同步方法。但在接着的两个类中,我们看到run()方法都是“同步”的。在wait()期间,Peeker仍然拥有对同步方法的完全访问权限。这是由于wait()在挂起内部调用的方法时,会解除对象的锁定。 我们也可以看到wait()的两种形式。第一种形式采用一个以毫秒为单位的参数,它具有与sleep()中相同的含义:暂停这一段规定时间。区别在于 ...
以下是更新操作,附图,不再赘述。修改feature的版本号,可以实现版本管理。
今天做了个插件,即时股价查询,放在eclipse客户端里,可以边工作边看股价了。 功能简单,source就不公布了。有空再完善。 =========================================================== 昨天完成时,已经停盘了。删除操作没有测试。再上传一次新版本。 ============================================================ 支持上海交易所A股,深圳交易所A股,上证指数,深证指数。 ================================================ ...

移位运算符

    博客分类:
  • java
移位运算符面向的运算对象也是二进制的“位”。可单独用它们处理整数类型(主类型的一种)。左移位运算符(<<)能将运算符左边的运算对象向左移动运算符右侧指定的位数(在低位补0)。“有符号”右移位运算符(>>)则将运算符左边的运算对象向右移动运算符右侧指定的位数。“有符号”右移位运算符使用了“符号扩展”:若值为正,则在高位插入0;若值为负,则在高位插入1。Java也添加了一种“无符号”右移位运算符(>>>),它使用了“零扩展”:无论正负,都在高位插入0。这一运算符是C或C++没有的。 若对char,byte或者short进行移位处理,那么在移位进行之前,它们会 ...
按位运算符允许我们操作一个整数主数据类型中的单个“比特”,即二进制位。按位运算符会对两个自变量中对应的位执行布尔代数,并最终生成一个结果。 按位运算来源于C语言的低级操作。我们经常都要直接操纵硬件,需要频繁设置硬件寄存器内的二进制位。Java的设计初衷是嵌入电视顶置盒内,所以这种低级操作仍被保留下来了。然而,由于操作系统的进步,现在也许不必过于频繁地进行按位运算。 若两个输入位都是1,则按位AND运算符(&)在输出位里生成一个1;否则生成0。若两个输入位里至少有一个是1,则按位OR运算符(|)在输出位里生成一个1;只有在两个输入位都是0的情况下,它才会生成一个0。若两个输入位的某一个是1 ...
Java的一项主要设计目标就是安全性。所以在C和C++里困扰程序员的许多问题都未在Java里重复。一个Java可以保证被初始化,而且不可在它的范围之外访问。由于系统自动进行范围检查,所以必然要付出一些代价:针对每个数组,以及在运行期间对索引的校验,都会造成少量的内存开销。但由此换回的是更高的安全性,以及更高的工作效率。为此付出少许代价是值得的。 创建对象数组时,实际创建的是一个句柄数组。而且每个句柄都会自动初始化成一个特殊值,并带有自己的关键字:null(空)。一旦Java看到null,就知道该句柄并未指向一个对象。正式使用前,必须为每个句柄都分配一个对象。若试图使用依然为null的一个句柄,就 ...
程序运行时,我们最好对数据保存到什么地方做到心中有数。特别要注意的是内存的分配。有六个地方都可以保存数据: (1) 寄存器。这是最快的保存区域,因为它位于和其他所有保存方式不同的地方:处理器内部。然而,寄存 ...
将Eclipse RCP与Java Web Start结合发布为web应用,可以替代原有的java Applet提供一个更易扩展,更新,组件间耦合度更低,功能更强的应用程序。可以为web上的特定应用提供解决方案。B/S结构的应用程序客户端不再局限于浏览器。 1、 创建RCP工程:     使用插件工程创建向导,创建一个插件工程,名为org.rufus.javaeye.jws.eclipse。     选择Rich Client Application为yes。 Templates选择页面,选择一个例子,view或者Hello RCP。 2、 为RCP工程创建feature:     创建一个fe ...
使用多线程,时时更新Label显示当前时间。 例子代码包括两部分,run方法使用eclipse提供的默认方法实现,SWTlabel刷新。 run2方法使用timetask线程(java多线程方式)实现。 不管什么方式,都回避不了,eclipse多线程对java多线程的限制(在java线程中不可以直接操作SWT的control)。 但是个人认为:倾向使用java线程套eclipse线程的方式,因为多线程的负担由eclipse平台转移至了java虚拟机。对于非常复杂的数据计算或许可以提高效率。减少eclipse的响应时间。 (以上观点,仅仅是使用中的猜测,没有任何证据。希望我可以发现证据支持这一猜 ...
参考两篇关于OSGI的介绍。联想到,如果基于OSGI开发一套桌面应用,是不是一件很有意思的事呢?这个念头一产生马上就想到了eclipse。所以照着猫画了一只猫。我想基本结构应该是sevice,extend,client。以及在这上面的等等扩展。 所以写了一段小程序。主要想法是以OSGI为基础,使用SWT作为实现,提供一个UI界面。有了这样的基础,我们随时可以把SWT换为AWT,或者其他什么更漂亮的UI界面。 希望我可以继续。 附件附上src。 在环境:JDK:1.5,win2003,eclipse3.3下测试通过。
我们也能在外太空看地球。
    OSGi(Open Services Gateway Initiative,开放服务网关协议)提供了一个面向服务组件的编程模型,基于 OSGi 编程,具有模块化,标准化,面向服务,动态性,易复用,易扩展,易部署等诸多优点,本文介绍了基于 OSGi 开发一个应用程序 ...
开放服务网关协议 (Open Services Gateway Initiative),简称 OSGi,为网络服务定义了一个标准的、面向服务的计算环境,为用户提供了开放的、面向服务组件的、易于部署的编程模型,这个编程模型允许用户将定义好的接口规范绑定到 OSGi 运行环境中的特定Service,在构件 SOA 面向服务为中心的企业应用的过程中,OSGi 技术正发挥越来越重要的作用。在本文中,将介绍 OSGi 的概念和体系结构,并且利用 Eclipse 3.2 开发一个基于 OSGi 规范的服务应用 Bundle。通过学习本文,读者可以了解到如何开发和部署基于 OSGi 规范的 Bundle 应用 ...
javaeye里的第一篇,希望不是最后一篇。 从今以后,喜怒哀乐都将在这里,留下痕迹。 当然主要目的还是将技术的总结,理解找个保存的地方。 最后,预祝神七顺利完成任务。[img]../../images/smiles/icon_lol.gif" alt="[/img]
Global site tag (gtag.js) - Google Analytics