三线程打印ABC的面试题

正确的代码是这样的:
public class MutliThreadPrintABC implements Runnable{

//打印内容
String content;
//两个锁
Object prev;
Object self;

public MutliThreadPrintABC(String content,Object prev,Object self) {
    this.content=content;
    this.prev=prev;
    this.self=self;
}

@Override
public void run() {
    for(int i=0;i<10;i++){
        synchronized (prev) {
            System.out.println(Thread.currentThread().getName()+"获取到了前一个线程的锁");
            synchronized (self) {
                System.out.println(content);
                self.notify();
            }
            try {
                prev.wait();
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }
}

public static void main(String[] args) throws InterruptedException {
    Object a = new Object();
    Object b = new Object();
    Object c = new Object();
    Thread A = new Thread(new MutliThreadPrintABC("A",c,a));
    A.setName("A");
    Thread B = new Thread(new MutliThreadPrintABC("B",a,b));
    B.setName("B");
    Thread C = new Thread(new MutliThreadPrintABC("C",b,c));
    C.setName("C");
    A.start();
    Thread.sleep(100);
    B.start();
    Thread.sleep(100);
    C.start();
}

}
我在学习这个的时候写了个错误的版本就是释放锁这一部分prev.wait()写到了最里面的同步块里:
public void run() {
for(int i=0;i<10;i++){
synchronized (prev) {
System.out.println(Thread.currentThread().getName()+"获取到了前一个线程的锁");
synchronized (self) {
System.out.println(content);
self.notify();
try {
prev.wait();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
}
这个时候程序运行会卡住,而且是A线程执行完就直接执行了C线程,而且都只打印了一次就卡住了,我实在搞不懂为什么B线程没拿到A线程执行完释放的锁,这个错误版本到底程序是怎么执行的,本人小白没干过多线程的工作,正在学习,求大佬解释一下

3个回答

prev.wait();写在synchronized (prev)里面
一旦prev被锁,它就没有机会再执行出来了。

Jake_JJJ
Jake_JJJ 错了把。。是放在self锁中,如果self锁被使用中,那么这样prev锁永远无法被释放
接近 2 年之前 回复

看我博客吧 这个用ReentrantLock和Condition来实现。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Java多线程公平锁问题

Java多线程中Reentrant类的带参构造器,创建一个公平锁,按道理说线程应该是先进先出的原则,为什么打印会是乱序。求解答: ``` package cn.zxyy.multiThread.chap4.ReentrantLock.Fair_noFair_test; import java.util.concurrent.locks.ReentrantLock; public class Service { private ReentrantLock lock; public Service(boolean isFair){ lock = new ReentrantLock(isFair); } public void serviceMethod(){ try{ lock.lock(); System.out.println("ThreadName = " +Thread.currentThread().getName()+"获得锁定"); }finally { lock.unlock(); } } } ``` ``` package cn.zxyy.multiThread.chap4.ReentrantLock.Fair_noFair_test; public class RunFair { public static void main(String[] args) { final Service service = new Service(true); Runnable runnable = new Runnable() { @Override public void run() { System.out.println("♠线程"+Thread.currentThread().getName() +"运行了"); service.serviceMethod(); } }; Thread[] threads = new Thread[10]; for (int i = 0; i < 10; i++) { threads[i] = new Thread(runnable); } for (int i = 0; i < 10; i++) { threads[i].start(); } } } ``` ![图片说明](https://img-ask.csdn.net/upload/201908/11/1565526310_572107.png) 使用的是IntellijIdea2017会和这个工具的设置有关系吗?

一个难倒三线城市所有开发人员,主要在数据库方面的项目,就等给各位大侠发路费了

俺生在、活在伟大祖国的一个三线小城市,畴划了一个难倒三线城市所有开发人员,主要在数据库构架,您认为是我的方案行的通吗,还是他们没修炼?到家呢?俺也迷茫了,路过的大侠能给俺点指点吗,发表您的看法,您就说您认为可行不可行,俺将不胜感激!!! ![图片说明](https://img-ask.csdn.net/upload/201807/23/1532329333_341082.jpg) 开发项目: 全球线缆管理专家 开发思路: 目前,全世界对管线缆的管理水平普遍还处在一个相对较低的水平上! 至少有95%企业回答不了以下几个问题:企业到目前为止总共铺设了多少条电缆,每条电缆是哪一年铺设的,已经使用了多少年,最大安全使用年限是多少?是否进行了正常的巡检?今年具体是哪条电缆需要更换吗?您公司布设了多少打数据线,它们起点端口和相对应终点端口分别在哪里?3、您家里水、电、暖具体埋设在墙壁、地板的哪个位置? 然而,企业要达到良好的管理水平就必须持续投入大量的人力、物力和财力。但是这个投入收益效率显然太低了;当企业真正大力投入的时候就会发现这些新电缆老是不坏,旧电缆坏了又不好查;所以大多数企业不愿意去做,准确的说是不愿花大力气去做这个事情。 所以要提高全社会的线缆管理水平最好的办法就是走社会化的道路。就比如每个企业都有通讯要求,但是如果因此要求每个企业都去建一个通迅公司的话,显然是不可能的。同样,要解决这个问题最好方法是,能有一家企业专注的去做这件事,并在这方面提供社会化的服务。 技术方案: 概述: 基于无线网络和地理位置定位,运用服务器数据的区块分割管理法对管、线、缆进行系统编码(指出物品在数据库表中的第几条记录)、条形码标识,免查询直接读取数据的管理方法。 简单说就是:一条线缆被记录在表中是第N条,保持永远是第N条不变,然后把数字“N”,生成条形码贴在线缆上,用手机扫描条形码就能知道,我们要查第几条记录了,直接把指针移过支读取。 项目要成功的关键就是 要解决两个难题:1、能存下天量数据;2,能快速读取 具体实施方案: 一种基于无线网络和地理位置定位,运用数据的区块分割管理法,对管、线、缆进行系统编码、条形码标识的管理方法。共分两个大的部分: (1)一种数据的区块分割管理法:首先把一个大的数据集合,根据某一特征人为的分成若干个“区块”,作为服务器管理的最小单元;由于“区块分割”从理论上,在边界上误差和错误必然发生,于是“区块分割管理法”要求把每一个区块和与它所有相邻的区块动态的作为一个相对较大的区域来管理:当在查询某一个区块内的数据的时候与他所有相邻的区块内的数据会根据需要进行协作查询;同时要求当向某一个区块增加一个新的数据时不能与其所有相邻的区块内的已有的数据出现某一特定属性的共同特征;用这个方法来进行系统“容错、纠错”,保证即便真的出现了错误,也能正确的还原输出正确信息。如图1所示,如果我们先定一个规则:假定数字“1“先被一个区块记录了,那它相邻的区块都不能再出现“1”这个数字;数字“2”被一个区块记录了,数字“2"所在区块相邻的区块都不能再出现"2"这个数字了;假如有一天我们想找到“1”,但我们只能确定“1”有90%可能性在某一区域,但是,同时能确定100%不会超出这个区块和他相邻区块构成的这个总体的区域,所以我只要在这个区块和他相邻区块构成的这个总体的区域里找到了“1“,那么这个“1”就一定是我想要找的那个“1“。显然,这个“1”和在这个区域以外出现的“1”是不一样的。所以,区块分割使同一编码,会因其所在区块不同而代表的含义不同。使编码可以在整个数据集的非相邻区块内重复使用。 (2)一种基于无线网络和地理位置定位,运用数据的区块分割管理法,对管、线、缆进行系统编码、条形码标识的管理方法。 过去有很多事情,由于数据量庞大而很难解决。现在,运用数据的区块分割管理法可以方便解决很多问题,尤其是在智慧城市和数字化城市、数字化地球建设方面将来一定会得到广泛的运用。例如,如果要把所有的管、线、缆全部管理起来,甚至同一条管、线、缆根据所处的地域不同还要分为好多段来管理,整体上必然是一个巨大的数据量。但是,单条记录占用空间并不大,他们的位置(经纬度坐标)却还是相对固定的。根据这一特征,运用本发明所提供的基于无线网络和地理位置定位,运用数据的区块分割管理法,对管、线、缆进行系统编码、条形码标识的管理方法用来解决这一难题。统一管、线、缆编码标准,建设、维护一个能长期保存,方便随时可查、全社会可用的管、线、缆数据的信息系统;在这个信息系统里,服务器就如同所有用户共同使用(共享)的一个“云账本”,大家都在这个帐本上“记账”;在这里又如同给每一条线缆上了一个“户口”。每一个“户口”都记录了管、线、缆日常管理的必要信息。对于“建设单位、负责人联系方式、目前在用还是弃用、弃用,是否允许他人使用”等非涉密的信息,用户可以有选择的向全社会公开,并使全社会的人都有办法方便的了解这些。 “经度”、“纬度”、“编码”共同确定了每一个“户口”的唯一性。由于,强制要求在两条经度线和两条纬度线所围成的每一个“区块”及其相邻的“区块”构成的这个“大区块”内,授予用户的“编码”部分都要保持唯一性;这就等于为把大型数据集合进行了有效分割,并为保障能准确查询打下了坚实的基础。所以,用户只要使用了带有自动定位功能的终端,在一般情况下只需要在目标物上制作条形“编码”和读取条形“编码”部分就足够了,而不需要人工输入所在位置的经纬度信息;即使在自动定位失败的情况下,也只需指定出用户所在“区块”内的任何一个点的位置就可以了,而无需关心具体的经纬度数据,整个过程中系统会根据需要将终端设备所在位置的具体的经纬度自动上传服务器。 本发明所提供的方法便于多个服务器时之间以“区块”作为最小单元进行工作量分配,以方便运营商配置合理的服务器数量,保障恰当的服务响应时间和运营成本的。又因为管、线、缆具有细、长的共同外形特点,所以通过条形码进行标识更具有普遍的易制作和易读取性。 本发明提供的一种基于无线网络和地理位置定位,运用数据的集合区块分割管理法,对管、线、缆进行系统编码、条形码标识的管理方法,使条形码标识在人、机、目标物之间“接口”的准确对接及提高信息交换效率上起了关键性的作用;而地理位置定位的信息系统通过“后台”自动调取、终端设备自动发送方式,为这一过程的顺利进行提供了保障。 实施例1:一用户A正在某处铺设光缆,他通过安装了App的手机向远端服务器发出了要编码请求;服务器收到了请求和用户A所在的位置的经纬度数据,检查用户A所在“区块”的数据库,选出一个编码,确认这个编码不仅用户所在“区块”没有占用,且紧邻的几个“区块”内也没有使用,然后服务器将这个号码发到用户A手机的APP上并将这个编码设为临时占用(24小时);用户手机通过蓝牙传到了用户的条形码喷枪上,用户A操作喷枪把转换成条形码的编码喷在了光缆上;然后用户用手机扫描该条形码,编码被识别后,给这段光缆填写了“通讯工程1号线、起始于机房、终点红星小区9号中继站、线长1672CM、管理单位:通讯公司、电话:123”等信息后,向服务器发送了保存指令;服务器收到指令后保存了信息,并将编码由临时占用(24小时)改为70年保存期。半年后,该用户巡查了这段线路,扫描条形码后,又在信息上增加了“状态正常、巡线员甲、2018年12月8日”的信息后,指令服务器作了保存。10年后,该用户认为60年占用期太短,又申请将这段线路编码的占用期修改为70年。

我的能力等于多少工资啊!

<p>      我是内蒙古的,学校一般般:本科,师范类学院,我学习的是计算机科学与技术(非师范类专业),现在大四了马上面临毕业了,不知道自己这个水平能在找工作的时候得到多少工资,所以问问各位前辈。</p> <p>     4年的学习成绩还行,班里排4~5名(其实班里人不多,就35个),参加过学校和自治区ACM比赛,学校的拿过2次二等奖(内蒙古ACM起步晚,继续搞下去没有希望的)。参加过2个项目,C和java都还行(项目都是java写的)在一个项目中接触过Oracle(安装,建立数据库,配置监听,数据库函数编写等)、hibernate(看得懂,能改改)、能使用ZK组件进行页面布局及后台数据处理,自学jsp(能写一般的页面),对软件架构有一点点了解。</p> <p>      顺便列一下我们4年学过的主要专业课程(我们的专业课程涉及挺广):C,C++(没有好好研究、只懂点皮毛),java,软件工程,人机交互,sql server 2000(自学过JDBC,能进行简单的页面数据传递处理),操作系统,网络与通信,组成原理,计算机安全及网络维护。</p> <p>      说起证书就比较惭愧,不过还是说一下吧。CET-4还没有过,最高一次423。有国家软初级-程序员,中级-软件设计师刚考完。学位、毕业证都能拿到。</p> <p>      上面的应该差不多了,还请各位指教。今后我还需要学习些什么,或是更深入学习些什么,也说说吧,本人虚心接受。</p>

[电脑拆机]谁知道这个模块是什么?

谁知道图中这个模块是什么?干吗用的? 虽然拆过很多电脑了,但一直没明白它是做什么?![图片](https://img-ask.csdn.net/upload/201508/15/1439617748_873733.jpg)

关于RS232串口通讯的流控制flow control

流控制有三种模式:none/硬件RTSCTS/软件XONXOFF 请教各位RTS/CTS是不似乎底层的东西,我设置好通讯采用这个模式后,在串口调试助手内是不是看不到任何多余的信息。 XON/XOFF是不是也是底层的东西,只需要三线连接串口并设置好通讯采用这个模式后,在串口调试助手内是不是也看不到任何多余的信息? 这两种模式除了串口打开初始化以外,在通讯的处理上跟none模式有区别吗???

关于 Markdown 的表格语法

请问有朋友知道如何用Markdown画出下面的表格吗? ![图片说明](https://img-ask.csdn.net/upload/201702/18/1487393236_313084.jpg) 其主要的特点在于:第一列有三行,第二三列有五行。

如何获取网卡的CSI信息

各位大神, 我要做个通过wifi接受的信号强度等信息进行人体行为识别的项目。(其实是导师要做) 之前通过微软提供的nativewifi接口,实现了实时获取RSSI值,但是仅仅这个值,还是不够。数据太粗糙了。 所以,想获取网卡的CSI信息。网卡型号是intel dual band wireless-ac 3165。 之前在搜到了有linux下的Linux 802.11n csi tool。但是,支持的网卡是5300。估计我这个肯定用不了。 所以想问问各位大神,有没有什么方法能够获取笔记本电脑网卡CSI信息的。 网址:http://blog.csdn.net/sodleave/article/details/44219291 http://dhalperi.github.io/linux-80211n-csitool/old_installation.html win10 linux下都可以。nativewifi貌似只提供了比较简单的wifi控制信息。 小弟菜鸟一枚,跪谢了!!! 谢谢!!!T T

谁会使用isl58315,使用stm32f103开发

我在使用一款芯片isl58315,谁会开发???,设有源程序,或者谁使用过,这款芯片只有三线spi通讯,

Java中使用freemarker导出word文档 循环生成表格并且表格每行中都自动插入图片

Java中使用freemarker导出word文档 循环生成表格并且表格每行中都自动插入图片 就好像下面的效果,晚上很多例子都是单图片或者每个图片都是分开的,不是循环赋值的, 像下面的效果 ![图片说明](https://img-ask.csdn.net/upload/201907/01/1561946065_612341.png)

3年前端经验 工资应该开多少?

水平中上吧,熟悉WEBAPP HTML5 不知道是什么价位··

如何利用python将oracle 数据库表结构导出至word文档

如何利用python将oracle 数据库表结构导出至word文档

latex中创建表格增加大括号的问题

用latex创建表格,打算在表格左边增加大括号,构成下图的形式, 不知道该怎么做,有人做过吗?求解! ![图片说明](https://img-ask.csdn.net/upload/201703/17/1489742720_334058.png)

lookupedit控件与app.config的使用关系

我在app.config添加一个配置文件如下: <add key="AnalyEfficiency" value="加热炉工艺风险分析"/> <add key="AnalyEfficiencyRunPath" value="\AnalyEfficiency"/> ` ***<add key="AnalyEfficiencyLine" value="\Line\AnalyEfficiency"/>*** <add key="AnalyEfficiencyResultSavePath" value="\Result\AnalyEfficiency"/> <add key="AnalyEfficiencyModelDataPath" value="\Data\AnalyEfficiency"/> <add key="AnalyEfficiencyDescPath" value="\Help\AnalyEfficiency"/> 就是斜体那个,然后我要在lookupedit中进行显示这个线路选择,但是我有三条线路:A、一线;B、二线;C、三线,请问该如何做?我的app.config这样写又对不对?lookupedit中的代码又该如何写?在线等大家指教!不用建数据库,别人说直接添加数组,怎么做

我自己用java写好了后台,现在APP那边叫我提供接口。

我怎么提供? 纠结死了 可以在我自己的后台程序里写接口提供(可以的话,给个例子),还是另外搭一个程序专门提供啊?

请教双三次插值、双线性插值、最近邻插值

用matlab编写的程序将彩色图形进行插值,为什么psnr的结果显示最近邻插值比双三次插值效果好,

流水线冲突解决的问题

解决流水线由于控制相关可能引发的问题,有一种解决办法是分支延迟槽,分支延迟槽的主要思想是什么?和分支预测有什么区别?

430f5529作为电脑与另一块实验板的通信媒介问题

本人菜鸟一枚,求问现在想要5529作为中间媒介,上级电脑与5529的USB口连接,下级实验板与5529的P3.1,P3.1,P3.2管脚连接,通信方式为SPI三线通信模式,具体的编程思路??真的不太懂,希望能指导一下

请问Matlab画三维图时,怎么将两条空间曲线上的点对对连线?

![图片说明](https://img-ask.csdn.net/upload/201903/20/1553070721_379774.png) 请问各位大佬,怎么才能画出两条空间曲线上的点对对连线的效果呢?

此情况,下一步如何走为好?

自学了好长时间编程了。目前已经基本掌握了C。 网上搜了搜,这个三线城市几乎没有招C的工作。 基本上,分四类。 java 、c++、c#、php。 如果能有机会进一家公司,肯定公司用什么,我学什么。 但是,现在没机会。提前自学一门语言吧。又不知道该学哪个好。毕竟语言都是工具。 迷茫,没思路了。

在中国程序员是青春饭吗?

今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...

程序员请照顾好自己,周末病魔差点一套带走我。

程序员在一个周末的时间,得了重病,差点当场去世,还好及时挽救回来了。

我以为我学懂了数据结构,直到看了这个导图才发现,我错了

数据结构与算法思维导图

String s = new String(" a ") 到底产生几个对象?

老生常谈的一个梗,到2020了还在争论,你们一天天的,哎哎哎,我不是针对你一个,我是说在座的各位都是人才! 上图红色的这3个箭头,对于通过new产生一个字符串(”宜春”)时,会先去常量池中查找是否已经有了”宜春”对象,如果没有则在常量池中创建一个此字符串对象,然后堆中再创建一个常量池中此”宜春”对象的拷贝对象。 也就是说准确答案是产生了一个或两个对象,如果常量池中原来没有 ”宜春” ,就是两个。...

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

Linux面试题(2020最新版)

文章目录Linux 概述什么是LinuxUnix和Linux有什么区别?什么是 Linux 内核?Linux的基本组件是什么?Linux 的体系结构BASH和DOS之间的基本区别是什么?Linux 开机启动过程?Linux系统缺省的运行级别?Linux 使用的进程间通信方式?Linux 有哪些系统日志文件?Linux系统安装多个桌面环境有帮助吗?什么是交换空间?什么是root帐户什么是LILO?什...

将一个接口响应时间从2s优化到 200ms以内的一个案例

一、背景 在开发联调阶段发现一个接口的响应时间特别长,经常超时,囧… 本文讲讲是如何定位到性能瓶颈以及修改的思路,将该接口从 2 s 左右优化到 200ms 以内 。 二、步骤 2.1 定位 定位性能瓶颈有两个思路,一个是通过工具去监控,一个是通过经验去猜想。 2.1.1 工具监控 就工具而言,推荐使用 arthas ,用到的是 trace 命令 具体安装步骤很简单,大家自行研究。 我的使用步骤是...

学历低,无法胜任工作,大佬告诉你应该怎么做

微信上收到一位读者小涛的留言,大致的意思是自己只有高中学历,经过培训后找到了一份工作,但很难胜任,考虑要不要辞职找一份他能力可以胜任的实习工作。下面是他留言的一部分内容: 二哥,我是 2016 年高中毕业的,考上了大学但没去成,主要是因为当时家里经济条件不太允许。 打工了三年后想学一门技术,就去培训了。培训的学校比较垃圾,现在非常后悔没去正规一点的机构培训。 去年 11 月份来北京找到了一份工...

JVM内存结构和Java内存模型别再傻傻分不清了

JVM内存结构和Java内存模型都是面试的热点问题,名字看感觉都差不多,网上有些博客也都把这两个概念混着用,实际上他们之间差别还是挺大的。 通俗点说,JVM内存结构是与JVM的内部存储结构相关,而Java内存模型是与多线程编程相关,本文针对这两个总是被混用的概念展开讲解。 JVM内存结构 JVM构成 说到JVM内存结构,就不会只是说内存结构的5个分区,而是会延展到整个JVM相关的问题,所以先了解下

和黑客斗争的 6 天!

互联网公司工作,很难避免不和黑客们打交道,我呆过的两家互联网公司,几乎每月每天每分钟都有黑客在公司网站上扫描。有的是寻找 Sql 注入的缺口,有的是寻找线上服务器可能存在的漏洞,大部分都...

Google 与微软的浏览器之争

浏览器再现“神仙打架”。整理 | 屠敏头图 | CSDN 下载自东方 IC出品 | CSDN(ID:CSDNnews)从 IE 到 Chrome,再从 Chrome 到 Edge,微软与...

讲一个程序员如何副业月赚三万的真实故事

loonggg读完需要3分钟速读仅需 1 分钟大家好,我是你们的校长。我之前讲过,这年头,只要肯动脑,肯行动,程序员凭借自己的技术,赚钱的方式还是有很多种的。仅仅靠在公司出卖自己的劳动时...

上班一个月,后悔当初着急入职的选择了

最近有个老铁,告诉我说,上班一个月,后悔当初着急入职现在公司了。他之前在美图做手机研发,今年美图那边今年也有一波组织优化调整,他是其中一个,在协商离职后,当时捉急找工作上班,因为有房贷供着,不能没有收入来源。所以匆忙选了一家公司,实际上是一个大型外包公司,主要派遣给其他手机厂商做外包项目。**当时承诺待遇还不错,所以就立马入职去上班了。但是后面入职后,发现薪酬待遇这块并不是HR所说那样,那个HR自...

女程序员,为什么比男程序员少???

昨天看到一档综艺节目,讨论了两个话题:(1)中国学生的数学成绩,平均下来看,会比国外好?为什么?(2)男生的数学成绩,平均下来看,会比女生好?为什么?同时,我又联想到了一个技术圈经常讨...

搜狗输入法也在挑战国人的智商!

故事总是一个接着一个到来...上周写完《鲁大师已经彻底沦为一款垃圾流氓软件!》这篇文章之后,鲁大师的市场工作人员就找到了我,希望把这篇文章删除掉。经过一番沟通我先把这篇文章从公号中删除了...

85后蒋凡:28岁实现财务自由、34岁成为阿里万亿电商帝国双掌门,他的人生底层逻辑是什么?...

蒋凡是何许人也? 2017年12月27日,在入职4年时间里,蒋凡开挂般坐上了淘宝总裁位置。 为此,时任阿里CEO张勇在任命书中力赞: 蒋凡加入阿里,始终保持创业者的冲劲,有敏锐的...

总结了 150 余个神奇网站,你不来瞅瞅吗?

原博客再更新,可能就没了,之后将持续更新本篇博客。

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

MySQL数据库面试题(2020最新版)

文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引使用场景(重点)...

如果你是老板,你会不会踢了这样的员工?

有个好朋友ZS,是技术总监,昨天问我:“有一个老下属,跟了我很多年,做事勤勤恳恳,主动性也很好。但随着公司的发展,他的进步速度,跟不上团队的步伐了,有点...

我入职阿里后,才知道原来简历这么写

私下里,有不少读者问我:“二哥,如何才能写出一份专业的技术简历呢?我总感觉自己写的简历太烂了,所以投了无数份,都石沉大海了。”说实话,我自己好多年没有写过简历了,但我认识的一个同行,他在阿里,给我说了一些他当年写简历的方法论,我感觉太牛逼了,实在是忍不住,就分享了出来,希望能够帮助到你。 01、简历的本质 作为简历的撰写者,你必须要搞清楚一点,简历的本质是什么,它就是为了来销售你的价值主张的。往深...

离职半年了,老东家又发 offer,回不回?

有小伙伴问松哥这个问题,他在上海某公司,在离职了几个月后,前公司的领导联系到他,希望他能够返聘回去,他很纠结要不要回去? 俗话说好马不吃回头草,但是这个小伙伴既然感到纠结了,我觉得至少说明了两个问题:1.曾经的公司还不错;2.现在的日子也不是很如意。否则应该就不会纠结了。 老实说,松哥之前也有过类似的经历,今天就来和小伙伴们聊聊回头草到底吃不吃。 首先一个基本观点,就是离职了也没必要和老东家弄的苦...

男生更看重女生的身材脸蛋,还是思想?

往往,我们看不进去大段大段的逻辑。深刻的哲理,往往短而精悍,一阵见血。问:产品经理挺漂亮的,有点心动,但不知道合不合得来。男生更看重女生的身材脸蛋,还是...

什么时候跳槽,为什么离职,你想好了么?

都是出来打工的,多为自己着想

程序员为什么千万不要瞎努力?

本文作者用对比非常鲜明的两个开发团队的故事,讲解了敏捷开发之道 —— 如果你的团队缺乏统一标准的环境,那么即使勤劳努力,不仅会极其耗时而且成果甚微,使用...

为什么程序员做外包会被瞧不起?

二哥,有个事想询问下您的意见,您觉得应届生值得去外包吗?公司虽然挺大的,中xx,但待遇感觉挺低,马上要报到,挺纠结的。

当HR压你价,说你只值7K,你该怎么回答?

当HR压你价,说你只值7K时,你可以流畅地回答,记住,是流畅,不能犹豫。 礼貌地说:“7K是吗?了解了。嗯~其实我对贵司的面试官印象很好。只不过,现在我的手头上已经有一份11K的offer。来面试,主要也是自己对贵司挺有兴趣的,所以过来看看……”(未完) 这段话主要是陪HR互诈的同时,从公司兴趣,公司职员印象上,都给予对方正面的肯定,既能提升HR的好感度,又能让谈判气氛融洽,为后面的发挥留足空间。...

面试:第十六章:Java中级开发(16k)

HashMap底层实现原理,红黑树,B+树,B树的结构原理 Spring的AOP和IOC是什么?它们常见的使用场景有哪些?Spring事务,事务的属性,传播行为,数据库隔离级别 Spring和SpringMVC,MyBatis以及SpringBoot的注解分别有哪些?SpringMVC的工作原理,SpringBoot框架的优点,MyBatis框架的优点 SpringCould组件有哪些,他们...

面试阿里p7,被按在地上摩擦,鬼知道我经历了什么?

面试阿里p7被问到的问题(当时我只知道第一个):@Conditional是做什么的?@Conditional多个条件是什么逻辑关系?条件判断在什么时候执...

终于懂了TCP和UDP协议区别

终于懂了TCP和UDP协议区别

立即提问
相关内容推荐