自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(66)
  • 资源 (2)
  • 收藏
  • 关注

原创 HTTP学习

HTTP相关问题是面试高频考点,或是要求描述该协议,或是要求同TCP协议、Socket连接进行对比,再或者,会展开询问其请求方式及不同方式的用途,和是否支持断点续传等,本博客为博主自己对搜集资料的汇总和学习式的解析,可能存在部分缺陷或者遗漏,欢迎各位指出错误,希望也能为正在努力学习/面试的你提供到一点小小的帮助。网络七层协议开始介绍HTTP之前,先了解一下网络七层协议,这部分不深究。面试时...

2020-03-25 17:31:21 300 1

原创 Eclipse编译器SWT错误处理方法的汇总

刚进公司的时候发下来的电脑安装eclipse后一直弹出SWT错误,处理了很久都没有弄好,类似错误代码如下!ENTRY org.eclipse.ui 4 0 2016-10-28 22:37:43.854!MESSAGE Unhandled event loop exception!STACK 0org.eclipse.swt.SWTError: No more handlesat org.ecli...

2018-06-11 20:40:33 5301

原创 java文件下载接口无法识别文件名问题

按照网上的资料,实现一个springboot文件下载接口,调用时出了问题,postman send and save之后,得到的永远是response.json 和 response.bin,无论断点时的文件名是什么,总是下载这个文件名 String fileName = URLEncoder.encode( "your file name", "UTF-8"); httpServletResponse.se

2022-05-16 11:23:07 2743

原创 基于Redis和RabbitMQ实现一个异步并发限制工具

背景:现有一个分布式的应用要与第三方报表服务对接,对方提供restful接口,调用这些接口以获取报表信息或者下载报表文件。首先,如果不需要下载文件,直接在MVC架构的service调用这些rest接口就好。可涉及到文件下载,网络IO耗时可能比较长而报表服务能承受的并发量有限,请求过多可能压垮报表服务的接口问题分析与解决思路:限制报表请求的并发量防止报表服务端报错或者崩溃,将请求参数放入分布式队列,利用redis计数currency,超出并发数量就限流,给出排队提示并将请求打回队列头部,未超出则从

2022-04-14 17:29:22 3717 2

原创 Redis分布式锁

背景:新工作的第一个需求要实现分布式的并发控制,跟以往写过的单服务应用不同,synchronized 锁sempheore信号量这种jvm层级的锁就不能满足要求了,要考虑类似阿里开源组件sentinel或者自己实现一个。要实现分布式下的原子性,就要保证进程在操作竞态资源的时候是唯一的,不能出现并发的情况redis锁可以满足这种要求,应用之间,能同时拿到redis锁的服务只能有一个,可以保证分布式下某个操作的原子性对于springboot项目,首先引入redis依赖 &lt

2022-04-14 16:05:27 277

原创 maven高版本引起的项目不被识别问题

近来换了工作和电脑,需要重新配置开发环境,分享一个maven版本引起的问题环境:idea jdk8 maven3.8.5问题描述:1 pom文件无报错,但是代码中所有依赖无法解析,springboot的注解飘红报错2 右键点击项目无法看到maven选项,点击右侧工具栏中的maven选项 + 号选中pom文件直接抛出异常3 点开ProjectStructure 的Libraries选项,发现空白,无任何依赖jar被引入,这表明该项目未被识别成maven项目解决过程:起初以为是配..

2022-04-14 11:44:58 1158 1

原创 源码阅读的注意点

记录一下,工作时一段FIX的源码看不懂,找朋友帮忙一起看时候学到的技巧1 源码类中定义的属性要先看这个部分,简单了解这块源码是做什么的(实现什么功能),源码的命名往往比较规范,通过属性名的定义,很多时候直接能猜到它的职能,比如 DEFAULT_CAPACITY,见到它,就知道它是作为某个默认下标使用2 尝试模拟源码场景,断点尝试将源码的数据输入模拟成main方法进行断点,观察源码走向3 联系类内部属性,划分结构查看好的代码会对不同逻辑进行拆分,联系类内部定义的属性,如if(A) ge

2022-03-02 09:49:27 88

