`
lt200819
  • 浏览: 182024 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表

JAVA反编译工具

    博客分类:
  • JAVA
由于JAVA语言安全性高、代码优化、跨平台等特性,从1995年5月由SUN公司发布后,迅速取代了很多传统高级语言,占据了企业级网络应用开发等诸多领域的霸主地位。     不过,JAVA最突出的跨平台优势使得它不能被编译成本地代码,而要以中间代码的形式运行在虚拟机环境中,这使得JAVA的反编译要比别的高级语言容易实现,并且反编译的代码经过优化后几乎可以与源代码相媲美。     为了更好地保护知识产权,避免本公司的智力成果轻易被人窃取,开发者有必要对反编译工具深入了解,以便有针对性地采取保护措施。     目前,比较流行的JAVA反编译工具有近30种,其中有三款堪称精品:     一、 应用广泛的 ...

Compiler API

    博客分类:
  • JAVA
JDK 6 提供了在运行时调用编译器的 API,后面我们将假设把此 API 应用在 JSP 技术中。在传统的 JSP 技术中,服务器处理 JSP 通常需要进行下面 6 个步骤: 分析 JSP 代码; 生成 Java 代码; 将 Java 代码写入存储器; 启动另外一个进程 ...

java关键字Transient

    博客分类:
  • JAVA
Java的serialization提供了一种持久化对象实例的机制。当持久化对象时,可能有一个特殊的对象数据成员,我们不想用serialization机制来保存它。为了在一个特定对象的一个域上关闭serialization,可以在这个域前加上关键字transient。 transient是Java语言的关键字,用来表示一个域不是该对象串行化的一部分。当一个对象被串行化的时候,transient型变量的值不包括在串行化的表示中,然而非transient型的变量是被包括进去的。 首先,让我们看一些Java serialization的代码: public class LoggingInfo imp ...
1.尽量在合适的场合使用单例 使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适用于以下三个方面 第一,控制资源的使用,通过线程同步来控制资源的并 ...
现代的 Web 应用程序框架在范围和复杂性方面都有所发展,应用程序的每个底层组件也必须相应地发展。作业调度是现代系统中对 Java 应用程序的一般要求,而且也是对 Java 开发人员一贯的要求。虽然目前的调度技术比起原始的数据库触发器标志和独立的调度器线程来说,已经发展了许多,但是作业调度仍然不是个小问题。对这个问题最合适的解决方案就是来自 OpenSymphony 的 Quartz API。 Quartz 是个开源的作业调度框架,为在 Java 应用程序中进行作业调度提供了简单却强大的机制。Quartz 允许开发人员根据时间间隔(或天)来调度作业。它实现了作业和触发器的多对多关系,还能把多个作 ...
自从 java 发布的第一个版本开始就已经包含 JDBC 了。目前已经有 10 个年头了。 JDBC4.0 将要被打包到 java6.0 里( java SE 是 J2SE 新的名字)。它展现设计的重大提升和提供更加丰富的 API ,更加重视简易开发和提高生产力 。       ...

UTF8和UTF16的区别

以前收藏的一篇 标题   谈谈Unicode编码,简要解释UCS、UTF、BMP、BOM等名词     选择自 fmddlmyy 的 Blog  关键字   谈谈Unicode编码,简要解释UCS、UTF、BMP、BOM等名词 这是一篇程序员写给程序员的趣味读物。所谓趣味是指可以比较轻松地了解一些原来不清楚的概念,增进知识,类似于打RPG游戏的升级。整理这篇文章的动机是两个问题: 问题一: 使用Windows记事本的“另存为”,可以在GBK、Unicode、Unicode big endian和UTF-8这几种编码方式间相互转换。同样是txt文件,Windows是怎样识别编码方 ...
下面是我根据多年的阅读和实践经验,给您推荐的一些图书: 第一部分: Java语言篇 1 《Java编程规范》   星级:   适合对象:初级,中级   介绍:作者James Gosling(Java之父),所以这本书我觉得你怎么也得读一下。对基础讲解的很不错。 2 《Java核心技术:卷Ⅰ基础知识》   星级:   适合对象:初级,中级   介绍:官方机构图书,你怎么也得有一本,这本书比较全面而且易懂。放在案旁用到的时候查一查,看一看。是学习入门必备书。    注:新手必备 3 《Java编程思想》   星级:   适合对象:初级,中级   介绍:这本书的作者就是著名的C++编程思想,对OO ...
每种框价都会有国际化的支持,struts2的国际化大致上分为页面的国际化,Action的国际化以及xml的国际化   首先在struts.properties文件中加入以下内容: struts.custom.i18n.resources=messageResource 或在struts.xml中加入 <constant name="struts.custom.i18n.resources" value="messageResource"></constant>   资源文件的命名格式: 名称_语言代码_国家代码. Propertie ...
我们在编写大型程序的时候,需要写成千上万个方法或函数,这些函数的功能可能很强大,但我们在程序中只用到该函数的一小部分功能,并且经过调试可以确定,这 一小部分功能是正确的。但是,我们同时应该确保每一个函数 ...

RMI小实验

    博客分类:
  • JAVA
import java.rmi.Naming; import java.rmi.RMISecurityManager; public class DisplayPerfectTime { public static void main(String[] args) throws Exception { System.setSecurityManager(new RMISecurityManager()); PerfectTimeI t = (PerfectTimeI) Naming.lookup("/PerfectTime"); for (int i = 0; ...
本文主要是以安装和使用hadoop-0.12.0为例,指出在部署Hadoop的时候容易遇到的问题以及如何解决。 硬件环境 共有3台机器,均使用的FC5系统,Java使用的是jdk1.6.0。IP配置如下: dbrg-1:202.197.18.72 dbrg-2:202.197.18.73 dbrg-3:202.197.18.74 这里有一点需要强调的就是,务必要确保每台机器的主机名和IP地址之间能正确解析。 一个很简单的测试办法就是ping一下主机名,比如在dbrg-1上ping dbrg-2,如果能ping通就OK!若不能正确解析,可以修改/etc/hosts文件,如果该台机器作Nam ...
这里先大致介绍一下Hadoop.     本文大部分内容都是从官网Hadoop上来的。其中有一篇介绍HDFS的pdf文档,里面对Hadoop介绍的比较全面了。我的这一个系列的Hadoop学习笔记也是从这里一步一步进行下来的,同时又参考了网上的很多文 ...
美国程序员Jon Scott Stevens,公布了他的创业公司所使用的开发工具清单。 他的语言平台是Java,开发项目是一个网站(还未上线)。所用到的工具都是开源的,可以免费得到。 在目前的创业者之中,用Java作为网站开发语言的人 ...
本文将提供一些工具,帮助你优化代码以及检查源代码中的潜在问题。 1. PMD from http://pmd.sourceforge.net/ PMD能够扫描Java 源代码,查找类似以下的潜在问题: 可能的bug——try/catch/finally/switch语句中返回空值。 死代码——未使用的局部变量、参数、私有方法。 不理想的代码——使用String/StringBuffer。 过于复杂的表达式——没有必要使用if语句、while循环可以代替for循环。 重复代码——复制/粘贴的代码引发的bug。 PMD集成了JDeveloper, Eclipse, JEdit ...
Global site tag (gtag.js) - Google Analytics