Java

  • SpringMVC4.1之Controller层最佳实践

    原文写于 2014-09-28

    前几天突发奇想想去看看spring现在到升级到什么版本了,有些啥New Features。结果发现了一个很人性化的新注解,刚好最近在构建客服系统新的接口层结构,然后重新研究了下spring mvc,一些成果跟大家分享一下(SpringMVC4.1的jackson版本升级到了2.x,不再支持Jackson1.x,同学们注意。详细代码请右转:seed )。

    先说说我们要实现的目标(接口层):

    • 统一的响应体、请求体,规避Map、List作参数或者响应结果的方式(尤其是参数用Map来包装,这种代码有时候看起来真
  • SpringMVC注解之@responsebody

    原文写于 2013-04-18

    web项目中会大量用到ajax请求实现前后台交互,以前处理后台返回给前台的集合数据的方式是这样的:

    @RequestMapping("loadConfigUsers")
    public void loadConfigUsers(String domain, HttpServletResponse response) {
        response.setCharacterEncoding("UTF-8");
        response.setContentType("text/html;charset=utf-8")
  • 前端资源压缩合并maven插件之wro4j

    原文写于 2014-05-14

    参考文章:前端性能优化-JS/CSS压缩合并

    how to

    1. pom配置,加入wro4j插件

      <!--自定义属性-->
      <properties>
          <webSourceDirectory>src/main/webapp</webSourceDirectory>
          <minimizedResource>true</minimizedResource>
      </properties>
      
      <plugins>
            
  • 1. 理解HashMap

    • 漫画:什么是HashMap?
    • 漫画:高并发下的HashMap
    • 漫画:什么是ConcurrentHashMap?
    • Java8系列之重新认识HashMap
    • Java HashMap工作原理及实现
    • HashMap 相关面试题及其解答
    • Java7/8 中的 HashMap 和 ConcurrentHashMap 全解析

    2. HashMap实现解析

    2.1. put函数的实现

    put函数大致的思路为:

    1. 对key的hashCode()做hash,然后再计算index;
    2. 如果没碰撞直接放到bucket里(table的索引在逻辑上叫做“桶”(bucket),它存储链表的第一个
  • 1 访问控制

    都有public,protected,private三级访问控制
    此外,java还有包访问控制,c++有友元。

    2 继承

    C++有public继承、protected继承、private继承,Java只有public继承。
    C++支持多重继承,它允许一个类继承多个父类。Java不支持多重继承,但允许一个类继承多个接口。
    C++方法默认是非虚的,可用virtual关键字指定为虚函数。Java方法默认是虚的,可用final关键字禁止override。

    3 构造和析构

    对象构造大致相同,但是c++在构造函数中调用虚函数无法多态(因为对象的子类部分还没构造)
    c++可以定义析构函数,ja