• 如何快速定位线上 BUG
    在生产环境中,前端开发人员快速收到错误报警以及获取到报警的相关准确信息,对快速定位线上 BUG 非常关键。对编译打包后的js进行反解处理,将原始js资源错误信息告知开发者。分析、处理、展示: 错误平台收集、过滤错误信息,并对需要进行反解处理的文件进行反解定位。try catch 只能捕获 try 上下文中错误。onerror 可以获取当前 js 全局上下文中所有错误。第三层是位置转换,以VLQ编码表示,代表该位置对应的转换前的源码位置。第三位,表示这个位置属于转换前代码的第几行。第五位,表示这个位置属于names属性中的哪一个变量。
  • 将20M文件从30秒压缩到1秒,我是如何做到的?
    压缩文件的代码如下。打印的结果如下,时间大概是30秒。第一次优化过程-从30秒到2秒进行优化首先想到的是利用缓冲区**BufferInputStream。也就是说我们与数据的交互都是与ByteBuffer的交互。在NIO中能够产生FileChannel的有三个类。操作系统能够直接传输字节从文件系统缓存到目标的Channel中,而不需要实际的copy阶段。Ring3被称之为用户空间。使用PipeJava NIO 管道是2个线程之间的单向数据连接。其中source通道用于读取数据,sink通道用于写入数据。从现象到源码的深度分析想知道更多?
  • gRPC从源码角度分析客户端和服务端一次交互的全流程
    最后我们看看这个真正调用我们自己业务服务代码的方法是做了什么,省略很多非核心的代码,这样流程比较清晰 s.handleStream总结深入阅读进去,你会发现源码并不是特别难懂,关键在于踏出第一步,上面分析了grpc从客户端发起请求到服务端接受处理的全流程,中间也有很多细节并没有说,比如鉴权,比如创建http2服务,拦截器执行,trace跟踪等,尤其是错误处理,但本篇文章重点是带领大家贯穿整个流程,把从客户端发起请求到服务端处理衔接起来,并不是把所有细节说明白,一篇文章也说不明白,最后我用一张图表述整个流程,让大家更加清晰的理解。
  • Github 官方推荐的 13 款万圣节题材的开源游戏
    作者丨->来源丨知识小集Github 官方网站在万圣节推荐了 13 款 万圣节题材的开源游戏,这些游戏包括鬼魂,食尸鬼,恶魔,守护程序,女巫,蠕虫等,各个平台或浏览器的都有,有些年代比较久远,风格也比较古老。The Wandering Wraith 平台 | 浏览器主题 | Back作者 | @tulustul源码 |https://github.com/tulustul/The-Wandering-Wraith失落的幽灵在寻找平静的世界中徘徊。为主题,几乎可以保证我们有一些经典的点击式冒险游戏。从 script.js 的 707-710 行中删除以下内容将迫使您的对手在截取哪些球时做出一些效率低下的决定,从而为您带来优势。
  • 从jackson的使用和源码看程序设计
    WhatJackson是Java生态圈中处理JSON和XML的类库,是spring-boot默认的JSON解析框架。这是因为spring mvc会自动注册MappingJackson2HttpMessageConverter,从而支持json 输出。Jackson提供了三种数据处理方式。是最符合面向对象的一种使用方式。流式API是江湖传闻效率最高的一种使用方式。WhyJackson相对Gson、JSON-lib更为高效,使用灵活方便,所以应用广泛。注意fastjson的效率一般情况下是要超过Jackson的。自己动手实践一下,可发现,Jackson的性能瓶颈主要在ObjectMapper实例化上。数据绑定方式源码分析我们直接从转换类ObjectMapper的源码开始看。在公司或者github不时会收到jackson、fastjson漏洞,要求升级到XXX版本以上。
  • 深入浅出的分析 Properties
    在上一章节中,咱们介绍到 Hashtable 的数据结构和算法实现,在 Java 中其实还有一个非常重要的类 Properties,它继承自 Hashtable,主要用于读取配置文件。本文通过看 JDK 和一些网友的博客总结,主要从 Properties 的用法实例来做介绍,如果有理解不当之处,欢迎指正。好了,唠叨了这么多,咱们回到本文要介绍的主角 Properties!打开 Properties 的 getProperty 方法,源码如下:public String getProperty { //调用父类 Hashtable 的 get 方法 Object oval = super.get; String sval = ?打开 Properties 的 load 方法,源码如下:public synchro
  • 闭关3个月,彻底弄懂了这7大开源框架Spring、Mybatis、Hashmap、Dubbo、Redis
    描述:阅读源码框架如下:Mybatis、Spring、Redis、Java并发、Dubbo、RocketMq、Sharding-sphere等我给大家推荐腾讯课堂联合源码学院出的一个 2 分钱课程《跟我学源码》,看它到底是怎么样来阅读使用我们常说常说的源码框架:Mybatis、Spring、Redis、Java并发、Dubbo、RocketMq、Sharding-sphere等作为一名优秀的 Java 开发程序员,以及想那些想要学习 Java 更深层一点的知识的同学,对源码框架的熟悉与熟练阅读与使用是必不可缺的核心技能了,也是每个 Java 程序员应该要做到的。HashMap底层实现原理?
  • 《深度学习入门:基于Python的理论与实现》高清中文PDF+源码
    《深度学习入门:基于Python的理论与实现》资源获取方式:转发本文至朋友圈,截图发给本微信公众号 datayx 即可。AI项目体验地址https://loveai.tech阅读过本文的人还看了以下文章:分享《深度学习入门:基于Python的理论与实现》高清中文版PDF+源代码《21个项目玩转深度学习:基于TensorFlow的实践详解》完整版PDF+附书代码《深度学习之pytorch》pdf+附书源码PyTorch深度学习快速实战入门《pytorch-handbook》豆瓣评分8.1,《机器学习实战:基于Scikit-Learn和TensorFlow》《Python数据分析与挖掘实战》PDF+完整源码汽车行业完整知识图谱项目实战视频李沐大神开源《动手学深度学习》,加州伯克利深度学习教材笔记、代码清晰易懂!
  • 字节跳动面试官问了我源码,然后......
    后来他又接到了字节跳动的电话,通知他去参加三面。全程围绕源码展开。那么,为什么面试官这么喜欢问源码?4)为了找工作为什么面试官喜欢问源码,因为这能提现一个面试者是否爱钻研,是否愿意深入原理。2)从问题出发深入学习之前,最好带着一个问题,比如学习HashMap的源码时候,你带着问题『什么时候会进行rehash』,这样你就可以围绕自己的问题逐渐的深入展开。
  • 字节跳动面试官问了我源码,然后......
    后来他又接到了字节跳动的电话,通知他去参加三面。全程围绕源码展开。那么,为什么面试官这么喜欢问源码?4)为了找工作为什么面试官喜欢问源码,因为这能提现一个面试者是否爱钻研,是否愿意深入原理。2)从问题出发深入学习之前,最好带着一个问题,比如学习HashMap的源码时候,你带着问题『什么时候会进行rehash』,这样你就可以围绕自己的问题逐渐的深入展开。
  • 开发10年,全记在这本Java进阶宝典里了!
    蓦然回首自己做开发已经十年了,这十年中我获得了很多,技术能力、培训、出国、大公司的经历,还有很多很好的朋友。经过数年的基础教育和职业培训,大部分程序员都会「写」代码,或者至少会抄代码和改代码。部分资料展示:对Java后端技术,对架构技术感兴趣的朋友,欢迎加QQ群:893567261,一起学习,相互讨论。仅以身边朋友的一次成长经历分享给给喜欢Java,喜欢编程,有梦想成为架构师的程序员们,希望能够帮助到你们。
  • 深入浅出的分析 Set集合
    点击蓝色“Java极客技术”关注我哟加个“星标”,一起快乐成长这是 Java 极客技术的第253篇原创文章前几篇文章中,咱们聊到 List、Map 接口相关的实现类,今天咱们来聊聊集合中的 Set 接口!01. 摘要“关于 Set 接口,在实际开发中,其实很少用到,但是如果你出去面试,它可能依然是一个绕不开的话题。言归正传,废话咱们也不多说了,相信使用过 Set 集合类的朋友都知道,Set集合的特点主要有:元素不重复、存储无序的特点。啥意思呢?你可以理解为,向一个瓶子里面扔东西,这些东西没有记号是第几个放进
  • 开发10年,全记在这本Java进阶宝典里了!
    蓦然回首自己做开发已经十年了,这十年中我获得了很多,技术能力、培训、出国、大公司的经历,还有很多很好的朋友。经过数年的基础教育和职业培训,大部分程序员都会「写」代码,或者至少会抄代码和改代码。部分资料展示:对Java后端技术,对架构技术感兴趣的朋友,欢迎加QQ群:893567261,一起学习,相互讨论。仅以身边朋友的一次成长经历分享给给喜欢Java,喜欢编程,有梦想成为架构师的程序员们,希望能够帮助到你们。
  • 深度解读 Java 线程池设计思想及源码实现
    我相信大家都看过很多的关于线程池的文章,基本上也是面试的时候必问的,如果你在看过很多文章以后,还是一知半解的,那希望这篇文章能让你真正的掌握好 Java 线程池。本文一大重点是源码解析,同时会有少量篇幅介绍线程池设计思想以及作者 Doug Lea 实现过程中的一些巧妙用法。下图是 java 线程池几个相关类的继承结构:先简单说说这个继承结构,Executor 位于最顶层,也是最简单的,就一个 execute 接口方法定义。然后才到我们的重点部分 ThreadPoolExecutor 类,这个类提供了关于线程池所需的非常丰富的功能。为了让大家理解 java 线程池的整个设计方案,我会按照 Doug Lea 的设计思路来多说一些相关的东西。
  • 阿里第2面,都会问什么?
    绝大多数技术人都有个阿里梦,阿布也不例外。阿布在10月份入职阿里菜鸟物流研发部,主要负责物流网络系统研发,级别是P6+。阿布去阿里面试一共4面,都是技术面,7年的工作经验,加上前期的充分准备,勉强不那么费力。今天主要跟大家分享下阿里第2面关于jvm的面试内容。从Java内存区域,到JVM垃圾回收,再到JVM性能调优,一步一台阶,3天快速进阶成为JVM大神,再也不怕被面试官拷问“JVM,你是什么垃圾?”
  • 这些优质公众号你居然不知道?
    今天给大家精心挑选的这几个优质的公众号,在行业深耕已久,相信大家一定会有所收获,感兴趣的可以关注一下。▲长按识别弹出二维码关注薛勒的博客二本出身,腾讯、网易实习经历,秋招斩获阿里Special,我是薛勤,一名酷爱写作与编码的程序员,想知道我是如何一路走过来的吗?薛勤的博客,期待你的关注!▲长按识别弹出二维码关注毛利学Python公众号作者是大三非计算机学生,网名毛利。平时推送各种hadoop,spark等大数据原创教学,优质推送及源码分析,本公众号崇尚简单易学,体系化教程+不断巩固复习+深入原理源码,跟着大昕一起学习进步!
  • 狗屎一样的代码!快,重构我!
    重构不止是代码整理,它提供了一种高效且受控的代码整理技术2、为何重构改进软件设计:如果没有重构,程序的设计会逐渐变质,重构很像是在整理代码,你所做的就是让所有的东西回到应处的位置上。重构本来就不是一件应该特别拨出时间做的事情,重构应该随时随地的进行。类内如果有太多代码,也是代码重复、混乱病最终走向死亡的源头。如果需要修改的代码散布四处,你不但很难找到它们,也很容易忘记某个重要的修改。这样的代码让人不易理解。采用这种方式,意味着客户代码将与查找过程中的导航结构紧密耦合。
  • 你比高级Android工程师差在哪里?
    “高级”Android工程师:“这个需求做不了。”“高级”Android工程师:“下周一可以上线!”一款产品的成功取决于多方面因素之间的相互配合,但其中最直观的就是UI,优秀的用户体验设计。这才是你与真正高级工程师的差距所在。学好高级UI,直接找老板提加薪30%的申请Alvin老师:前三星/小米高级研发经理,国内首批Android底层技术导航人;专精领域:精通Android FrameWork源码及性能优化;三星手机Rom核心架构设计,专注NDK底层设计与开发。
  • 闭关3个月,彻底弄懂了这7大开源框架spring、mybatis、hashmap
    我给大家推荐腾讯课堂联合源码学院出的一个2 分钱课程《跟我学源码》,看它到底是怎么样来阅读使用我们常说常说的源码框架:Mybatis、Spring、Redis、Java并发、Dubbo、RocketMq、Sharding-sphere等作为一名优秀的 Java 开发程序员,以及想那些想要学习 Java 更深层一点的知识的同学,对源码框架的熟悉与熟练阅读与使用是必不可缺的核心技能了,也是每个 Java 程序员应该要做到的。HashMap底层实现原理?
公众号