java
文章平均质量分 95
Towan
天下之至柔,驰骋天下之至坚。
展开
-
java相关优秀开源项目
构建这里搜集了用来构建应用程序的工具。Apache Maven:Maven使用声明进行构建并进行依赖管理,偏向于使用约定而不是配置进行构建。Maven优于Apache Ant。后者采用了一种过程化的方式进行配置,所以维护起来相当困难。Gradle:Gradle采用增量构建。Gradle通过Groovy编程而不是传统的XML声明进行配置。Gradle可以很好地配合Maven进行依赖管理,并且把Ant转载 2015-05-01 09:01:22 · 3033 阅读 · 0 评论 -
Java 安全套接字编程以及 keytool 使用最佳实践
本文描述了 Java7 中 keytool 工具的使用方法,并结合具体代码片段,向读者阐述如何使用 JSSE 提供的 API 进行安全套接字编程,以及如何进行 SSL/TSL 程序调试等技巧,让读者可以学以致用。概述利用 Java 的 JSSE(Java Secure Socket Extension)技术,我们可以方便的编写安全套接字程序,关于 JSSE 的介绍,可以参阅 Oracl原创 2013-12-20 12:58:11 · 1350 阅读 · 0 评论 -
如何使用 Eclipse 插件和简洁的 Groovy 语言在 EC2 上快速地建立和运行简单的 Web 应用程序
您可能听说过 Standish Chaos Report,这份每年一次的报告研究成功和失败的 IT 项目。这份报告常常包含大量坏消息。(如果都是好消息,它就不应该称为 Chaos Report 了,对吗?)2009 年的报告指出,百分之 44 的 IT 项目由于各种原因出了问题。原因之一是项目超出预算。很容易想到导致项目超出预算的几个原因。例如,程序员的薪酬并不低。基础设施也是影响成本的因素之一。原创 2014-01-09 13:53:52 · 1673 阅读 · 0 评论 -
数据层的多租户浅谈
在单租户应用向多租户应用的转型中,数据如何隔离,既满足数据服务的共享,又保证数据的安全性,同时性能也在合理的考量中,是一个共同的课题。同时,我们也关注像 Hibernate、EclipseLink 等数据层的解决方案又是如何具体实现多租户的。原创 2014-01-08 14:01:57 · 2379 阅读 · 0 评论 -
Java 开发 2.0: NoSQL
在 Web 2.0 时代,NoSQL 数据存储(比如 Bigtable 和 CouchDB)从边缘进入主流,因为它们能够解决伸缩性问题,而且能够大规模解决该问题。Google 和 Facebook 只是已经开始使用 NoSQL 数据存储的两家知名公司,我们仍然处于使用 NoSQL 数据存储的早期阶段。无模式数据存储与传统的关系数据库存在根本区别,但是利用它们比您想象的要简单得多,尤其是当您从一个域原创 2014-01-08 12:56:15 · 1211 阅读 · 0 评论 -
java7的变化
最近一直用着java6,发现java7有如下变化1.对collections的支持 Java代码 List list = new ArrayList(); list.add("item"); String item = list.get(0); Set set = new HashSet(); set.add("item"); Map原创 2013-12-18 16:17:05 · 1133 阅读 · 0 评论 -
Java7中switch支持String
今天调试了一阵子,自己版本用的java6,发现Java7的switch已经能支持String了。在Java7之前,switch只能支持 byte、short、char、int或者其对应的封装类以及Enum类型。在Java7中,呼吁很久的String支持也终于被加上了。 例如,下面是一段switch中使用String的示例代码。 01pub原创 2013-12-18 16:13:54 · 1326 阅读 · 0 评论 -
Java final使用总结
这几天,在网上找了一些关于final的知识,当然并不全面,有的一时也没有很好的理解,先收集起来,理理思路,把不懂的画出来,以便更好地学习……java中的final关键字通常的指的是“这是无法改变的”。它可能被做为三种的修饰词.------数据(基本类型,对象或者数组),方法(类方法、实例方法),类。final应用于类如果类被声明为final,则表示类不能被继承,也就是说不能有子类。因为原创 2013-12-19 08:31:45 · 946 阅读 · 0 评论 -
深入理解JAVA I/O机制
Java 的 I/O 类库的基本架构I/O 问题是任何编程语言都无法回避的问题,可以说 I/O 问题是整个人机交互的核心问题,因为 I/O 是机器获取和交换信息的主要渠道。在当今这个数据大爆炸时代,I/O 问题尤其突出,很容易成为一个性能瓶颈。正因如此,所以 Java 在 I/O 上也一直在做持续的优化,如从 1.4 开始引入了 NIO,提升了 I/O 的性能。关于 NIO 我们将在后面详细介原创 2013-12-18 13:32:32 · 1280 阅读 · 0 评论 -
深入探索java热部署
简介在 Java 开发领域,热部署一直是一个难以解决的问题,目前的 Java 虚拟机只能实现方法体的修改热部署,对于整个类的结构修改,仍然需要重启虚拟机,对类重新加载才能完成更新操作。对于某些大型的应用来说,每次的重启都需要花费大量的时间成本。虽然 osgi 架构的出现,让模块重启成为可能,但是如果模块之间有调用关系的话,这样的操作依然会让应用出现短暂的功能性休克。本文将探索如何在不破坏原创 2014-01-01 20:32:39 · 1284 阅读 · 0 评论 -
用JavaMail实现POP3协议
邮局协议(Post Office Protocol Version 3, POP3)提供了一种对邮件消息进行排队的标准机制,这样接收者以后才能检索邮件。POP3服务器也运行在TCP/IP之上,并且在默认端口110上监听(SMTP协议运行在25端口上)。现在,大部分邮件服务器都采用SMTP发送邮件,同时使用POP3接收电子邮件信息。1. 握手 客户端向服务器端发送建立一个TCP原创 2013-12-31 17:51:15 · 1809 阅读 · 0 评论 -
一种基于java语言的模板引擎velocity的使用
1.开始入门 Velocity是一基于java语言的模板引擎,使用这个简单、功能强大的开发工具,可以很容易的将数据对象灵活的与格式化文档组装到一起;希望本文能指引使用velocity在开发基于servlet或一般java应用程序的应用上快速起步。 1.Getting Started 取得Velocity并在你的机器上开始运行很容易,以下是全部详细的说明: 取得Velocity发布版原创 2013-12-31 15:41:03 · 2221 阅读 · 0 评论 -
Java采用SMTP协议发送邮件
示例中需要用到两个包:mail.jar和activation.jar,其下载地址为:http://java.sun.com/products/javamail/downloads/index.htmlhttp://java.sun.com/javase/technologies/desktop/javabeans/jaf/downloads/index.html下载后解压,将mai转载 2013-12-31 17:35:35 · 1313 阅读 · 0 评论 -
一些J2EE WEB应用架构分析
1. 架构概述J2EE体系包括java server pages(JSP) ,java SERVLET, enterprise bean,WEB service等技术。这些技术的出现给电子商务时代的WEB应用程序的开发提供了一个非常有竞争力的选择。怎样把这些技术组合起来形成一个适应项目需要的稳定架构是项目开发过程中一个非常重要的步骤。完成这个步骤可以形成一个主要里程碑基线。形成这个基线有很原创 2014-02-14 11:40:53 · 2596 阅读 · 0 评论 -
JFreeChart简单介绍
一、JFreeChart获取。 JFreeChart是JFreeChart公司在开源网站SourceForge.net上的一个项目,该公司的主要产品有如下: 1、JFreeReport:报表解决工具 2、JFreeChart:Java图形解决方案(Application/Applet/Servlet/Jsp) 3、JC原创 2014-02-14 10:52:43 · 1232 阅读 · 0 评论 -
java的调度器timer定时执行指定任务
如果要在程序中定时执行任务,可以使用java.util.Timer这个类实现。使用Timer类需要一个继承了java.util.TimerTask的类。TimerTask是一个虚类,需要实现它的run方法,实际上是他implements了Runnable接口,而把run方法留给子类实现。注:Timer中用于存储Task的容器是同步了的,保证了多线程环境先的安全使用。原创 2014-03-04 08:25:15 · 863 阅读 · 0 评论 -
Java程序的linux启动脚本
Java程序多数情况下都会用到一些第三方的类库,如果仅用到几个jar文件,写到java命令里就好,但是依赖的jar文件很多的情况,写到java命令里就不好了,而且如果jar文件被替换,名字变了,就需要改java命令,所以最好在启动命令里不出现jar文件名。假设程序依赖的类库jar文件存放在同级的lib目录下,简单的:java -Djava.ext.dirs=lib -Djava.libra原创 2014-08-05 09:03:41 · 883 阅读 · 0 评论 -
Log4j使用实例
在Log4J使用笔记中我们已经知道同一个日志信息可以同时输出到多个输出目的地。那么在下面的例子中我将演示将日志信息同时输出到控制台,文件和数据库中。首先创建一张表,如下:log4j.sql编写配置文件myLog4j.properties#定义3个输出端log4j.rootCategory=INFO,A1,A2,A3#定义A1输出到控制器log4j.appende原创 2013-11-15 11:11:34 · 1094 阅读 · 0 评论 -
java中使用的设计模式
来自于http://stackoverflow.com/questions/1673841/examples-of-gof-design-patternsYou can find an overview of a lot of design patterns in Wikipedia. It also mentions which pat原创 2014-07-18 13:26:20 · 911 阅读 · 0 评论 -
java标记接口
标识接口是没有任何方法和属性的接口.它仅仅表明它的类属于一个特定的类型,供其他代码来测试允许做一些事情.标识接口作用:简单形象的说就是给某个对象打个标(盖个戳),使对象拥有某个或某些特权。比如,你不能杀人,如果老习给你盖个戳,你就可以杀人了。。使用标记接口可以用instanceof进行类型查询,例如:if(obj instanceof Cloneable) {………}一些容原创 2014-04-09 11:48:30 · 945 阅读 · 0 评论 -
java策略枚举
我们在使用Java的枚举时往往会结合Switch来进行判断以实现不同值的处理,但是我们知道多用switch不是一种很好的代码风格,不利用维护和适应变化,因为这不符合开-闭原则。为此一种方法是用策略模式来重构原有的枚举实现,但是很多时候确实需要用枚举的方法来实现,如一周的天数等等,这也是JDK5.0重新引入枚举的原因。Joshua Bloch在Effective Java(第二版)里提出了一种枚举策原创 2014-04-09 11:19:07 · 1494 阅读 · 0 评论 -
使用dom4j递归遍历xml
public void read(Element e) { if (e.nodeCount() > 0) { Iterator it = e.elementIterator(); while (it.hasNext()) { Element ele = (Element) it.next();原创 2014-04-08 16:43:07 · 845 阅读 · 0 评论 -
xml简单介绍及使用dom4j进行解析
本文一简单的例子来介绍xml4种方式解析的方法,以及他们的区别。内容来自网络,笔者只是稍作整理。首先介绍一下xmlXML文档节点类型u 文档(document)u 元素(element)u 属性(attribute)u 文本(PCDATA--parsed character data)u 注释(comment)u DO原创 2014-04-08 14:31:42 · 827 阅读 · 0 评论 -
Java object类方法notify和wait分析
notifypublic final void notify()唤醒在此对象监视器上等待的单个线程。如果所有线程都在此对象上等待,则会选择唤醒其中一个线程。选择是任意性的,并在对实现做出决定时发生。线程通过调用其中一个wait 方法,在对象的监视器上等待。直到当前的线程放弃此对象上的锁定,才能继续执行被唤醒的线程。被唤醒的线程将以常规方式与在该对象上主动同步的其他所有线程进行竞争;原创 2014-04-01 15:10:14 · 828 阅读 · 0 评论 -
java动态编程简述
1.使用Compiler Api 创建类文件原创 2014-05-02 17:15:47 · 935 阅读 · 0 评论 -
常用IP汇总
jar包下载:http://www.java2s.com/Code/Jar/CatalogJar.htmhttp://www.findjar.com/jar/redis学习系列http://blog.csdn.net/freebird_lb/article/category/1087302 lucene:http://forfuture1978.itey原创 2013-11-27 21:38:50 · 1484 阅读 · 0 评论 -
JAVA在内的不同序列化方式
将一个对象转化为二进制的过程成为序列化,而序列化的方式多种多样。1.java序列化 类必须实现Serializable接口或Externalizable接口,编写私有方法writeObject或writeReplace方法,给属性增加transient或serialPersistentFields属性来 控制序列化时的行为。缺点:将类信息写入流时,直接采用全类名的写法,在类中原创 2014-03-06 20:40:04 · 926 阅读 · 0 评论 -
一种表达式语言的解析引擎JEXL简单使用
Jexl 是一个 Expression Language 的解析引擎, 是为了方便嵌入你的系统或者程序框架的开发中, 他算是实现了 JSTL 中 EL 的延伸版本. 不过也采用了一些 Velocity 的概念. 下面是一个使用Jexl的例子,有详细注释,import java.util.HashMap;import java.util.List;import java.util.A原创 2013-12-31 15:23:00 · 4428 阅读 · 0 评论 -
Jakarta Commons介绍
Jakarta Commons是Jakarta的子项目,它创建和维护着许多独立软件包,这些包一般与其他框架或产品无关,其中收集了大量小型、实用的组件,大部分面向服务器端编程。 Commons的包分成两部分:Sandbox,Commons代码库。Sandbox是一个测试平台,用来检验各种设想、计划。本文介绍的组件属于Commons代码库,文章将展示各个组件的功能、适用场合,并通过简单的例原创 2013-12-29 16:00:34 · 1972 阅读 · 0 评论 -
CountDownLatch使用
CountDownLatch,一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。主要方法 public CountDownLatch(int count); public void countDown(); public void await() throws InterruptedException 构造方法参数指定了计数的次数转载 2013-11-25 11:00:38 · 736 阅读 · 0 评论 -
JAVA实现DES加密
JAVA实现DES加密DES加密介绍 DES是一种对称加密算法,所谓对称加密算法即:加密和解密使用相同密钥的算法。DES加密算法出自IBM的研究,后来被美国政府正式采用,之后开始广泛流传,但是近些年使用越来越少,因为DES使用56位密钥,以现代计算能力,24小时内即可被破解。虽然如此,在某些简单应用中,我们还是可以使用DES加密算法,本文简单讲解DES的JAVA实现。JAVA转载 2013-11-09 23:57:05 · 1204 阅读 · 0 评论 -
java 实现DES
JAVA实现AES加密1. 因子 上次介绍了des中间提到近些年DES使用越来越少,原因就在于其使用56位密钥,比较容易被破解,近些年来逐渐被AES替代,AES已经变成目前对称加密中最流行算法之一;AES可以使用128、192、和256位密钥,并且用128位分组加密和解密数据。本文就简单介绍如何通过JAVA实现AES加密。2. JAVA实现闲话少许,掠过AES加密原理及转载 2013-11-22 12:44:47 · 954 阅读 · 0 评论 -
LinkedHashMap使用
1. LinkedHashMap概述: LinkedHashMap是Map接口的哈希表和链接列表实现,具有可预知的迭代顺序。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。 LinkedHashMap实现与HashMap的不同之处在于,后者维护着一个运行于所有条目的双重链接列表。此链接列表定义了迭代顺序,该迭代顺序原创 2013-11-21 14:52:01 · 1090 阅读 · 0 评论 -
Map遍历的四种方法
Map遍历的四种方法public static void main(String[] args) { Map map = new HashMap(); map.put("1", "value1"); map.put("2", "value2"); map.put("3", "value3"); //第一种:普遍使用,二次取值 System.o原创 2013-11-21 15:02:18 · 963 阅读 · 0 评论 -
java反射详解
本篇文章依采用小例子来说明,因为我始终觉的,案例驱动是最好的,要不然只看理论的话,看了也不懂,不过建议大家在看完文章之后,在回过头去看看理论,会有更好的理解。下面开始正文。【案例1】通过一个对象获得完整的包名和类名?123456789101112131415package Refle原创 2013-11-21 15:19:13 · 969 阅读 · 0 评论 -
Log4J使用笔记
Log4J是Apache的一个开放源代码的项目。通过使用Log4J,程序员可以控制日志信息输送的目的地,包括控制台,文件,GUI组件和NT事件记录器,也可以控制每一条日志的输出格式,或通过定义每一条日志信息的级别,更加细致地控制日志的生成过程。下面的代码是一个例子: //Log4J public void log4jDemo() { Logger原创 2013-11-15 11:04:48 · 1163 阅读 · 0 评论 -
新浪微博的页面解析思考
一长串JSON怎样去解析啊?script>FM.view({"ns":"pl.content.homeFeed.index","domid":"Pl_Core_OwnerFeed__3","css":["style/css/module/frameset/comb_PRF_feed.css?version=c604a935e6b94f26"],"js":"page/js/pl/原创 2013-10-31 14:53:03 · 6736 阅读 · 3 评论 -
使用jsoup对html文档进行解析
jsoup 是一款 Java 的 HTML 解析器,可直接解析某个 URL 地址、HTML 文本内容。它提供了一套非常省力的 API,可通过 DOM,CSS 以及类似于 jQuery 的操作方法来取出和操作数据。jsoup 的主要功能如下:1. 从一个 URL,文件或字符串中解析 HTML;2. 使用 DOM 或 CSS 选择器来查找、取出数据;3. 可操作 HTML 元素、属性、原创 2013-10-31 13:43:52 · 918 阅读 · 0 评论 -
java中的数学函数
java中的数学计算函数 Math类: java.lang.Math类中包含基本的数字操作,如指数、对数、平方根和三角函数。 java.math是一个包,提供用于执行任意精度整数(BigInteger)算法和任意精度小数(BigDecimal)算法的类。 java.lang.Math类中包含E和PI两个静态常量,以及进行科学计算的类(static)方法,可以直接通过原创 2013-10-23 20:06:53 · 1662 阅读 · 0 评论 -
java矩阵包
jama:java 矩阵包背景jama是一个基本的线性代数java包,它提供了实数非稀疏矩阵类,程序员可构造操控这些类。对于经常使用到矩阵运算的码农来说,即使不精通线性代数也没有关系,因为jama包提供的功能已经够用,调用方便,使用自然,而且易于理解。Jama包意欲称为java的标准矩阵包,这一标准计划将提交给Java Grande论坛,转而交给sun公司。java矩阵类的潜在竞争对手包括原创 2013-10-23 20:15:11 · 1308 阅读 · 0 评论