Java成神之路:第三帖----数据结构与算法之队列

数据结构与算法--队列 今天掉了两根头发,摸掉的,记得 别乱摸,很珍贵的!! 什么是队列? 1)队列是一个有序列表,可以用数组或是链表来实现 2)遵循 先入先出 的原则。即:先存入队列的数据,要先取出。后存入的要后取出 3)示意图:(使用数组模拟队列示意图) rear表示的是队列尾,front表示的 ...

程序员你是如何降低NPE的?

程序员,如果系统突然报了一个空指针异常,你肯定像吞了一只苍蝇一样尴尬。 那么如何在日常开发过程中降低NPE? 问题 回答 现状 返回空值会出现大量的空指针异常 目的 改进方法的返回值,降低出现空指针异常 实现路径 方法返回空集合或者空数组 跟我来! 背景 下面的方法看起来很常见。 private f ...

痞子衡嵌入式:职场上有效地向师傅请教问题的几点建议

-- 题图:苏州博物馆之“片石假山” 大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡不讲技术,跟大家随便唠唠嗑。 痞子衡这些年随着资历的加深(同时伴随着发量的减少),也带过不少应届生/实习生,同时也因为项目合作经常向公司前辈请教,所以在请教别人和被请教方面有些心得。 我们今天主要说新人求教的事, ...

vue父子组件状态同步的最佳方式续章(v-model篇)

大家好!我是木瓜太香!一名前端工程师,之前写过一篇《vue父子组件状态同步的最佳方式》,这篇文章描述了大多数情况下的父子组件同步的最佳方式,也是被开源中国官方推荐了,在这里表示感谢! 这次作为续章是对上一篇文章的特殊情况的补充,并会给出较详细的描述与代码演示,当然如果你单看这篇文章来解决特定问题也是 ...

位运算的奇技淫巧(三)

学习之余重新复习了下 位运算的奇技淫巧(二) 又发现了几个有趣的位运算,部分内容来自东哥 本文分两部分,第一部分列举几个有趣的位操作,第二部分讲解算法中常用的 n & (n - 1) 操作,顺便把用到这个技巧的算法题列出来讲解一下。 因为位操作很简单,所以假设读者已经了解与、或、异或这三种基本操作。 ...

Proxy使用详解

文档:Proxy 基本使用就不赘述,看文档即可 通用 1.Proxy可以包装任何形式的对象:包括原生数组,函数,甚至另一个代理 2.代理实例中没有指定的handler,实际就是操作原对象target:实例:打开控制台查看 let target = function(){return 'ddd'} l ...

HarmonyOS面向128KB-128MB内存终端开源

2020年9月10日,以HDC Together为主题的2020年度华为开发者大会在东莞·松山湖举办,华为带来了HarmonyOS 2.0、EMUI 11、HMS、HUAWEI HiLink、HUAWEI Research等一系列创新产品 。 “华为开发者大会2020”现场视频地址: http:// ...

Java常见重构技巧 - 去除不必要的!=null判断空的5种方式,很少有人知道后两种

常见重构技巧 - 去除不必要的!= 项目中会存在大量判空代码,多么丑陋繁冗!如何避免这种情况?我们是否滥用了判空呢?@pdai 常见重构技巧 - 去除不必要的!= 场景一:null无意义之常规判断空 场景二:null无意义之使用断言Assert 场景三:写util类是否都需要逐级判断空 场景四:让n ...

散列表

如果所有的键都是小整数,我们可以使用一个数组来实现无序的符号表,将键作为数组的索引而数组中键 i 处存储的就是它对应的值。散列表就是用来处理这种情况,它是简易方法的扩展并能够处理更加复杂的类型的键。我们需要用算术操作将键转换为数组的索引来访问数组中的键值对。 使用散列表的查找算法分为两步。第一步是用 ...

想写一篇jvm的工具入门