转载 理解线程回调(转)

java——多线程回调函数 - kelelipeng - 博客园 (cnblogs.com)

2022-02-11 10:26:02 117

转载 多线程-回调

参考:wenzhi的博客_峥嵘life_CSDN博客-android,java,UI领域博主简单介绍下背景,为什么会突然想到去学回调相关的,虽然之前不会,但是也没有想到去看最近换了一个项目组,我之前是做OA系统的,总的来说,OA的代码没什么难度,就是各种形式的CRUD。新项目组代码难度直接提升了一个量级,自研自封装通信协议,自研框架,fix通信协议与自研协议转换以及各个系统交互。其中有一个点,据负责人说,线程回调相当普遍,我之前看博客的方向主要是锁,有个大佬告诉我,实际项目中细粒度的锁使用并不普

2022-01-24 17:59:58 1542 1

原创 平时工作遇到的一些小问题

我平是的工作主要是写一些功能模块和接口,以及bug的定位和修复,罗列一些工作中遇到的小问题,算是个整理1 一次开发dubbo接口时,在dubbo调用的接口里又调用了第三方接口,于是我本地同时启动两个springboot项目,但是一直报错,后来才突然意识到,是dubbo的默认20880TCP端口和tomcat的8080端口冲突了,且注意,dubbo的请求与响应实体类要实现序列化接口,另外,dubbo的测试可以直接使用命令行,telnet IP port,调用方法用invoke,不要再去安装jemeter插

2021-09-02 14:17:33 236

原创 多线程基础-ReetrantLock

参考:https://csp1999.blog.csdn.net/article/details/116331409https://blog.csdn.net/javazejian/article/details/75043422你知道怎么实现多线程同步问题吗?join不算,还知道吗 - 知乎 (zhihu.com)学习多线程一段时间后,视野中出现了各式各样的“锁”,起初是眼花缭乱的,但是仔细整理一下发现还是有规律可循的。现在我理解的大致基础向并发编程学习思路就是1 多线程基础,包括

2021-07-29 14:37:02 577

原创 Bigdecimal构造注意事项

使用Bigdecimal运算时,如果使用double类型入参会引起进度问题,需要统一转为字符串构造方法如下Bigdecimal a = newBigdecimal(0.06); ×Bigdecimal b = new Bigdecimal("0.06") √

2021-07-16 16:43:37 96

原创 自旋锁的简单介绍

参考:http://blog.onlycatch.com/post/自旋锁https://blog.csdn.net/qq_34337272https://blog.csdn.net/qq_34337272可重入锁的获取和释放需要注意的一点儿事_aty-CSDN博客Java并发编程-无锁CAS与Unsafe类及其并发包Atomic_zejian的博客-CSDN博客深入理解Java并发之synchronized实现原理_zejian的博客-CSDN博客_synchronized原理

2021-07-16 10:23:17 248 2

转载 ThreadLocal使用与原理(转)

转自:ThreadLocal使用与原理_敖丙-CSDN博客本准备看ConcurrentHashMap的知识,突然发现需要很多并发方面的知识,于是又去补多线程和并发知识,除了基础方法 线程状态 CAS AQS 和ThreadLocal这些也都需要做些了解https://blog.csdn.net/javazejian/article/details/75043422(AQS)https://blog.csdn.net/javazejian/article/details/72772470(CAS)

2021-07-13 10:06:20 97

转载 java中强弱虚软四种引用简介

文章转自:Java的四种引用之强弱软虚 - zwbg - 博客园 (cnblogs.com)要知道ThreadLocal内存泄漏的原因,需要先了解java中的强软弱虚四种引用ThreadLocal中的key属于弱引用,而value属于强引用对于不同类型的引用,java的GC对其有不同的回收机制在java中提供4个级别的引用:强引用、软引用、弱引用和虚引用。除了强引用外,其他3中引用均可以在java.lang.ref包中找到对应的类。开发人员可以在应用程序中直接使用他们。1 强引用强引用.

2021-07-13 09:19:33 852

转载 多线程基础-ThreadLocal(转)

