IntelliJ IDEA 中有什么让你相见恨晚的技巧? 汇总一下 Intellij IDEA 常用的牛逼插件
网络编程 1. 前言 计算机网络是什么 计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统 网络编程的目的 传播交流信息,数据交换,通信 想要达到这个效果需要啥 如何准确定位网络上的一台主机 ip:端口 找到这个主机如何传输数据呢 网络通信的要素 ip 端口号 通信协议 Ip 端口号 ip相当于一栋楼,端口号相当于一栋楼中的房间号,访问的资源就是这个房间里面的东西。 2. ip ip地…
这篇文章主要介绍了如果去部署前后端分离的若依项目,后端java项目会部署到一台机器上,前端项目会部署到另一台机器上,另外这个项目上也增加了nginx。 1. 安装环境 jdk安装 redis安装 mysql安装(这三种放到一台服务器上,部署后端) nginx安装(另外在另外一台服务器,部署前端) 点击上面的连接即可安装以上环境 2. 后端部署 修改application.yml文件 uploadPath ruoyi: # 名称 name: RuoYi # 版本 version: 3.6.0 # 版权年份 copyr…
Unsafe类对象在cas中是非常重要的,不管是在原子整数AtomicInteger,AtomicLong,原子引用AtomicReference,包括AtomicStampedReference和AtomicMarkableReference,原子数组AtomicIntegerArray,AtomicLongArray,还有原子更新器AtomicIntegerFieldUpdater等,都是通过unsafe对象中的cas方法来实现的。 1. 创建Unsafe对象并使用 Unsafe对象不能通过new 来创建,…
在很多时候原子引用没法知道共享变量是否被更改过,比如说,当前共享变量的值为A,而线程1想更改A的值为C,那么是可以更改成功的,如果在线程1修改A->C之前,有其他的线程对A进行了修改,例如先把A改为B后又把B改为A,那么线程1还是可以更改成功的。 1. ABA示例 public class Test26 { static AtomicReference<String> reference = new AtomicReference<>("A"); public static void m…
原子数组 在我们对数组元素里面的内容进行更改时,若要保证线程安全,则需要可以通过AtomicIntegerArray 这个类。 代码示例: public static void main(String[] args) { // 没用原子类 demo(() -> new int[10], (array) -> array.length, (array, index) -> array[index]++, array -> System.out.println(Arrays.toString(a…
在有些情况下,需要保证对一个类中的属性的变量访问的线程安全性,就需要用到AtomicReferenceFieldUpdater,AtomicLongFieldUpdater,AtomicIntegerFieldUpdater等属性原子更新器。 代码示例:以AtomicReferenceFieldUpdater为例子 AtomicReferenceFieldUpdater updater = AtomicReferenceFieldUpdater .newUpdater(Student.class, String…
AtomicInteger和AtomicLong这类原子整数主要是针对整数类型的线程安全的,为了实现对原子引用的线程安全,引入了AtomicReference这个原子引用类 还是拿1000个线程同时取10块钱的案例举例,代码如下所示: public interface Account { public BigDecimal getBalance(); public void withdraw(BigDecimal amount); static void demo(Account account) { List…
1. jdk安装 yum install java-1.8.0-openjdk.x86_64 2. maven 安装 sudo wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo sudo sed -i s/\$releasever/6/g /etc/yum.repos.d/epel-apache-maven.repo…
1. Maven 是什么 Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)[插件(plugin)目标(goal)的逻辑。当你使用Maven的时候,你用一个明确定义的项目对象模型来描述你的项目,然后Maven可以应用横切的逻辑,这些逻辑来自一组共享的(或者自定义的)插件。 …