![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java语言相关
MapleElf
这个作者很懒,什么都没留下…
展开
-
Java编程 的动态性,第 2部分: 引入反射
反射使您的程序代码能够接入装载到JVM中的类的内部信息,允许您编写与执行时,而不是源代码中选定的类协作的代码。这使反射成为构建灵活的应用的主要工具。但需注意的是 --如果使用不当,反射的成本很高。在Java平台系列的第2部分中,软件顾问DennisSosnoski介绍了如何使用反射,以及某些相关的成本。您还将找到JavaReflection API如何使您能够在运行时关联对象。转载 2010-02-21 11:10:00 · 410 阅读 · 0 评论 -
java并发编程实践笔记
1, 保证线程安全的三种方法: a, 不要跨线程访问共享变量 b, 使共享变量是final类型的 c, 将共享变量的操作加上同步2, 一开始就将类设计成线程安全的, 比在后期重新修复它,更容易.3, 编写多线程程序, 首先保证它是正确的, 其转载 2010-05-20 12:17:00 · 429 阅读 · 0 评论 -
Java 编程的动态性,第 5 部分: 动态转换类
在经过一段时间的休息之后,Dennis Sosnoski 又回来推出了他的 Java 编程的动态性系列的第 5 部分。您已在前面的文章中看到了如何编写用于转换 Java 类文件以改变代码行为的程序。在本期中,Dennis将展示如何使用Javassist框架,把转换与实际的类加载过程结合起来,用以进行灵活的“即时”面向方面的特性处理。这种方法允许您决定想要在运行时改变的转载 2010-02-21 11:08:00 · 673 阅读 · 0 评论 -
Java 编程的动态性,第 6 部分: 利用 Javassist 进行面向方面的更改
Java 顾问 Dennis Sosnoski 在他的关于 Javassist框架的三期文章中将精华部分留在了最后。这次他展现了 Javassist 对搜索-替换的支持是如何使对 Java字节码的编辑变得像文本编辑器的“替换所有(Replace All)”命令一样容易的。想报告所有写入特定字段的内容或者对方法调用中参数的更改中的补丁吗?Javassist 使这变得很容易,Dennis转载 2010-02-21 11:07:00 · 609 阅读 · 0 评论 -
Java 编程的动态性,第3部分: 应用反射
命令行参数处理是一项令人厌烦的零碎工作,不管您过去已经处理过多少次了,它好像总能重新摆在您的面前。与其一遍又一遍地编写同一块代码的不同变种,为什么不利用反射来简化参数处理的工作呢?Java 顾问 Dennis Sosnoski向您展示了如何做到这一点。在本文中,Dennis 简明扼要地介绍了一个开源库,这个库可以使得命令行参数实际上自己处理自己。在转载 2010-02-21 11:09:00 · 391 阅读 · 0 评论 -
Java 编程的动态性,第 7 部分: 用 BCEL 设计字节码
Apache Byte Code Engineering Library (BCEL)可以深入 Java类的字节码。可以用它转换现有的类表示或者构建新的类,因为 BCEL 在单独的 JVM指令级别上进行操作,所以可以让您对代码有最强大的控制。不过,这种能力的代价是复杂性。在本文中,Java 顾问 Dennis Sosnoski介绍了 BCEL 的基本内容,并引导读者完成一个示例 BCE转载 2010-02-21 11:07:00 · 905 阅读 · 0 评论 -
Java 编程的动态性, 第4部分: 用 Javassist 进行类转换
厌倦了只能按编写好源代码的方式执行的 Java 类了吗?那么打起精神吧,因为您就要发现如何将编译器编译好的类进行改造的方法了!在本文中,Java 顾问 Dennis Sosnoski 通过介绍字节码操作库 Javassist 将他的 Java 编程的动态性系列带入高潮,Javassist 是广泛使用的 JBoss 应用服务器中加入的面向方面的编程功能的基础。您会看到到转载 2010-02-21 11:09:00 · 791 阅读 · 0 评论 -
Java 编程的动态性,第 8 部分: 用代码生成取代反射
从本系列前面的文章中,您了解到反射的性能比直接访问要慢许多倍,并了解了用 Javassist 和 ApacheByte Code Engineering Library (BCEL)进行classworking。Java 顾问 DennisSosnoski 通过演示如何使用运行时 classworking,来用全速前进的生成代码取代反射代码,从而结束他的 Java 编程的动态性系列。转载 2010-02-21 11:06:00 · 609 阅读 · 0 评论 -
Java 编程的动态性,第 1 部分: 类和类装入
这一有关 Java 编程动态方面的新的系列文章研究了执行 Java 应用程序时幕后所发生的事情。企业 Java专家Dennis Sosnoski 提供了 Java 二进制类格式以及在 JVM内部类所发生的情况的内幕。接着,他将讨论类装入问题,其范围涉及从运行简单的 Java 应用程序所需的类的数量到可能造成 J2EE及类似的复杂体系结构出现问题的类装入器冲突。本文是这个新系转载 2010-02-21 11:04:00 · 413 阅读 · 0 评论 -
对Java性能服务器的设计与思考
Java高性能服务器的设计思路总体来讲还是遵循reactor模式加上一个线程池来作为服务器对客户端请求的处理。我这里大体说一下一个服务器需要几个基本的组建。 1. 连接器 对一个客户端的封装,可以对SocketCannel包一层,也可以直接使用SocketCannel,看需求的复杂程度。建议还是包一层,这样有利于连接器的扩展,可以添加一些额外的参数或者功能。 2. 处理器原创 2012-05-03 12:08:06 · 432 阅读 · 0 评论