自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 Java基础八股文背诵版

背之前先来看看阿里巴巴的常问Java基础你们会几个?## Java语言具有哪些特点?1. Java为纯面向对象的语言。它能够直接反应现实生活中的对象。2. 具有平台无关性。java利用Java虚拟机运行字节码,无论是在Windows、Linux还是MacOS等其它平台对Java程序进行编译,编译后的程序可在其它平台运行。3. Java为解释型语言,编译器把Java代码编译成平台无关的中间代码,然后在JVM上解释运行,具有很好的可移植性。4. Java提供了很多内置类库。如对多线程支持,对网络

2021-06-08 10:06:14 3185

原创 微信玩合成大西瓜

之前老是听朋友说最近有个很火的游戏叫合成大西瓜,终于玩上了,微信也可以玩。本来觉着也就是2048类型的,2048都玩腻了,结果,真香。。链接奉上,一起体验游戏快乐:快周末了,不聊编程聊游戏...

2021-01-30 21:33:19 812

原创 你们要的微信8.0安卓版

最近公众号老收到留言888,把小牛都惊了,不知道是什么暗号。加了个读者问问才发现是想要微信8.0安卓链接。那8.0有什么新功能呢?其他功能小牛比较迟钝,没体验出来,但是表情包确实爽的一批,大家表情包大战又可以有新玩法了。发个小炸弹就有这么大威力。安装上后直接覆盖老的微信版本,大家放心安装,我已经踩过坑了。废话不多说,链接奉上:关注公众号后端技术小牛说,回复888,获得安卓内测链接。...

2021-01-26 12:50:27 253

原创 浅析C++智能指针和enable_shared_from_this 机制

大家好,我是小牛,今天跟聊一下 BAT 面试 C++ 开发工程师必问的一个考点:智能指针。小艾:你昨晚面 C++ 去了?小牛:对啊,不是这个厂主要技术栈都是 C++ 嘛,我就面去了。小艾:问了点啥啊?小牛:BAT 这 C++ 问的都差不多,又问智能指针了。小艾:那来讲讲呗。小牛:来。智能指针的引入大家都知道,指针是 C++ 中非常重要的一部分,大家在初期学习 C++ 的时候一定学过类似这样的指针方式。int *ptr;这种指针也被称为裸指针。但是使用裸指针会存在一些不足:如果使

2021-01-08 11:12:10 347

原创 全网最细:17张图带你秒杀synchronized关键字

引子小艾和小牛在路上相遇,小艾一脸沮丧。小牛:小艾小艾,发生甚么事了?小艾:别提了,昨天有个面试官问了我好几个关于 synchronized 关键字的问题,没答上来。小艾:我后来查了很多资料,有二十多页的概念说明,也有三十来页的源码剖析,看得我头大。小牛:你那看的是死知识,不好用,你得听我的总结。小艾:看来是有备而来,那您给讲讲吧。小牛:那咱们开始!synchronized关键字引入我们知道,在多线程程序中往往会出现这么一个情况:多个线程同时访问某个线程间的共享变量。来举个例子吧:假设.

2021-01-08 11:11:12 173 1

原创 自学进微软——我的编程算法学习心得

各位少侠好,在下小牛,先简单做个自我介绍,我是非科班出身,通过自学的方式,获得了BATTMD多家和微软等多家互联网大厂的青睐。最近自己在整理总结之前的学习经验,从基本的程序员学习路线到互联网面试中的常考题,都会分享在我的微信公众号 后端技术小牛说 中。同时我在自学的过程中也结识了许多来自阿里、字节的英雄豪杰,未来会在我的公众号上定期发布一些大厂的内推信息,希望可以帮助到想要学习后端技术,进入互联网大厂工作的朋友们。在我自学的过程中,编程算法的学习是比较重要的环节,它不仅是许多大公司笔试、面试中的必考项

2021-01-08 11:08:43 365

原创 浅谈 Java 并发下的乐观锁

引子各位少侠大家好!今天我们来聊聊 Java 并发下的乐观锁。在聊乐观锁之前,先给大家复习一个概念:原子操作:什么是原子操作呢?我们知道,原子(atom)指化学反应不可再分的基本微粒。在 Java 多线程编程中,所谓原子操作,就是即使命令涉及多个操作,这些操作依次执行,不会被别的线程插队打断。聊完原子操作了,我们进入正题。大家都知道,一般而言,由于多线程并发会导致安全问题,针对变量的读和写操作,都会采用锁的机制。锁一般会分为乐观锁和悲观锁两种。悲观锁对于悲观锁,开发者认为数据发送时发生并发

2021-01-08 11:08:05 163

原创 26张图带你彻底搞懂volatile关键字

引子小艾吃饭路上碰上小牛,忙问:你昨天面大厂面的咋样了?听说他们最喜欢问多线程相关知识。小牛说:对啊,第一个问题我就讲了20分钟,直接把面试官讲服了。小艾忙问:什么问题能讲这么久?是不是问你情感经历了?小牛说:…问的 volatile 关键字。小艾说: volatile 关键词的作用一般有如下两个:可见性:当一个线程修改了由 volatile 关键字修饰的变量的值时,其它线程能够立即得知这个修改。有序性:禁止编译器关于操作 volatile 关键词修饰的变量的指令重排序。你说这两个.

2021-01-08 11:07:20 235

原创 拿到微软offer的我,是如何学习数据结构与算法的

