之前知道有这个玩意,但是懒得配置,觉得影响不大,今天创建一个maven项目,下载依赖下了半天,后来等不及了,配置了阿里云中央仓库,秒下载。
E:\maven\apache-maven-3.3.9\conf
修改settings.xml
<mirror>...
汪明鑫
6年前 (2018-09-13) 919浏览 0评论
0喜欢
如果某个支持两个或者多个动作同时存在,那么这个系统就是并发系统;如果某个支持两个或者多个动作同时执行,那么这个系统就是并行系统。
在并发程序中可以同时拥有两个或者多个线程。如果程序在单核处理器上运行,那么这两个线程将会交替的换入或换出内存,这些线程是同时存在的。
如果程序能够并行...
汪明鑫
6年前 (2018-09-04) 889浏览 0评论
0喜欢
这个在面试美团时让手写了,并说出如何理解,差点忘了
public static Singleton getInstance()
{
if (instance == null) //1
{
synchroniz...
汪明鑫
6年前 (2018-09-04) 1102浏览 1评论
0喜欢
public static void main(String[] args) {
//第一种方式获取Class对象
Student stu1 = new Student();//这一new 产生一个Student对象,一个Class对象。
...
汪明鑫
6年前 (2018-09-04) 752浏览 0评论
1喜欢
任务数量多时,用线程池更快
先看下Executor整体架构
那么Executors是什么?
类比Array、Arrays,Collection、Collections
-s表示工具类
用底层,看顶层,想要用一个框构的底层、实现类,先要看其最顶层
public i...
汪明鑫
7年前 (2018-08-28) 1038浏览 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) 877浏览 0评论
0喜欢
最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数。
GET请求在URL中传送的参数是有长度限制的,而POST没有。
对参数的数据类型,GET只接受ASCII字符,而POST没有限制。
GET比POST更不安全,因为参数直接暴露在URL上,所...
汪明鑫
7年前 (2018-08-28) 874浏览 0评论
0喜欢
【CAS Compare and Swap】
CAS 的关键点在于,系统在硬件层面保证了比较并交换操作的原子性, 处理器使用基于对缓存加锁或总线加锁的方式来实现多处理器之间的原子操作。
CAS 是非阻塞同步的一种常见实现。
CAS不会把线程挂起,性能要好的多,通常是基于...
汪明鑫
7年前 (2018-08-28) 933浏览 0评论
0喜欢