-
编程的一些抽象核心
目录一、程序、算法本质举例二、面向对象、设计模式面向接口编程组合优于继承三、依赖倒置和控制反转(IoC/DIP)钱开关和灯证券交易所一、程序、算法本质程序=算法+数结结构算法=逻辑+控制程序=算法+数结结构,这个是众所周知了,算法这个解释则比较清丽脱俗:1.逻辑2.控制。逻辑用来解决实际的问题,控制决定用什么策略来解决问题,逻辑是真正意义上的解决问题的算法控制是一个程序流转的方式,即程序执行的方式… -
PPT画成这样,述职答辩还能过吗?
一、前言标题有点凶,但内容很干!大部分程序员并不会画PPT,也梳理不出架构图。工作的年头虽然多,但却不对自己的知识进行整理汇总,久而久之只能干,不会说。好,那么本文就带着你一起画画图,做个画画的baby!数学好的一般代码写的好,那下象棋好的呢?做程序猿多年后,经常会有家里的亲戚询问,自己家小孩报计算机行吗。他数学好、他英语好、他喜欢打游戏...,一般情况我也都推荐去学java了哈哈哈。这也让我想到… -
每日一个知识点:Volatile 和 CAS 的弊端之总线风暴
每日一个知识点系列的目的是针对某一个知识点进行概括性总结,可在一分钟内完成知识点的阅读理解,此处不涉及详细的原理性解读。一、什么是总线风暴总线风暴,听着真是一个帅气的词语,但如果发生在你的系统上那就不是很美丽了,废话不多说,先看图说结论。什么是总线风暴,先来看结论在java中使用unsafe实现cas,而其底层由cpp调用汇编指令实现的,如果是多核cpu是使用lockcmpxchg指令,单核cpu… -
java版app自动化测试初始化模板
项目目录介绍目录结构如下:(包含:驱动的基础配置、全局异常处理、异常截图、报告自动生成、app常用操作方法封装、常用工具类封装)各包分层关系basepage包负责存放app公共操作方法、AndroidDriver基础配置、testNG公共执行顺序BaseTest,对外暴露驱动等。BaseApp类包含app操作有:封装By类型的点击操作和输入框输入数据操作、切换到下一个窗口操作、上下左右滑动操作、具… -
Quartz.NET集成UI版
Quartz.NETQuartz.NET是NET的开源作业调度系统。Quartz.NET是一个功能齐全的开源作业调度系统,可用于从最小的应用程序到大型企业系统。Quartz.NET目前支持NETFramework和NETCore。Quartz.NET中文文档完善文档地址Quartz.NET集成UI版目前开源作业调度系统还有Hangfire可以选择。其他开源作者制作的带UI的Quartz.NET系统… -
Solon详解(六)- Solon的校验扩展框架使用与扩展
Solon详解系列文章:Solon详解(一)-快速入门Solon详解(二)-Solon的核心Solon详解(三)-Solon的web开发Solon详解(四)-Solon的事务传播机制Solon详解(五)-Solon扩展机制之SolonPluginSolon详解(六)-Solon的校验扩展框架使用与扩展在业务的实现过程中,尤其是对外接口开发,我们需要对请求进行大量的验证并返回错误状态码和描述。lom… -
「面向 offer 学算法」笔面试大杀器 -- 单调栈
目录前言单调栈初入茅庐小试牛刀打怪升级出师试炼前言单调栈是一种比较简单的数据结构。虽然简单,但在某些题目中能发挥很好的作用。最近很多大厂的笔试、面试中都出现了单调栈的题目,而还有不少小伙伴连单调栈是什么都不了解,因此老汪专门写了这篇文章,希望对你们有所帮助。老规矩,先上一道题给大家看看单调栈能解决什么样的问题,这题是2020年猿辅导(K12教育的独角兽,研发岗白菜价40W起步,不加班高福利,想要内… -
String字符串的最大长度是多少?
在学习和开发过程中,我们经常会讨论short,int和long这些基本数据类型的取值范围,但是对于String类型我们好像很少注意它的“取值范围”。那么对于String类型,它到底有没有长度限制呢?其实String类型的对象,他们是有长度限制的,String对象并不能“存储”无限长度的字符串。关于String的长度限制要从编译时限制和运行时限制两方面考虑。编译期限制有JVM虚拟机相关知识的同学肯定… -
JS数组去重的实现
其实数组去重的实现就分为两大类利用语法自身键不可重复性利用循环(递归)和数组方法使用不同的api来处理。注意️:下列封装成方法的要在函数开始增加类型检测,为了让去重的实现代码更加简单易懂,封装时我会省略类型检测functionnoRepeat(){if(!Array.isArray(arr)){console.log('typeerror!')return}//XXX执行代码}利用键不可重复性Se… -
教师节快乐,全网最全编程学习网站汇总来了,还不赶快收藏
教师节快乐!程序员是一个需要不断学习的职业。幸运的是,在这个互联网时代,知识就在那里,等着我们去获取。作为一个“收藏从未停止,学习从未开始”的博主,秉承着好东西不能独享的态度,把收藏的学习网站整理分享出来,希望大家不要学我,一定要好好学习,天天进步,升职加薪。好了,下面开始上货,由于博主是个Java程序员,所以部分内容会偏向Java全栈。一、在线教程首先列出一些在线教程网站,这些在线教程网站通常都… -
ArrayList源码剖析与代码实测
ArrayList源码剖析与代码实测(基于OpenJdk14)目录ArrayList源码剖析与代码实测(基于OpenJdk14)继承关系从构造函数开始从add方法深入/数组的扩容其他的删查改方法modCount与fail-fast机制总结参考写本篇博客的目的在于让自己能够更加了解Java的容器与实现,能够掌握源代码的一些实现与思想,选择从ArrayList入手是因为ArrayList相对来说是实现… -
vue父子组件状态同步的最佳方式
哈喽!大家好!我是木瓜太香,一位老牌儿前端工程师,平时我们在使用vue开发的时候,可能会遇到需要父组件与子组件某个状态需要同步的情况,通常这个是因为我们封装组件的时候有一个相同的状态外面要用,里面也要用,今天我们就来看看怎么优雅的解决这个问题吧!一般来说我们实现这个功能,只需要父组件通过props传递给子组件就好了,但是理想很丰满,现实很骨感,如果我们直接在子组件更改传进来的props,不出意外浏…