首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

BRVAH从0到1024的过程

作者博客 http://www.jianshu.com/u/f958e66439f0 前言 第一次做开源项目,从0到1024个star数量经历了一个多月的开发和维护,从新手到入门(至于之后的阶段,我也还在摸索中...只要原有代码量的30%即可完成显示功能,后来随着项目需求的增加不断的完善封装,使得只需要简单的几行代码就可以完成的需求(如:添加头部尾部、添加列表动画、等等)。...前提:在github上面没有查找到有满足我的需求的开源项目,我才造轮子的。...确定star了我的项目,肯定看过源码或者用过我的项目,这样入群后才有更深入技术的交流,群里面内容质量才能够得到保障。 选拔人才,从使用者中选择,让他们加入开发或维护,这样才能把这个东西做好做大。...我建议大家都去开源实践,无论你的技术如何,分享是互联网的一种精神,献出自己的一份代码,帮助更多人吧,也许你曾经使用过别人的开源框架,而现在你也开源以同样的方式献出自己的一份力量,无论结果怎样,你总会有收获

39330

Qps从300到1500的优化过程

很久没更新公众号,最近压测一项目,遇到的性能问题比较典型,过程记录下来,给大家做定位调优参考; 表象: 单接口负载测试,qps最高到300,响应时间200ms,应用cpu达到90%以上,8c机器,如下图...当然这是一种解决方案,但我认为如果直接这么去做,这是一种最low的方案,而且并不能发现本质问题;回到刚刚说的,我仅仅描述了应用服务器的状态,从完整的性能测试来看,整个链路各个指标都需要监控,把链路撸了一遍之后...从监控中发现了这两个问题,继续看应用cpu,查看部署细节,该服务器部署了约10个docker节点,查看各个docker节点状态,其中一台达到623.59%(*核数)如图, ?...大量的数据,导致流量较高,且大量数据会频繁的ygc会导致应用cpu的飙升,这么解释没毛病,道理上是通的,但这只是你的猜测,还要去做进一步验证,说了大量数据,那是什么业务的数据,在不做代码走读的情况下,我一般就...dump,获取cpu消耗热点方法,dump到文件中发现用户信息中带大量优惠券的jedis方法(如图), ?

