关闭

通过Hystrix理解熔断和降级

刚开始参加工作的时候,看公司的SOA框架描述什么降级和熔断,当时我百脸懵逼,什么鬼。就写几个代码,还要熔断和降级,难道在代码中安装了保险丝,代码执行着突然不爽还要降一级吗,有病吧!笑哭了!曾几何时欠下的技术债终于要还了,最近项目中使用到了Netflix公司的开源组件Hystrix,于是研究了一下,对降级和熔断有些理解了。下面通过Hystrix的两个例子来理解降级和熔断,更多关于Hystrix的内容,...
阅读(18) 评论(0)

介绍一款基于MVEL简单规则引擎

参考原文A Really Simple But Powerful Rule EngineMVEL 介绍最近正好做到规则引擎相关的需求,于是就预研了一下,找到一些可以满足我需求的技术。首先会引入一个东西——MVEL,怎么定义MVEL表达式,参看MVEL Guide。来一段代码看一下MVEL的功能,首先引入MVEL解析库: compile 'org.mvel:mvel2:2.3.2.Final'...
阅读(57) 评论(0)

关于技术和产品的一些体会

从毕业伊始,到现在工作有一年多了,经历了很多项目,游走于技术、业务、产品之间。大部分工作是在开发业务功能,但并不妨碍自己从中学到很多东西。做着做着,慢慢觉得设计一个好的项目骨架,使用适合的设计模式、数据结构、算法能让你的系统变得易于扩展,可维护性增强,事半功倍。大学时候学的设计模式以及数据结构用处还是非常大的,是时候好好温习一下了。技术反正就是写代码呗,但希望自己是那个写代码写得好的。1. 注意响应...
阅读(184) 评论(0)

Java对Collections进行分组

在处理批量数据的时候,查出一批数据后想分组处理咋办,有什么简便的方法吗? 准备一点数据: public class User { private Integer id; private String type; private String name; private String date; private BigDecimal money; pri...
阅读(80) 评论(0)

使用Java8进行API设计

英文原文:https://dzone.com/articles/the-java-8-api-design-principles 只要你在写Java代码你就是一个API接口的设计者!程序员分不分享他们的代码不重要,代码会一直被其他人或代码的作者使用。因此,Java开发者掌握优秀API设计的基本理念就很重要了。 一个好的API设计需要严谨的思维和很多经验之谈。幸运的是,我们可以向其他聪明的人学习...
阅读(79) 评论(0)

poi操作excel之: 将NUMERIC转换成TEXT

没办法,企业业务系统总是避免不了要使用excel进行导入和导出,本代码使用的poi版本是3.16:一、NUMERIC TO TEXT(生成excel)代码生成一个excel文件:public static void generateExcel() throws Exception { XSSFWorkbook workbook = new XSSFWorkbook();...
阅读(156) 评论(0)

使用Optional去替换null check

“hi 伙计,你的代码又抛出了一个NullPointerException,哈哈!” “你烦不烦人,事情辣么多,我还要分神去检查null。” 如下的null check代码在一般的项目中就特别的多: User user = userService.getUserById(12); if (null != user) { // balabala } Java8 提供了Optio...
阅读(149) 评论(0)

MySQL/Java服务端对emoji的支持

最近一个开发一个功能需要支持emoji表情��,MySQL数据库使用的字符集是utf8,要让MySQL支持emoji字符,就是改变数据库的字符集为utf8mb4_unicode_ci。 上我的sql: /*改变表的字符集*/ ALTER TABLE tb_product CHARSET utf8mb4 COLLATE utf8_general_ci;/*改变字段*/ ALTER TABLE tb_...
阅读(131) 评论(0)

MySQL连接字段结果集

使用concat("one", " ", "three") 可以连接字符串 为 one threemysql> select concat("one", " ", "three") as num; +-----------+ | num | +-----------+ | one three | +-----------+ 1 row in set (0.00 sec)那要连接字段结果集...
阅读(134) 评论(0)

java.io.EOFException: Unexpected end of ZLIB input stream解决

EOFException 表示异常文件结尾,说明读取的数据是不完整的。我在线上就遇到过类似的问题,在请求高峰时期就抛出了这个异常。下面是我的代码: FileOutputStream fileOutputStream = null; try { //得到文件 File file = new File(fileName);...
阅读(143) 评论(0)

NOT IN和NOT EXISTS还有不一样的时候哦

对于MySQL, “NOT IN”和”NOT EXISTS”是一样的原理吗?不全是,在处理null时就出现意外了。 当你想对两个表进行不同的操作的时候,配合子查询,使用NOT EXISTS 或 NOT IN ,NOT IN 更加显得清晰、简单。如今的数据库系统都会将这两种查询方式优化成相同的执行计划,执行外连接和内连接的查询。有个很重要的区别是,如果在结果里返回了NULL,NOT IN 子句会执行失...
阅读(191) 评论(0)

Spring boot 通过切面,实现超灵活的注解式数据校验

在企业系统的开发中,用户表单输入的场景是会经常遇见的,如何让数据校验脱离于业务代码逻辑,谁也不想在逻辑代码里对字段逐一判断。。。。Spring MVC的校验方式在使用Spring MVC时的时候,直接使用hibernate-validator的注解,如下: public class User { private Long id; @NotBlank(message = "name不能为...
阅读(668) 评论(0)

总结几个问题啦

第一个问题一个用户下了单,然后用户无奈的发现自己支付成功的订单变成已失效了。 其中代码的流程是: 支付系统将支付结果 回调传给SOA服务,SOA服务去更改用户订单状态为 已支付。这一过程要失败了,定时任务就会将这个订单状态置为 已失效,然后用户就懵逼了,明明支付成功了,却变成无效订单了。要是我,肯定急眼了。导致的问题: 支付系统在回调失败时是会基于一定策略继续尝试的。 1. 第一次回调在第6步...
阅读(140) 评论(0)

fix java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory

最近一个spring boot项目,我和同事同样的环境,他能启动Application的main方法: import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication public...
阅读(574) 评论(0)

一个例子深入下join

表结构看两个表tb_order和users的结构,tb_order表的user_id和users表的id存在外键关系: CREATE TABLE `tb_order` ( `id` int NOT NULL AUTO_INCREMENT, `product_name` varchar(64) NOT NULL DEFAULT '', `buyer` char(20) NOT NULL D...
阅读(214) 评论(0)
105条 共7页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:196813次
    • 积分:2469
    • 等级:
    • 排名:第15886名
    • 原创:90篇
    • 转载:13篇
    • 译文:2篇
    • 评论:21条
    文章分类
    最新评论
    xx