自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(70)
  • 收藏
  • 关注

原创 我理解的去中心化

去中心化概念用户层面:中心化指广播形式:一人说多人听。类比于上课老师讲课去中心化指广场模式:每个人都可以说,每个人的发言也可以影响其他所有人,类似于英语角服务层面:中心化:所有服务依赖于一个固定的中心节点,中心节点的指令影响所有服务的动作和状态变化去中心化:在一个分布有众多节点的系统中,所有节点都可以自由地互相连接,所有节点都可以阶段性的成为中心节点,但不具备强制的中心控制功能,节点与节点之间相互影响,形成一种对外服务。去中心化性质去中心化并不是没有中心,而是由节点来自由的选择中心。中心

2021-05-14 11:24:55 988 1

原创 java多线程编程核心技术总结 --思维导图 (代码附github地址)

参考代码实例 地址 : https://github.com/wenrouniya/multiThread–java

2020-10-15 20:05:53 230

原创 java 并发编程的艺术 思维导图总结

2020-09-27 18:33:29 212

原创 linux 文件合集

2020-09-21 15:07:30 142

原创 字节电商 三面

二维数组 行有序 求第k大的数逆序链表 求第k大的值伪代码实现一下mutex对static的理解

2020-09-06 15:13:43 714

原创 2020-08-27

多个机器上部署同样的服务 这些服务自身是一个完整的系统叫集群不同的小模块部署在不同的机器上,这些机器组成了一个完整的系统 这个叫分布式系统一. 从索引层优化1.避免回表查询先通过普通索引的值定位聚簇索引值,再通过聚簇索引的值定位行记录数据,需要扫描两次索引B+树,它的性能较扫一遍索引树更低。从索引减少数据的扫描行 即将需要查找的字段全部放入索引中 避免二次回表For example(回表查询):-------------------------------------------------

2020-08-27 16:12:35 79

转载 java基本数据类型和包装类型

1、包装类是对象,拥有方法和字段,对象的调用都是通过引用对象的地址;基本类型不是2、包装类型是引用的传递;基本类型是值的传递3、声明方式不同:基本数据类型不需要new关键字;包装类型需要new在堆内存中进行new来分配内存空间4、存储位置不同:基本数据类型直接将值保存在值栈中;包装类型是把对象放在堆中,然后通过对象的引用来调用他们5、初始值不同:int的初始值为 0 、 boolean的初始值为false包装类型的初始值为null6、使用方式不同:基本数据类型直接赋值使用就好;包装

2020-08-22 20:10:04 120

原创 微服务和soa的区别

微服务=SOA-ESBESB是什么ESB是SOA架构中的中心总线,设计图形应该是星形的,而微服务是去中心化的分布式软件架构。ESB的工作就是提供和调用集成系统的服务。使用了ESB,在大多情况下,每个系统和ESB之间,只需要定义一个访问方法,一个接口。如果一个系统需要重写,改变所有者,生产商或者部门分拆,这个是ESB的工作去处理这个变更。其他的系统都甚至不需要周知,因为他们与ESB的接口不变。微服务是什么服务的创建仅限于一个特定的业务功能,如用户管理、用户角色、电子商务车、搜索引擎、

2020-08-22 20:07:48 213

原创 mybatis # &

mybatis可以通过# $ 进程sql拼接 拼接后的sql其实并没有什么不同但在预编译阶段 #{} ${} 的处理是不同的#{} 在预编译阶段会处理成一个占位符 ${} 只是简单的字符串拼接#{} 的参数替换是发生在 DBMS 中,而 ${} 则发生在动态解析过程中所以 &{}会产生sql注入的问题什么是DBMSDBMS 是“数据库管理系统”的简称(全称 DataBase Management System)。实际上它可以对多个数据库进行管理,所..

2020-08-22 11:58:03 518

原创 进程 线程 协程 子进程

进程和线程进程就是应用程序的启动实例。比如我们运行一个游戏,打开一个软件,就是开启了一个进程。进程拥有代码和打开的文件资源、数据资源、独立的内存空间。线程从属于进程,是程序的实际执行者。一个进程至少包含一个主线程,也可以有更多的子线程。线程拥有自己的栈空间。进程和线程都是操作系统管理的线程有 初始化 可运行 运行中 阻塞 销毁 五种状态这五种状态是通过JVM 操作 操作系统内核中的TCB(Thread Control Block)模块来改变线程的状态,这一过程需要耗费一定的CPU资源。.