转自https://blog.csdn.net/qq_35190492/article/details/107599875(ThreadLocal)https://blog.csdn.net/zxh87/article/details/19414885(simpleDateFormat线程安全问题)题外话:提到ThreadLocal,我还能记起很久之前看的一篇文章,主题并不是关于ThreadLocal,主要是将SimpleDateFormat这个类的线程安全问题,以及具体的解决办法,初读这一

2021-07-11 16:15:46 86

原创 多线程基础-CAS(乐观锁)

参考:https://blog.csdn.net/Hellowenpan/article/details/103202898https://blog.csdn.net/v123411739/article/details/79561458https://csp1999.blog.csdn.net/article/details/116136920写在前面:很多人(包括我)刚了解多线程这个概念的时候,对并发的概念理解是很模糊的,也不清楚所谓的线程安全问题到底是什么意思,这些概念是必须要明确清晰

2021-07-10 20:25:46 195

原创 java中的深浅拷贝

参考:https://csp1999.blog.csdn.net/article/details/115702607在过去很长的一段时间里,博主对深浅拷贝的区别在脑海中的概念大概如下:首先,拷贝这玩意儿就像是复制,有点像我们把对象中属性通过反射遍历然后挨个赋值给另一个对象假如一个类由若干类组合而成,内部包含若干其它类的对象的引用浅拷贝就只拷贝一般属性值,不拷贝引用,而深拷贝则会拷贝所有属性然后我看了一眼大佬的博客,发现完全错了,属于是歪到银河系以外了已经是对象的存储机制此处是jv

2021-07-10 15:20:25 99

转载 HashMap源码解析(转载)

转自https://csp1999.blog.csdn.net/article/details/109442223https://csp1999.blog.csdn.net/article/details/109496637HashMap主要考点就是hash冲突处理方式和扩容机制,以及后续引入的红黑树涉及红黑树会有更多的考点 左旋 右旋 染色以及其定义特征 还有插入 删除的平衡操作到现在我也没有找到合适的删除数据平衡的总结,实在不行去捋下HashMap中的树的删除方法...

2021-07-06 14:53:14 70

转载 HashTable源码解析(转载)

转自https://csp1999.blog.csdn.net/article/details/112853249如果你看过一些HashMap的源码,不难发现,很像hash算法不同的旧版HashMap,且所有方法加了锁所以是线程安全的,另外就是在put null作为key的时候会抛出NPE异常而不是像HashMap一样专门留个位置存null的key...

2021-07-06 14:46:55 81

转载 HashSet源码解析(转载)

转自草帽的博客https://csp1999.blog.csdn.net/article/details/112602510HashSet基于HashMap实现,所有元素的value值均为一个Object常量值,所以它也具有HashMap的特性,无序,线程不安全,键值不能重复在工作中我曾遇到一个问题,就是连续操作几个Set,其中一个Set包含""元素,我调用remove("")无法删除其中的""空元素,导致DB仍旧写入了这个空值,具体原因没有深究,当时的解决方案是new一个HashSet,旧的s

2021-07-06 13:58:50 62

原创 java8 HashMap面试问题点整理

这里放一个大佬博客的传送门https://blog.csdn.net/v123411739/article/details/78996181在开始看JDK8之前,我注意到博客中提到java7中的HashMap在多线程下会抛出异常,HashMap本身并不是线程安全的,但还是关注一下用来学习。java7下HashMap并发条件下行程环形链表并在调用get方法后报错的原因do { Entry<K,V> next = e.next; // <--假设线程一执行到这里就被调

2021-07-06 10:29:22 149

原创 dubbo接口调试

具体见语雀文档:dubbo接口测试方案 · 语雀 (yuque.com)对于dubbo接口的调试,网上大多是两个方案1 jemeter + dubbo插件2 加一个对外暴露的rest接口来调用无论哪个都不太方便,百度查阅了一下,还是官方文档靠谱我这里,生产者 消费者都配置在同一处,注册中心是zk启动项目,观察dubbo的服务注册地址以及端口号,可以根据dubbo.xml中的注册信息找到,如果log没打印,可以尝试调整log输出到控制台的级别,我的是debug# 链接进入服务

2021-07-01 10:01:44 675

