springboot打包及依赖引用问题 记一次自己搭建springboot、dubbo项目过程及踩坑搭建按照百度的文章,https://www.cnblogs.com/kitor/p/11016665.html主要遇到的是打包、依赖引用问题。下面我按顺序说一下我遇到及解决问题的过程。先把解决问题的文档发出来吧,作者写的很清晰。关于springboot打包。https://segmentfault.com/a/11900000197067871.遇到的第一个问题是,将项目打包后,在服务器上面mvn clean in...
RocketMQ如何保证消息的可靠性 公众号上面看到的,给自己留个记录https://mp.weixin.qq.com/s/imLTVwgm8MOiY1_5s3rdFQ 生产阶段:消息在 Producer 发送端创建出来,经过网络传输发送到 Broker 存储端。 存储阶段:消息在 Broker 端存储,如果是主备或者多副本,消息会在这个阶段被复制到其他的节点或者副本上。 消费阶段:Consumer 消费端从 Broker存储端拉取消息,经过网络传输发送到 Consumer 消费端上,并通过重试来最大...
try catch finally看xd的讲解 https://blog.csdn.net/xiangyuenacha/article/details/842347971、不管有没有异常,finally中的代码都会执行2、当try、catch中有return时,finally中的代码依然会继续执行3、finally是在return后面的表达式运算之后执行的,此时并没有返回运算之后的值,而是把值保存起来,不管finally对该值做任何的改变,返回的值都不会改变,依然返回保存起来的值。也就是说方法的返回值是在finally运算之前就确定了的。.
Collections.toMap() 使用流(stream)操作时,很多场景会用到list.stream()…filter()…collect(Collectors.toMap())操作。今天进入collections源码,看一下Collectors.toMap参数的含义。Collectors.toMap()有多个重载方法。public static <T, K, U> Collector<T, ?, Map<K,U>> toMap(Function<? super T, ? extend
String.split() 特殊情况有 * ^ : | . \address.split("\");address.split("\|"); //如果以竖线为分隔符,则split的时候需要加上两个斜杠【\】进行转义address.split("\*");address.split("\????;address.split("\.");address.split("\^");正常情况address.split("@");address.split(",");2.多个符号作为分隔符String addres
list.add(int index,E element)方法 在我使用list.add(int index,E element)方法时。想象中的效果是类似map.put(key,value)一样,替换掉该位置的value;实际效果则是:用于在列表的指定位置插入指定元素,并将当前处于该位置的元素及其后续元素的索引加 1。...
volatile小学 一、内存可见性1.1、CPU缓存一致性简单来讲,就是当某一核改变了共享变量的值,cpu会发出一个指令,让其他核心L1 Cache中保存的值变成失效状态,当其他核心需要读取这个值时,需要到主存中重新加载。1.2、工作内存与主存的一致性若共享变量被定义为volatile,则:写一个volatile变量时,JMM会把线程对应的工作内存中的变量值刷新到主存。读一个volatile变量时,JMM会把线程对应的本地内存置为无效,然后从主存中读取该变量。二、指令重排是否允许重排序第二个操作第二
map.merge() 今天不经意间看到,idea提示代码可以优化。优化后使用map.merge()方法进入源码了解了一下这个方法。一共需要三个参数,key,value,remappingFunction.源码流程:1.先根据key在map中查找oldValue;2.1. 如果改map中没有对应key的entry(或查到oldValue为null),则将参数中的value赋值给newValue;2.2. 如果查询到不为空的oldValue。将查询到的oldValue和参数value,进行remappingFunct
mysql一二级缓存 一级缓存相同sqlsession以相同查询条件查询,第二次查询会使用第一次查询的,已加入缓存的结果。会有一些情况使一级缓存失效:查询条件不同不是同一个sqlsession同一个sqlsession,,但是两次查询中间穿插增删改二级缓存一个nameSpace(同一个mapper.xml)对应一个二级缓存。一级缓存失效后会将数据存入二级缓存一级缓存查不到,会去查二级缓存不同mapper(不同二级缓存)缓存相互独立默认使用LRU算法。<cache eviction="F
tcp为什么三次握手及四次挥手 为什么在第3步中客户端还要再进行一次确认呢?这主要是为了防止已经失效的连接请求报文段突然又传回到服务端而产生错误的场景:所谓"已失效的连接请求报文段"是这样产生的。正常来说,客户端发出连接请求,但因为连接请求报文丢失而未收到确认。于是客户端再次发出一次连接请求,后来收到了确认,建立了连接。数据传输完毕后,释放了连接,客户端一共发送了两个连接请求报文段,其中第一个丢失,第二个到达了服务端,没有"已失效的连接请求报文段"。现在假定一种异常情况,即客户端发出的第一个连接请求报文段并没有丢失,只是在某些网络节.
rocketMq小学 https://www.jianshu.com/p/2838890f3284一、组成1.name server 无状态节点,可以部署集群,节点间无信息同步。2.broker 分为主-从:1-n主从对应关系通过指定相同brokerName,可以通过设置brokerId = 0为主,其他为从,可以多master。每个broker与name server所有节点建立长连接,broker定时(每30s)向所有name server节点注册topic。name server节点定时(每10s)扫描所有存活
国王挖金子(动态规划) 最近在学习动态规划,看到该例题,看文章的代码有些错误,自己写了一下。一维数组解法。例题2:国王和金矿 (双维度动态规划)有一个国家发现了5座金矿,每座金矿的黄金储量不同,需要参与挖掘的工人数也不同。参与挖矿工人的总数是10人。每座金矿要么全挖,要么不挖,不能派出一半人挖取一半金矿。要求用程序求解出,要想得到尽可能多的黄金,应该选择挖取哪几座金矿?1、400金/5人 2、500金/5人 3、200金/3人 4、300金/4人 5、350金/3人// n:金矿个数// w:人数
寻找两个有序数组的中位数,看到的大佬的方法 https://leetcode-cn.com/problems/median-of-two-sorted-arrays/solution/jiang-qi-zhuan-wei-zhao-liang-ge-you-xu-shu-zu-de-/两个有序数组的中位数可以转化为---求两个有序数组的第t小的数设i,j分别为nums1和nums2结果的索引位置,n为nums1长度,m为num...
最长回文子字符串 https://www.jianshu.com/p/116aa58b7d81在字符串每个字符间加#,使字符串变为2n+1+1为奇数长度再以newStr的每一个字符为中心向两边扩散,马拉车算法见上面链接 @Test public void test() { String babad = longestPalindrome("babadada");...
网易视频一面 spring实用设计模式–核心怎么实现@Autowired注解两个实现统一接口得类,按顺序filter和interceptor多线程阻塞队列是干什么得使用链表和concurrent包下实现阻塞队列...