后端
Java中的vloatile关键字
1 volatile是什么?
它是Java提供的一种轻量级的同步机制。与synchronized修饰方法,代码块不同,volatile只用来修饰变量。并且与synchronized,Lock等重量级锁不同的是,volatile更轻量级,因为它不会引起线程上下文的切换和调度。
2 volatile作用
我们知道并发编程的三大特性:原子性,可见性,有序性。
原子性:
即一个或者多个操作作为一个整体,要
3. SpringCloud之Ribbon使用
image.png
Ribbon 是一个独立的组件,是用来进行远程接口调用的,代码如下
通过 getForObject 方法可以掉到用 micro-order 服务的,order/list 接口。然后在调用期间会存在负载均衡,micro-order 服务对应有几个服务实例就会根据负载均衡算法选择某一个去调用。
1. 测试代码
1.1. 启动两个订单服务
端口号分别为9011,901
25. 线程的四种创建方式
四种创建线程的方式:
继承 Thread 类
实现 Runnable 接口
通过 ExecutorService 和 Callable<Class> 实现有返回值的线程
基于线程池的execute(),创建临时线程
1 继承 Thread 类
Thread 类实现了 Runnable 接口并定义了操作线程的一些方法,我们可以通过创建类时继承 Thread类来创建一个线程。
具体实现
532. 数组中的 k-diff 数对
给你一个整数数组 nums 和一个整数 k,请你在数组中找出 不同的 k-diff 数对,并返回不同的 k-diff 数对 的数目。
k-diff 数对定义为一个整数对 (nums[i], nums[j]) ,并满足下述全部条件:
0 <= i, j < nums.length
i != j
nums[i] - nums[j] == k
注意,|val| 表示 val 的绝对值。
示例
LeetCode习题——x 的平方根(二分查找)
x 的平方根
力扣链接:x 的平方根
题目
给你一个非负整数 x ,计算并返回 x 的 算术平方根 。
由于返回类型是整数,结果只保留 整数部分 ,小数部分将被 舍去 。
注意:不允许使用任何内置指数函数和算符,例如 pow(x, 0.5) 或者 x ** 0.5 。
示例 1:
输入:x = 4
输出:2
示例 2:
输入:x = 8
输出:2
解释:8 的算术平方根是 2.82842.
delphi7无法打开的故障解决办法
关于win7 下delphi7出现重新注册,无法打开的故障解决办法
1、现象
在使用delphi编写程序,非法关闭电脑计算机后,重启电脑,开启delphi7时出现如下故障提示需要重新注册无法打开:如下图所示:
2、原因:
因为多个delphi同时更新"$:\documents and Settings.borland"中的一个或多个文件造成文件破坏(也可能是
【算法】选择排序算法的讲解和代码实践
思路
选择排序,顾名思义,就是每次选出一个最小或最大的数,移动位置,直到整个数组完成排序。
有数组[26, -3, 14, -15, 0, 324, 98, 1, 22]
现对该数组进行排序,使用选择排序算法。
先来屡一下思路和步骤:
选出整个数组最小的数,记录它的下标;
将它和未排序的最左边数组进行交换(交换过就是排序了);
直至整个数组排序完成。
讲解
首先声明出待排序下标、最小值和最小下
