![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 92
iteye_1084
这个作者很懒,什么都没留下…
展开
-
Java时区转换及时间格式
本文介绍Java API 中 Date, Calendar, TimeZone和DateFormat的使用,以及不同时区时间相互转化的方法和原理。 问题描述:向处于不同时区的服务器发请求时需要考虑时区转换的问题。譬如,服务器位于东八区(北京时间,GMT+8:00),而身处东四区的用户想要查询当天的销售记录。则需把东四区的“今天”这个时间范围转换为服务器所在时区的时间范围。 ...2013-07-17 18:22:38 · 2272 阅读 · 0 评论 -
Java读写Excel:Apache POI, JXL与OpenCSV
前些日子把JXL替换为ApachePOI,原因很简单,JXL在2009年10月已经停止更新,并且不支持Excel 2007 OOXML (.xlsx)格式的文件。事实上把JXL与POI进行比较并不公平,因为JXL只能够操作OLE2格式的Excel(即.xls),而POI则是能够读写xls(x)、doc(x)、ppt(x)的一整套解决方案。 不同版本Excel的行列数限制: +---...2015-02-28 23:27:22 · 407 阅读 · 0 评论 -
Java文件变更监控的两种实现
对文件及文件夹进行修改变更监测有很广泛的应用,例如:通知配置文件的改变跟踪某些关键的系统文件的变化监控某个分区磁盘的整体使用情况系统崩溃时进行自动清理自动触发备份进程向服务器上传文件结束时发出通知下面给出Java的两种实现,源码可以在GitHub上找到 FileMonitorJDK1.6及之前版本: 基于Timer实现两个关键类:...2015-01-23 18:35:33 · 899 阅读 · 0 评论 -
StringBuffer与StringBuilder的线程安全性验证
对于国内面试中经常问“StringBuffer和StringBuilder有何区别”,知乎上曾有一番讨论。我以为,好的面试官可以在这个问题上直接进一步,“你不知道这两个的区别没关系,我可以告诉你,我们聊聊短生命周期对象管理和线程安全性吧。”所以取而代之的这样的一个问题就更有意义了:请写一个程序来验证StringBuffer和StringBuilder的线程安全性。 线程安全性是指,...2017-01-11 08:56:00 · 495 阅读 · 0 评论 -
Java PropertyDescriptor 应用及源码分析
前文 从Introspector谈Java内省机制 提到了通过Introspector.getBeanInfo()方法获取属性描述符数组,进而读取属性值的方式,但未对PropertyDescriptor的应用和实现作进一步阐释,在此作个补完。 1. 概述PropertyDescriptor描述Java Bean中通过一对存储器方法(getter / setter)导出的一个...2014-03-08 10:33:03 · 279 阅读 · 0 评论 -
从Introspector谈Java内省机制
内省内省是Java语言的一种重要特性。使用内省我们可以在运行时得到一个类的内部信息。这些信息包括方法、属性、构造函数及其他。内省的一个应用是开发使用插件的应用程序。应用程序可以在运行时获取并使用插件类的构造函数、方法和属性。内省也可以应用于创建Java Beans和Javadocs中。Introspector类Introspector类为访问目标Jave Bean支持的属性、事件和...2014-01-20 19:37:36 · 162 阅读 · 0 评论 -
ThreadPoolExecutor使用示例
通常,使用Java开发并发程序时,我们创建Runnable对象,然后创建对应的线程Thead对象来执行它们。Java 5之后,Java并发API提供了Executor框架,主要包括Executor接口,它的子接口ExecutorService,以及实现上述两个接口的ThreadPoolExecutor类。 这种机制使得任务的创建和任务的执行分离,使用executor,开发者只需要实现R...2016-03-27 13:50:53 · 1400 阅读 · 0 评论 -
Java ConcurrentHashMap 最佳实践
相对于HashMap,ConcurrentHashMap提供了内部实现的并发支持。使得开发者在多线程应用中访问ConcurrentHashMap时,不必使用synchronized同步代码块。 //Initialize ConcurrentHashMap instanceConcurrentHashMap<String, Integer> m = new Concurre...2016-03-06 15:18:23 · 269 阅读 · 0 评论 -
轻量级框架与重量级框架
事实上“轻量级”与“重量级”并没有确切的定义。轻重量级之分应当考虑如下几个方面: 加载的资源Spring相对于EJB是轻量级的,但这就好像说大象比鲸轻。如果你想要运行一个Java EE应用程序,你不能够简单地创建一个应用并直接运行它本身。需要一个JavaEE服务器来运行应用,例如Glassfish,WebLogic或WebSphere。多数应用服务器都是非常巨大并且复杂的,并不容...2015-08-11 22:49:55 · 341 阅读 · 0 评论 -
Object.equals方法:重载还是覆盖
本文译自StackOverflow上对此问题的讨论。原问题链接 在阅读Joshua Bloch的《Effective Java(第二版)》第8条“覆盖equals时请遵守通用约定”时对如下论述有疑问:“不要将equals声明中的Object对象替换为其他的类型。程序员编写出下面这样的equals方法并不鲜见,这会使程序员花上数个小时都搞不清它为什么不能正常工作:”public...2015-05-25 18:07:11 · 307 阅读 · 0 评论