- 博客(12)
- 收藏
- 关注
原创 MySQL总结
mysql的慢查询日志是mysql提供的一种日志记录,用来记录在mysql中响应时间超过阈值的语句,具体指运行时间超过long_query_time值的sql,则会被记录到慢查询日志中,可以由它来查看哪些sql超出了我们最大忍耐时间值;
2023-10-22 22:27:23
66
1
原创 日常编程总结
当所有值全为null时,相加需要返回null,而不是返回0.0。输入日期不是yyyy-MM-dd,转成yyyy-MM-dd。按照id分组,对id一样的数据相加,存放于map。
2023-08-28 17:12:58
144
1
原创 总结kafka
如果多个消费者在同一个消费组,那么只有一个消费者可以收到订阅的同一个topic中的消息,即同一个消费组中只能有一个消费者收到一个topic中的消息,并且一直是这个消费者,不会来回切换;一个主题中的消息量是非常大的,因此可以通过分区的设置,来分布式存储这些消息,比如一个topic创建了3个分区,那么topic中的消息就会分别存放在这三个分区中;不同的消费组订阅同一个topic,那么不同的消费组中只有一个消费者能收到消息(单播),但是多个消费组中的消费者收到了同一个消息;查看topic的分区信息。
2023-08-20 18:36:28
306
1
原创 Java中使用到的异步任务总结(CompletableFuture类,@Async注解)
或者通过自定义线程池的方式,Completable使用默认的线程池创建的线程是守护线程,守护线程会随着主线程的结束而结束,而使用自己创建的线程池,不是守护线程,所以主线程结束之后,可以继续执行;System . out . println(getTime() + " 当前线程:" + Thread . currentThread() . getName());
2023-04-19 11:20:17
1759
原创 parallelStream、stream.parallel关于集合类遍历并行执行
由于在并行执行过程中,使用了ForkJoinPool线程池,所以要考虑线程安全问题:对于ArrayList线程不安全,可以采用Collections.synchronizedList,采用synchronized修饰,或者是CopyOnWriteArrayList,写时复制(读写分离的思想),用到了lock;在实际使用的过程中,发现其实一个map定义在并行流外并且只读不写,这个map可以用hashmap,如果线程并没有改变变量,可以考虑用非线程安全集合类,提高性能;后续写点线程安全之类的吧!
2023-03-24 19:04:24
754
原创 函数式接口Supplier,Consumer,Function,Predicate所有使用方法总结
源码分析T get();一个生产者接口,只有一个get方法,采用注解@FunctionalInterface,可用lambda编程,下面结合Consumer一起举例。源码分析accept(t);//可写特定业务逻辑 return a;//可写特定业务逻辑 System . out . println("result:" + t);});//可写通用业务逻辑 Integer integer = supplier . get();
2023-03-24 15:57:21
308
原创 Java中Optional的一些用法总结(结合源码分析)
of方法,创建一个Optional对象,传入value可为nullempty方法,创建一个空的Optional对象return t;ofNullable方法,传入对象为空则创建一个空的Optional对象,负责调用of方法创建对象isPresent方法,判断传入是否为空,返回布尔值;= null;ifPresent方法,传入不为空的话,进行消费;if(value!get方法,返回传入的value对象,value对象不能为空,否则会抛异常。
2023-03-16 11:17:10
154
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人