JDK6.0推出了动态编译的新功能,能够在程序中动态的写一个类,再对之进行编译。编译成class文件后就可以通过类加载方式把动态编译的类加载到内存中。当然也能通过RunTime类调用javac命令来动态编译。 动态编译类的主要步骤: ①、写一个字符串,这个字符串就...
java中,反射是一种强大的工具。它使您能够创建灵活的代码,这些代码可以在运行时装配,无需在组件之间进行源代表链接。反射允许我们在编写与执行时,使我们的程序代码能够接入装载到JVM中的类的内部信息,而不是源代码中选定的类协作的代码。这使反射成为构...
在java程序运行过程中,有许多的对象同时存在,但是程序结束运行或者JVM停止运行时这些对象都会消失。如何将这些对象保存起来以便下一次再将这些对象读入内存呢?或者如何将某些对象通过网络传到另一端的java程序?实施对象的这种操作叫做对象的序列化(或者...
java中字符流主要都是继承于Reader和Writer两个抽象类。用于对字符文本的读写操作。 一、转换类流 1packagecom.iotest; 2 3importjava.io.FileInputStream; 4importjava.io.FileNotFoundException; 5importjava.io.FileOutputStream; 6importjava.io.IOExcep...
在I/O类库中,java.io.InputStream和java.io.OutputStream分别表示字节输入流和字节输出流,它们都是抽象类,不能实例化,数据流中的最小单位是字节,所以叫做字节流。 一、InputStream中的读取数据的方法如下: 1、intread() 功能:读取一个字节的数据,并...
昨天重新学习了java多线程的使用,多线程的难点就在线程之间的协调。在《操作系统》一课中,我们学习了进程,其实多线程和多进程一样,都会涉及到多个进程或者线程对某一资源共享访问的问题,当多个线程都需要修改这个资源的时候就会出现线程安全问题。 比如...
以前学习基础的时候学习了一段时间的多线程,上课的时候老师也讲过一遍,那时候感觉学的似懂非懂。因为到现在很长一段时间没有用到多线程的知识,所以现在基本上忘了差不多了。但是下个星期要面试了,所以今天特意又研究了一下多线程,免得被问到多线程问题...
Set不保存重复的元素。Set中最常被使用的是测试归属性,你可以很容易的询问某个对象是否在某个Set中。Set具有与Collection完全一样的接口,因此没有任何额外的功能。实际上Set就是Collection,只是行为不同。 实现了Set接口的主要有HashSet、TreeSet、Linked...
List承诺可以将元素维护在特定的序列中。List接口在Collection的基础上添加了大量的方法,使得可以在List的中间插入和删除元素。List与 set 不同,列表通常允许重复的元素。并且存放的顺序与插入的顺序一致。 List接口的常用方法有: add(E o) :将指定对象加...
在java中,可能使用到final关键字修饰的有数据、方法和类。 一、final 修饰数据 有final修饰的数据是用来告诉编译器一块数据是恒定不变的,有时数据恒定不变是很有用的,比如: 1.一个永不改变的编译时常量。 2.一个在运行时被初始化的值,但是又不希望它被...
最近一直在看《thinking in java》一书,感觉里面东西讲的很细,很多东西都没有接触过,是值得各位java程序员仔细品味的一本好书。 今天看了关于类成员初始化那节,以前对于成员初始化顺序没有考虑那么多,没有在意初始化的顺序。今天特意仔细研究了一番。...
排序算法是最常见的笔试题目,几乎所有的笔试和面试都会考到,因为它体现的就是程序员的算法基...
这里使用JDK5+的java.util.concurrent包下的API实现,采用这种方式是相对比较安全的。 实现效果: 启动一个任务,然后等待任务的计算结果同时设定一个超时时间,如果等待时间超出预设定的超时时间,则中止任务。 代码实现: import java.util.concurrent.Cal...
Java编程中的异常处理是一个很常见的话题了,几乎任何一门介绍性的Java课程都会提到异常处理。不过,我认为很多人其实没有真正掌握正确处理异常情况的方法和策略,最多也就不过了解个大概,知道概念。我想对三种不同程度和质量的Java异常处理进行了讨论,所...
1. 阐述 对于Java中Map的遍历方式,很多文章都推荐使用entrySet,认为其比keySet的效率高很多。理由是:entrySet方法一次拿到所有key和value的集合;而keySet拿到的只是key的集合,针对每个key,都要去Map中额外查找一次value,从而降低了总体效率。那么实际...
DK1.5引入了新的类型枚举。在 Java 中它虽然算个小功能,却给我的开发带来了大方便。 用法一:常量 在JDK1.5 之前,我们定义常量都是: public static fianl.... 。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方...
Interfaces接口 在软件工程中,由一份契约规定来自不同的开发小组的软件之间如何相互作用是非常常见的。每个小组都可以在不知道别的组的代码的前提下独立开发自己的代码。Java中的interface就是这样的一份契约。 举个例子,假设在未来社会有一种智能汽车,它...
前面扯过一篇浅谈面向对象与女娲造人,今儿我接着扯 在我的理解中,所谓的异常机制也就是让程序在出现某些错误的情况下还能继续执行完,如同两个人在恋爱,虽然出现各种问题,但还是希望将来能继续走下去。 在java的异常结构中有一个顶级父类叫做Throwable,...
简介: 本文介绍如何提升 Java Web 服务性能,主要介绍了三种方法:一是采用 Web 服务的异步调用,二是引入 Web 服务批处理模式,三是压缩 SOAP 消息。重点介绍在编程过程中如何使用异步 Web 服务以及异步调用和同步调用的差异点。本文还示范了如何在项目中...
Java就是用来做项目的!Java的主要应用领域就是企业级的项目开发!要想从事企业级的项目开发,你必须掌握如下要点: 1、掌握项目开发的基本步骤 2、具备极强的面向对象的分析与设计技巧 3、掌握用例驱动、以架构为核心的主流开发方法 没有人愿意自己一辈子就...
Java集合框架是最常被问到的Java面试问题,要理解Java技术强大特性就有必要掌握集合框架。 这里有一些实用问题,常在核心Java面试中问到。 1、 什么是Java集合API Java集合框架API是用来表示和操作集合的统一框架,它包含接口、实现类、以及帮助程序员完成一...
Java 8 将会包含很多新特性,有如 Lambdas, Jigsaw 模块化等等,而首个里程碑版将于本月末发布,详细的时间表如下: M1: April 24, 2012 M2: June 14, 2012 M3: July 30, 2012 M4: September 11, 2012 M5: November 26, 2012 M6: January 30, 2013 (Recommen...
这次是用java实现RMI 的远程调用: 编写的过程大致为: 首先我们的启动Mysqlserver ,然后再里面建立一个数据库,以便我们在数据库中插入存放学生信息等。 先编写一个接口DataServer,并且继承Remote类,然后再接口里面写上服务器端能实现的方法,然后再定义...
25个最好的免费Eclipse插件,可以让开发者更高效的工作 。 提高代码质量的插件 1. FindBugs FindBugs可以帮你找到Java代码中的bug,它使用Lesser GNU Public License的自由软件许可。 2. Checkstyle Checkstyle插件可以集成到Eclipse IDE中去,能确保Java代...
java一次性查询几十万,几百万数据解决办法。很早的时候写工具用的一个办法。 当时是用来把百万数据打包 成rar文件。所以用了个笨办法。 希望高手指导一下,有什么好方法没有啊 1、先批量查出所有数据,例子中是一万条一批。 2、在查出数据之后把每次的数据按...
java 读取txt,java读取大文件 package com.bbcmart.util; import java.io.File; import java.io.RandomAccessFile; import java.nio.MappedByteBuffer; import java.nio.channels.FileChannel; public class Test { public static void main(String[] args)...
本文以HBase 0.90.2为例,介绍如何在Windows系统,Eclipse IDE集成环境下,使用Java语言,进行HBase客户端编程,包含建立表、删除表、插入记录、删除记录、各种方式下的查询操作等。 1. 准备工作 (1)下载后安装jdk包(这里使用的是jdk-6u10-rc2-bin-b32-window...
java.util.concurrent提供了多种并发容器,总体上来说有4类 Queue类:BlockingQueue ConcurrentLinkedQueue Map类:ConcurrentMap Set类:ConcurrentSkipListSet CopyOnWriteArraySet List类:CopyOnWriteArrayList 接下来一系列文章,我会对每一类的源码进行...
由于在工作流设计中需要为条件分支设定条件表达式,所以需要可以动态执行的语言脚本作为工作流的规则引擎.工作流条件分支纯粹使用sql脚本肯定是不行的,经过试验,groovy的脚本可以返回为java接受的变量.在具体的工作流实现中,我们既可以把groovy的脚本单独存放...
Hessian是一个轻量级的remoting on http工具,采用的是Binary RPC协议,所以它很适合于发送二进制数据,同时又具有防火墙穿透能力。Hessian一般是通过Web应用来提供服务,因此非常类似于平时我们用的WebService。只是它不使用SOAP协议,但相比webservice而言更...