最近在学习本地缓存发现,在 Spring 技术栈的开发中,既可以使用 Spring Cache 的注解形式操作缓存,也可用各种缓存方案的原生 API.那么是否 Spring 官方提供的就是最合适的方案呢?那么本文将通过一个案例来为你揭晓. Spring Cache Since version 3.1, the Spring Framework provides support for transparently adding caching to an existing Spring appli…
前言 一个在生产环境里运行的程序如果没有日志是很让维护者提心吊胆的,有太多杂乱又无意义的日志也是令人伤神.程序出现问题时候,从日志里如果发现不了问题可能的原因是很令人受挫的.本文想讨论的是如何在Java程序里写好日志. 一般来说日志分为两种:业务日志和异常日志,使用日志我们希望能达到以下目标: 对程序运行情况的记录和监控: 在必要时可详细了解程序内部的运行状态: 对系统性能的影响尽量小 Java日志框架 Java的日志框架太多了... Log4j 或 Log4j 2 - Apache的开源项目,…
浅析 阿里巴巴 Java 开发规约 (未完成) 更加优秀的页面展现请到浅析 阿里巴巴 Java 开发规约 contents 为什么要学 编程规约 P3C IDEA 插件 why-use 我们知道,一般稍微大一点的公司,都会在系统架构设计完成之后,编码工作开始之前,给出一份属于自家公司,或是自家团队给出的编码规范文档,所有的编码工作人员都必须遵守其中的规范,避免规范不统一带来的不必要的沟通问题,而当你去到另一家公司的时候,可能又要学习另一种风格有差异的编码规范,阿里给我们带来了标准,相信用不了多久…
前言 如今,代码规范几乎是当下稍有追求的团队都要求做到的,但是对于Java编码规范,不同的公司或团队却有着不同的标准.尽管官方提供了一些标准,但是在基本规则的基础上,各大公司又有自己的规范,比如Sun,Google,华为,阿里等都推出了自己的规范标准,所以对规范进行定制,是常有的需求.而CheckStyle就是这样一款优秀的代码规范审查工具,它允许用户自定义审查标准,而无需人工审查,也无需受限于某一套规则.CheckStyle提供了命令行和插件两种使用方方式,本文将结合Android Studi…
比Spring Cache 更好用 更简单的缓存工具 jscache 取名意义为 java simple cache,基于AOP实现,支持注解到接口 自定义单个缓存过期时间配置 ttl,轻松扩展缓存实现,默认实现了jedis,spring-data-redis,还有一个基于本地内存的map. 源码仓库 https://github.com/peachyy/jscache.git 注解API @Cacheable 设置/获取缓存 如果当前KEY对应的缓存存在就直接返回,不存在则调用服务后 再对结果…
目前大部分团队是使用的阿里巴巴Java开发规范,不过在日常开发中难免遇到覆盖不到的场景,本文在阿里巴巴Java开发规范基础上,补充一些常用的规范,用于提升代码质量及增强代码可读性. 编程规约 1.基础类型及操作 (1)转换 基本类型转换 String类型转数字:使用apache common-lang3包中的工具类NumberUtils,优势:可设置默认值,转换出错时返回默认值 NumberUtils.toInt("1"); 拆箱:包装类转化为基本类型的时候,需要判定null,比如:…
经过近20年的发展,Java语言已成为今日世界上最成功.使用的开发者人数最多的语言之一,Java世界中无数商业的或开源的组织.技术和产品共同构成了一个无比庞大的生态系统. 与大多数开发人员的普遍认知不同,Java的生态系统和演进路线并不是由Sun Microsystems公司来决策和管理的.虽然Sun公司拥有“JavaTM”这个商标的所有权,并且拥有Java中使用最广泛的HotSpot虚拟机和Sun JDK,但它并不能直接制定Java世界中的规则.确定Java技术的发展走向. 1998年,在Su…
前言 今天第一次使用MarkDown的形式发博客. 准备记录一下自己对Guava Cache的认识及项目中的实际使用经验. 一: 什么是Guava Guava工程包含了若干被Google的 Java项目广泛依赖 的核心库,例如:集合 [collections] .缓存 [caching] .原生类型支持 [primitives support] .并发库 [concurrency libraries] .通用注解 [common annotations] .字符串处理 [string proce…
JAVA语言规范:线程和锁 1 同步 java编程语言提供了线程间通信的多种机制.这些方法中最基本的是同步化,此方法是使用监视器实现的.JAVA中每个对象与一个监视器相关联,一个线程可以加锁和解锁监视器.一次仅有一个线程可能在监视器上持有锁.尝试锁住该监视器的任何其他线程被阻塞,直到它们可以再该监视器上获得一个锁.线程 t可以多次锁住特别的监视器;每个解锁将一个加锁操作的作用反转来了. synchronized语句计算了一个对象的引用;然后它尝试在该对象的监视器上执行加锁操作,并不进一步继续,直…
为便于规范各位开发人员代码.提高代码质量,研发中心需要启动代码评审机制.为了加快代码评审的速度,减少不必要的时间,可以加入一些代码评审的静态检查工具,另外需要为研发中心配置统一的编码模板和代码格式化模板.      Java代码规范.格式化和checkstyle检查配置文档下载地址:http://www.blogjava.net/Files/amigoxie/Java代码规范.格式化和checkstyle检查配置文档.rar 1.配置统一的编码模板 1.1 配置编码模板 在Eclipse或MyE…