Synchronized主要有以下几种用法:
1. 加在方法上:这里包括加在实例方法上、加在静态方法上。
2. 方法块:这里包括锁定this、锁定Class、锁定实例对象、锁定静态对象。
今天主要通过例子演示一下第二个用法:锁定this和锁定class。
首先是锁定this
测试代码如下:
1package com.xnck.example.sbtest; 2 3import org.junit.Test; 4 5public class ThreadTest ...
有备无患
今天听《逻辑思维》,罗胖讲了个故事,内容大概是这样的:
说是第二次世界大战后期的“雅尔塔会议”,苏、美、英三国会谈,苏联做了大量的情报工作,对美、英两国的底线摸的是一清二楚,整个会议虽然不能说苏联获得了什么,但是苏联的确在引导着会议的进程。
进而引申出一个论点,即:当前的社会竞争,很多时候已经不表现为实例之间的比拼,而是表现为准备工作的比拼。并且用其自身的跨年演...
Java-Synchronized用法(1)
Synchronized主要有以下几种用法:
1. 加在方法上:这里包括加在实例方法上、加在静态方法上。
2. 方法块:这里包括锁定this、锁定Class、锁定实例对象、锁定静态对象。
今天主要通过例子演示一下第一个用法:加在实例方法上和加在静态方法上。
首先是加在实例方法上
测试代码如下:
1import org.junit.Test; 2 3import java.util.Scanner; 4 5public class Threa...
不使用Vue-CLI构建Vue项目
最近半年,基本上主要的学习重心都是放在Vue这款框架上面,我发现我的学习过程有点颠倒,所以最近一周花了些时间尝试不使用Vue CLI来构建Vue项目。我不是个前端开发人员,只是为了兴趣和保持技术判断力而了解这款框架,所以有不对的地方还请各位看官指出。
第一步:开发必备
Node.js和NPM不可少,之前写过一篇文章,可以参考:《安装Node.js和NPM》。
第二步:版本信息
Node.js:v10.11.0
NPM:6.4.1
Webpa...
这些年的自由职业
原因
2014年各种问题铺面而来,被迫休息半年。在这期间有朋友问我能不能帮他写一个淘宝的爬虫程序,用来通过关键字获取商品信息。当时反正闲着也是闲着,于是开始研究爬虫,写了一个多月,优化了两三次,最后交付的时候,自我感觉已经完美无瑕。当然朋友也意思了一下,使我能够在这半年有点零花钱。
同时,我也在思考,之前累死累活的做事,到底是为了什么?工作认真,老板不喜欢;工作太积极,老板也不喜...
MySQL-死锁
本文基于MySQL的数据库引擎InnoDB,通过本文了解:
1. 死锁。
死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象。以下是一些示例。
更新时互相等待
#第一个事务
START TRANSACTION;
#第一步,更新1111这条数据
UPDATE test2 SET sum_count = sum_count + 1 WHERE id = '1111';
#第三步,更新2222这条数据
UPDATE test2 SET sum_count = sum_count + 1 WHE...
别让员工“野蛮生长”
今天简单聊聊如何带人。所谓的带人,其实就是一个放权的过程,但是这是一个极其缓慢的过程,不可能一蹴而就。如果在最开始的时候,给予的自由过大,员工就会如同野草一样,疯狂的自我生长,最终的结果肯定是良莠不齐。
先来看几个场景:
拿到一个原始的需求,Leader:“这个功能,做一下,没问题吧?”员工:“没问题。”
过了几天,Leader:“做完了没有?”员工“......”
Leader:“你需要在这里增加一个接口去...