Spring在提供一个强大的应用开发框架的同时也提供了很多优秀的开发工具类,合理的运用这些工具,将有助于提高开发效率、增强代码质量。下面就最常用的Assert工具类,简要介绍一下它的用法。 Assert断言...
IDEA创建maven 一直loading archetype list
最近被这个问题坑了很久了,就是用IDEA创建Maven工程还是一直lodading arhtype list 在csdn找的到解决方式为删除安装目录C盘下的C:user\XX\.IntelliJIdea15\system中Maven文件夹,删除后创建Maven工程很快 ...
CDN的技术原理及资源访问流程
1. 什么是CDN? CDN的全称是Content Delivery Network,即内容分发网络。其目的是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络"边缘"(边缘服务器),使用户可以就近取...
Dubbo中使用高效的Java序列化(Kryo和FST)
目录 序列化漫谈 启用Kryo和FST 注册被序列化类 无参构造函数和Serializable接口 序列化性能分析与测试 测试环境 测试脚本 Dubbo RPC中不同序列化生成字节大小比较 Dubbo RPC中不...
MongoDB建立索引
用过数据库的都知道,数据库索引与书籍的索引类似,都是用来帮助快速查找的。 MongoDB的索引跟关系型数据库的索引几乎一致。 1. 索引的创建 mongodb采用ensureIndex来创建索引,如: db.user.ens...
深入理解JAVA序列化
如果你只知道实现 Serializable 接口的对象,可以序列化为本地文件。那你最好再阅读该篇文章,文章对序列化进行了更深一步的讨论,用实际的例子代码讲述了序列化的高级认识,包括父类序列化的问题、静态变量问题...
细说SVN与GIT
把第一条理解到位思想到位了做起来才会有的放矢,其他几条都是用的时候才能体会到 1) 最核心的区别Git是分布式的,而Svn不是分布的。能理解这点,上手会很容易,声明一点Git并不是目前唯一的分布式版本控制...
深入理解多线程中ThreadLocal
早在JDK 1.2的版本中就提供java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以很简洁地编写出优美的多线程程序。 当使用ThreadLocal维护变量时,Threa...
理解悲观锁与乐观锁
悲观锁(Pessimistic Lock), 顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block(阻塞)直到它拿到锁。传统的关系型数据库里边就用到了...
java线程池实现Demo
package threadPool; /** * @author itmrchen * @date 2017/5/9 * @time 16:27 */ public class MyTask implements Runnable { private int taskNum; public MyTask(int num) { ...