自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 资源 (7)
  • 收藏
  • 关注

原创 消息推送和短信发送的实现方案

本文主要是将目前的消息模块做一个总结,分为短信发送、APP的消息推送两个部分。短信发送采用的是第三方的API(阿里大于短信平台),APP的消息推送采用的是极光的消息推送平台。只是介绍一个大概的流程,细节方面相对少一些。消息发送流程.png有消息发送需求后,直接实例化msg或者sms,通过调用封装好的方法分别放到appMsgQueue...

2020-08-20 16:17:25 435

原创 Java 8 Stream详解

概述继Java 8系列之Lambda表达式之后,我们来了解Stream。Stream 是用函数式编程方式在集合类上进行复杂操作的工具,其集成了Java 8中的众多新特性之一的聚合操作,开发者可以更容易地使用Lambda表达式,并且更方便地实现对集合的查找、遍历、过滤以及常见计算等。聚合操作为了学习聚合的使用,在这里,先定义一个数据类:public class Student { i...

2018-11-05 19:24:48 214

转载 Optional避免空指针的用法

Optional避免空指针的用法从一个简单的用例开始。在 Java 8 之前,任何访问对象方法或属性的调用都可能导致 NullPointerException:String isocode = user.getAddress().getCountry().getIsocode().toUpperCase();在这个小示例中,如果我们需要确保不触发异常,就得在访问每一个值之前对其进行明确地检...

2018-11-05 16:57:37 2800

原创 SpringContextHolder使用报错及@Lazy使用

今天在使用SpringContextHolder来获取一个bean的时候出现错误,报错如下:java.lang.IllegalStateException: applicaitonContext属性未注入, 请在applicationContext.xml中定义SpringContextHolder. at org.apache.commons.lang3.Validate.validSt...

2018-11-05 16:54:48 5182

原创 Redis保护模式配置引起的问题

在新服务器上Jedis jedis = pool.getResource()报错:redis.clients.jedis.exceptions.JedisDataException:DENIED Redis is running in protected mode because protected mode is enabled, no bind address was specif...

2018-11-05 16:33:32 3418

转载 ArrayList源码解析

package java.util;import java.util.function.Consumer;import java.util.function.Predicate;import java.util.function.UnaryOperator;public class ArrayList<E> extends AbstractList<E> ...

2018-11-05 16:29:51 118

原创 消息推送和短信发送的实现方案

消息推送和短信发送的实现方案本文主要是将目前的消息模块做一个总结,分为短信发送、APP的消息推送两个部分。短信发送采用的是第三方的API(阿里大于短信平台),APP的消息推送采用的是极光的消息推送平台。只是介绍一个大概的流程,细节方面相对少一些。消息发送流程:有消息发送需求后,直接实例化msg或者sms,通过调用封装好的方法分别放到appMsgQueue和smsQueue。 ...

2018-11-05 16:26:39 8596

原创 Java设计模式

设计模式的分类总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者...

2018-08-08 21:51:00 104

原创 SQL中varchar类型在where中注意事项

 起因: 事情是这样的,今天在写sql的时候,table中有一个字段是platform,本来的意思是:0安卓,1苹果。但是由于是测试环境,我在仿造数据的时候将一些数据的platform写成了IOS。 SQL: select * from table where platform=1 这时报了个没有这个字段的错误。改成如下sql后没有异常: select * from table...

2018-08-08 17:26:48 2604

原创 BigDecimal的divide方法报错

报错: java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result. 报错语句: a.divide(b)); 原因:JAVA中如果用BigDecimal做除法的时候一定要在divide方法中传递第二个参数,定义精确到小数点后几位...

2018-08-08 17:20:46 1961

原创 对接阿里大于短信平台报错

阿里大于api地址:https://help.aliyun.com/document_detail/55284.html?spm=a2c4g.11186623.6.557.oWGgY5  maven依赖:<dependency> <groupId>com.aliyun</groupId> <artifactId>aliyun-java-...

2018-08-08 17:05:20 1622

原创 BigDecimal的divide方法报错

报错:java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result.报错语句:a.divide(b));原因:JAVA中如果用BigDecimal做除法的时候一定要在divide方法中传...

2018-08-03 15:10:00 1280

原创 Java 8 日期和时间的API

java.time包:这是新的Java日期/时间API的基础包,所有的主要基础类都是这个包的一部分,如:LocalDate, LocalTime, LocalDateTime, Instant, Period, Duration等等。所有这些类都是不可变的和线程安全的,在绝大多数情况下,这些类能够有效地处理一些公共的需求。Instant——它代表的是...

2018-07-31 22:10:00 158

原创 Quartz实现跑批

Quartz介绍1.特点(1)强大的调度功能:作为spring默认的调度框架,很容易与spring集成,实现灵活可配置的调度功能;还提供了调度运行环境的持久化机制,可以保存并恢复调度现场,即使系统因故障关闭,任务调度现场数据并不会丢失。(2)灵活的应用方式:允许开发者灵活的定义触发器的调度时间表并可以为触发器和任务进行关联映射。(3)分布式和集群...

2018-07-30 22:27:00 392

原创 SpringContextHolder使用报错

今天在使用SpringContextHolder来获取一个bean的时候出现错误,报错如下:java.lang.IllegalStateException: applicaitonContext属性未注入, 请在applicationContext.xml中定义SpringContextHolder. at org.apache.common...

2018-07-25 22:53:00 2814

原创 SQL中varchar类型在where中注意事项