1.6K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    从涂鸦到发布——理解API的设计过程

    成功的API设计意味着要设计出一种接口,让它的使用方式符合它的目的。作为API设计者来说,我们所做的每个决策都会影响到产品的成败。...如果你要做出一个正确的设计决策,很可能会先做出一个错误的决策,并从中吸取经验教训。实际上,你很可能会在多次犯错之后才能够接近正确的决策。...举例来说,我们在开始设计时可能会从某个XML结构文档中提取出单词、从schema.org获取一份词汇表、或者从某个ALPS或RDF文档获取信息,这取决于我们的需求。   ...请再次注意,没有必要画出草图的所有细节,我们的目标是表达出API里最重要的部分。   最重要的一点在于,最初的草图无需过于深入。比方说,请尽量避免在这一阶段就深入到错误流的建模,或响应消息元素的设计。...即使像WADL这样仅作为规范发布的IDL,也能够从SoapUI这样的工具中受益。   Apiary为Blueprint语言所提供的编辑器有很强的竞争力,因为它提供了一套完整的工作流工具以支持设计过程。

    1.4K40

    java从入门到精通_Java 入门到精通的过程

    需要定期检视,抬头看路,因为如今环境和大势的变化也是很快。在边走边看的过程中逐步就清晰了近期的规划甚至远期的理想。...李笑来老师也曾写过一篇文章《从平庸走向卓越的最佳策略》,里面提到的最佳策略就是:“多维度打造竞争力”。从技术到管理似乎就是一条多维度的发展路径,是这样吗?...而这个足够突出的维度,实际上就是你现在赖以生存的维度,又称基础维度,这是其他维度得以发展的根基。 所以,若你真想在程序员这条道路上从入门到精通,选择了这个维度作为基础维度,就需要不断在这个维度去精进。...无处不在的自动化 而过去十年我一直都在与这些问题做斗争,当这些问题倒下而你还在程序员的阵地上,想必那时你就会让人感受到那种「无名的品质」,那么你也就走完了程序员从入门到精通之路。...… 这是一篇从入门到精通的索引,定位程序员的职业道路,学会学习的方法与路径,保持自省的态度,达成程序员这一维的精通,再走向多维。路漫漫,吾等将持续求索。

    1.7K20

    程序员从幼稚到从成熟的过程是什么?

    知乎上有个有意思的问题:“你认为程序员从幼稚到成熟的过程是什么?”关注数超过2500,浏览次数更是超过100w。看来大家都很关心自己熟没有。...对于工作经历并不丰富的Jungle而言,自然是谈不上成熟的。但我相信自己正处在这个过程,所以也回答了一波。 ---- 1....当承担的责任比较重时,在项目中扮演主要角色时,要考虑的,就远远不止修复某个bug了。 设计这个模块的结构(暂不用架构),对上下游的接口如何设计?如何使该模块易于扩展?减少代码复用?低耦合?...ReadMe文档,必要的注释 等等 这些东西会促使我从整体全局去考虑,代码如何设计和实现、业务上如何和上下游交互等等。 ---- 2. 不再痴迷于炫酷的UI,而是注重基础知识和基本技能。...基础知识和基本技能才是基石,运行一段代码,弹出一个炫酷的UI,那它从头至尾这个过程是怎样的?你能把它弹回去吗?

    27020

    从输入URL到渲染的完整过程1

    浏览器有一个重要的安全策略,称之为「同源策略」其中,源=协议+主机+端口,**两个源相同,称之为同源,两个源不同,称之为跨源或跨域同源策略是指,若页面的源和页面运行过程中加载的源不一致时,出于安全考虑,...服务器拿到请求后,响应一段JS代码,这段代码实际上是一个函数调用,调用的是客户端预先生成好的函数,并把浏览器需要的数据作为参数传递到函数中,从而间接的把数据传递给客户端图片JSONP有着明显的缺点,即其只能支持...它的总体思路是:如果浏览器要跨域访问服务器的资源,需要获得服务器的允许图片而要知道,一个请求可以附带很多信息,从而会对服务器造成不同程度的影响比如有的请求只是获取一些新闻,有的请求会改动服务器的数据针对不同的请求...,高兴的像一个两百斤的孩子,于是,它就把响应顺利的交给 js,以完成后续的操作下图简述了整个交互过程图片需要预检的请求简单的请求对服务器的威胁不大,所以允许使用上述的简单交互即可完成。...: Tue, 21 Apr 2020 08:03:35 GMT...Access-Control-Allow-Origin: http://my.com...添加用户成功可以看出,当完成预检之后,后续的处理与简单请求相同下图简述了整个交互过程图片附带身份凭证的请求默认情况下

    66840

    java类加载的过程 父_类加载机制原理

    当系统出现以下几种情况时, JVM 进程将被终止: 程序运行到最后正常接收; 程序运行到使用System.exit()或Runtime.getRuntime().exit()代码结束程序; 程序运行中遇到未捕获的异常或错误结束...类的加载是指把类的.class文件中的数据读入到内存中,通常是创建一个字节数组读入.class文件,然后产生与所加载类对应的Class对象。加载完成后,Class对象还不完整,所以此时的类还不可用。...从整体上看,验证阶段会完成下面四个阶段的检验过程: 文件格式验证、 元数据验证、 字节码验证、符号引用验证。...-美 , 引用的日标并不一定已组加裁到内存中 直接引用(Direct References):直接引用可以是直接指向目标的指针、相对偏移量或是一个能间接定位到目标的句柄。...到了初始化阶段, 才真正开始执行类中定义的 Java程序代码。从代码角度,初始化阶段是执行类构造器()方法的过程。

    71520

    记录一下从懵懂到理解RESTful的过程

    这就是初识RESTful的情形,第一次接触RESTful的时候,我的关注点在URL和Servlet拦截配置上,以那时的技术水平和开发经验来说,似乎也只能意识到这么多,对于RESTful的理解也仅仅在URL...RESTful去的,其实嘛,也不是很懂,这是真心话,只是听着老师傅说这么做是去优化代码的,作为菜鸟的我一听到项目优化,肯定是乐意去做的。...存在的问题很多: uri不规范,url命名比较随便 不理解http动词,post和get方法乱用 没有错误处理 也没有跨域处理 ........是可以的,前后端分离的项目中调用的接口不符合REST规范可以吗?也是可以的。...说到这里呢,又引出了一个比较,就是在项目服务化过程中,是选择使用阿里开源的Dubbo还是Netflix开源的SpringCloud技术栈呢?

    97240

    linux系统从开机到登录要经过怎样的过程

    今天这篇我们来学习和了解“linux系统从开机到登录要经过怎样的过程”,下文的讲解详细,步骤过程清晰,对大家进一步学习和理解“linux系统从开机到登录要经过怎样的过程”有一定的帮助。...1、读取MBR的信息,启动Boot Manager   Windows使用NTLDR作为Boot Manager,如果您的系统中安装多个版本的Windows,您就需要在NTLDR中选择您要进入的系统。...3、init进程读取“/etc/inittab”文件中的信息,并进入预设的运行级别,按顺序运行该运行级别对应文件夹下的脚本。脚本通常以“start”参数启动,并指向一个系统中的程序。   ...通常情况下,“/etc/rcS.d/”目录下的启动脚本首先被执行,然后是“/etc/rcN.d/”目录。例如您设定的运行级别为3,那么它对应的启动目录为“/etc/rc3.d/”。   ...如果想变回启动x window,可以输入:   $echo “/usr/bin/gdm” | sudo tee /etc/X11/default-display-manager 以上就是关于“linux系统从开机到登录要经过怎样的过程

    84020

    从输入URL到Web页面呈现的全过程

    当用户在浏览器的地址栏中输入 URL 并点击回车后,页面是如何呈现的。 简单来说,当用户在浏览器的地址栏中输入 URL 并点击回车后,浏览器从服务端获取资源,然后将内容显示在页面上。...这个过程经过了:浏览器缓存 -> DNS 域名解析 -> URL 编码 -> 使用 HTTP 或者使用 HTTPS 协议发送请求 -> 对于访问静态资源的 HTTP 请求:CDN -> CDN 回源到对象存储...TLS 握手 TLS 握手过程的简要描述:通信的双方在 TLS 握手的过程中协商 TLS 的版本号、密码套件,交换随机数、数字证书和密钥参数,最终通信的双方协商得到会话密钥。...Nginx 会根据缓存策略缓存从应用服务器获取到的资源,浏览器也会根据缓存策略缓存收到的内容。...API 网关根据路由规则,将外部访问网关地址的流量路由到内部服务集群中正确的服务节点上。

    83330

    深入了解HTTP:从请求到响应的全过程

    它是万维网的基础,负责在客户端和服务器之间传递超文本文档,支持网页浏览、文件传输、图像加载等各种网络应用。 什么是HTTP?...这个过程通常包括以下步骤: 建立连接:客户端通过TCP/IP协议与服务器建立连接,这是HTTP的基础。...HTTP的工作原理 HTTP的工作原理基于客户端-服务器模型。客户端是发起请求的一方,通常是您的浏览器。服务器是响应请求的一方,通常是托管在互联网上的网站服务器。...404 Not Found:请求的资源不存在。 500 Internal Server Error:服务器遇到错误。 头部信息 HTTP请求和响应都包括头部信息,用于传递元数据。...Cookie是在客户端存储的小型数据,而Session是服务器上的会话状态。 HTTP的安全性 HTTP是明文传输数据的协议,因此不适合传输敏感信息。

    1.3K20

    Excel导入到MSSQL 20052008常见的2个错误

    今天在把从Filemaker导出的Excel再次导入到MSSQL 2008的时候遇到了2个问题,在此记录一下省的下次再费时间搜索。...第一个报错是:Ad Hoc Distributed Queries未启用的,你可能会收到如下错误信息 中文版 SQL Server 阻止了对组件 'Ad Hoc Distributed Queries...' 的 STATEMENT'OpenRowset/OpenDatasource' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。...这种问题大都是因为某一个字段的长度超过了255,而在SQL2008中,MSSQL是通过扫描EXCEL的前8行的各个数据的内容来估计该表各个列的数据的长度的,在前8行中有内容超过255字符的条目的时候自然会被判定为...解决的办法就是找到这些字段中显示为“###############”的行,移动到前8行中。

    87930

    从输入网址到显示网页的全过程分析

    DNS查找过程如下: * 浏览器缓存 – 浏览器会缓存DNS记录一段时间。 有趣的是,操作系统没有告诉浏览器储存DNS记录的时间,这样不同浏览器会储存个自固定的一个时间(2分钟到30分钟不等)。...* 递归搜索 – 你的ISP的DNS服务器从跟域名服务器开始进行递归搜索,从.com顶级域名服务器到Facebook的域名服务器。...从我们打开浏览器,到我们看到我们想看的内容,这过程究竟发生了什么? 下面我们就从三个方面理解这个过程,一个是浏览器,二个是服务器,第三个是浏览器和服务器之间通信的协议。...我们知道因特网上主机是靠一个32位的ip地址来定位的,HTTP用的URL也算是地址,但是比较高级,IP协议是理解不了的,所以需要一个从URL到IP的转换,这个过程通过DNS(域名查询系统)协议完成。...来源:http://www.cnblogs.com/orchid/archive/2012/04/21/2461442.html     来源:从输入网址到显示网页的全过程分析 http://www.itmian4

    2.4K40

    浏览器从输入网址到页面展示的过程

    https://github.com/hzfe/awesome-interview 完整高频题库阅读地址:https://febook.hzfe.org/ 回答关键点 URL DNS TCP 渲染 浏览器从输入网址到渲染页面主要分为以下几个过程...查询通常遵循以上流程,从请求主机到本地 DNS 服务器的查询是递归查询,DNS 服务器获取到所需映射的查询过程是迭代查询。 3....,且有五类可能取值 1xx:指示信息——表示请求已接收,继续处理 2xx:成功——表示请求已被成功接收、理解、接受 3xx:重定向——要完成请求必须进行更进一步的操作 4xx:客户端错误——请求有语法错误或请求无法实现...关闭是一个全双工的过程,发包的顺序是不一定的。...一般来说是客户端主动发起的关闭,过程如下图所示: 4.png 主动关闭方发送一个 FIN,用来关闭主动方到被动关闭方的数据传送,也就是主动关闭方告诉被动关闭方:我已经不会再给你发数据了(在 FIN

    19.9K75

    Android触摸事件_简述兴奋在突触的传递过程

    在Android中,所有的事件都是从开始经过传递到完成事件的消费,这些方法的返回值就决定了某一事件是否是继续往下传,还是被拦截了,或是被消费了。...如果最后也没有被处理消费,消息会向上返回回去,直到完成一个传递的过程。...截止到这里先进行一个总结,在消息传递的过程中,首先由Activity的dispatchTouchEvent方法进行事件分发,如果返回值为true,则消息不往下分发,之后只由activity处理。...,事件是通过层级传递的,一次事件传递对应一个完整的层级关系。事件传递是从ViewGroup传递到View的,而不是反过来传递的。...onTouchEvent 的事件响应逻辑如下: 如果事件传递到当前 View 的 onTouchEvent 方法,而该方法返回了 false,那么这个事件会从当前 View 向上传递,并且都是由上层

    71820

    BIO到NIO的演变过程

    背景 学习任何东西之前都得知道他是为什么而产生的。任何一个设计,或技术。都是为了解决某个或多个问题而产生的。即BIO到NIO到多路复用再到epollo 再到netty网络编程框架。...今天我们来看看这个演进的过程。 IO的演进 下图是来自培训机构的一个大佬的图: ? 什么是IO? 我自己的理解:从本地磁盘或者网络传输过来的数据的读取和写入的过程。...也就是从网卡或者磁盘的数据到应用程序内部(JVM的动态内存中)的过程。这个过程是相当耗费时间的,看看下面的数据。随机访问相差10万倍。...重要的就是图中的fd(文件描述符)和内核交互的过程中就是根据linux系统中的这个文件描述符来确定是那个客户端的。 ?...总结 大概是过了一下从BIO到NIO+IO多路复用的演进(IO模型的演进) BIO 遇到创建多个线程有可能导致OOM,对系统的并发能力有极大限制 NIO,导致CPU空转的,导致CPU做无用功。

    59540

    云原生应用开发:从构建到部署的全过程指南

    3.4 应用程序生命周期管理 第4节:总结与展望 欢迎来到云计算技术应用专栏~云原生应用开发:从构建到部署的全过程指南 ☆* o(≧▽≦)o *☆嗨~我是IT·陈寒 ✨博客主页:IT·陈寒的博客...该系列文章专栏:云计算技术应用 其他专栏:Java学习路线 Java面试技巧 Java实战项目 AIGC人工智能 数据结构学习 云计算技术应用 文章作者技术和水平有限,如果文中出现错误,希望大家能指正...本文将为您提供一个全面的指南,介绍从构建到部署云原生应用的全过程,包括关键概念、最佳实践和示例代码。...第1节:理解云原生应用 在我们深入探讨云原生应用开发的过程之前,让我们首先了解什么是云原生应用以及为什么它如此重要。 1.1 什么是云原生应用? 云原生应用是一种专为云环境设计和构建的应用程序。...这个过程可以分为以下步骤: 2.1 选择合适的编程语言和框架 选择编程语言和框架是构建云原生应用的第一步。不同的语言和框架适用于不同的用例和需求。

    1.9K10
    领券