java多线程
volatile的作用 (可见性,防止指令重排序)
线程池
Zookeeper的应用场景
问了点项目
怎么解决暴力破解 (重复登陆账号密码,如果一直错误,会不会冻结用户)
怎么实现单点登陆
手写算法:
1,找出字符串中出现次数最多的字符
2,字符串的全排列
3,1...
汪明鑫
7年前 (2018-08-29) 1003浏览 0评论
0喜欢
任务数量多时,用线程池更快
先看下Executor整体架构
那么Executors是什么?
类比Array、Arrays,Collection、Collections
-s表示工具类
用底层,看顶层,想要用一个框构的底层、实现类,先要看其最顶层
public i...
汪明鑫
7年前 (2018-08-28) 1036浏览 1评论
0喜欢
volatile保证可见性不能保证原子性
《深入理解java虚拟机》中:
/**
* volatile变量自增运算测试
*
* @author zzm
*/
public class VolatileTest {
public...
汪明鑫
7年前 (2018-08-28) 913浏览 3评论
0喜欢
Lock更灵活,功能更丰富
public interface Lock {
void lock();
void lockInterruptibly() throws InterruptedException;
boolean tryLock();
...
汪明鑫
7年前 (2018-08-28) 906浏览 0评论
0喜欢
synchronized是java内置关键字,解决共享数据冲突,是一个可重入锁
synchronized( 需要一个任意的对象(锁) ){
代码块中放操作共享数据的代码
多个线程不能同时进行的部分
}
锁就是一个标记
如果用的不是一把锁,则两...
汪明鑫
7年前 (2018-08-28) 875浏览 0评论
0喜欢
设计一个不可重入锁
public class Lock{
private boolean isLocked = false;
public synchronized void lock() throws InterruptedException{
...
汪明鑫
7年前 (2018-08-28) 826浏览 0评论
0喜欢
最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数。
GET请求在URL中传送的参数是有长度限制的,而POST没有。
对参数的数据类型,GET只接受ASCII字符,而POST没有限制。
GET比POST更不安全,因为参数直接暴露在URL上,所...
汪明鑫
7年前 (2018-08-28) 872浏览 0评论
0喜欢
【CAS Compare and Swap】
CAS 的关键点在于,系统在硬件层面保证了比较并交换操作的原子性, 处理器使用基于对缓存加锁或总线加锁的方式来实现多处理器之间的原子操作。
CAS 是非阻塞同步的一种常见实现。
CAS不会把线程挂起,性能要好的多,通常是基于...
汪明鑫
7年前 (2018-08-28) 931浏览 0评论
0喜欢
wifi突然显示不了了,网卡有没有被禁用
打开设备管理器,网络适配器,卸载这个再重装,OK
转载请注明:汪明鑫的个人博客 » wifi显示不了...
汪明鑫
7年前 (2018-08-28) 839浏览 0评论
0喜欢
何谓荷兰国旗:
现有红、白、蓝三个不同颜色的小球,乱序
排列在一起,请重新排列这些小球,使得红
白蓝三色的同颜色的球在一起。这个问题之
所以叫荷兰国旗,是因为我们可以将红白蓝
三色小球想象成条状物,有序排列后正好组
成荷兰国旗。
问题转化:
一个数组a,输入一个数...
汪明鑫
7年前 (2018-08-27) 1146浏览 2评论
1喜欢