1 """ 2 死锁 3 要AB两个锁 4 当A锁内部需要使用B锁,同时B锁内部需要使用A锁的时候,就要可能会出现死锁 5 6 出现死所的解决方法: 7 1.重构代码 8 2.添加timeout时间 9 10 下面代码中要可能返回下面内容,在同时认为锁被对方占用,同时释放 11 Thread-1获取 ...
分类:
编程语言 时间:
2020-05-31 11:18:51
阅读次数:
61
前言 在计算机编程中,单元测试是一种软件测试方法,通过该方法可以测试源代码的各个单元功能是否适合使用。为代码编写单元测试有很多好处,包括可以及早的发现代码错误,促进更改,简化集成,方便代码重构以及许多其它功能。使用 Java 语言的朋友应该用过或者听过 Junit 就是用来做单元测试的,那么为什么我 ...
分类:
其他好文 时间:
2020-05-31 11:07:28
阅读次数:
105
一、装饰者模式的应用场景 在我们的生活中比如给煎饼加个鸡蛋,给蛋糕加上一些水果,给房子装修等。为对象扩展一些额外对象的职责。装饰者模式(Decorator Pattern)是指在不改变原有对象的基础之上,提供了比继承更有弹性的替代方案(扩展原有对象的功能)。 装饰者模式使用于以下几种场景: 用于扩展 ...
分类:
其他好文 时间:
2020-05-30 19:40:54
阅读次数:
84
微服务 业务采用模块化的分层式架构 实现高内聚,松耦合,利于重构代码 服务注册,服务发现,健康检查 注册在服务端框架,健康检查逻辑由具体的业务定制,服务发现,负载均衡在服务客户端框架 RPC / RESTful 对浏览器,框架输出AJAX友好的JSON消息格式,对无线设备,输出高性能的 Binary ...
分类:
其他好文 时间:
2020-05-30 12:24:26
阅读次数:
152
这里是修真院前端小课堂,每篇分享文从 【背景介绍】【知识剖析】【常见问题】【解决方案】【编码实战】【扩展思考】【更多讨论】【参考文献】 八个方面深度解析前端知识/技能,本篇分享的是: 【浏览器如何渲染页面?】 一、背景介绍浏览器是前端工程师或页面重构师工作中必不可少的,WEB页面运行在各种各样的浏览 ...
分类:
其他好文 时间:
2020-05-30 10:39:53
阅读次数:
86
题目描述 请实现两个函数,分别用来序列化和反序列化二叉树 二叉树的序列化是指:把一棵二叉树按照某种遍历方式的结果以某种格式保存为字符串,从而使得内存中建立起来的二叉树可以持久保存。序列化可以基于先序、中序、后序、层序的二叉树遍历方式来进行修改,序列化的结果是一个字符串,序列化时通过 某种符号表示空节 ...
分类:
其他好文 时间:
2020-05-29 18:04:49
阅读次数:
75
程序员在工作过程中,会遇到很多需要阅读源码的场景,比如技术预研、选择技术框架、接手以前的项目、review他人的代码、维护老产品等等。可以说,阅读源代码是程序员的基本功,这项基本功是否扎实,会在很大程度上影响一个程序员在技术上的成长速度。
2014年的时候《Qt on Android核心编程》和《Qt Quick核心编程》时作者在编写时,很多内容都是通过分析Qt源码搞明白的。这阵子研究CEF和PPAPI,也主要靠研究源代码来搞明白用法。最近工作上要修改已有项目的一个子系统,也是得硬着头皮先读懂代码。
总之在开发工作这十来年中,读过太多源码了,从源代码中学习到太多东西了,如果不阅读源代码,真不知道自己能否成长起来。
写代码是从模仿开始的,提高也是从观摩别人的优秀设计和代码开始的。所以阅读源码至关重要,接下来咱从下列方面聊聊阅读源码的事儿。
分类:
其他好文 时间:
2020-05-27 23:11:49
阅读次数:
94
区别: 1.抽象类要被子类继承,接口要被类实现; 2.接口只能作方法声明,抽象类中既可以作方法声明,也可以作方法实现; 3.接口里定义的变量只能是公共的静态的常量(public static final修饰),而抽象类中的变量是普通变量; 4.接口是设计的结果,抽象类是重构的结果; 5.抽象类和接口 ...
分类:
其他好文 时间:
2020-05-27 11:46:47
阅读次数:
64
学习网址:https://docs.microsoft.com/zh-cn/visualstudio/get-started/visual-studio-ide?view=vs-2019 示范 vs2019: 变量的重命名的重构,更改该变量命名的同时,引用该变量的地方也会更改,如果该变量有被反射用到 ...
分类:
其他好文 时间:
2020-05-25 21:04:13
阅读次数:
94
微信小程序自定义组件详解 自定义组件能够帮我们更好的复用代码和重构简化代码复杂度。一起来学习一下小程序自定义组件的内容吧。 从小程序基础库版本 1.6.3 开始,小程序支持简洁的组件化编程。所有自定义组件相关特性都需要基础库版本 1.6.3 或更高。 开发者可以将页面内的功能模块抽象成自定义组件,以 ...
分类:
微信 时间:
2020-05-25 12:49:40
阅读次数:
83