后台启动jar服务

后台启动jar

1
2
3
4
5
nohup java -jar XXX.jar > Log.log 2>&1 & 

nohup java -jar XXX.jar >> Log.log 2>&1 &

nohup java -jar XXX.jar > /dev/null 2>&1 &

阅读全文

记录客户端访问IP地址

1
2
3
4
5
1、反向代理服务器nginx.conf配置
在server后面增加三个参数用与记录IP:
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

阅读全文

Nginx root 和alias

作者:人世间
链接:https://www.jianshu.com/p/4be0d5882ec5

阅读全文

消息队列场景2

消息队列(2)

知识出自中华石杉,微信公众号石杉的架构笔记(id:shishan100)

** 为什么使用消息队列?
消息队列有什么优点和缺点?
Kafka、ActiveMQ、RabbitMQ、RocketMQ 都有什么区别,以及适合哪些场景?

阅读全文

消息队列场景1

消息队列(1)

知识出自中华石杉,微信公众号石杉的架构笔记(id:shishan100)

1、传统的调用,如果一个模块调用多个模块会使得系统之间的依赖越来越复杂

阅读全文

集合类安全问题

List

ArrayList是非线程安全类,在多线程同时写的情况下,会抛出异常java.util.ConcurrentModificationException

阅读全文

公平锁和非公平锁

公平锁:多个线程按照申请所得顺序来获取锁,先进先出。如果等待队列为空或者在第一个位置则直接占有锁
非公平锁: 线程直接抢占锁,如果抢占失败,则加入等待队列,采用公平锁方式

阅读全文

Volatile

JMM模型

指Java内存模型(Java Memory Model,JMM),不是内存布局,不是指所谓的堆、栈、方法区,用于屏蔽掉各种硬件和操作系统的内存访问差异,以实现让Java程序在各种平台下都能达到一致的并发效果,JMM规范了Java虚拟机与计算机内存是如何协同工作的:规定了一个线程如何和何时可以看到由其他线程修改过后的共享变量的值,以及在必须时如何同步的访问共享变量。。
每个Java线程都有自己的工作内存。操作共享数据,首先将数据从主内存拷贝到线程自己的工作内存中,得到一份拷贝,操作完毕后在写会主内存。不同的线程之间也无法直接访问对方工作内存中的变量,线程之间值的传递都需要通过主内存来完成。

阅读全文

CAS

CAS

阅读全文

JVM

阅读全文