残雪余香

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

随笔分类 -  Java

1 2 下一页

书写Java中的魅力
摘要:一般的应用都会记录日志,Java圈里面用得最多就属log4j了,比较规范一点就是使用log4j.xml进行配置Log输出。这里就比较有疑问,多数情况是使用log4j.properties文件呐,前面也说了,规范一点就用log4j.xml进行配置,他们之间究竟有哪些区别呢,在百度知道里面有人这么回... 阅读全文
posted @ 2014-08-14 16:17 残雪余香 阅读(3259) 评论(0) 推荐(1) 编辑

摘要:在线上Java程序中经常遇到进程程挂掉,一些状态没有正确的保存下来,这时候就需要在JVM关掉的时候执行一些清理现场的代码。Java中得ShutdownHook提供了比较好的方案。 JDK在1.3之后提供了Java Runtime.addShutdownHook(Thread hook)方法,可... 阅读全文
posted @ 2014-06-18 14:06 残雪余香 阅读(18299) 评论(0) 推荐(2) 编辑

摘要:在很多项目中经常打印Log,返回操作之后的响应消息给客户端等都会涉及到消息的格式化,一般都是会有一个消息模板,然后传入一些特定的参数值达到项目的需要。在Java中处理方式一般有以下三种:1. 使用StringBuilder使用一个StringBuilder对象进行封装,然后toString传给终端,... 阅读全文
posted @ 2014-05-14 13:21 残雪余香 阅读(5642) 评论(1) 推荐(1) 编辑

摘要:在Java中,经常会将一个Object类型转成自己想要的Map、List等等。通常的做法是:Object obj = ....;Map castMap = (HashMap) obj;在这里会产生unchecked cast warning,有代码洁癖的就会想办法干掉它。解决办法就是在方法上添加一个... 阅读全文
posted @ 2014-05-13 10:14 残雪余香 阅读(46776) 评论(5) 推荐(4) 编辑

摘要:在JDK中使用SimpleDateFormat的时候都会遇到线程安全的问题,在JDK文档中也说明了该类是线程非安全的,建议对于每个线程都创建一个SimpleDateFormat对象。如下面一个Case中,多个线程去调用SimpleDateFormat中得parse方法:@Test publ... 阅读全文
posted @ 2014-04-30 19:17 残雪余香 阅读(2723) 评论(1) 推荐(2) 编辑

摘要:摘自:http://www.blogbus.com/dreamhead-logs/226738702.html在很多人眼中,Java已经是一门垂垂老矣的语言,但并不妨碍Java世界依然在前进。如果你曾离开Java,云游于其它世界,或是每日只在遗留代码中挣扎,或许是时候抬起头,看看老Java中的新东西。Guava一句话,只要你做Java项目,就应该用Guava。guava是Google出品的一套Java核心库,在我看来,它甚至应该是JDK的一部分。作为一个Java程序员,如果你没抱怨过JDK的设计,只能说明一点,你写得程序还是太少。正是JDK设计不彰,才有了一些项目来补充JDK的不足。如果说老J 阅读全文
posted @ 2014-03-31 16:32 残雪余香 阅读(502) 评论(0) 推荐(0) 编辑

