9 LzwGlory

尚未进行身份认证

我要认证

坚持自己的路

等级
TA的排名 588

远程面试蚂蚁金服,三面之后本以为石沉大海,没想到却被直接录取

当前环境,很多公司都采取了远程办公,远程面试。有一说一,第一次远程面试,还是比较紧张的。蚂蚁金服面试(视频一面)Java容器有哪些?哪些是同步容器,哪些是并发容器? 为什么 Java 要采用垃圾回收机制,而不采用 C/C++的显式内存管理? 一个线程的生命周期有哪几种状态?它们之间如何流转的? 什么是活锁、饥饿、无锁、死锁?怎么检测一个线程是否拥有锁? 如何解决同时存在的对象创建和对象回收问题 说说一致性 Hash 原理 新生代分为几个区?使用什么算法进行垃圾回收?为什么使用这.

2020-10-05 00:49:38

springboot项目中使用mvc:annotation-driven问题

背景在一次无意的观察中,发现应用A(一个springboot应用)中的拦截器没有生效,该拦截器通过WebMvcConfigurerAdapter::addInterceptors注册定位分析了一圈代码没有发现异常的情况下,和其他拦截器生效的应用对比,发现唯一的区别在于A使用了mvc:annotation-driven注解该注解会自动生成3个Bean,其中一个bean为RequestMappingHandlerMapping(该点google得知)通过在DispatcherServlet::do

2020-07-24 11:19:34

Spring Boot拦截器不生效

初步现象新建的Spring Boot拦截器不生效1初步排查- 排查拦截器是否注册- 拦截器的excludePathPatterns等属性是否设置正确这些都没问题,进行下一步排查123进一步排查debug DispatchServelt,查看拦截器是否存在handler中结果发现存在两个RequestMappingHandlerMapping实例,其中一个包含新建的拦截器,另一个没有任何拦截器深入为什么存在两个RequestMappingHandlerMapping实例Reque

2020-07-24 11:13:47

Flink总结-设置Jvm参数

jvm设置http://www.360doc.com/content/12/1023/16/9615799_243296263.shtml堆设置-Xms :初始堆大小-Xmx :最大堆大小-XX:NewSize=n :设置年轻代大小-XX:NewRatio=n: 设置年轻代和年老代的比值。如:为3,表示年轻代与年老代比值为1:3,年轻代占整个年轻代年老代和的1/4-XX:Sur...

2020-03-12 16:22:17

Unable to locate Spring NamespaceHandler for XML schema产生的原因及解决方法

结论原因有两个:context、aop及其他spring相关的xml命名空间需要特殊Jar包才能解析。必须确保pom文件中依赖了对应的spring jar包。context对应spring-context.jar包。aop对应spring-aop.jar包。如果配置文件中定义了2个及以上的spring xml命名空间,那么要防止jar包中配置文件相互覆盖。spring系列jar包中配置文件的...

2020-03-03 10:23:14

Flink DataStream 算子 Map、FlatMap、Filter、KeyBy、Reduce、Fold、Aggregate

总结Flink DataStream 算子: Map、FlatMap、Filter、KeyBy、Reduce、Fold、Aggregate 的使用。Map [DataStream->DataStream]Map: 一对一转换,即一条转换成另一条。package com.bigdata.flink.dataStreamMapOperator;import com.bigdata....

2020-03-02 16:24:59

idea日志快捷键模板,方法名称加参数输出

