摘要: 异步消息的方式有很多,这篇博客介绍如何使用redis进行发布订阅, 完成这个示例只需要三个文件   1.redis消息监听配置 @Configuration public class RedisListenerConfig { /** * redis消息监听器容器 * 可以添加多个监听不... 阅读原文
2018-07-02 10:17:02 阅读(2741) 评论(0)
摘要: 1,为什么需要线程? 作用:提升cpu的利用率,如,早期的dos系统,执行2个命令时( command 1, command 2 ),如果command1【假如是磁盘遍历文件的IO操作】执行的时间比较长,那么command 2必须等待,这种方式就是同步阻塞, cpu就闲置了,为了提高cpu的利用率,我们就要使用多... 阅读原文
2018-07-02 09:17:05 阅读(2849) 评论(0)
摘要: 今天看到了一个源码分析按照重要性排序的例子, 这里拿过来用了,之后按照这个顺序不断的完善源码的内容。 引用的出处忘记了(对作者说声抱歉) 很多java开发的小伙伴都会阅读jdk源码,然而确不知道应该从哪读起。以下为小编整理的通常所需阅读的源码范围。 标题为包名,后面序号为优先级1-4,优先级递减 1、java.lan... 阅读原文
2018-07-02 08:52:01 阅读(1549) 评论(0)
摘要: alt + /:代码自动补全; ctrl+1:代码快速修复; ctrl+L:定位到代码所在行; ctrl+o:查看类的轮廓(可快速查看类中的方法); alt+shift+a:进行多行操作; crtl+shift+f:对代码进行格式化(format);   阅读原文
2018-07-02 07:46:02 阅读(1528) 评论(0)
摘要:     开篇   1.异常处理(Exception Handling):   就是一种解决这一问题的机制,能够较好地处理程序不能正常运行的情况。 2.异常(Exception):   是程序在运行时可能出现的会导致程序运行终止的错误。这种错误是不能通过编译系统检查出来的。 3.常见异常如下:   (1)系统资源不足。... 阅读原文
2018-07-02 06:30:15 阅读(1557) 评论(0)
摘要: 首先要认识并发的一些基本概念以及并发编程的利和弊 并发编程2:认识并发编程的利与弊 基础知识讲解与核心知识准备 并发及并发的线程安全处理 高并发处理的思路及手段 涉及的知识技能 并发编程基础 CPU多级缓存-缓存一致性 CPU多级缓存-乱序执行优化 JAVA内存模型 并发的优势与风险 参考:Java并发编... 阅读原文
2018-07-02 06:00:24 阅读(1580) 评论(0)
摘要: 前言   开发一个app时,常用Activity和Fragment,由于操作方便Fragment越来越受欢迎,这样就避免不了Activity和Fragment、Fragment和Fragment之间的通信,我们知道Fragment和Fragment之间不能直接进行通信的,而是通过Activity进行通信。那么Acti... 阅读原文
2018-07-01 23:57:02 阅读(1208) 评论(0)
摘要:   Lettuce同步源码分析     在上一篇分享中分享了单机模式异步连接创建过程Lettuce创建连接过程源码分析; 在本次分享内容主要介绍同步命令的处理过程. Lettuce是基于Netty的Redis高级客户端,对于异步命令来说是天然的,那么lettuce中是如何处理同步命令的呢?实际上同步连接还是对异步命令... 阅读原文
2018-07-01 22:40:02 阅读(714) 评论(0)
摘要: Java运行时的数据区包括:(其中前两个是线程共享的) 1.方法区(Method Area) 存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据 2.堆(Heap) 存放对象实例,几乎所有对象实例都在这里分配内存 3.虚拟机栈(VM Stack) 描述的是Java方法执行的内存模型:... 阅读原文
2018-07-01 21:50:02 阅读(841) 评论(0)
摘要: 需求源自于任何一个业务的编写总会有各种各样的条件判断,需要时时手动抛出异常,又希望让接口返回友好的错误信息。 spring boot提供的帮助是自动将异常重定向到路由为/error的控制器 但是我们又希望手动抛出的异常与正常的数据返回为同一类型 所以我的解决方案由三个步骤组成:   1.一个异常枚举类 StatusC... 阅读原文
2018-07-01 19:56:03 阅读(1266) 评论(0)