大家好,我是Encoder,先简单做个自我介绍,我是非科班出身,通过自学的方式,拿到了BATTMD多家和微软offer。今天给大家分享一下自己的算法的经验。写在前面随着互联网的发展,各大厂的招聘要求水涨船高,几年前,做算法题还不是必备项,有的公司最多要求写个链表插入,二叉树遍历这种课本上的模板题。但如今由于投身互联网的人太多,国内公司也向硅谷大厂招聘看齐,推行了代码考察。按形式来讲,代码考察的难度和广度可能还会随着时间增长。因此,掌握算法能力不仅仅是外企所需,更是拿到国内互联网厂的基本功。但很多同学开

2020-12-07 08:18:41 297

原创 25张图带你深入了解java并发的volatile关键字的底层设计原理

引子小艾吃饭路上碰上小牛,忙问:你昨天面大厂面的咋样了?听说他们最喜欢问多线程相关知识。小牛说:对啊,第一个问题我就讲了20分钟,直接把面试官讲服了。小艾忙问:什么问题能讲这么久?是不是问你情感经历了?小牛说:…问的volatile关键字。小艾说:volatile关键词的作用一般有如下两个:可见性:当一个线程修改了由volatile关键字修饰的变量的值时,其它线程能够立即得知这个修改。有序性:禁止编译器关于操作volatile关键词修饰的变量的指令重排序。你说这两个说了20分钟?口吃?

2020-11-26 14:13:34 229

原创 跨专业的我如何拿到微软offer

大家好,我是Encoder。今天和大家分享一下自己最近一年找工作的经验。先交代一下本人背景,本人是电子工程专业硕士,在研一下觉着自己更对计算机编程感兴趣,于是开始了自学之路。今年因为疫情影响,工作着实不好找,虽然听起来各大厂扩招了,但据身边同学的反馈来看,还是比去年困难许多。Encoder侥幸拿到battmd中多家offer,当然还有微软。根据丰富的面试经验,Encoder发现一般大厂面试主要分四个部分:计算机基础(计网,操作系统,数据库)+语言特性相关(看你是java/c++/python...

2020-10-31 23:17:26 436

原创 操作系统实践Day7

今天进行put_char的函数书写,旨在让我们的操作系统输出一个自己实现的字符。首先是loader.S 和对应的boot.inc变了;------------- loader和kernel ----------LOADER_BASE_ADDR equ 0x900 LOADER_STACK_TOP equ LOADER_BASE_ADDRLOADER_START_SECTOR...

2019-04-01 21:54:05 209

原创 java编译时的问题

前两天学习java遇到一个问题。描述一下编译代码package lee;public class Hello{    public static void main(String[] args)    {        System.out.println("Hello");    }}完成后,想运行,怎么都运行不起来。这种带包的的代码如何通过命令行运行呢?1:首先检...

2019-01-24 11:59:02 205

原创 程序机器级表示 4.条件控制

CPU通过条件码的检测来执行条件分支指令,最常用的条件码有CF:进位。最近的操作使最高位产生了进位ZF:零标志。最近的操作得出结果为0SF:最近操作得出结果为负数OF:溢出,最近操作导致补码溢出-正溢出或负溢出除leaq指令,一般都会设置条件码值得注意的时CMP和TEST两类指令,它们只设置条件码不改变其他寄存器。CMP指令和SUB指令一样。TEST指令行为和AND指令行为...

2019-01-21 21:23:22 329

原创 程序机器级表示 3.压栈出栈与算术逻辑操作

栈是一个典型的数据结构类型,在此对栈的思想不再赘述,这里讲一下栈的汇编实现。栈遵循后进先出的原则,通过push将数据压栈,通过pop删除数据。栈底的地址为最大的。对应命令就是pushq S,将四字压入栈中popq  D,将四字弹出栈push等价于:sub $8,%rspmovq %rbp,(%rsp)pop等价于:movq (%rsp), %raxadd $...

2019-01-19 21:40:21 390

原创 程序机器级表示 2.寄存器等相关知识

最初的8086有八个16位寄存器,即从%ax到%bp,扩展到IA32架构后寄存器也扩展成32位,即%eax到%ebp。到目前的x86-64,原先的8个寄存器就扩展成64位,即%rax到%rbp。除这些寄存器之外,还增加了8个新的寄存器,标号为%r8到%r15。在各个程序中,不同的寄存器扮演不同的角色。其一般使用惯例如下:...一般指令都有对应的操作数,即该操作需要的员数据值和放置结果的...

2019-01-19 10:52:56 135

原创 程序机器级表示 1.mov指令

mov指令的目的是将数据从源操作数复制到目的位置。一般格式为 mov 源操作数 目的操作数。最简单的mov指令如下:movb  传送字节movw 传送字movl  传送双字movq 传送四字当将较小的源值复制到较大的目的时,有两类指令可以使用。 MOVZ类将目的剩余字节填充为0,MOVS类通过符号位扩展从而填充,即将源操作数的最高位进行复制。具体如下movzbw 零扩展...

2019-01-19 10:10:46 1823

转载 常用的python报错的解决方法

pip 安装报错:1. 网慢pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyspider更换其他源请见https://www.cnblogs.com/microman/p/6107879.html2.安装报错安装VS2015或对应的c++编译器在anaconda里安装python3.dll具体https://blog.csdn.n...

2018-04-06 10:56:20 187

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除