java
文章平均质量分 60
ToBeABetterOne
好好学习天天向上的程序媛~
展开
-
Java异步Future详解
简介Future主要用于有返回值的异步任务。最核心的类是FutureTask,它是Future接口唯一的实现类。FutureTask 可以看出FutureTask类实现了Runnable和Future接口。 内部属性有 private volatile int state; private Callable<V> callable; /...原创 2018-02-05 22:07:19 · 3346 阅读 · 0 评论 -
Spring 过滤器Filter总结
Spring Filter的总结原创 2018-02-11 13:59:14 · 8034 阅读 · 0 评论 -
spring全局异常处理作用机制
最近遇到spring MVC中异常捕获的问题,比较好奇spring是怎么catch住exception然后调用exceptionHandler中的方法的。发现真相原来这么简单。。。。居然直接用的是try catch。根据源码可以看出,要实现异常拦截,可以实现一个类实现HandlerExceptionResolver 和Ordered 接口,后者主要用于排序,在spring容器中申明就可以了。...原创 2018-02-09 16:14:05 · 599 阅读 · 0 评论 -
Spring拦截器原理
spring拦截器原理原创 2018-02-12 10:17:56 · 1889 阅读 · 0 评论 -
atomatic包
大致看了下atomatic包下的类原创 2018-02-12 14:36:38 · 483 阅读 · 0 评论 -
Mac OS解决JAVA版本问题
最近安装了jdk8之后,PATH,JAVA_HOME,~/.bash_profile文件都配置好了版本,指向新安装的1.8,但是不管是IDE还是MVN命令编译代码总是不通过,报错:无效的目标发行版: 1.8。执行java -version显示版本是1.8,但是javac -version版本是1.7。 执行which javac 居然显示的是1.8下面的bin。 百思不得其解。百度了半天...原创 2018-07-05 19:55:35 · 2079 阅读 · 1 评论 -
rocketMQ消息存储源码
MapedFilepublic static final int OS_PAGE_SIZE= 1024 * 4; —操作系统每页大小,默认4Kprivate static final AtomicLong TOTAL_MAPPED_VIRTUAL_MEMORY= new AtomicLong(0); —当前JVM中已经map的虚拟内存private static final Atomic...原创 2019-03-14 19:25:34 · 446 阅读 · 1 评论 -
rockeMQ-producer源码
DefaultMQProducerImpl启动start方法producerGroup如果不是CLIENT_INNER_PRODUCER,并且intanceName=DEFAULT,则把instanceName改为PIDmQClientFactory是一个MQClientInstance对象,由MQClientManager管理,这是一个单例,其中ConcurrentMap&amp;lt;...原创 2019-03-15 18:17:18 · 323 阅读 · 1 评论 -
rocketMQ-consumer源码
RocketMQ 服务器与消费之之前的消息传送方式分为拉模式和推模式,其中推模式是基于拉模式实现的,一个拉取任务完成之后立刻开始下一个拉取任务。消费模式分为集群消费(clustering)和广播消费(broadcasting)。集群模式,同一个主题下的同一条消息只能被一个集群中的一个消费者消费;广播模式,同一个主题下的同一条消息要被集群中所有消费者消费。启动以DefaultMQPus...原创 2019-04-15 22:42:58 · 462 阅读 · 1 评论