摘要:
一入王者深似海,从此对象是路人。 哈喽观众老爷们你们好,在下战神吕布字奉先,今天给大家来一部吕布的教学视频! 咳咳,不对。大家好,我是磊哥,今天给大家来一篇 CountDownLatch 的文章。 在开始之前,先问大家一个非常专业的技术性问题:打团战最怕_____? 一道非常简单的送分题,如果答不对 阅读全文
摘要:
Swagger 3.0 发布已经有一段时间了,它于 2020.7 月 发布,但目前市面上使用的主流版本还是 Swagger 2.X 版本和少量的 1.X 版本,然而作为一名合格的程序员怎么能不折腾新技术呢?所以本期就大家带来一篇最新版 Swagger 的内容,本文会带大家看最新版 Swagger 有 阅读全文
摘要:
数据库连接加密 阅读全文
摘要:
在 Java 语言中 try-catch-finally 看似简单,一副人畜无害的样子,但想要真正的“掌控”它,却并不是一件容易的事。别的不说,咱就拿 fianlly 来说吧,别看它的功能单一,但使用起来却“暗藏杀机”,若您不信,咱来看下面的这几个例子... 坑1:finally中使用return 阅读全文
摘要:
上一篇我们讲了《Socket粘包问题的3种解决方案》,但没想到评论区竟然炸了。介于大家的热情讨论,以及不同的反馈意见,本文就来做一个扩展和延伸,试图找到问题的最优解,以及消息通讯的最优解决方案。 在正式开始之前,我们先对上篇评论中的几个典型问题做一个简单的回复,不感兴趣的朋友可直接划过。 问题一:T 阅读全文
摘要:
在 Java 语言中,传统的 Socket 编程分为两种实现方式,这两种实现方式也对应着两种不同的传输层协议:TCP 协议和 UDP 协议,但作为互联网中最常用的传输层协议 TCP,在使用时却会导致粘包和半包问题,于是为了彻底的解决此问题,便诞生了此篇文章。 什么是 TCP 协议? TCP 全称是 阅读全文
摘要:
在正式开始之前,我们先来看下 MySQL 服务器的配置和版本号信息,如下图所示: “兵马未动粮草先行”,看完了相关的配置之后,我们先来创建一张测试表和一些测试数据。 -- 如果存在 person 表先删除 DROP TABLE IF EXISTS person; -- 创建 person 表,其中 阅读全文
摘要:
文件写入,写入文件,文件读写,文件追加 阅读全文
摘要:
根据摩尔定律所说:集成电路上可容纳的晶体管数量每 18 个月翻一番,因此 CPU 上的晶体管数量会越来越多。 但随着时间的推移,集成电路上可容纳的晶体管数量已趋向饱和,摩尔定律也渐渐失效,因此多核 CPU 逐渐变为主流,与之相对应的多线程编程也开始变得普及和流行起来,这当然也是很久之前的事了,对于现 阅读全文
摘要:
Condition 是 JDK 1.5 中提供的用来替代 wait 和 notify 的线程通讯方法,那么一定会有人问:为什么不能用 wait 和 notify 了? 哥们我用的好好的。老弟别着急,听我给你细说... 之所以推荐使用 Condition 而非 Object 中的 wait 和 not 阅读全文
摘要:
这几年商家为了刺激消费是变着花样的推出各种各样的活动,以某多多为首的运营式电商更是让我们看到了营销的无限“潜力”。这不,最近刚赶上双 11,小区便利店的老王头也推出了一项「空酒瓶子换酒」的促销活动,它的规则是这样的。 本文已收录至 Github《小白学算法》系列:https://github.com 阅读全文
摘要:
本文已收录至 Github《小白学算法》系列:https://github.com/vipstone/algorithm 这是一道比较基础的算法题,涉及到的数据结构也是我们之前讲过的,我这里先买一个关子。这道面试题最近半年在亚马逊的面试中出现过 28 次,在字节跳动中出现过 7 次,数据来源于 Le 阅读全文
摘要:
链表和数组是数据类型中两个重要又常用的基础数据类型,数组是连续存储在内存中的数据结构,因此它的优势是可以通过下标迅速的找到元素的位置,而它的缺点则是在插入和删除元素时会导致大量元素的被迫移动,为了解决和平衡此问题于是就有了链表这种数据类型。 链表和数组可以形成有效的互补,这样我们就可以根据不同的业务 阅读全文
摘要:
本文已收录至 Github《小白学算法》系列:https://github.com/vipstone/algorith 之前我们讲过《用两个栈实现一个队列》,而今天我们要讲的是「用队列实现栈」,它们都属于常见的面试题,而我们今天要用多种方法来实现队列到栈的“转变”。 老规矩,先来回顾一下栈(Stac 阅读全文
摘要:
本文已收录至 Github《小白学算法》系列:https://github.com/vipstone/algorith 今天蚂蚁集团(支付宝)正式上市了,毫无疑问这一举措又造就了一大批富豪,然而作为局外人的我们,也只有羡慕的份了。明明可以考运气吃饭,咱非得靠实力,你说冤不冤啊? 但话又说回来,能进蚂 阅读全文
摘要:
本文已收录至 https://github.com/vipstone/algorithm 《算法图解》系列。 队列和栈是计算机中两个非常重要的数据结构,经过前面的学习(《队列》、《栈》)我们知道了它们各自的特点,队列是先进先出(FIFO)的,而栈是先进后出(FILO)的,那如何用栈来实现队列呢?这可 阅读全文
摘要:
本文已收录至 https://github.com/vipstone/algorithm 《算法图解》系列。 通过前面文章的学习《一文详解「队列」,手撸队列的3种方法!》我们知道了队列(Queue)是先进先出(FIFO)的,并且我们可以用数组、链表还有 List 的方式来实现自定义队列,那么本文我们 阅读全文
摘要:
本文已收录至我的 Github《算法图解》系列:https://github.com/vipstone/algorithm 前面我们介绍了栈(Stack),队列和栈是比较像的一种数据结构。我们可以想象有很多辆汽车正在通过单行道的隧道,所有车辆不能插队、不能掉头,先进来的车也先出去,我们可以把这种特征 阅读全文
摘要:
在安装完 MySQL 或者是在使用 MySQL 时,最尴尬的就是忘记密码了,墨菲定律也告诉我们,如果一件事有可能出错,那么它一定会出错。那如果我们不小心忘记了 MySQL 的密码,该如何处理呢?别着急,本文教你一招搞定。 1.修改 MySQL 配置文件 首先我们需要打开 MySQL 的配置文件,如果 阅读全文
摘要:
在 MacOS 上安装最新版的 MySQL 有三种方法: 使用 Docker 安装; 使用 Homebrew 运行 brew install mysql 安装; 使用安装包安装。 我们本文将采用最常规的方式,也就是安装包的方式进行安装,这也是我推荐给新手的安装方式,因为这种安装方式更直观更可控一些, 阅读全文
摘要:
本文已收录至我的 Github《算法图解》系列:https://github.com/vipstone/algorithm 今天要讲的这道题是 bilibili 今年的笔试真题,也是一道关于栈的经典面试题。 经过前面文章的学习,我想很多朋友已经看出来了,我接下来要写的是一个关于「算法图解」的系列文章 阅读全文
摘要:
MySQL 是一个跨世纪的伟大产品,它最早诞生于 1979 年,距今已经有 40 多年的历史了,而如今比较主流的 Java 语言也只是 1991 年才诞生的,也就是说 MySQL 要比 Java 的诞生还早十几年,不得不惊叹二者强大的生命力。 MySQL 的应用十分广泛,像 Google、Taoba 阅读全文
摘要:
前面我们学习了很多关于栈的知识,比如《动图演示:手撸堆栈的两种实现方法!》和《JDK 竟然是这样实现栈的?》,那么接下来我们再来刷一些关于栈的经典面试题以巩固学过的知识。 我们今天的面试题是这样的... 题目 定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 阅读全文
摘要:
最近无意间发现了一款开源免费的 MySQL 客户端管理工具,磊哥试用了两天感觉还行,所以今天推荐给各位大佬。 此工具不止是开源免费的,而且可以跨平台使用,如 Windows、MacOS 都可以轻松支持,并且运行速度也是杠杠的。 话不多说,先来看操作界面,如下图所示: 再来看工具使用的动图: 从上图可 阅读全文
摘要:
链表反转是一道很基础但又非常热门的算法面试题,它也在《剑指Offer》的第 24 道题出现过,至于它有多热(门)看下面的榜单就知道了。 从牛客网的数据来看,链表反转的面试题分别霸占了【上周考过】和【研发最爱考】的双重榜单,像网易、字节等知名互联网公司都考过,但通过率却低的只有 30%,所以本文我们就 阅读全文