摘要:很多情况下,写了一堆的test case,希望某一些test case必须在某个test case之后执行。比如,测试某一个Dao代码,希望添加的case在最前面,然后是修改或者查询,最后才是删除,以前的做法把所有的方法都集中到某一个方法去执行,一个个罗列好,比较麻烦。比较幸福的事情就是JUnit4.11之后提供了MethodSorters,可以有三种方式对test执行顺序进行指定,如下: /** * Sorts the test methods by the method name, in lexicographic order, with {@link Method#to... 阅读全文
posted @ 2014-03-31 16:12 残雪余香 阅读(36951) 评论(1) 推荐(3) 编辑

摘要:我们在开发Java程序的时候,很多常量信息都存在配置文件中,比如数据库连接信息、ip黑名单,事件的超时时间等等。当需要该这些配置的值时都需要重新启动进程,改动的配置才会生效,有时候线上的应用不能容忍这种停服。 还好,Apache Common Configuration给我们提供了可以检测文件修改后配置可短时间生效的功能。具体用法如下:package com.netease.test.commons;import org.apache.commons.configuration.ConfigurationException;import org.apache.commons.config... 阅读全文
posted @ 2014-03-13 17:58 残雪余香 阅读(4648) 评论(1) 推荐(0) 编辑

摘要:1. 概述 多任务和高并发是衡量一台计算机处理器的能力重要指标之一。一般衡量一个服务器性能的高低好坏,使用每秒事务处理数(Transactions Per Second,TPS)这个指标比较能说明问题,它代表着一秒内服务器平均能响应的请求数,而TPS值与程序的并发能力有着非常密切的关系。在讨论Ja... 阅读全文
posted @ 2014-03-09 11:05 残雪余香 阅读(149293) 评论(27) 推荐(28) 编辑

摘要:简介 Quartz 是个开源的作业调度框架,为在 Java 应用程序中进行作业调度提供了简单却强大的机制。Quartz 允许开发人员根据时间间隔(或天)来调度作业。它实现了作业和触发器的多对多关系,还能把多个作业与不同的触发器关联。整合了 Quartz 的应用程序可以重用来自不同事件的作业,还可以为一个事件组合多个作业。虽然可以通过属性文件(在属性文件中可以指定 JDBC 事务的数据源、全局作业和/或触发器侦听器、插件、线程池,以及更多)配置 Quartz,但它根本没有与应用程序服务器的上下文或引用集成在一起。结果就是作业不能访问 Web 服务器的内部函数;例如,在使用 WebSpher... 阅读全文
posted @ 2014-02-26 00:45 残雪余香 阅读(26018) 评论(2) 推荐(3) 编辑

摘要:接上《Metrics-Java版的指标度量工具之一》4. HistogramsHistograms主要使用来统计数据的分布情况,最大值、最小值、平均值、中位数,百分比(75%、90%、95%、98%、99%和99.9%)。例如,需要统计某个页面的请求响应时间分布情况,可以使用该种类型的Metrics进行统计。具体的样例代码如下:package com.netease.test.metrics;import com.codahale.metrics.ConsoleReporter;import com.codahale.metrics.Histogram;import com.codahale. 阅读全文
posted @ 2014-02-20 19:25 残雪余香 阅读(17737) 评论(2) 推荐(4) 编辑

摘要:Metrics是一个给JAVA服务的各项指标提供度量工具的包,在JAVA代码中嵌入Metrics代码,可以方便的对业务代码的各个指标进行监控,同时,Metrics能够很好的跟Ganlia、Graphite结合,方便的提供图形化接口。基本使用方式直接将core包(目前稳定版本3.0.1)导入pom文件即可,配置如下: com.codahale.metrics metrics-core 3.0.1core包主要提供如下核心功能:Metrics Registries类似一个metrics容器,维护一个Map,可以是一个服务一个实例。支持五种metric类型:Gauges、Counters、Me... 阅读全文
posted @ 2014-02-20 19:18 残雪余香 阅读(64353) 评论(3) 推荐(6) 编辑

摘要: 阅读全文
posted @ 2013-10-26 16:07 残雪余香 阅读(825) 评论(0) 推荐(1) 编辑

摘要:《极限编程》(Extreme programming)的指导原则之一是“只要能用,就做最简单的”。一个似乎需要继承的设计常常能够戏剧性地使用组合来代替而大简化,从而使其更加灵活。因此,在考虑一个设计时,问问自己:“使用组合是不是更简单?这里真的需要继承吗?它能带来什么好处?”继承和组合的比较: 面向对象系统中功能复用的两种最常用技术是类继承和对象组合(object composition)。正如我们已解释过的,类继承允许你根据其他类的实现来定义一个类的实现。这种通过生成子类的复用通常被称为白箱复用(white-box reuse)。术语“白箱”是相对可视性而言:在继承方式中,父类的内部细... 阅读全文
posted @ 2013-06-16 11:02 残雪余香 阅读(9938) 评论(1) 推荐(3) 编辑

摘要:JDOM是一种使用 XML 的独特 Java 工具包,用于快速开发 XML 应用程序。它的设计包含 Java 语言的语法乃至语义。JDOM包含有以下几个组件:org.jdom包含了所有的xml文档要素的java类 org.jdom.adapters包含了与dom适配的java类 org.jdom.filter包含了xml文档的过滤器类 org.jdom.input包含了读取xml文档的类 org.jdom.output包含了写入xml文档的类 org.jdom.transform包含了将jdomxml文档接口转换为其他xml文档接口 org.jdom.xpath包含了对... 阅读全文
posted @ 2012-12-16 15:10 残雪余香 阅读(359) 评论(0) 推荐(0) 编辑

摘要:iText默认是不支持中文的,处理中文需要用到itext-asian.jar包,关键代码:处理中文:BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED); Font fontChinese = new Font(bfChinese, 12, Font.NORMAL);添加图片:Image image = Image.getInstance("http://a.fsdn.com/con/icons/it/ite 阅读全文
posted @ 2012-12-16 14:55 残雪余香 阅读(2097) 评论(0) 推荐(0) 编辑

摘要:iText是开源站点sourceforge的一个项目,是用于生成PDF文档的一个Java类库。支持文本,表格,图形的操作,可以方便的跟 Servlet 进行结合。使用方法:1、从官网上下载iText.jar,将其构建到自己的项目中,即安装成功。下载地址:http://sourceforge.net/projects/itext/2、参照文档可以开始自己的测试代码了。最简单的分成如下五个步骤:step1--创建一个Documentstep2--得到一个pdfWriter实例step3--打开创建的Documentstep4--添加内容step5--关闭文档下面,开始HelloWorld吧:imp 阅读全文
posted @ 2012-12-07 23:46 残雪余香 阅读(379) 评论(0) 推荐(0) 编辑

摘要:一、安装JDK1、下载:在Java的官方网站上下载JDKhttp://www.oracle.com/technetwork/java/javase/downloads/index.html注:笔者下载的JDK是jdk-6u27-linux-i586.bin版本2、修改安装文件jdk-6u27-linux-i586.bin的权限,使之有执行权限chmod 777 jdk-6u27-linux-i586.bin3、通过终端找到jdk-6u27-linux-i586.bin的目录下,执行该文件,输入命令./jdk-6u27-linux-i586.bin基本上就可以了。4、配置环境变量使用sudo g 阅读全文
posted @ 2012-12-07 23:40 残雪余香 阅读(256) 评论(0) 推荐(0) 编辑

摘要:csv文件操作库opencsv.jar下载地址:http://sourceforge.net/projects/opencsv/1、基本的文件读写import java.io.File;import java.io.FileReader;import java.io.FileWriter;import java.util.List;import au.com.bytecode.opencsv.CSVReader;import au.com.bytecode.opencsv.CSVWriter;public class CSVUtils { /** * 将数据写入csv文件 * @param.. 阅读全文
posted @ 2012-12-07 23:38 残雪余香 阅读(635) 评论(0) 推荐(0) 编辑

摘要:Structural(结构模式)Adapter:把一个接口或是类变成另外一种。 java.util.Arrays#asList()javax.swing.JTable(TableModel)java.io.InputStreamReader(InputStream)java.io.OutputStreamWriter(OutputStream)javax.xml.bind.annotation.adapters.XmlAdapter#marshal()javax.xml.bind.annotation.adapters.XmlAdapter#unmarshal()Bridge:把抽象和实现解藕 阅读全文
posted @ 2012-12-07 23:35 残雪余香 阅读(388) 评论(0) 推荐(1) 编辑

1 2 下一页