![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
随笔
文章平均质量分 88
我的需求呢
何许浅碧深红色 自是花中第一流
展开
-
JVM垃圾收集器学习总结【经典版】
JVM垃圾回收器总结原创 2022-04-05 20:40:43 · 569 阅读 · 0 评论 -
在系统经巨量流量洗涤后的记录与反思
高并发反思原创 2021-08-09 15:01:33 · 364 阅读 · 0 评论 -
一次防止重复请求出错的设计
关于校验重复请求的思考背景这几天碰到了一个问题,一个接口里面原先写了很多的业务,当然我们这里不讨论业务,姑且称业务为A、B、C,ABC是一个串行的业务,上层业务依赖于上层返回的数据。大致是下面这样。在我接手这部分代码时,已经是各种代码业务冗余在一起,并且这三个业务很可能其中一个会失败,这些都不说了,尤其是之前版本在并发时会产生一些奇怪的问题,接手这个的时候压力山大,差点选择放弃观察。不过转念一想,这也是一个没遇到过的问题,解一解也对自己有帮助(混口饭吃)。想法在看到原先的代码之前我都是觉得有原创 2020-09-07 16:35:46 · 130 阅读 · 0 评论 -
Guava EventBus 优雅使用案例
介绍EventBus 是谷歌Guava包里的一个类,使用起来相当于观察者模式,可以设置订阅和取消订阅,也可以进行事件分发。下面主要以Spring框架为例代码实现:代码文件夹结构总共6个类代码这是一个Listenter 用来监听事件import com.google.common.eventbus.EventBus;import org.springframework.stereotype.Component;import javax.annotation.PostConstruct;原创 2020-07-23 12:54:15 · 909 阅读 · 2 评论 -
Java类不想被实例化的实现方式
在我们的的代码中会有一些类只想用于被使用它的静态方法,比如一些工具类,一些提供服务的类,所以他们并不需要实例化出来,在看了一些源码后发现了一些实现的方案。1 构造器变成私有2 在构造时抛出异常...原创 2020-05-24 08:01:28 · 763 阅读 · 0 评论 -
Reactor模式到底是什么?和NIO有什么关系?为什么Redis,Netty都用到了?
前言最近在学习Netty相关知识,碰到NIO和一大堆概念实在搞不清楚,为了搞清楚概念必须针对性的学习下了。多种模型首先,我们了解下select/poll/kqueue/epoll四种模型的特点,这些都是系统来进行实现的方法。这里关注下SelectSelect 主要是用来阻塞的接收客户端传来的请求,能同时监听1024个。NIO模型NIO也叫做同步非阻塞IO,有些地方也叫做New IO。对于传统的IO,每当获取到一个连接就会有一个线程与之所对应,就像一个顾客对应一位服务员,不管客户有没有需原创 2020-05-23 17:00:06 · 2245 阅读 · 2 评论 -
订阅发布功能Java实现
前言订阅发布最常见的就是在公众号的订阅,用户订阅了公众号后,公众号发布消息时就能收到。其实他相当于设计模式中的观察者模式大致流程图用户首先对感兴趣的服务进行订阅,该服务在发送消息时会将消息发送至所有订阅的用户。实现接口定义使用java实现的版本首先定义下接口,再对其进行实现。public interface Service { boolean addSubscribe(Observice observice); // 增加订阅者 boolean removeSubscr原创 2020-05-22 14:15:33 · 5863 阅读 · 0 评论 -
【Java多线程】多线程实现异步调用结果返回
前言在我们的业务中很可能会碰到需要执行一段时间的任务,并且如果同步的话就会造成一些无谓的等待。因此可以使用异步调用的方法,不阻塞当前其他任务的执行。小栗子首先我们先要创建一个线程池,可以根据自己的需求创建,什么IO密集型参数设置,CPU密集型参数的设置。这里我们仅仅想让10个任务一起跑。ExecutorService threadPool = new ThreadPoolExecutor( 10, 10,原创 2020-05-18 20:01:15 · 6980 阅读 · 2 评论 -
重新认识Spring中的@Configuration
这里写目录标题前言代码尝试死机小技巧小结前言从前,我对@Configuration注解的认识是,使用了该注解的类就会被当做配置类,大家可以在类中对一些框架或者系统中的功能进行一些配置。但当你问我那为什么不用@Component呢?我估计只能回答:大概是这个更具有标明性吧…今天看了一篇优秀的博客让我对这个注解有了新的认识冲动。博客地址代码尝试我尝试了下两个bean调用的时候出现的情况在@Configuration标注的类的情况下:根据以往的结论应该☝️有两个nice输出,但执行结果显示只执行原创 2020-05-17 10:24:54 · 156 阅读 · 0 评论 -
【MySQL面试题】为什么使用B+树作为索引?
问:你的系统使用了什么数据库?答:是使用的MySQL数据库。问:你了解过MySQL索引吗?有哪些呢?答:MySQL常用的有innodb和myisam索引。问:那innodb底层采用的是什么结构呢?答:它底层采用的是b+树的结构,内部也支持hash的结构。好了,面试官引导的差不多了,接下去就要好好回答了。问:那为什么不是b树或者其他的树结构呢?答:b+树是一个多叉的平衡树,平衡树就是每个节点的叶子节点高度差不超过1,并且在它的非叶子节点存储的是索引,数据全都存储在叶子节点中,用一原创 2020-05-14 16:38:57 · 388 阅读 · 0 评论 -
maven pom.xml scope 作用
scope代表此类库与项目的关系,默认是compile,也就是编译和打包都需要此类库。test表示仅仅在单元测试的时候需要;provided表示在编译阶段需要此类库,但打包阶段不需要,这是因为项目的目标环境已经提供了;runtime表示在编译和打包的时候都不需要,但在运行的时候需要,比如某个指定的数据库驱动,编译和打包都不需要,但测试应用要连到数据库时就需要此数据库驱动。...原创 2020-05-06 17:38:12 · 225 阅读 · 0 评论 -
Java 循环删除List元素
我们在使用Java集合的过程中有时需要对List进行删除有以下几种错误使用了不可修改的集合无法删除 public static void main(String[] args) { List<Integer> list = Arrays.asList(1,2,3,4); Iterator<Integer> iterator = li...原创 2020-04-07 15:10:20 · 382 阅读 · 0 评论 -
我再也不会写出这样的BUG了!!!
故事发生在很久之前一个美妙的午后~~ 好吧,这并不重要。 有一个业务是对压缩包文件的整体管理。存储介质使用了AWS的S3存储桶。用户可以通过本服务传递包上系统进行管理和列表的查看。/LOC-bucket为存储的目录,在我的配置文件里以及进行了完整的配置。为了不出错,我在本地进行了多次的调试,一点问题都没有。项目马上就要更新发布了,于是顺其自然的部署了多个环境。过了很多天,测试小姐姐说文件...原创 2020-03-24 16:37:52 · 140 阅读 · 0 评论 -
Mysql union和union all的区别
union 和 union all合并两条或多条查询结果Sql1 union sql 两种结果合并能否查询两张表再合并?可以,union只是合并结果集并不区分列如果两次列名称不一样能否使用?可以,列名以第一个为准两次的列的类型可以一样但是数量必须相同!列数目不同则会报错 错误代码 1222如果union 后的结果有重复 ?结果重合了会进行去重 如果不想去重可以用 unio...原创 2019-07-15 16:59:02 · 6509 阅读 · 0 评论 -
对象转化成JSON格式的字符串
public class bbb { public static void main(String[] args) throws JsonProcessingException { User user = new User(); user.setAge(22); user.setName("小明"); user.setSex(...原创 2019-07-31 17:18:37 · 193 阅读 · 0 评论 -
jdk1.8之后内部类调用局部方法不用final
我们都知道java的内部类局部内部类如果要去访问局部变量,那么局部变量必须声明为final类型。具体可以看下java内部类介绍也就是public class demo { public static void main(String[] args) { doSomething(); } private static void doSomething...原创 2019-07-31 18:03:59 · 12915 阅读 · 0 评论 -
连连支付java实习生面试
之前在app上投递了简历,不久收到了面试邀请就好好的准备了下去了。到现场后先扫码签到 面试官在10分钟内就来了 开始面试 先简单自我介绍巴拉巴拉主要是看简历写的内容问了上家公司离职原因为什么java能一次编译多次运行hashMap 和 Hashtable区别myBatis中 #{} 与 ${}区别还知道哪些并发包内容之前项目如何表设计jwt如何使用 功能 如何登录java类...原创 2019-08-06 14:54:21 · 924 阅读 · 0 评论 -
应届毕业生非计算机专业求职的一些感悟
本人是在一个双非的学校读的大学,大学里学的东西也是非常的杂乱,有会计学,管理学,还有一些计算机网络的知识,并且授予的是管理学学位。目前正好是大三出来实习的时期,但因为自己想往互联网方面发展,本着一颗虔诚的心,缝缝补补好了我的简历,但是收到的拒信让我认清了现实。最终在一家表面看似工厂实际则是互联网企业的公司实习。不知道大家在大学里是什么样的状态,我就先说下我自己的吧。我们班在大学里也是算学习氛围...原创 2019-07-10 14:14:01 · 360 阅读 · 0 评论