2020-08-22 11:51:37 356

原创 2020-08-18

1.collection stream filter

2020-08-18 12:39:19 94

原创 solr 和es

性能对比集群空闲时的搜索速度集群空闲的含义:整个集群已经构建好所有的索引数据,只进行搜索,不再同步写入任何索引数据。可以看到,在这种条件下,ES进行一次搜索需要大约50ms的时间,但是Solr一次搜索只需要不到20ms的时间。Solr的搜索速度在静态搜索的前提下具有明显的优势。写入索引时的搜索速度测试条件:每3秒写入一个doc索引在写入索引的同时,进行搜索,ES进行一次搜索需要的时间没有明显变化,但是Solr的搜索速度下降了一个量级(20ms ---- 200ms ---- 2200m.

2020-08-18 11:09:26 374

原创 cookie and session

分布式session的解决方案1.Session复制在支持Session复制的Web服务器上,通过修改Web服务器的配置,可以实现将Session同步到其它Web服务器上,达到每个Web服务器上都保存一致的Session。优点:代码上不需要做支持和修改。缺点:需要依赖支持的Web服务器,一旦更换成不支持的Web服务器就不能使用了,在数据量很大的情况下不仅占用网络资源,而且会导致延迟。适用场景:只适用于Web服务器比较少且Session数据量少的情况。可用方案:开源方案tomcat-redis.

2020-08-17 11:36:04 109

原创 linux 看日记命令合集

文件夹中的日志按时间排序 最新的在最后面ls -t | tac按200行的维度 滚动展示日志尾部tail -fn 200 filename展示含有关键字的grep -i '关键字' filename

2020-08-13 18:04:55 83

原创 http链接和请求相关问题

一个tcp连接可以发送集合http请求答:在http1.1时 一个tcp连接建立后发送一个http请求连接就会断开 称为短连接 某些服务器对 Connection: keep-alive 的 Header 进行了支持。意思是说,完成这个 HTTP 请求之后,不要断开 HTTP 请求使用的 TCP 连接。这样的好处是连接可以被重新使用,之后发送 HTTP 请求的时候不需要重新建立 TCP 连接。 持久连接:既然维持 TCP 连接好处这么多,HTTP/1.1 就把 Connection 头写进标准,并且默..

2020-08-10 10:41:28 473

原创 阿里淘系一面面经 后台开发

自我介绍项目里用到的技术springboot 是干什么的springboot的启动类源码有了解过吗springboot 和spring的区别spring主要是干什么的如何理解spring的AOP 实现方式有集中怎么理解动态代理jvm的动态代理和CGLIB有什么区别 只有实现接口和类的区别吗http和https 什么区别https的加密证书怎么获取加密后客户端保留的是公钥还是私钥http是哪一层的协议 底层用什么协议tcp三次握手过程 isn的变化 syn在tcp头部是什么结构.

2020-07-28 18:15:00 188

原创 spring高频面试题

1. spring ioc的启动过程:spring IOC 容器的启动步骤可总结如下:1 初始化 ApplicationContext环境属性的初始化和验证,启动时间记录和相关标记设置,应用事件和监听者的初始化。2 准备好容器中的 BeanDefinition (eager-initializing beans)对 BeanDefinition 的解析、扫描和注册,BeanDefinition 的扫描和注册大致可以分为 XML 和注解两种,两种方式各自使用的组件有所不同,该步骤的时间也可以在最前

2020-07-28 11:36:41 239

原创 try中有return语句 finally中的语句是否还会执行

try中有return语句 finally中的语句还会执行总结:try中有return语句 语句中的值会保存在本地变量中 无论 finally中对该值做什么处理 都会返回try中的值try和finally中都有return 语句 会忽略try中的return 语句参考文章:https://docs.oracle.com/javase/specs/jvms/se7/html/jvms-4.html#jvms-4.10.2.5...

2020-07-27 16:52:31 673

原创 dubbo原理总结

2020-07-22 23:45:57 112

原创 百度面经 (java后台一面)

给定一个数组 和一个目标值 找出他的子序列 子序列的定义是这个序列中的最大值和最小值加起来小于等于这个目标值 问这样的子序列有几个n个元素的序列有几个子集有一堆石子 两个人拿石子 每次只能拿完全平方数个石子 问 输入一个数n 这个先拿的人有没有必胜的可能有三个线程 需要的资源个数是2 3 4 问 最少给多少个资源 才不会发生死锁tcp传输过程中传说长度过长 报文是怎么处理的 udp呢 若分片之后有一片丢失了 然后会怎么处理...

2020-07-16 20:02:41 319

原创 git命令使用

git branch -r 查看远程所有分支git branch -a 查看远程和本地所有分支git checkout -b xxx origin/master 创建本地分支xxx和远程master分支相关联 这里master代表远程分支的分支名 origin代表远程分支的服务器 不能不写 否则会报错 使用这条命令后 本地的分支会切换成和远程分支同步的一个新的工作空间git pull 远程主机名 远程分支名: 本地分支名将远程分支的更新 与本地分支合并 如果本地分支是当前分支 冒号及后.

2020-07-16 12:21:30 124

原创 mvn The packaging for this project did not assign a file to the build artifact

问题描述用idea 集成的mvn插件进行mvn install 失败 提示错误:The packaging for this project did not assign a file to the build artifact原因暂时不明…解决方式方法1: 在pom.xml中添加<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-install-plug

2020-07-15 15:39:05 258

原创 京东提前批面经

自我介绍说一下final fianlly finaliza的区别将一下你对GC的理解stringbuilder 和stringbuffer的区别redis的数据结构有哪些统计出一个网页中一段时间的用户点击次数hashmap的结构hashmap在多线程环境下可能会产生的问题socket和websocket的区别有一张表有10亿数据 如何迁移到另一张表上mybatis的原理知道吗有三个线程A B C 如何让他们顺序执行问题4 :string 字符串常量stringbuffer 字.

2020-07-14 18:56:16 481

原创 java浅拷贝深拷贝 序列化进行拷贝 延迟拷贝

文章参考:https://juejin.im/post/5c988a7ef265da6116246d11拷贝的目的大多数情况下是在新的上下文环境中复用原有对象的大部分或全部数据浅拷贝1.浅拷贝对象为基本数据类型: 将基本数据类型的值 拷贝一份2. 浅拷贝对象为引用数据类型: 将该对象的地址拷贝一份 若修改了原数据的值 就会影响拷贝的对象的值3. 实现 直接调用Object.copy()即可深拷贝1.深拷贝对象为基本数据类型: 将对象的值拷贝一份2.深拷贝对象为引用数据类型: 创建一个新的对

2020-07-14 15:30:17 181

原创 java基础 == equals()和hashcode()

基本数据类型和引用数据类型基本数据类型即 int double long byte boolean short char float除以上数据类型之外 其他的所以数据类型包括数组和String 都是引用数据类型不同数据类型的存储位置基本数据类型 int i=1;1.1 成员变量(全局变量)即在类中声明的变量 引用和值都存在堆中1.2 局部变量 即在方法中声明的变量 因为方法的结束栈会销毁 在方法中声明的变量的生命周期也会结束 这就是为什么在方法中声明的变量只在方法中有效的原

2020-07-14 10:35:51 91

原创 UNIMPLEMENTED: Method not found java grpc

问题描述写好grpc调用接口 本地postman测试时 发现 找不到方法UNIMPLEMENTED: Method not found解决方案postman不断重试请求 或者不用debug模式 用run启动原因猜想:可能是本地的postman调用本地的grpc接口 而本地的grpc以blocking阻塞启动 在postman调用接口事线程debug卡住了 以至于grpc懒加载 一直没有加载到这个方法grpc接口开发 用postman调用测试过程中遇到的其他问题1.postman接

2020-07-13 14:25:26 3370

原创 idea社区版 filetype中没有protobuf选项 无法识别.proto文件

即idea 中无选中部分 导致.proto文件无法识别原因:settings->plugins中 最后一个插件proto buffer editor安装未选中

2020-07-09 21:05:59 2450

原创 grpc idea java cannot resolve ‘service‘

保安的踩坑日记:就是这样 无论怎么改怎么写 idea都无法解析 .proto文件中的service 这个名词后来无意中查查查 发现第九行 message resourReq 多写了一遍 导致全文多了一个大括号 也就是说 service服务 一直在message的体里面 所以一直不能被idea resolve 被自己蠢死附上一段meven的配置 如果maven的plugins中找不到protobuf的话 可能是没导包导致的<build> <!--

2020-07-09 14:31:05 917

原创 招银网络面经 --java后台方向

自我介绍讲项目以及项目中遇到的技术项目中用到的应用层传输协议 --http还知道别的协议吗 ----https 区别是 http+ssl=https讲一下springmvc路径映射的原理线程池中有哪些重要的参数 线程池execute()方法的执行过程如果有一个线程有异常了会影响线程池的执行吗 --不会线程池如何处理这种异常 这种异常能接住吗数据库的隔离级别 mysql默认哪种 —可重复读可重复读是怎么实现的数据库索引是什么结构为什么要用数据库索引索引会失效吗写一下 从一张账户.

2020-07-08 19:31:31 184

原创 java 注解总结

注解基本注解元注解自定义注解注解分类提取注解信息APT基本注解java提供了五个元注解@Override :指定方法负载的,它可以轻质一个子类必须覆盖父类中的方法,保证父类要包含一个被该方法重写的方法,否则就会编译出错。(只能修饰方法,不能修饰元素)@Deprecated :用于表示某个程序元素(如方法、类)已经过时,如果使用编译器会给出警告@SuppressWarning:被该注释注释的程序元素取消显示指定的编译警告,且该注释一直作用于该程序元素的所有子元素。例如:关闭整个类里的编译器警告

2020-06-26 16:10:18 201

原创 redis设计与实现 总结 思维导图

redis数据结构单机数据库的实现及部分原理多机版数据库的实现及部分原理redis独立功能的实现总结

2020-06-21 13:40:30 286 2

原创 java jar包|介绍|压缩|解压|常用命令

一.概念JAR文件全程是Java Archive File,就是java档案文件。通常JAR文件就是一种压缩文件,与常见的ZIP压缩文件兼容,通常也被称为JAR包。JAR包与一般ZIP文件的区别就是 JAR文件中默认包含了一个名为META-INF/MANIFEST.MF的清单文件,这个清单文件是生成JAR文件时由系统文件自动创建的。二.命令详解jar是随JDK自动安装的,在JDK安装目录下的bin目录中,Windows下文件命名为java.exe,linux下文件名为jar。在命令窗口中执行

2020-06-20 15:49:08 1215

原创 java 集合总结

参考疯狂java讲义 第四版 李刚著

2020-06-03 19:45:30 85

原创 lambda表达式

参考书目:疯狂java讲义 第四版 李刚著

2020-06-03 18:37:42 98

原创 今日bug实录

idea分为旗舰版和社区版 社区版本功能较少 很多插件安装完成后可能无法正常使用 不推荐。。社区版和旗舰版可以在下载时看出 社区版一般文件命名只有idea 而期间版本 会写idea全称加版本号...

2020-03-24 10:02:49 90

原创 leetcode算法思路总结(持续更新..)

1.两数之和2.求两数之和tip1:需要一个预先结点最后返回结果为预先节点的下一个结点tip2:进位 int carry=0;//先将进位置为0int sum=x+y+carry;carry=sum/10;//下一次的进位tip3:当前位的值...

2020-02-24 22:58:16 561

原创 netty入门之hello world

netty compiler异常SCTP not supported on this platform 解决方法:hello 教程实例

2020-02-22 21:24:38 787

原创 从远程拉分支到本地修改再传到远程的一通操作git

1.git clone 远程分支的git链接标题.git clone 远程分支的git链接#将远程分支拉到本地 会有一个隐藏的.git文件 别动!动了git怎么知道你都做了哪些操作git clone -b v2.8.1 https://xxx.git#git拉取远程指定分支下代码(-b 分支名称)checkout -b 本地分支名称 origin/远程分支名称#新建...

2020-02-17 23:45:41 429

原创 今日bug gradle打成war包 Unable to delete file:

具体错误忘记截图了 总之 好玄学改正一:关掉 改了个项目名 重新打开 ok(本人亲测有效)改正二:https://ask.csdn.net/questions/56494改正三:https://blog.csdn.net/dengmengxin/article/details/92988872改正四:https://blog.csdn.net/qq_20925635/article...

2020-02-17 22:34:15 233

原创 java用gradle管理项目 FAILURE: Build failed with an exception.

报错信息:``经过排查是远程办公无法访问公司的maven 拉不到文件设置gradle代理或者可以修改idea的 http proxy然后设置使用idea的gradle插件 从idea代理获取到资源...

2020-02-13 22:46:57 1882

空空如也

空空如也

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

TA关注的人

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