- 浏览: 34084 次
- 性别:
- 来自: 湖南
最新评论
文章列表
不久前用到了同步,现在回过头来对JAVA中的同步做个总结,以对前段时间工作的总结和自我技术的条理话。JAVA的synchronized关键字能够作为函数的修饰符,也可作为函数内的语句,也就是平时说的同步方法和同步语句块。假如再细的分类,synchronized可作用于instance变量、object reference(对象引用)、static函数和class literals(类名称字面常量)身上。 在进一步阐述之前,我们需要明确几点: A.无论synchronized关键字加在方法上还是对象上,他取得的锁都是对象,而不是把一段代码或函数当作锁――而且同步方法很可能还会被其他线程的对象访问。 ...
Java RMI 指的是远程方法调用 (Remote Method Invocation)。它是一种机制,能够让在某个 Java 虚拟机上的对象调用另一个 Java 虚拟机中的对象上的方法。可以用此方法调用的任何对象必须实现该远程接口。
Java RMI不是什么新技术(在Java1.1的时代都有了),但却是是非常重要的底层技术。
大名鼎鼎的EJB都是建立在rmi基础之上的,现在还有一些开源的远程调用组件,其底层技术也是rmi。
在大力鼓吹Web Service、SOA的时代,是不是每个应用都应该选用笨拙的Web Service组件来实现,通过对比测试后,RMI是最简单的,在一些 ...
JXL生成复杂的EXCEL
- 博客分类:
- java
public String ExcelTaskReport(String orderid) throws RowsExceededException, WriteException, IOException{
String reportFileName = null;
File folder = null;
File file = null;
WritableWorkbook workbook = null;
try {
PATask task = this.get(Long.parseLong(orderid));
StringBuf ...
JSTL简介:
标准标签库JSTL的全名为:Java Server Pages Standard Tag Library.
JSTL主要提供了5大类标签库:
1. 核心标签库: 为日常任务提供通用支持,如显示和设置变量,重复使用一组项目,测试条件以及其他操作(如导入和重定向web页面等).
2. 国际化(I18N)标签库: 支持多种语言的引用程序.
3. SQL标签库: 对访问和修改数据库提供标准化支持.
4. XML标签库: 对XML文件处理和操作提供支持,包括XML节点的解析,迭代,基于XML数据的 ...
用JavaMail的API发送邮件
- 博客分类:
- java
1、MimeMessage的包装类
public class SimpleMessageWraper {
private Session session;
private MimeMessage mimeMessage;
private Multipart multipart = new MimeMultipart();;
public Session getSession() {
return session;
}
public MimeMessage getMimeMessage() {
return mimeMessage;
}
...
在java中获取客户端真实的IP地址
- 博客分类:
- java
public static String getRemoteAddress(HttpServletRequest request){
String ip = request.getHeader("x-forwarded-for");
if(ip == null || ip.length() == 0 || ip.equalsIgnoreCase("unknown")) ip = request.getHeader("Proxy-Client-IP");
if(ip == null || ip.length( ...
如何快速的为现有数据库建立数据字典?
- 博客分类:
- java
大部分项目在验收时都需要向客户提供一份详细的数据字典,而编写数据字典是一件既耗时又耗力的事情。为了解决这个问题,提高工作效率,本人写了一个工具类。该工具类能够根据现有的数据库快速的生成对应的数据字典,它可以为我们完成80%的工作量,我们只需要做剩下的20%的工作就可以了。该工具类目前支持Oracle、SqlServer数据库,操作简单,快捷。
1、以下是部分关键代码:
public class MetadataUtil {
private Connection cn = null;
private String catalog = null;//SqlServer use
pr ...
软件环境:
Spring:2.5.4
Hibernate:3.2.6
Oracle:9i
驱动:ojdbc14.jar
Spring关键配置信息:
<bean id="nativeJdbcExtractor" class="org.springframework.jdbc.support.nativejdbc.SimpleNativeJdbcExtractor"/> <bean id="oracleLobHandle" class="org.sp ...
Spring常用的接口和类(三)
- 博客分类:
- spring
一、CustomEditorConfigurer类
CustomEditorConfigurer可以读取实现java.beans.PropertyEditor接口的类,将字符串转为指定的类型。更方便的可以使用PropertyEditorSupport。PropertyEditorSupport实现PropertyEditor接口,必须重新定义setAsText。
public class Hello {
private String message;
private User user;
public String getMessage() {
ret ...
在项目中整合FreeMarker框架
- 博客分类:
- java
FreeMarker是一个用Java编写的模板引擎,既可以在基于MVC的应用程序中作为视图组件,也可以在非Web应用程序中使用,比如用于邮件模板的动态生成、字符串的动态生成等等。FreeMarker模板文件的扩展名为ftl,支持多种模板装载方式:1、从ClassPath路径装载,2、从Web应用程序目录装载,3、字符串变量等。下面将基于freemarker-2.3.10版本详细介绍如何将FreeMarker框架整合到Web系统中。
一、接口类 1、模板渲染接口类 —— 装载模板,用提供的数据渲染模板,返回输出字符串。
public interface TemplateRe ...
Commons FTP范例
- 博客分类:
- java
public class FtpUtil {
private FTPClient ftpClient;
private String hostname;
private int port;
private String username;
private String password;
private String remoteDir;
public FtpUtil(String hostname, int port, String username, String password, String remoteDir){
this.hostname ...
Java实现的图片生成器
- 博客分类:
- java
一、本图片生成器具有以下功能特性:
1、可以设置图片的宽度、高度、外框颜色、背景色;
2、可以设置图片字体的大小、名称、颜色;
3、可以设置输出图片的格式,如JPEG、GIF等;
4、可以将图片存储到一个文件或者存储到一个输出流;
5、可以为图片增加若干条干扰线(在生成随机码图片时可用此特性);
6、打印在图片上的文字支持自动换行;
7、可以将文字旋转指定弧度数;
二、下面列出相关的源代码
1、抽象类AbstractImageCreator的源代码
/**
* 模板方法模式应用:图片生成 ...
JACOB 就是 JAVA-COM Bridge的缩写,提供自动化的访问com的功能,也是通过JNI功能访问windows平台下的com组件或者win32系统库的。
/**
* 将jacob.dll放入JDK的bin目录下
* 把jacob.jar放入项目的WEB-INF\lib目录下
*/
public class JacobHelper {
private ActiveXComponent word;
private Dispatch documents;
private Dispatch doc;
private Dispatch selection;
...
一、关键代码:
private synchronized void sendSMS(List list, String isDone)throws Exception{
for(int i=0;i<list.size();i++){
String[] oneSMS = (String[])list.get(i);
if(oneSMS.length == 3){
String rcvMobile[] = new String[1];
rcvMobile[0] = oneSMS[1];
String sm = oneSMS[2].trim();
...
SSH命令2009-05-31 09:50SSH命令
1.登录
二。确认
三。输入用户名和密码
四。
首先我们得知道什么叫shell.操作系统与外部最主要的接口就叫做shell,或许这样说过于术语化,例如cmd命令行,这是windows操作系统下的一个shell。这里说的 ...