代码改变世界

随笔分类 -  Java

Java中文编码小结

2013-09-08 09:51 by zhenjing, 26845 阅读, 收藏, 编辑
摘要: 1. 只有 字符到字节 或者 字节到字符 的转换才存在编码转码; 2. Java String 采用 UTF-16 编码方式存储所有字符。3. String只有一种格式,可认为String是独立于编码系统的,通过 getBytes(String charsetName) 可实现编码转换。 4. String对象是内存数据,string之间不存在编码变换问题。 5. 编码转换场景主要在 I/O , I/O 包括磁盘 I/O 和网络 I/O:文件输入输出、屏幕、数据库、浏览器、服务器。 阅读全文

json-smart 使用示例(推荐fastjson)

2013-08-08 10:44 by zhenjing, 22798 阅读, 收藏, 编辑
摘要: Json-smart 是一个高性能的JSON处理类库。Json-smart 接口跟 json-simple 十分相似,因此很容易从json-simple迁至 json-smart。Json-smart 是基于Java的最快的Json API。json和HTTP协议都是基于文本的,天生的一对。面对多终端的未来,使用Json和HTTP作为前端架构的基础将成为开发趋势。 阅读全文

HBase Java简单示例

2013-07-18 20:13 by zhenjing, 99481 阅读, 收藏, 编辑
摘要: Hbase采用Java实现,原生客户端也是Java实现,其他语言需要通过thritf接口服务间接访问Hbase的数据。 Hbase作为大数据存储数据库,其写能力非常强,加上Hbase本身就脱胎于Hadoop故和Hadoop的兼容性极好,非常适合于存储半规则数据(灵活、可扩展性强、大数据存储)。基于Hadoop的mapreduce + Hbase存储,非常适合处理大数据。 阅读全文

Ehcache BigMemory: 摆脱GC困扰

2013-06-28 11:50 by zhenjing, 8312 阅读, 收藏, 编辑
摘要: 使用java开源项目经常需要调优jvm,以优化gc。对于gc,如果对象都是短时对象,那么jvm相对容易优化,假如碰上像solr使用自带java cache的项目,那么gc严重受限于cache,因为cache对象并非短时对象,以至于young gc常常伴有大量的内存对象拷贝,严重影响gc性能。 Java的内存管理机制极其不适用于cache,最好的办法是使用jni实现的cache系统。另一种通用办法:Ehcache BigMemory(http://ehcache.org/)。BigMemory extends Ehcache's' capabilities with an off-heap store that frees you from GC’s constraints. 阅读全文

Java容器小结和使用示例

2013-04-25 09:16 by zhenjing, 4739 阅读, 收藏, 编辑
摘要: // Interfaces: // Interface Iterator: hasNext(), next(), remove() ---- 所有容器通用的遍历方式。 // Interface Collection:add(E e),remove(Object o), clear(), isEmpty(), size(), iterator(), toArray() ---- 所有单值容器(map除外)的公共接口。 // Interface Map: put(K key, V value), get(Object key), remove(Object key), clear(),isEmpty(),size(), keySet(), entrySet(), values() ---- 所有K-V容器的公共接口,常见class: HashMap, Hashtable, IdentityHashMap, LinkedHashMap, ConcurrentHashMap // Interface Map.Entry: getKey(), get 阅读全文

lucenc代码阅读指南、测试范例

2013-03-18 14:08 by zhenjing, 2090 阅读, 收藏, 编辑
摘要: lucenc代码阅读指南、测试范例。 阅读全文

Java监控工具、调优、调试辅助函数

2013-02-18 13:42 by zhenjing, 23636 阅读, 收藏, 编辑
摘要: Java入门级介绍:JVM监控工具、JVM调优、Java程序调试辅助函数。 阅读全文

[转] Spring XML配置十二个最佳实践

2013-01-28 10:46 by zhenjing, 886 阅读, 收藏, 编辑
摘要: Spring是一个强大的JAVA应用框架,广泛地应用于JAVA的应用程序。为Plain Old Java Objects(POJOs)提供企业级服务。Spring利用依赖注入机制来简化工作,同时提高易测性。Spring beans及依赖,以及beans类所需的服务都在配置文件中进行了详细的说明,这个配置文件是典型的XML格式。但是它既冗长又不实用。对于需要定义大量Spring beans的大工程来说,我们难以阅读和管理它。 在这篇文章里,对于Spring XML的配置,我将向你展示12种比较好的XML。其中的一些实践不仅是好的实践,更是必要的实践。除此以外,还有其他因素,例如领域模型的设计,都能影响XML的配置,但是这篇文章重点研究XML配置的易读性和易管理性。 阅读全文

Tomcat 配置和spring-framework MVC配置简介

2013-01-18 13:15 by zhenjing, 27117 阅读, 收藏, 编辑
摘要: Tomcat启动时,先找系统变量CATALINA_BASE,如果没有,则找CATALINA_HOME。然后找这个变量所指的目录下的conf文件夹,从中读取配置文件。最重要的配置文件:server.xml 。要配置tomcat,基本上了解server.xml,context.xml和web.xml。    Server.xml -- tomcat主配置文件。 Web.xml -- servlet与其他适用于整个Web应用程序设置的配置文件,必须符合servlet规范的标准格式。 Context.xml -- 默认的context配置,应用于安装了Tomcat的所有主机的所有部署内容。该文件的格式和标准的context XML片段文件的格式完全相同。它应包含在context元素中,而且暗含元素应嵌套与Context中。即该文件中的配置是所有web.xml的全局配置。 applicationContext.xml -- 默认的spring框架全局配置信息。 {servlet-name}-servlet.xml -- Spring MVC 的Servlet的核心配置文件。 阅读全文