1、简介 Java有四种锁状态:无锁、偏向锁、轻量锁、重量锁,锁可以逐渐升级,但是不可以降级。 2、锁状态 在Java中对象的锁存储在对象头Mark Word中(该字段存储对象的hashcode或者锁信息) 2.1、偏向锁 2.1.1、获取 当一个线程访问同步代码块并获取锁的时候,会在对象头和栈帧中的锁记录里存储偏向锁的线程ID,以后该线程在进入和退出同步块时,不需要进行CAS加锁和解锁,会查询对象头中Mark Word是否存储着指向该线程的偏向锁,如果成功,表示线程已经获得了锁。如果失败,则需要再测试一下Mark Word中偏向锁的标识是否设置成1(表示当前是偏向锁):如果没有设置,则使用CAS竞争锁;如果设置了,则尝试使用CAS将对象头的偏向锁指向当前线程; 2.1.2、撤销 当其他线程尝试竞争偏向锁时,持有偏向锁的线程才会释放偏向锁。当另一个线程试图访问偏向锁时,会首先暂停拥有偏向锁的进程,如果线程没有运行,则将对象锁的对象头设置为无锁状态。如果线程正在运行,则会暂停该线程,恢复到无锁状态,或者标记对象不适合作为偏向锁,最后唤醒该线程。 2.1.3、优缺点 偏向锁适用于大多数时候.... 有更新! java锁状态基本概念 程序人生
1、安装vsftpd配置默认启动 yum -y install vsftpd systemctl enable vsftpd.service 2、配置文件 vi /etc/vsftpd/vsftpd.conf 根据自己的需求进行配置 3、添加用户分配权限 useradd ftpuser passwd ftpuser chown -R ftpuser /home/ftpuser/data/ 4、防火墙 ftp端口默认21 firewall-cmd --permanent --zone=public --add-port=21/tcp firewall-cmd --reload 5、启动/关闭ftp systemctl start/stop vsftpd 6、查看服务状态 service vsftpd status 7、win10上测试 ftp ip地址 有更新! centos搭建ftp服务器 服务器
1、建立共享目录 在windows上建立共享目录 高级共享管理中开启以下配置 2、centos安装samba yum install samba samba-client 3、查看windows共享目录 这里的ip是虚拟机宿主机的IP,后面是访问的用户名%密码 smbclient -L IP -U 用户名%密码 4、访问windows指定共享目录 smbclient //IP/windows建立的共享目录名称 -U windows登录用户名%密码 5、将目录直接挂载到虚拟机中 mount -t cifs -o username="windows用户名",password="密码" //宿主机IP/共享文件夹名称 /挂再到linux的指定目录 到这里修改windows下的目录,在linux配置的挂载目录下也能看到修改了 6、取消挂载 umount linux上挂载的文件路径 so easy~ 有更新! 将windows目录共享到hype-v中的centos虚拟机 centos
拉取镜像 docker pull wurstmeister/zookeeper docker pull wurstmeister/kafka 运行容器 运行zookeeper docker run -d --name zookeeper -p 2181:2181 wurstmeister/zookeeper 运行kafka 10.116.9.162是我本机IP,换成自己的就好了 docker run -d --name kafka -p 9092:9092 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=10.116.9.162:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://10.116.9.162:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -t wurstmeister/kafka 有更新! docker运行zookeeper和kfaka 程序人生
拉取镜像 docker pull streamsets/datacollector 运行容器 docker run --restart=always -p 18630:18630 -d --name streamsets-dc streamsets/datacollector 有更新! docker启动streamsets 程序人生
拉取镜像 docker pull flink 运行容器 docker run -t -d --name jobmanager --network host -e JOB_MANAGER_RPC_ADDRESS=jmr -p 8081:8081 flink jobmanager 有更新! docker启动flink 程序人生