随笔分类 -  Java

基本的java相关类容
摘要:今天介绍一个实用的小知识点,如何将List转为Map<Object, List<Object>> 1. 基本写法 最开始介绍的当然是最常见、最直观的写法,当然也是任何限制的写法 // 比如将下面的列表,按照字符串长度进行分组 List<String> list = new ArrayList<>() 阅读全文
posted @ 2022-06-01 21:53 一灰灰Blog 阅读(178) 评论(0) 推荐(0)
摘要:Guava HashMultimap使用及注意事项 hello,各位大佬上午|中午|下午|晚上|凌晨好,我是一灰灰,今天给大家介绍一个相对基础的知识点 HashMultmap; guava基本上可以说是java开发项目中,大概率会引入的包,今天介绍的主角是一个特殊的容器 -- HashMultmap 阅读全文
posted @ 2022-05-25 20:28 一灰灰Blog 阅读(94) 评论(0) 推荐(0)
摘要:【SpringBoot 基础系列】接口上注解 AOP 拦截不到场景兼容 在 Java 的开发过程中,面向接口的编程可能是大家的常态,切面也是各位大佬使用 Spring 时,或多或少会使用的一项基本技能;结果这两个碰到一起,有意思的事情就发生了,接口方法上添加注解,面向注解的切面拦截,居然不生效 这就 阅读全文
posted @ 2021-06-08 19:33 一灰灰Blog 阅读(1043) 评论(0) 推荐(0)
摘要:【中间件】Zookeeper从0到1实现一个分布式锁 分布式锁,在实际的业务使用场景中算是比较常用的了,而分布式锁的实现,常见的除了redis之外,就是zk的实现了,前面一篇博文介绍了zk的基本概念与使用姿势,那么如果让我们来记住zk的特性来设计一个分布式锁,可以怎么做呢? I. 方案设计 1. 创 阅读全文
posted @ 2021-04-28 19:24 一灰灰Blog 阅读(164) 评论(0) 推荐(0)
摘要:【中间件】Spring整合ZooKeeper基础使用介绍 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,广泛应用于分布式系统中,比如有用它做配置中心,注册中心,也有使用它来实现分布式锁的,作为高并发技术栈中不可或缺的一个基础组件,接下来我们将看一下,zk应该怎么玩,可以怎么玩 阅读全文
posted @ 2021-04-28 19:17 一灰灰Blog 阅读(621) 评论(0) 推荐(0)
摘要:Gson 简单使用姿势小结 关于 Json 序列化的框架可以说比较多了,比如 Spring 默认的 Jackson,国内互联网用的比较多的 FastJson,本文则主要介绍一下 Gson 的简单使用姿势,并不会涉及到不同的 json 框架的性能对比 本文主要内容来源于官方教程: https://gi 阅读全文
posted @ 2020-08-27 08:59 一灰灰Blog 阅读(504) 评论(0) 推荐(0)
摘要:Java 实现一个 加解密算法工具类 加密算法: AES 模式: ECB 补码方式: PKCS5Padding 1. 工具类 请注意上面的实现,提供了两种方式 一个是AES加密之后使用base64编码输出,对应的是解密base64编码的数据 一个是AES加密之后,直接返回字节数组;也是直接解码字节数 阅读全文
posted @ 2020-05-01 08:21 一灰灰Blog 阅读(1113) 评论(0) 推荐(0)
摘要:"【基础系列 实战】如何指定 bean 最先加载(应用篇)" 在日常的业务开发中,绝大多数我们都是不关注 bean 的加载顺序,然而如果在某些场景下,当我们希望某个 bean 优于其他的 bean 被实例化时,往往并没有我们想象中的那么简单 I. 启动类指定方式 在实际的 SpringBoot 开发 阅读全文
posted @ 2020-03-19 16:27 一灰灰Blog 阅读(5122) 评论(0) 推荐(0)
摘要:"手把手教你实现一个方法耗时统计的 java agent" 前面有两篇铺垫博文,在博文 "《200303 如何优雅的在 java 中统计代码块耗时》" ,其最后提到了根据利用 java agent 来统计方法耗时 博文 "《200316 IDEA + maven 零基础构建 java agent 项 阅读全文
posted @ 2020-03-17 11:16 一灰灰Blog 阅读(2255) 评论(0) 推荐(0)
摘要:"200316 IDEA + maven 零基础构建 java agent 项目" Java Agent(java 探针)虽说在 jdk1.5 之后就有了,但是对于绝大多数的业务开发 javaer 来说,这个东西还是比较神奇和陌生的;虽说在实际的业务开发中,很少会涉及到 agent 开发,但是每个 阅读全文
posted @ 2020-03-16 12:20 一灰灰Blog 阅读(2604) 评论(0) 推荐(0)
摘要:"如何优雅的在java中统计代码块耗时" 在我们的实际开发中,多多少少会遇到统计一段代码片段的耗时的情况,我们一般的写法如下 上面的写法没有什么毛病,但是看起来就不太美观了,那么有没有什么更优雅的写法呢? 1. 代理方式 了解 Spring AOP 的同学可能立马会想到一个解决方法,如果想要统计某个 阅读全文
posted @ 2020-03-03 20:50 一灰灰Blog 阅读(5658) 评论(0) 推荐(0)
摘要:上一篇博文介绍了ongl的基础语法,接下来进入实际的使用篇,我们将结合一些实际的case,来演示ognl究竟可以支撑到什么地步 在看本文之前,强烈建议先熟悉一下什么是ognl,以及其语法特点,减少阅读障碍,五分钟入门系列: "191129 Ognl 语法基础教程" I. 基本使用 1. 配置 我们选 阅读全文
posted @ 2019-12-05 08:33 一灰灰Blog 阅读(1215) 评论(0) 推荐(0)
摘要:本文将力求用最简单的语言和实例,介绍一下 OGNL 的语法规则,文章主要内容参考自官方文档 "http://commons.apache.org/proper/commons ognl/language guide.html" 本篇主要是语法介绍篇,实战放在一下篇 因为本篇文章将是后 "quick 阅读全文
posted @ 2019-12-04 20:21 一灰灰Blog 阅读(3191) 评论(0) 推荐(1)
摘要:在开发过程中,遇到一个鬼畜的问题,在DO的某个成员上添加 注解之后,通过ProtoStuff反序列化得到的DO中,这个成员一直为null;花了不少时间才定位这个问题,特此记录一下 原文 "ProtoStuff无法反序列化Deprecated注解成员问题记录" I. 全程实录 1. 环境相关 原项目中 阅读全文
posted @ 2019-08-22 22:03 一灰灰Blog 阅读(662) 评论(0) 推荐(0)
摘要:原文: "190702 SpringBoot系列教程JPA之delete使用姿势详解" 常见db中的四个操作curd,前面的几篇博文分别介绍了insert,update,接下来我们看下delete的使用姿势,通过JPA可以怎样删除数据 一般来讲是不建议物理删除(直接从表中删除记录)数据的,在如今数据 阅读全文
posted @ 2019-07-04 19:19 一灰灰Blog 阅读(51273) 评论(0) 推荐(0)
摘要:原文: "190623 SpringBoot系列教程JPA之update使用姿势" 上面两篇博文拉开了jpa使用姿势的面纱一角,接下来我们继续往下扯,数据插入db之后,并不是说就一层不变了,就好比我在银行开了户,当然是准备往里面存钱了,有存就有取(特别是当下银行利率这么低还不如买比特币屯着,截止19 阅读全文
posted @ 2019-06-23 10:14 一灰灰Blog 阅读(80972) 评论(7) 推荐(4)
摘要:"SpringBoot系列教程JPA之新增记录使用姿势" 上一篇文章介绍了如何快速的搭建一个JPA的项目环境,并给出了一个简单的演示demo,接下来我们开始业务教程,也就是我们常说的CURD,接下来进入第一篇,如何添加数据 通过本篇文章,你可以get到以下技能点 POJO对象如何与表关联 如何向DB 阅读全文
posted @ 2019-06-16 22:12 一灰灰Blog 阅读(12428) 评论(0) 推荐(1)
摘要:JPA(Java Persistence API)Java持久化API,是 Java 持久化的标准规范,Hibernate是持久化规范的技术实现,而Spring Data JPA是在 Hibernate 基础上封装的一款框架。JPA作为标准,实际上并没有说局限于某个固定的数据源,事实上mysql,m 阅读全文
posted @ 2019-06-16 21:57 一灰灰Blog 阅读(1765) 评论(0) 推荐(0)
摘要:我们有这么一个场景,给你一个列表,可以动态的新增,但是最终要求列表升序,要求长度小于20,可以怎么做? 这个还不简单,几行代码就可以了 <! more 1. 测试验证 上面的代码先不考虑性能的优化方面,有没有问题? 写了个简单的测试case,我们来看下会出现什么情况 启动参数修改下,添加jvm最大内 阅读全文
posted @ 2019-05-25 20:36 一灰灰Blog 阅读(1426) 评论(0) 推荐(1)
摘要:学习一个新的数据库,一般怎么下手呢?基本的CURD没跑了,当可以熟练的增、删、改、查一个数据库时,可以说对这个数据库算是入门了,如果需要更进一步的话,就需要了解下数据库的特性,比如索引、事物、锁、分布式支持等 本篇博文为mongodb的入门篇,将介绍一下基本的查询操作,在Spring中可以怎么玩 原 阅读全文
posted @ 2019-01-13 21:30 一灰灰Blog 阅读(26129) 评论(0) 推荐(3)