groovyScript("def result=''; def params=\"${_1}\".replaceAll('[\\\\[|\\\\]|\\\\s]', '').split(',').toList();for(i = 0; i < params.size(); i++) {if(i==0){result+='\+\" ' + params[i] + ' :\"\+ '+para...

2019-12-16 15:17:35

Java中try()...catch()用法

在stackoverflow偶尔看到的一个关于try()...catch()的用法,通常我们使用try...catch()捕获异常的,如果遇到类似IO流的处理,要在finally部分关闭IO流,当然这个是JDK1.7之前的写法了;在JDK7优化后的try-with-resource语句,该语句确保了每个资源,在语句结束时关闭。所谓的资源是指在程序完成后,必须关闭的流对象。写在()里面的流对象对应的...

2019-12-13 17:55:14

TimingWheel[时间轮]介绍

Kafka的延迟操作是一个相对独立的组件,他的主要功能是管理延迟操作,底层依赖于Kafka提供的时间轮实现。JDK本身提供的java.util.Timer也可以实现定时任务,但是如果系统请求量巨大,性能要求很高,他们底层所依赖的数据结构存取操作复杂度都是O(nlog(n))为了将时间复杂度降为o(1),一般会使用其他方式的定时任务组件,比如zookeeper的时间桶方式处理session过期,...

2019-11-29 19:05:13

DelayQueue(2)示例

背景网民在网吧上网,交钱上网,到点下机,一个是wangmin实体类,要继承Delayed接口,一个是WangBa类,实现add、take队列元素等信息:public class Wangmin implements Delayed { //姓名 private String name; //身份证号 private int id; //截止时间...

2019-11-29 16:19:28

Kafka session.timeout.ms heartbeat.interval.ms参数的区别以及对数据存储的一些思考

Kafka session.timeout.ms heartbeat.interval.ms参数的区别以及对数据存储的一些思考在计算机世界中经常需要与数据打交道,这也是我们戏称CURD工程师的原因之一。写了两年代码,接触了不少存储系统,Redis、MySQL、Kafka、Elasticsearch…慢慢地发现背后的一些公共的设计思想总是那么似曾相识,再深究一下,就会发现一些隐藏在这些系统背后的...

2019-10-13 10:18:35

并发锁之二:ReentrantReadWriteLock读写锁

一、简介  读写锁是一种特殊的自旋锁,它把对共享资源对访问者划分成了读者和写者,读者只对共享资源进行访问,写者则是对共享资源进行写操作。读写锁在ReentrantLock上进行了拓展使得该锁更适合读操作远远大于写操作对场景。一个读写锁同时只能存在一个写锁但是可以存在多个读锁,但不能同时存在写锁和读锁。  如果读写锁当前没有读者,也没有写者,那么写者可以立刻获的读写锁,否则必须自旋,直到没有...

2019-10-05 12:19:54

synchronized修饰方法到底锁住的是什么

本文参看http://blog.csdn.net/shenshibaoma/article/details/53009505我们先给出本文的结论,synchronized修饰方法锁住的是对象的本身,也是this。下面我们通过代码来验证。public class Test164 { public static void main(String[] args) { MyThr...

2019-10-05 11:47:46

linux下的atop 比top 命令好用多了(监控性能指标)

1.Atop[size=16.0000pt]1.1.Atop介绍 Atop 是计算机系统和进程的监视器, 该程序是一个交互式的监视器,用于查看Linux系统的负荷。它反映了系统硬件资源占用情况,如CPU,内存,硬盘和网络。平均每间隔10秒会显示有关的系统级资源占用情况(CPU,内存,硬盘和网络层)。 [root@skysan~]#atop 1 lPRC...

2019-08-31 22:47:30

Linux中Cache内存占用过高解决办法

在Linux系统中,我们经常用free命令来查看系统内存的使用状态。在一个RHEL6的系统上,free命令的显示内容大概是这样一个状态:这里的默认显示单位是kb,我的服务器是128G内存,所以数字显得比较大。这个命令几乎是每一个使用过Linux的人必会的命令,但越是这样的命令,似乎真正明白的人越少(我是说比例越少)。一般情况下,对此命令输出的理解可以分这几个层次: 不了解。这样的人的...

2019-08-31 22:45:43

Linux内存异常:活跃进程使用的内存远远低于实际使用的内存

系统环境 [root@ceshiji ~]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) 查看内存常用方法 (1)[root@ceshiji ~]# top 说明:top 按内存列排序,使用>可以移动到以内存排序 x高亮 z 加颜色。 (2)[root@ceshiji ~]# top -o %MEM ...

2019-08-31 22:23:25

unix socket实现进程通信

抄一段使用unix socket client的c代码#include <stdio.h> #include <stddef.h> #include <sys/stat.h> #include <sys/socket.h>#include <sys/un.h> #include <errno.h> ...

2019-08-31 18:47:49

unix套接字

unix套接字常识点性能很多时候,我们用本机进程间通信时,会使用本地套接字unix socket来通信。本地套接字少了网络头、检验码等等一系列的东西,函数调用也没那么深,所以性能很高,在本地,使用unix socket+字节流,比tcp本地回路快两倍左右。使用unix socket+数据报,比udp本地回环快10%左右。缓冲区大小对于 unix domain socket,设置 ...

2019-08-31 11:47:28

本文主要讲了笔者使用Strom中的一些优化建议

1、使用rebalance命令动态调整并发度Storm计算以topology为单位,topology提交到Storm集群中运行后,通过storm rebalance 命令可对topology进行动态调整。比如增加Topology的worker数,修改Bolt,Spout的并行执行数量 parallelism等,从而实现topology的动态调整,达到弹性计算的目的。(当然调整时要配合监控模块)...

2019-08-11 11:34:15

storm定时任务使用实例

[http://twitter.github.io/heron/docs/getting-started/]1.背景需要在bolt中定时执行某些操作2.方法都是利用系统自带的定时tuple来完成,相当于系统自动发一个带有特殊标记的tuple,然后自己在bolt中判断,若为此特殊tuple,执行定时函数。(1)如果所有bolt都需要定时,可在topology入口处通过config设置...

2019-08-11 11:33:09

查看更多

勋章 我的勋章
  • 阅读者勋章Lv1
    阅读者勋章Lv1
    授予在CSDN APP累计阅读博文达到3天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 分享精英
    分享精英
    成功上传11个资源即可获取