自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 收藏
  • 关注

原创 java8之lamda groupingby多层 嵌套

@Testpublic void r(){ List<Person> javaProgrammers = new ArrayList<Person>() { { add(new Person("Elsdon", "1", "Java programmer", "male", 43, 2000));

2018-11-07 16:31:31 4640

原创 事务得隔离级别

事务隔离级别,以及解决的问题

2022-09-25 22:37:06 284 1

原创 事务acid

事务得一致性才是最终目的

2022-09-24 23:05:22 338

原创 RabbitMQ面试总结

rabbitmq入门

2022-09-19 19:18:46 459

原创 java 锁笔记

java常见锁的机制

2022-06-20 17:46:32 139

原创 java synchronized 简单粗暴

java的synchronized jvm实现相当之简单粗暴。就是由jvm维护一个锁状态。静态synchronized方法在静态方法区,非静态synchronized 方法呢在对象里面。写个小方法来验证一下。由于简单粗暴的只有一个锁状态,所以单一对象的synchronized之间是阻塞的,以为只有一个锁标记。所以我们可以设计如下代码public class MulSycO { private static Integer count=0; public synchronized

2022-05-17 17:03:38 152

原创 泛型对象转型的问题-使用无界通配符强转泛型对象。

看到Optional的源代码看到这样一段很意外,竟然出现了泛型对象转型。声明EMPTY变量的时候,因为是static的,这里是不能使用动态参数的。因为拿不到this。静态方法无法使用泛型类型参数。但是下面的这个强转我是孤陋寡闻了,无界通配符可以随意的转型。子类泛型转型父类泛型却不可以,这有点违背常理。private static final Optional<?> EMPTY = new Optional<>();public static<T> Optiona.

2022-03-27 00:15:03 403

原创 java stream 之Collector

lambda,collector.of()

2022-03-24 21:30:20 1199

原创 java泛型

感觉泛型这块很不好理解。但是有问题就得抛出来,有问题的请各位看官指出。谈及泛型,我第一个想的是,我怎么看待泛型,泛型能为我提供哪些遍历。我们平常的使用中主要是泛型类,泛型接口,泛型方法。其实泛型类和接口一般都需要包含泛型方法,不然就没有意义哈。要说难以理解的话当反射,泛型,lambda混合在一起的时候就真的很迷惑了。一步步来从常用的泛型类来说。我相信大家一般都接触过结果集封装类。一般叫XXXResult得。长得类似于下面的class,这里面的T约等于Object.没啥意义。那么什么时候变得和Object

2022-03-18 13:48:15 206

原创 springcloud Gateway-predicate源码笔记

predicate的大致设计思路。从uml类图看初始接口RoutePredicateFactory。PredicateFactory顾名思义Predicate工厂,这是一个函数式接口,函数式方法就是工厂方法apply(Config config).Predicate<ServerWebExchange> apply(C config);返回一个Predicate实例。抽象方法增加了对configConfigurable的抽象类,顾名思义这厮一个可配置配置化支持接口。用于获取我们在ym

2022-03-17 10:38:32 416

原创 java 匿名内部类存储泛型参数,即类型参数

这个问题我是从反序列化String到泛型类开始得。很明显我们需要把泛型类型传递进去。这里一般用到的是typereference。注意一个细节一定要使用匿名内部类,即下面这样声明。TypeReference<HuaziResult<Human>> type = new TypeReference<HuaziResult<Human>>() {};这让我感觉很不舒服,为什么不是传递一个Class类型进去或者是有没有什么其它得方法获取到,再看看Typ

2022-03-16 10:26:12 1065

原创 子对象通过super调用父类方法,在父类方法中执行this.

一段时间没看书基础落下了,下面是测试代码,public class HumanBeing { public void say(){ System.out.println("I'm human being"); System.out.println("父类中获取对象id"+this); pee(); } public void pee(){ System.out.println("pee in the bathr.

2022-03-08 12:10:26 447

原创 group by 时间分组sum 统计 case when 行专列

select to_char(shbtime, 'YYYY-MM') as d, sum(case when problemtype='01' and status='0' then 1 else 0 end ) as road_started, sum(case when problemtype='01' and status='2' then 1 else 0 end ) as road_ended, ...

2022-03-04 17:30:05 186

原创 idea 编辑vmoptions 导致idea打不开的情况

解决办法:找到这个文件删除就能打开idea.再继续你之前要做的事,或者直接打开这个文件编辑。怎么找到这个文件呢右键桌面idea图标,打开文件所在位置。里面有的idea.properties文件。打开它里面这个config.path就是配置文件路径了打开config path路径配置文件就在这了。...

2022-02-18 17:27:59 509

原创 spring 的transaction注解是如何作用到mybatis的

感觉还不是很明白,写本篇做一个开头记录把。本想从spring的角度全局出发去了解它的整个数据库->jdbc->orm,理想的结构是这样。但是从mybatis来看,看起来并没有那么干净,比如DataSource的传递感觉就不是那么漂亮,在我们引用DruidDataSource或者是其他什么DruidDataSource的单个DruidDataSource的情况下,连接是怎么传递的,事务是怎么处理的等等。单从spring到ibatis(mybatis以前的叫法)来稍微的了解下。可惜英语能力还是不

2021-12-28 15:55:13 394

原创 spring DispatcherServlet doDispatch 阅读笔记

首先列举下几个基础知识也就是spring 文档里面的重要的一个 Special Bean Types哈。HandlerMapping,顾名思义用于对handler的映射。主要方法@NullableHandlerExecutionChain getHandler(HttpServletRequest request) throws Exception;接受一个基础的request对象,返回一个HandlerExecutionChain。返回的是一个处理链哈,把拦截器和handler一起装载进去

2021-12-20 15:52:32 356

原创 spring mvc为handler装配interceptor

在AbstractHandlerMapping中。的核心方法getHandler中。代码如下,注意其中的/** * Look up a handler for the given request, falling back to the default * handler if no specific one is found. * @param request current HTTP request * @return the corresponding handler ins.

2021-12-15 16:14:24 619

原创 设计者模式笔记之中介者模式

一句话理解如果你是javaweb开发者,中介者模式就是只在service里面使用mapper。不在controller层调用mapper.如果你曾经不自觉地遵守了这个方式,那你已经领略了中介者模式的精髓。中介者模式中介者模式(Mediator Pattern)是用来降低多个对象和类之间的通信复杂性。这种模式提供了一个中介类,该类通常处理不同类之间的通信,并支持松耦合,使代码易于维护。中介者模式属于行为型模式。介绍意图:用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地相互引

2021-12-03 10:52:35 81

原创 设计模式之观察者模式

有些模式比如装饰器模式这种。有点类似于结构组合的东西。我希望能琢磨琢磨使用数学表达的方式去总结一下因该会更加直观。很抱歉的是观察者模式并没不能这么总结。因为观察者不是扩充方法,或者让我们更灵活的传递或者组合方法。这么想的话观察者模式就少了数学美感。言归正传。观察者模式就是监听某一个对象的变化然后调用其他方法做出应对。是用来对应这种特殊需求的。菜鸟已经讲的很简单了。留个笔记记录一下。假设这里有一个对象A.当A的某些或者某一个更新类方法被调用的时候我们需要调用一个(类型不确定的集合对象的方法)对象集合B

2021-12-03 10:25:11 162

原创 设计模式之装饰器模式

设计模式之装饰模式笔记

2021-12-02 14:47:12 200

原创 平衡二叉树->红黑树->B树->B+树->B*树

写了一半发现有个大哥写的太好了大家直接转到这里吧【数据结构】B-Tree, B+Tree, B*树介绍 转 - 最初的梦想 - 博客园平衡二叉树(AVL)的性质它是一 棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。这个方案很好的解决了二叉查找树退化成链表的问题,把插入,查找,删除的时间复杂度最好情况和最坏情况都维持在O(logN)。但是频繁旋转会使插入和删除牺牲掉O(logN)左右的时间,不过相对二叉查找树来说,时间上稳定了很多。区别:1、红黑..

2021-11-26 10:45:50 94

原创 一句话理解二叉树前中后序得概念

1,按照遍历的时候,输出节点得顺序来的。前中后序顾名思义。在左右递归得前中后输出节点。前序遍历 public void preOrderTraverse1(TreeNode root) { if (root != null) { System.out.print(root.val + "->"); preOrderTraverse1(root.left); preOrderTraverse1(root.ri

2021-09-16 10:28:47 73

原创 gateway自定义predicate

参考一下其它得predicateFactory,复制一下,根据需求改一下。@Componentpublic class MyAsyncPredicateFactory extends AbstractRoutePredicateFactory<MyAsyncPredicateFactory.Config> { private static final Log log = LogFactory.getLog(RoutePredicateFactory.class);

2021-09-02 18:01:51 539

原创 gateway增加动态请求头

1.实现自己的Filterpublic class MyFilter implements GatewayFilter, Ordered { private static final Log log = LogFactory.getLog(GatewayFilter.class); private static final String REQUEST_TIME_BEGIN = "requestTimeBegin"; @Override public Mono&

2021-08-31 15:38:42 2760

原创 以遍历的方式获取二叉树中所有距离为 K 的结点

class TreeNode { Integer val; TreeNode left; TreeNode right; TreeNode(int x) { val = x; } } //用于初始化数据 void initTree(TreeNode p, Integer deep) { deep--; if (deep > 0) { ..

2021-07-29 10:13:44 68

原创 redis cluster client hash槽的相互关联

推荐一下redis官网http://www.redis.cn/文档地址:http://www.redis.cn/documentation.html文章来自于cluster相关的解析主要是集群教程和集群规范hash槽redis 使用hash槽做分片策略,和hash一致性不太一样。redis集群有16384个哈希槽请求重定向简单来说们就是redis cluster在集群之间同步hash槽位的信息。当请求的redis server不对的时候就会把正确的槽位对应的ip返回。c.

2021-07-26 18:16:53 245

原创 n个整数,找出连续的m个数加和是最大

/** * n个整数,找出连续的m个数加和是最大。 */ public static void main(String[] args) { int n = 5;//n个整数可以自定义 int[] datas = new int[n]; int m = 2;//m大小即连续数字大小 //初始化数组,数组值得值域[0,n)值 for (int i = 0; i < n; i++) { d.

2021-07-23 17:45:54 943

原创 springboot mybatis自动装配

从MapperScan开始,通过@Import(MapperScannerRegistrar.class),引入MapperScannerRegistrar配置类。Import可以把普通类装载到spring bean容器。进入MapperScannerRegistrar。这里实现了一个重要的接口ImportBeanDefinitionRegistrar,所有实现了该接口的类的都会被ConfigurationClassPostProcessor处理,ConfigurationClassPost

2021-06-29 22:35:48 319

原创 TTL在CompleteableFutrue中的使用

只需要两步。就可以让你得线程变量在线程池下正常传递。第一步将ThradlLocal类型替换为TransmittableThreadLocal private static TransmittableThreadLocal<RiskOpuOmUser> principalThreadLocal = new TransmittableThreadLocal(); private static TransmittableThreadLocal<String> tok

2021-06-22 16:47:36 456

原创 Lambda-Consumer-andThen

andThen的用法。 @Test public void lambdaFc(){ Consumer <Student>con1=(Student s)->{ out.println(s.getName()); s.setName("李四"); out.println(s.getName()); }; Consumer <Student>c

2021-06-22 16:29:12 288

原创 java 函数式接口Function.identity 方法阅读理解

首先上Function接口的identity方法的代码,@FunctionalInterface//函数式接口注解public interface Function<T, R> { /** * Applies this function to the given argument. * * @param t the function ar...

2020-03-23 18:38:47 1053

原创 spring 转发到getaway产生的http版本问题

[com.alibaba.nacos.client.Worker.longPolling.fixed-192.168.100.142_8848-192.168.100.142_8849-192.168.100.142_8850-d67a6b59-dbf7-4e45-acf3-6bfc8a062624] c.a.n.c.config.impl.ClientWorker: longPolling er...

2019-12-09 15:49:42 2078 1

空空如也

空空如也

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

TA关注的人

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