
JAVA
文章平均质量分 70
weirongneng
这个作者很懒,什么都没留下…
展开
-
Java线程:什么是阻塞队列
阻塞队列是Java5线程新特征中的内容,Java定义了阻塞队列的接口java.util.concurrent.BlockingQueue,阻塞队列的概念是,一个指定长度的队列,如果队列满了,添加新元素的操作会被阻塞等待,直到有空位为止。同样,当队列为空时候,请求队列元素的操作同样会阻塞等待,直到有可用元素为止。 有了这样的功能,就为多线程的排队等候的模型实现开辟了便捷通道,非常有用。...2010-04-12 10:25:37 · 153 阅读 · 0 评论 -
javac编译包及包引用文件
javac和java是sun提供的编译java文件和执行class文件的命令工具,其经过ant包装之后,可以说是很强大很方便,然后有时候写的小程序去用IDE编译,运行,显得的有些庞大,轻便轻盈的办法当然是用javac与java了。 在看下面的描述之前,请参考其他方法安装好java环境,配置好java环境变量(记得CLASSPATH最前面是 .;),下面的示例文件纯为显示所写...原创 2010-07-06 17:27:58 · 154 阅读 · 0 评论 -
Java打包指南-JAR文件包及jar命令详解
常常在网上看到有人询问:如何把 java 程序编译成 .exe 文件。通常回答只有两种,一种是制作一个可执行的 JAR 文件包,然后就可以像.chm 文档一样双击运行了;而另一种是使用 JET 来进行 编译。但是 JET 是要用钱买的,而且据说 JET 也不是能把所有的 Java 程序都编译成执行文件,性能也要打些折扣。所以,使用制作可执行 JAR 文件包的方法就是最佳选择了,何况它还能保持Jav...原创 2010-07-06 17:28:34 · 118 阅读 · 0 评论 -
Java的多线程程序设计要点
1.多线程中有主内存和工作内存之分, 在JVM中,有一个主内存,专门负责所有线程共享数据;而每个线程都有他自己私有的工作内存, 主内存和工作内存分贝在JVM的stack区和heap区。2.线程的状态有'Ready', 'Running', 'Sleeping', 'Blocked', 和 'Waiting'几个状态,'Ready' 表示线程正在等待CPU分配允许运行的时间。3.线程...原创 2010-07-07 09:15:34 · 95 阅读 · 0 评论 -
Java设计模式中的11种
一:设计模式是最重要的课程之一,堪称软件界的九阳真经,设计模式是一大套被反复使用,多数人知晓的,经过分类编目的,代码总结,使用设计模式是为了可重用代码.让代码更容易被他人理解,保证代码可靠性。 二:学习设计模式最常见的理由是因为我们可以借其: 1. 复用解决方案----避免重蹈前人的覆辙,从学习他人的经验中获益,用不着为那些总是会重复出现的问题再次设计解决方案. ...原创 2010-10-14 17:35:42 · 94 阅读 · 0 评论 -
java的final和static区别
final定义的变量可以看做一个常量,不能被改变; final定义的方法不能被覆盖; final定义的类不能被继承。 final static 就是再加上static的特性就可以了static 和final是没有直接关系的 static 是在内存中分配一块区域,供整个类通用,所有的类的对象都享有它的共同的值static 和final的区别...原创 2010-10-19 10:30:25 · 82 阅读 · 0 评论 -
jvm内存调优经验总结
[color=blue][/color][size=x-small][/size]JVM 调优,是个很简单也很复杂的话题,由于经常遇到这类问题,在这里总结一下。先从解决bug开始,当Java程序申请内存,超出VM可分配内纯的时候,VM首先可能会GC,如果GC完还是不够,或者申请的直接超够VM可能有的,就会抛出内 存溢出异常。从VM规范中我们可以得到,一下几种异常。java....原创 2010-11-04 14:37:00 · 157 阅读 · 0 评论 -
Error listenerStart
近日浏览论坛,发现好多人提问,都说在运行web程序时,服务器报出Error listenerStart的严重错误,导致页面无法正常访问或其他问题出现。 这类问题通常都是因为在web.xml里面添加了 org.springframework.web.context.ContextLoaderListener 而导致的。看到有人回...原创 2010-11-04 14:37:44 · 127 阅读 · 0 评论 -
JAVA jvm 参数 -Xms -Xmx -Xmn -Xss
常见配置举例 堆大小设置 JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制.32位系统 下,一般限制在1.5G~2G;64为操作系统对内存无限制.我在Windows Server 2003 系统,3.5G物理内存,JDK5.0下测试,最大可设置为1478m. 典型设置: java -Xmx35...原创 2010-11-04 14:40:39 · 120 阅读 · 0 评论 -
比较分析Vector,Arraylist,Hashtable,HashMap数据结构
[size=large]线性表,链表,哈希表是常用的数据结构,在进行Java开发时,JDK已经为我们提供了一系列相应的类来实现基本的数据结构。这些类均在java.util包中。本文试图通过简单的描述,向读者阐述各个类的作用以及如何正确使用这些类。 Collection├List│├LinkedList│├ArrayList│└Vector│ └Sta...原创 2010-12-09 09:15:13 · 134 阅读 · 0 评论 -
[J2SE]Map.Entry 类使用简介(转)
[size=medium]你是否已经对每次从Map中取得关键字然后再取得相应的值感觉厌倦?使用Map.Entry类,你可以得到在同一时间得到所有的信息。标准的Map访问方法如下:Set keys = map.keySet( );if(keys != null) {Iterator iterator = keys.iterator( );while(iterator.hasNex...原创 2010-12-10 09:30:43 · 176 阅读 · 0 评论 -
JAVA RMI实现过程分析
JAVA RMI 快速入门实例本实例为参考多篇文章写就而成,网上及书上各类文章介绍如何使用RMI有多种实例可参考,譬如有:1. 用命令rmiregistry启动RMI注册服务的2. 同时创建存根(stub)和骨架(skeleton)的3. 只创建存根类的的(jdk1.2以后版本)4. 通过RemoteRef和rmi://协议字串方式的5. 比较少讲到的用Locate...原创 2010-07-06 14:35:04 · 169 阅读 · 0 评论 -
CompletionService
import java.util.concurrent.Callable; import java.util.concurrent.CompletionService; import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutorCompletionServi...原创 2010-07-05 16:00:01 · 94 阅读 · 0 评论 -
Mysql不能连接
[size=medium]com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception:** BEGIN NESTED EXCEPTION **java.io.EOFExceptionSTACKTRACE:java.io.EOFExc...原创 2011-01-11 11:07:48 · 154 阅读 · 0 评论 -
Java 队列
“队列”这个单词是英国人说的“排”。在英国“排队”的意思就是站到一排当中去。计算机科学中,队列是一种数据结构,有点类似栈,只是在队列中第一个插入的数据项也会最先被移除,而在栈中,最后插入的数据项最先移除。队列的作用就像电影院前的人们站成的排一样:第一个进入附属的人将最先到达队头买票。最后排队的人最后才能买到票。队列和栈一样也被用作程序员的工具。它也可以用于模拟真实世界的环境,例如模拟人们在...2010-04-12 10:39:08 · 126 阅读 · 0 评论 -
rt.jar ,dt.jar ,tool.jar具体包括
rt.jar ,dt.jar ,tool.jar都是 做什么用的 ,分别什么时候需要设置到classpath里? rt.jar是JAVA基础类库,dt.jar是关于运行环境的类库,tools.jar是工具类库 设置在classpath里是为了让你 import * web系统都用到tool.jar 你用winrar看看里面是什么内容啦 1. rt.j...2010-04-19 10:36:39 · 104 阅读 · 0 评论 -
JAVA Process类的简单学习
(1)执行简单的DOS命令,如打开一个记事本 Java代码 package com.iwtxokhtd.other; import java.io.IOException; public class ProcessTest { public static void main(String[] args) { ...原创 2010-07-08 14:59:39 · 162 阅读 · 0 评论 -
JDK和JRE的区别
简单的说JDK是面向开发人员使用的SDK,它提供了Java的开发环境和运行环境。SDK是Software Development Kit 一般指软件开发包,可以包括函数库、编译程序等。 JDK就是Java Development Kit JRE是Java Runtime Enviroment是指Java的运行环境,是面向Java程序的使用者,而不是开发者。 如果安装了JDK,会发同...2010-07-29 09:49:06 · 91 阅读 · 0 评论 -
JDK性能优化
jvm的server版和client版在上面的表中,我们看到有server版和client版。Jvm动态库有client和server两个版本,分别针对桌面应用和服务器应用做了相应的优化,client版本加 载速度较快,server版本加载速度较慢但运行起来较快。 在命令行 java -version 可以看到jvm配置的是哪个版本。 如果要修改jvm的版本 %JAVA_H...原创 2010-07-29 10:35:25 · 135 阅读 · 0 评论 -
Apache Tika文档处理工具
随着计算机使用的日益普及以及互联网的无处不在,现在有各种语言的大量信息可为人所用。自动信息处理和检索也越来越需要理解跨文化、语言和大洲的内容。最 近的一个 Apache 软件项目 Tika 是旨在实现内容理解的一个很重要的工具。简介在本教程中,我们将通过解释性的例子介绍 Apache Tika 框架并解释它的概念(比如 N-gram、解析、mime 检测以及内容分析),这些例子不仅...原创 2010-08-02 13:58:10 · 394 阅读 · 0 评论 -
ik-analyzer
IKAnalyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包。从2006年12月推出1.0版开始,IKAnalyzer已经推出了3个大版本。最初,它是以开源项目Luence为应用主体的,结合词典分词和文法分析算法的中文分词组件。新版本的IKAnalyzer3.0则发展为面向Java的公用分词组件,独立于Lucene项目,同时提供了对Lucene的默认优化实现。 IKAnaly...原创 2010-08-02 15:05:19 · 111 阅读 · 0 评论 -
Lucene源码分析-- Analyzer
本文主要分析一下 Lucene输入部分——Analyzer(分析器)。为什么要有Analyzer部分呢?打个比方,人体在消化食物的时候,是不是都要把食物分解掉?食物在肠道里面,被分解成葡萄糖、氨基酸、脂肪等等。变成小块以后,才容易被吸收并加以利用。Lucene也有类似的过程:把文本分解成更小的单元,有词、标点符号、分割符号,甚至还有网站名等等。Analyzer就好比是人体的肠道,它的职责就是把输入...原创 2010-08-02 15:09:30 · 102 阅读 · 0 评论 -
Java 理论与实践: 线程池与工作队列
为什么要用线程池?诸如 Web 服务器、数据库服务器、文件服务器或邮件服务器之类的许多服务器应用程序都面向处理来自某些远程来源的大量短小的任务。请求以某种方式到达服务器,这种方式可能是通过网络协议(例如 HTTP、FTP 或 POP)、通过 JMS 队列或者可能通过轮询数据库。不管请求如何到达,服务器应用程序中经常出现的情况是:单个任务处理的时间很短而请求的数目却是巨大的。构建服务...原创 2010-06-29 11:50:51 · 82 阅读 · 0 评论 -
Java IO
[size=medium] 本篇主要讲述IO相关的内容,主要包括:与IO相关的简单的历史背景知识;Java IO的简单分类;与IO设计相关的两个模式;同时列举几个简单的例子;分析其中几个实现的源代码;最后给大家一些简单扩展的例子。治学先治史,下面我们先从简单的历史开始吧! 一、 历史背景 “对语言设计人员来说,创建好的输入/输出系统是一项特别困难的任务。”――...原创 2011-01-04 12:08:33 · 132 阅读 · 0 评论 -
设置JVM启动属性,设置tomcat远程调试端口
在eclipse中设置启动属性,或者在命令行运行时设置 -Dproperty=weirongneng public class Dproperty { public static void main(String[] args) { String val = System.getProperty("wrn"); System.out.println(val);...原创 2013-02-12 17:08:27 · 626 阅读 · 0 评论