转载 java基础-移位运算

转载自草帽大佬:(2条消息) JAVA基础提高之位运算_兴趣使然的草帽路飞-CSDN博客不建立中间变量交换a b值的面试题我见过,不过没答出来-_-移位中,判断奇偶性和交换值,还有加密感觉都很实用,平时工作也值得一试~...

2021-06-29 16:39:47 77

转载 java删除字符串中的空格

转自:(2条消息) java中去掉字符串中的空格及空白字符_心静思远-CSDN博客1. String.trim() trim()是去掉首尾空格2.str.replace(" ", ""); 去掉所有空格,包括首尾、中间 String str = " hell o "; String str2 = str.replaceAll(" ", ""); System.out.println(str2); 3.或者replaceAll(" +",""); 去掉所有空格 ...

2021-06-29 14:33:22 196

原创 ASCII码表是什么鬼

基础概念,初学者向~见知乎这位大佬的文章~ASCII码是什么意思? - Oberon的回答 - 知乎 https://www.zhihu.com/question/419185359/answer/1452012086概括就是:计算机二进制只能表示数字,而我们用到的远远不止数字,还有字符 各种符号如{ 【等,那计算机怎么存储这些东西呢?按照一定规则,将这些数据转换成数字,换成二进制存储,然后再对照“翻译表”,翻译成各种需要的字符 符号...

2021-06-25 10:39:09 293

原创 List<T>中元素排序

1 结构public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, Serializable依照之前对ArrayList和LinkedList的阅读,道理基本也是互通的,不同的是map接口定义了两个泛型K,V,这是因为HashMap需要以键值对的形式存储数据2 属性...

2021-06-25 10:30:54 155

原创 二叉树 平衡二叉树 B树 B+树

https://mp.weixin.qq.com/s/HSp1gZr55DX3ErRw0du1aw

2021-06-14 16:46:16 203

原创 计算机网络的部分基础知识

这是博主在之前读博客和资料时做的笔记,主要是讲一些网络方面基础知识,包括TCP UDP HTTP等,感兴趣请自取侵删致歉https://app.yinxiang.com/fx/06c174b9-9d53-4fba-be4b-e44f32f87f20

2021-06-14 15:50:13 72

原创 java8LinkedList源码阅读解析

参考:https://blog.csdn.net/mq2553299/article/details/76551221https://www.cnblogs.com/dsxie/p/12945384.htmlJava Collection库中有三类:List,Queue,Set;而List接口,有三个子实现类:ArrayList,Vector,LinkedList。LinkedList如其名,链表,像锁链一样一环扣一环的数据结构。我们先回顾一下链表的特性,和数组做一个对比数组因为有下

2021-06-13 21:39:03 1185 2

原创 java8ArrayList源码阅读解析(新)

参考https://blog.csdn.net/u010250240/article/details/89762912https://www.jianshu.com/p/ccbe93b5ec76之前写过一篇读源码的博客,第一次尝试着去阅读ArrayList的源码,算是在漫长的CRUD生活中添加了一缕别样的色彩。当我自己再去读这篇博客的时候,您猜猜怎么着?哎,我当时就忍不住笑了出来,那更像是一篇充满了错别字的阅读笔记,而且是顺序阅读代码,对整体实现思路的总结没有,还有不少错误的描述,但是考虑到

2021-06-10 16:04:31 159

原创 多线程基础总结

参考了以下博客https://www.cnblogs.com/weechang/p/12520252.htmlhttps://www.cnblogs.com/jijijiefang/articles/7222955.htmlhttps://blog.csdn.net/gf771115/article/details/51682561https://www.cnblogs.com/felixzh/p/10345929.htmlhttps://www.cnblogs.com/liyutian

2021-06-09 11:05:47 124 2

原创 java8 ArrayList源码阅读(旧)

ArrayList几乎是我们日常开发最常用的集合了,存对象实例存字符串存数字,常规的存储数据和局部变量存放都经常用到它,今天我准备读一读它的源码,如有错误欢迎指正我们先来看一下ArrayList具体集成和实现了什么接口/抽象类一个一个看,先看AbstratctList<E>,这是一个泛型类,java支持运行时绑定,所以支持动态类型,ArrayList<E>也是个泛型类,这也是为什么我们可以在新建ArrayList时指定内部元素的类型如ArrayList list = ne

