Java开发

总计 44 页,当前第 3 页
Java开发

分布式任务调度平台 XXL-JOB 快速入门使用

一、分布式任务调度概述1、什么是任务调度平台任务调度是指基于给定的时间点,给定的时间间隔又或者给定执行次数自动的执行任务。我们可以思考一下在以下场景中,我们应该怎么实现:支付系统每天凌晨 1 点,进行一天清算,每月 1 号进行上个月清算;电商整点抢购,商品价格8点整开始优惠12306 购票系统,超过 30 分钟没有成功支付订单的,进行回收处理2、为什么需要任务调度平台定时任务是程序员不可避免的话题,很多业务场景需要我们某一特定的时刻去做...
4年前 (2020-07-15) 阅读(8256) 赞一个 (3) 评论(0) 链接直达
Java开发

char 类型如何存储一个汉字的?

char如何存UTF-8字符?UTF-8的由来我们知道char是占两个字节的这个大家都知道,那UTF-8是什么呢?我们见得比较多,真正能说清楚的也不见得都能做到,在谈到UTF-8,我们不得不谈下Unicode,对于有些人来说Unicode可能稍微陌生点,但是说到ASCII码估计大家都知道。简单说明下,我们知道计算机只能识别0和1,那么如何将我们这个世界中如此众多的文字呈现或者传播呢?美国人搞了个ASCII码就是一个将英文中的字母和一些特...
5年前 (2020-06-15) 阅读(3548) 赞一个 (1) 评论(0) 链接直达
Java开发

为什么阿里强制要求接口返回值不允许使用枚举?

在谈论为什么之前先来科普下什么是二方库,二方库也称作二方包,一般指公司内部发布到中央仓库,可供公司内部其他应用依赖的库(jar 包)。那么一方库便是本工程内部子项目模块依赖的库;三方库为公司之外的开源库,比如像 fastjson、easyexcel 这种。下面我们就通过一个例子来看下为什么阿里巴巴不允许返回枚举类型或者包含枚举类型的 POJO 对象。比如星巴克提供了 0.0.1 版本的二方库,定义了一个 Starbucks 类,里面包含...
5年前 (2020-06-15) 阅读(3060) 赞一个 (1) 评论(0) 链接直达
Java开发

本来想用“{{”秀一波,结果却导致了内存溢出!

生活中的尴尬无处不在,有时候你只是想简单的装一把,但某些“老同志”总是在不经意之间,给你无情的一脚,踹得你简直无法呼吸。但谁让咱年轻呢?吃亏要趁早,前路会更好。喝了这口温热的鸡汤,咱们来聊聊是怎么回事。事情是这样的,在一个不大不小的项目中,小王写下了这段代码:Map<String, String> map = new HashMap() {{  &nbs...
5年前 (2020-06-07) 阅读(1886) 赞一个 (0) 评论(0) 链接直达
Java开发

Java8 开发过程常见的“坑”

失败?往List里面添加数据竟然提示不支持?日期明明间隔1年却输出1天,难不成这是天上人间?1582年神秘消失的10天JDK能否识别?Stream很高大上,List转Map却全失败……这些JDK8官方挖的坑,你踩过几个?# Base64:你是我解不开的迷出于用户隐私信息保护的目的,系统上需将姓名、身份证、手机号等敏感信息进行加密存储,很自然选择了AES算法,外面又套了一层Base64,之前用的是 sun.misc.BASE64Decod...
5年前 (2020-06-07) 阅读(1987) 赞一个 (7) 评论(0) 链接直达
Java开发

一个图文讲解设计模式的网站,推荐

每次维护别人遗留的项目,看着一团乱麻的代码一头雾水的时候,是不是有想揪出作者揍一顿的冲动。别着急,今天就给大家介绍一种解决方案。设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。对于那些具有丰富的开发经验的开发人员,学习设计模式有助于了解在软件开发过...
5年前 (2020-06-07) 阅读(2587) 赞一个 (0) 评论(0) 链接直达
Java开发

lambda 表达式导致 Arthas 无法 redefine 的问题

通过 arthas 的 redefine 命令,可以像 PHP 一样,不用重新发布,就可以改变程序行为。但是用多了,发现很多时候,我们就改了几行代码,甚至有的时候就添加了一行日志,就无法 redefine 了。提示:redefine error! java.lang.UnsupportedOperationException: class redefinition failed: attempted to add a method它提示...
5年前 (2020-06-07) 阅读(2209) 赞一个 (2) 评论(0) 链接直达
Java开发

Arthas 灵异事件 tt、watch、monitor 执行两次问题排查

一、事件还原我在做项目的性能测试,用 arthas 查询耗时接口方法。监控 DocHandler 接口耗时,它有多个实现类。我们都知道,正常情况下,trace、tt、monitor、watch 都是只会有一个请求结果,而这个方法,每次却都是两次,这就让人很疑惑了。monitor 两次请求tt 两次请求tt -i xx 结果是一样,只是每次请求的耗时不一样。watch ...
5年前 (2020-06-04) 阅读(3547) 赞一个 (2) 评论(0) 链接直达
Java开发

基于Spring 使用Arthas查看成员变量值

如何使用arthas查看成员变量搜了一下官方文档没找到合适方法直接查看对象的成员变量,发现一位朋友有这样一个办法,一般我们用Spring时,可以写一个Holder类,实现ApplicationContextWare接口,这样我们在Spring加载后可以获取其context变量,context.getBean可以通过类名获取对象。所以基于这个想法,可以这样写,完整示例如下:1、定义Holder类import org.spring...
5年前 (2020-05-30) 阅读(13071) 赞一个 (2) 评论(0) 链接直达
Java开发

Stream的错误使用:Stream.max(Integer::max)和Stream.min(Integer::min)

java8中的Stream相信大家都使用过,代码可以变得简洁漂亮,甚至习惯后,简直爱不释手,根本不想再使用以前的通俗写法。但是初学者很容易犯一些错误。本文介绍一下Stream中可能会使用的一个错误用法:Stream.max(Integer::max) 和 Stream.min(Integer::min)让我们先来看下如下代码:abcd分别输出什么?int a = Stream.of(2, 1,&n...
5年前 (2020-05-30) 阅读(2583) 赞一个 (0) 评论(0) 链接直达
Java开发

GuavaCache RemovalListener 失效问题原因

问题Google 的 Java 工具包 Guava,确实很好用,特别是其中的 GuavaCache 算是经常使用到的本地缓存,这次需求是希望在 xxx min 之后做一个延时操作,虽然可以开一个定时任务做,但是由于当时代码里正好使用到了 GuavaCache,想起来可以基于 Key 的过期做一个回调方法不就行了嘛,猜测 GuavaCache 肯定是支持这样的回调 API 的,一查果然如此。于是乎,代码写得很快,如下:private&nb...
5年前 (2020-05-30) 阅读(3197) 赞一个 (0) 评论(0) 链接直达

程序喵 www.ibloger.net

文章归档 站内留言 给我写信 文章订阅