为什么要写一个jvm的工具入门呢,一是自己也不会,二是因为不会所以想学一下,还有就是这个确实很重要,对学习jvm有很多的用处,对定位问题有很大的便利,以前毕业那会我记得有个笔试,知道JAVA_HOME/bin目录的工具吗,例举下3个以上,并说说有什么用,可以怎么使用,,,,我只能说呵呵了,写代码哪里 ...

面试官:你说说互斥锁、自旋锁、读写锁、悲观锁、乐观锁的应用场景

前言 生活中用到的锁,用途都比较简单粗暴,上锁基本是为了防止外人进来、电动车被偷等等。 但生活中也不是没有 BUG 的,比如加锁的电动车在「广西 - 窃·格瓦拉」面前,锁就是形同虚设,只要他愿意,他就可以轻轻松松地把你电动车给「顺走」,不然打工怎么会是他这辈子不可能的事情呢?牛逼之人,必有牛逼之处。 ...

教你一招Linux下文本比对方法

我们在写代码的过程中,免不了会对代码进行一些修修改改。但经常会出现改着改着,就不知道改完后与源文件的差异是怎样的。这里,我们就需要一个文本比对工具来进行文本比对。 有经验的程序员都知道,Windows下有个很好用的文本比对工具——BeyondCompare。但它是收费软件,很多正规的公司是不允许使用 ...

Apache Pulsar 在腾讯 Angel PowerFL 联邦学习平台上的实践

腾讯 Angel PowerFL 联邦学习平台 联邦学习作为新一代人工智能基础技术,通过解决数据隐私与数据孤岛问题,重塑金融、医疗、城市安防等领域。 腾讯 Angel PowerFL 联邦学习平台构建在 Angel 机器学习平台上,利用 Angel-­PS 支持万亿级模型训练的能力,将很多在 Wor ...

再不迁移到Material Design Components 就out啦

翻译自国外文档加自己理解 原文 我们最近宣布了 Material Design Components(MDC)1.1.0 ,这是一个库更新,为您的 Android 应用程序带来了 Material Theming 、新的组件、深色主题和其他令人兴奋的功能。 MDC取代了设计支持库。本指南将向您展示如 ...

Linux驱动之GPIO子系统和pinctrl子系统

前期知识 1.如何编写一个简单的Linux驱动(一)——驱动的基本框架 2.如何编写一个简单的Linux驱动(二)——设备操作集file_operations 3.如何编写一个简单的Linux驱动(三)——完善设备驱动 4.Linux驱动之设备树的基础知识 前言 在学习单片机(比如51单片机和STM ...

不评删帖是非,只说“简单即是美”,对代码完全掌控的重要性!

本来是对某大佬文章读者回帖的一个回复讨论,没想到大佬删除了我的回帖,也算是塞翁失马,于是才有了这篇随笔,告诉大家“简单即是美”,强调对代码完全掌控的重要性,在真正复杂的企业级项目开发中,选择什么框架一定要好好想想你能否完全掌控它,确保项目开发不走弯路,不要为了“面向简历编程”而匆忙上马使用流行的框架... ...

秒懂JVM的三大参数类型,就靠这十个小实验了

秒懂JVM的三大参数类型,就靠这十个小实验了 你好,我是悟空哥,「7年项目开发经验,全栈工程师,开发组长,超喜欢图解编程底层原理」。手写了2个小程序,Java刷题小程序,PMP刷题小程序,已发布到公众号菜单。 SpringCloud实战项目Github Java在线文档Github 本实验的目的是讲 ...

Netty之旅三:Netty服务端启动源码分析,一梭子带走!

Netty服务端启动流程源码分析 前记 哈喽,自从上篇《Netty之旅二:口口相传的高性能Netty到底是什么?》后,迟迟两周才开启今天的Netty源码系列。源码分析的第一篇文章,下一篇我会分享客户端的启动过程源码分析。通过源码的阅读,我们将会知道,Netty 服务端启动的调用链是非常长的,同时肯定 ...

<1···8910···200>