事情是这样的,今天在写sql的时候,table中有一个字段是platform,本来的意思是:0安卓,1苹果。但是由于是测试环境,我在仿造数据的时候将一些数据的platform写成了IOS。//sqlselect * from table where platform=1这时报了个没有这个字段的错误。改成如下sql后没有异常://sqlse...

2018-07-25 22:52:00 1308

原创 Java 8 Stream方法

concatconcat方法将两个Stream连接在一起,合成一个Stream。若两个输入的Stream都时排序的,则新Stream也是排序的;若输入的Stream中任何一个是并行的,则新的Stream也是并行的;若关闭新的Stream时,原两个输入的Stream都将执行关闭处理。示例:Stream.concat(Stream.of(1, 2, 3)...

2018-07-24 22:22:00 104

原创 Java 8 Stream详解

概述继Java 8系列之Lambda表达式之后,我们来了解Stream。Stream 是用函数式编程方式在集合类上进行复杂操作的工具,其集成了Java 8中的众多新特性之一的聚合操作,开发者可以更容易地使用Lambda表达式,并且更方便地实现对集合的查找、遍历、过滤以及常见计算等。聚合操作为了学习聚合的使用,在这里,先定义一个数据类:public ...

2018-07-23 21:53:00 86

原创 ArrayList源码解析

package java.util;import java.util.function.Consumer;import java.util.function.Predicate;import java.util.function.UnaryOperator;public class ArrayList<E> extends Abst...

2018-07-20 23:49:00 122

原创 Redis保护模式配置引起的问题

新项目搭建了个新的测试服务器,但是项目发布上去以后Redis一直不好用,查看日志后发现在getResource时报错:redis.clients.jedis.exceptions.JedisDataException:DENIED Redis is running in protected mode because protected mode is...

2018-07-19 11:27:00 885

原创 Java8 接口的默认方法和静态方法

今天面试的时候被问到Java中接口中定义的方法是否支持方法体,印象中不能,然而Java 8以后是可以的!!!Java 8使用两个新概念扩展了接口的含义:默认方法和静态方法。默认方法使得接口有点类似traits,不过要实现的目标不一样。默认方法使得开发者可以在 不破坏二进制兼容性的前提下,往现存接口中添加新的方法,即不强制那些实现了该接口的类也同时实现这个...

2018-07-18 20:39:00 124

原创 Spring AOP 的实现方式(以日志管理为例)

1.为什么需要AOP假如我们应用中有n个业务逻辑组件,每个业务逻辑组件又有m个方法,那现在我们的应用就一共包含了n*m个方法,我会抱怨方法太多。。。现在,我有这样一个需求,每个方法都增加一个通用的功能,常见的如:事务处理,日志,权限控制。。。最容易想到的方法,先定义一个额外的方法,实现该功能,然后再每个需要实现这个功能的地方去调用这个额外的方法。这种做法...

2018-07-17 16:20:00 210

原创 Optional避免空指针的用法

从一个简单的用例开始。在 Java 8 之前,任何访问对象方法或属性的调用都可能导致 NullPointerException:String isocode = user.getAddress().getCountry().getIsocode().toUpperCase();在这个小示例中,如果我们需要确保不触发异常,就得在访问每一个值之前对其进行...

2018-07-13 20:59:00 140

原创 Java 8 Lambda表达式

Lambda表达式Lambda在Java里终于出现了,基本可以说Java里面最让人期待的就是这个了。它允许我们将函数当成参数传递给某个方法,或者把代码本身当作数据处理:函数式开发者非常熟悉这些概念。在lambda中我们遵循如下的表达式来编写:expression = (variable) -> action最简单的Lambda表达式可由...

2018-07-11 20:58:00 91

原创 对接阿里大于短信平台报错

阿里大于api地址:https://help.aliyun.com/document_detail/55284.html?spm=a2c4g.11186623.6.557.oWGgY5maven依赖<dependency> <groupId>com.aliyun</groupId> <a...

2018-07-09 17:51:00 483

Java数据结构和算法 中文高清版

《Java数据结构和算法》(第2版)介绍了计算机编程中使用的数据结构和算法,对于在计算机应用中如何操作和管理数据以取得最优性能提供了深入浅出的讲解。全书共分为15章,分别讲述了基本概念、数组、简单排序、堆和队列、链表、递归、进阶排序、二叉树、红黑树、哈希表及图形等知识。附录中则提供了运行专题Applet和例程、相关书籍和问题解答。《Java数据结构和算法》(第2版)提供了学完一门编程语言后进一步需要知道的知识。

2018-08-09

Effective Java中文高清版

本书介绍了在Java编程中57条极具实用价值的经验规则,这些经验规则涵盖了大多数开发人员每天所面临的问题的解决方案。通过对Java平台设计专家所使用的技术的全面描述,揭示了应该做什么,不应该做什么才能产生清晰、健壮的高效的代码。 本书中的每条规则都以简短、独立的小文章形式出现,这些小文章包含了详细而精确的建议,以及对语言中许多细微之处的深入分析,并通过例子代码加以进一步说明。贯穿全书的是通用的语言用法的设计模式,以及一些具有启发意义的技巧的技术

2018-08-09

Java多线程编程核心技术_完整版 PDF电子书下载 带书签目录,非常清晰~!

Java多线程编程核心技术_完整版 PDF电子书下载 带书签目录,非常清晰~!

2018-08-09

Spring Boot 实战 译者 丁雪丰

《Spring Boot 实战》译者 丁雪丰,学习入门springboot的不可错过的参考学习资料。

2018-08-09

Java多线程编程核心技术_完整版 PDF电子书下载 带书签目录

Java多线程编程核心技术_完整版 PDF电子书下载 带书签目录,非常清晰~!

2017-08-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除