摘要:
消除流量洪峰 阅读全文
摘要:
1、初步认识hashMap debug模式,从数据结构上认知HashMap: JDK8中HashMap的数据结构源码: 2、HashMap的两个重要参数 capacity 就是初始化HashMap时的数组容量,load factor 指负载因子; 当我们对迭代性能要求比较高时,不能把capacity 阅读全文
摘要:
【dubbo官网文档】http://dubbo.apache.org/zh-cn/docs/user/quick-start.html 阅读全文
摘要:
【解析hashMap的源码实现】 点击进入hashMap的源码实现 0、谈谈对hashMap的理解? 从底层结构、存取、扩容、冲突、实现原理、源码等方面说明。 1、你知道哪些常用的Map集合? HashMap、HashTable、LinkedHashMap、ConcurrentHashMap。 2、 阅读全文
摘要:
前言 在如今的互联网项目开发当中,特别是Java领域,可以说Maven随处可见。Maven的仓库管理、依赖管理、继承和聚合等特性为项目的构建提供了一整套完善的解决方案,可以说如果你搞不懂Maven,那么一个多模块的项目足以让你头疼,依赖冲突就会让你不知所措,甚至搞不清楚项目是如何运行起来的,专题的目 阅读全文
摘要:
【clean】: mvn clean install -e -Dmaven.test.skip=true 【-e参数可以打印出错误信息】 【install】:将指定位置的包打到仓库 mvn install:install-file -Dfile=D:transformer.client-test-S 阅读全文
摘要:
1、功能点梳理,包括主要逻辑 2、开发和自测时间点 3、联调时间节点 4、提测时间点 5、上线时间点 整理项目计划xmind如下图: 项目相关: brd、prd、时序图、流程图、er图 业务流、数据流 了解项目要了解项目的背景 为什么要这样设计 目的是什么 阅读全文
摘要:
jinkins 概述 jinkins 本身是一个 webapp 项目,部署在了tomcat 环境下,就变成了一个网站。他有一个功能,就是构建,构建的时候做了什么事情? gitlab 获取代码 maven 打包 mvn clean package source:jar deploy 把生成的war 包 阅读全文
摘要:
怎么操作会导致MySQL锁表 阅读全文
摘要:
代码优化的目标是 减小代码的体积 提高代码运行的效率 减小代码的体积 提高代码运行的效率 代码优化细节 1、尽量指定类、方法的final修饰符 带有final修饰符的类是不可派生的。在Java核心API中,有许多应用final的例子,例如java.lang.String,整个类都是final的。为类 阅读全文
摘要:
1、默认方法的定义和作用 在Java8以前的版本中,由接口定义的方法是抽象的,不包括方法体。JDK8版本的发布改变了这一点,其中给接口添加了一个新的功能:默认方法。默认方法允许为接口方法定义默认实现。也就是说,通过使用默认方法,现在可以为接口方法提供方法体,使其不再是抽象方法。 默认方法的主要作用是 阅读全文
摘要:
一、Lambda表达式是什么? Lambda表达式有两个特点 一是匿名函数,二是可传递。 匿名函数的应用场景是 通常是在需要一个函数,但是又不想费神去命名一个函数的场合下使用Lambda表达式。lambda表达式所表示的匿名函数的内容应该是很简单的,如果复杂的话,干脆就重新定义一个函数了,使用lam 阅读全文
摘要:
【Alibaba Java Coding Guidelines alibaba】阿里巴巴 代码规约扫描插件。 【jRebel】可以热部署Java项目而不用重启。 【http://139.199.89.239:1008/88414687-3b91-4286-89ba-2dc813b107ce 1234 阅读全文
摘要:
【ctrl + k】 git commit代码 【ctrl + shift + k】 git push 代码 【ctrl + f】 当前文件查找,配合【f3】 查找下一个匹配项 【ctrl + e】列出最近访问过的文件 【ctrl + n】查找类 【ctrl + shift + n】查找文件 【双击 阅读全文
摘要:
线程池 阅读全文
摘要:
循环 阅读全文
摘要:
Optional 阅读全文
摘要:
java8新特性--并行流 阅读全文
摘要:
Lambda表达式的用法,并行流、Optional、循环、线程池等 阅读全文
摘要:
使用阿里代码规约IDEA插件扫描了工程代码,发现了需要优化的地方,希望大家可以在开发自己的项目时避免此类问题。 【Blocker】 【Critical】 【Major】 阅读全文
摘要:
设置key凌晨过期的思路 应用场景 代码示例 阅读全文
摘要:
常量类要定义成枚举。可以更全面的看出定义的枚举以及描述信息。 for循环中不能有数据库操作,或者rpc操作。循环库建立数据库连接查询是非常消耗数据库资源的。 for循环中的数据库或者rpc操作应提取到循环外边,使用ids进行in查询 或者使用批量查询接口,减少数据库或者rpc接口的交互。 列表分页写 阅读全文
摘要:
分析思路 问题原因 dubbo接口的数据传输需要进行序列化。 解决方法 在服务提供方,返回的DTO implement Serializeable。 报错信息 阅读全文
摘要:
Java基础 JVM Spring zookeeper redis dubbo 多线程 Mysql 设计模式 队列 网络协议 RPC MQ 算法 工具 项目设计 Linux 分布式 阅读全文
摘要:
1、自我介绍? 2、为什么要离职?之前几家公司离职的原因分别是什么? 3、从上一家公司离职的原因? 4、目前就职的公司最大的收获是什么? 从上家公司到目前公司的最大收获是什么,要突出目标明确,在当前的公司达到的预期的目标。 5、如何看待你应聘的这个职位? 6、找一个最有挑战性的项目介绍一下? 7、处 阅读全文
摘要:
1、索引底层数据结构B+Tree详解 索引的本质 索引是帮助MySQL高效获取数据的排好序的数据结构 索引存储在文件里 索引的结构 二叉树 (红黑树[平衡二叉树])、HASH、BTREE【多叉树】 索引为什么不使用二叉树来存储? 对于非自增的数据可以使用,如下图所示 对于自增的数据不能使用,如下入所 阅读全文
摘要:
1、跳出来看全景,钻进去看本质 在进入一个新领域学习时,建立一张学习线路的全景图,由点成线由线成面,贯穿整个学习过程。(全景图就像一棵树的树干,有了树干才会有树枝,才会枝繁叶茂) 在学到某个具体问题时,钻进去看本质,了解技术背后的理论模型,了解当初这个理论产生的环境时什么,主要解决什么问题。 方法论 阅读全文
摘要:
流程图关注的是业务逻辑本身,是有一种面向过程的工具;无法为软件内部的交互提供分析支持。 流程图着重描述处理过程,它的主要控制结构是顺序、分支和循环,各个处理过程之间有严格的顺序关系。 流程图面向业务逻辑,可以为软件的业务处理流程分析提供帮助。 使用场景 复杂的业务流;多种可能情况可供选择;多种处理结 阅读全文
摘要:
文章结构 前言 想要读懂 Java 中的并发包,就是要先读懂 CAS 机制,因为 CAS 是并发包的底层实现原理。本文主要讨论 synchronized:大材小用 我们先来看几行代码: 假如有100个线程同时调用 increment() 方法对 i 进行自增操作,i 的结果会是 100 吗? 学会多 阅读全文
摘要:
大多数java开发的小伙伴都用过maven来对包进行管理。在自己写项目的过程中,对自己的项目也会进行groupdId,artifactId,version的配置。下面我们来对着3个配置进行简单说明。 配置文件中gav的说明 groupId:顾名思义,即组织或公司,一般我们会用公司或者自己的前几级包名 阅读全文
摘要:
一、Redis简介 redis主要解决的问题 分布式缓存是分布式系统中的重要组件,主要解决高并发、大数据场景下,热点数据访问的性能问题,提供高性能的数据快速访问。 使用缓存常见场景 项目中部分数据访问比较频繁,对下游 DB(例如 MySQL)造成服务压力,这时候可以使用缓存来提高效率。 主要的缓存组 阅读全文
摘要:
参考:【责任链模式】 阅读全文
摘要:
SaaS是Software-as-a-service(软件即服务)。 SaaS是一种通过Internet提供软件的模式,用户不用再购买软件,而改用向提供商租用基于Web的软件,来管理企业经营活动,且无需对软件进行维护,服务提供商会全权管理和维护软件,对于许多小型企业来说,SaaS是采用先进技术的最好 阅读全文
摘要:
1.复制过程 2.数据间的同步 上面说的复制过程,其中有一个步骤是“同步数据集”,这个就是现在讲的“数据间的同步”。 redis 同步有 2 个命令:sync 和 psync,前者是 redis 2.8 之前的同步命令,后者是 redis 2.8 为了优化 sync 新设计的命令。我们会重点关注 2 阅读全文
摘要:
https://developer.huawei.com/ict/cn/edu-online/site-iot-nb-002 阅读全文
摘要:
一.Redis的高并发和快速原因 一.Redis的高并发和快速原因 1.redis是基于内存的,内存的读写速度非常快; 2.redis是单线程的,省去了很多上下文切换线程的时间; 3.redis使用多路复用技术,可以处理并发的连接。非阻塞IO 内部实现采用epoll,采用了epoll+自己实现的简单 阅读全文
摘要:
1、标记 - 清除算法 (Mark-sweep算法) 最基础的收集算法 两个阶段: 分为“标记”和“清除”两个阶段:首先标记出所有需要回收的对象,在标记完成后统一回收所有被标记的对象。 两个不足: 1、效率问题,标记和清除两个过程的效率都不高。2、空间问题,标记清除之后会产生大量的不连续的内存碎片, 阅读全文
摘要:
111 阅读全文
摘要:
GC 经常发生的区域是堆区,堆区还可以细分为新生代、老年代 jvm堆示意图 新生代 一个 Eden 区 两个 Survivor 区 老年代 默认 新生代(Young)与老年代(Old)的比例的值为 1:2 (该值可以通过参数–XX:NewRatio 来指定)。 默认的 Eden:from:to=8: 阅读全文