2021-06-07 13:59:49 179 7

原创 启用多线程调用接口

最近在做一个定时任务接口,接口的流程很简单,就是调用几个接口,然后将这这些接口的返回json字符串解析,存入后台数据库,编码很顺利,很快完成了。随后负责人很快就发现wen'ti

2021-06-02 10:38:26 5277

原创 快速排序

参考了这位大佬的博客:https://blog.csdn.net/qq_26122557/article/details/79458649强烈建议看一看这位大佬的佳作,图文并茂,很容易理解花样繁多的排序一直是面试官钟爱的问题,可能你写得一手熟练的业务代码,但面对这种突如其来涉及算法的问题先感到手足无措,除了基础外,这类问题还带一些对算法思想的考察,或者说,我个人认为是更偏向于考察后者的。排序方式有很多,经典如冒泡,冒泡排序这里就不多说了,快速排序可以说是冒泡的升级版我们假设现在有一个长度为N

2021-04-07 10:52:52 43 2

原创 axis报错Could not initialize class org.apache.axis.client.AxisClient解决办法

近来接手一个接口平移任务,把旧的接口平移至新平台中。旧的接口使用了axis作为webservice工具,版本为1.4,在jar包中的META-INFO文件中可见随后一切照步骤来,引入依赖,注意在discovery的jar中排除了commons-logging的依赖,因为其自动引入的commons-logging会引起冲突,这也是网上大部分解决方案,排除,并重新引入commons-logging<dependency><groupId>org.apache....

2021-03-18 11:13:57 7884 2

转载 fastjson入门

发现了不错的fastjson的入门教学,转一下https://www.cnblogs.com/wbxk/p/10064737.html

2021-02-24 14:55:54 72 1

原创 记一次日志记录功能的小结

接到一个需求,要求调用webservice接口时,网数据库记录接口调用的request response 和是否成功的状态字段于是很快开始开发,建表,码代码然后很快测试出现第一个问题,请求的request和response字符串都很大,在GBK编码下总和超过4000字节,有时response就已经超过4000字节,(用getByte()方法获取字节数组然后判断长度即可知)然后写入数据库直接报错ORA-01461:仅能绑定要插入 LONG 列的 LONG 值于是百度,找到如下原因,当向ORA.

2021-01-26 09:52:25 74

原创 java集合类

部分内容转自:https://blog.csdn.net/zzw1531439090/article/details/87872424准备重新看看集合类中的好伙计们,先总体整理一下集合体系总体结构下图可以很清楚的说明这张图初学者乍看可能觉得很复杂,咱们来理一理在接口层,jdk主要定义了Map接口和Collection接口,然后分出若干子接口,以Collection接口为例,它的下层子接口有三个,分别是List ,Queue 和Set,然后在它们的基础上实现了ArrayList Lin

2021-01-11 16:02:30 144

转载 java中的IO流

什么是流?流表示任何有能力产生数据的数据源对象或者是有能力接收数据的接收端对象,它屏蔽了实际的I/O设备中处理数据的细节。IO流是实现输入输出的基础,它可以很方便地实现数据的输入输出操作,即读写操作。本片要点介绍流的定义和基本分类。 介绍文件字符流、字节流、转换流、合并流、打印流等使用。 介绍序列化的意义。 介绍两种自定义序列化方式。基本分类根据方向输入流:数据从外部流向程序,例如从文件中读取数据。输出流:数据从程序流向外部,例如向文件中写数据。 根据形式字符流:字符类文件,【.

2021-01-11 14:43:00 98

ES学习笔记.docx

自己汇总的kibana常用操作,常见的增删改查操作以及部分ES中的概念,适用于kibana6.5.0版本

2020-04-28

activiti5.22.0外加整合springmvc的modeler设计器

在各处搜集的activiti5.22.0和整合spring的学习材料,在对应配置文件配置数据源即可运行

2018-02-02

空空如也

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

TA关注的人

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