
JAVA
文章平均质量分 80
帅东
当我回忆往事的时候,不会因虚度年华而悔恨,也不会因碌碌无为而羞愧
展开
-
JSON反序列化泛型对象;泛型是变化的,如何写出通用代码?(源码分析)
本文以fastjson为例,gson等其他序列化工具都类似。json如何反序列化出带泛型的结果,这个网上应该很多教程,但本文想要实现更高难度的反序列化。比如:泛型参数在变化,怎么写出通用代码?看例2先看使用一共三个类,A/B/C,定义放文章最后了例1:如果想要序列化带泛型的对象B<C> bc = JSON.parseObject(bStr, new TypeReference<B<C>>() { });一行代码就搞定,但原理是什么呢?为什么原创 2022-05-23 23:37:17 · 2531 阅读 · 0 评论 -
SpringBoot自定义缓存
上一篇文章说了默认的缓存实际上是:ConcurrentMap,有很多功能都没有,比如:定期删除、容量上线、容量不够的策略(LRU、LFU)等等。https://blog.csdn.net/PROGRAM_anywhere/article/details/121878708自定义缓存步骤定义一个属于自己的Cache,需要实现org.springframework.cache.Cachepublic class MyCache implements Cache { private MyLink原创 2021-12-11 21:46:59 · 1169 阅读 · 0 评论 -
SpringBoot缓存原理
三个注解@Cacheable可以标记在一个方法上,也可以标记在一个类上。当标记在一个方法上时表示该方法是支持缓存的,当标记在一个类上时则表示该类所有的方法都是支持缓存的。对于一个支持缓存的方法,Spring会在其被调用后将其返回值缓存起来,以保证下次利用同样的参数来执行该方法时可以直接从缓存中获取结果,而不需要再次执行该方法。Spring在缓存方法的返回值时是以键值对进行缓存的,值就是方法的返回结果,至于键的话,Spring又支持两种策略,默认策略和自定义策略。需要注意的是当一个支持缓存的方法在对象内部原创 2021-12-11 21:37:49 · 1079 阅读 · 0 评论 -
Future的使用和原理
java中有几种实现异步的方式(FutureTask/ListenableFuture/CompletableFuture)这篇介绍的是FutureTaskclass Worker { public String name; Worker(String name) { this.name = name; }}/** * @author dong...原创 2018-10-30 21:04:39 · 1176 阅读 · 0 评论 -
ListenableFuture的使用和原理
java中有几种实现异步的方式(FutureTask/ListenableFuture/CompletableFuture)这篇介绍的是ListenableFuture,相比FutureTask,本质上只是增加了任务的回调函数,这个是google框架里面的一个东西,我用的版本是guava-27.0-jre.jar首先还是说使用:public class ListenableFutureTes...原创 2018-10-31 16:38:17 · 29925 阅读 · 3 评论 -
加载别人代码到沙箱环境运行
沙箱运行代码现在有一个需求是:我们需要把别人的代码加载到我们代码里面来运行如何把别人代码拿过来呢?可以利用git把代码下载下来利用maven进行打包编译(.java编译成.class文件)加载.class文件形成object对象运行我们想要的函数Git git = Git.cloneRepository().setURI(gitUrl).setDirectory(...原创 2018-08-05 14:21:24 · 1690 阅读 · 0 评论 -
JAVA写的坦克大战(简单)
第一次写那么大的程序(感觉还是不错) package _25增加配置文件;import java.awt.*;import java.awt.event.*;import java.util.List;import java.util.ArrayList;/** * 这是这款游戏的主窗口,各个类都有他的引用 * @author ☆东★ * */public class Tan原创 2016-06-26 11:22:02 · 6435 阅读 · 0 评论 -
java写的记事本程序
author:chen ming dongpackage _22;import java.awt.Button;import java.awt.Dialog;import java.awt.FileDialog;import java.awt.FlowLayout;import java.awt.Frame;import java.awt.Label;import java.awt.Me原创 2016-06-11 18:42:51 · 1055 阅读 · 0 评论 -
java下简单GUI布局与监听
第一次学JAVA的GUI 目的:用JAVA简单模仿window下查询某个目录里面的文件(简单模仿)import java.awt.Button;import java.awt.Dialog;import java.awt.FlowLayout;import java.awt.Frame;import java.awt.Label;import java.awt.TextArea;imp原创 2016-06-10 18:40:16 · 614 阅读 · 0 评论 -
JAVA隐式转换和方法重写和static关键字
author : chen ming dong 闲来无事做想玩玩JAVA了 今天碰到点困难,算是完美解决了package 类;// static用来修饰类中的变量或方法,成为静态变量,静态方法// 静态变量对于所有的类对象共享同一个内存空间// public class 隐式类型转换 { public static void main(String[] args) {原创 2016-04-17 21:33:52 · 709 阅读 · 0 评论