摘要:
ChromeDriver was started successfully.一月 20, 2023 7:04:35 上午 org.openqa.selenium.devtools.CdpVersionFinder findNearestMatch警告: Unable to find an exact
阅读全文
posted @ 2023-01-20 07:11
锐洋智能
阅读(744)
推荐(0)
摘要:
public static void main(String[] args) { Map<String, String> map = new HashMap<String, String>(); map.put("key1", "value1"); map.put("key2", "value2")
阅读全文
posted @ 2023-01-19 15:05
锐洋智能
阅读(1697)
推荐(0)
摘要:
/** * 将Map字符串转换为Map * * @param str Map字符串 * @return Map */ public static Map<String,String> mapStringToMap(String str){ str = str.substring(1, str.len
阅读全文
posted @ 2023-01-19 15:04
锐洋智能
阅读(1459)
推荐(0)
摘要:
Map<String, String> map = new HashMap<String, String>(); map.put("key1", "value1"); map.put("key2", "value2"); map.put("key3", "value3"); System.out.p
阅读全文
posted @ 2023-01-19 15:03
锐洋智能
阅读(1130)
推荐(0)
摘要:
集合、数组都是对多个数据结构进行存储操作的结构,简称Java容器。但是随着数据量的增大,数组越来越不能满足现代的开发要求。比如数组初始化以后,长度就确定了,不便于扩展;数组声明的时候,就决定了元素初始化的类型且添加、删除操作效率低下。 Java集合可以看做一个容器,比较灵活,可以动态的把多个对象昂如
阅读全文
posted @ 2023-01-12 19:34
锐洋智能
阅读(130)
推荐(0)
摘要:
ArrayList、 LinkedList 和 Vector都实现了List接口,是List的三种实现。ArrayList底层是用数组实现的。可以认为ArrayList是一个可改变大小的数组。随着越来越多的元素被添加到ArrayList中,其规模是动态增加的。LinkedList底层是通过双向链表实
阅读全文
posted @ 2023-01-12 19:34
锐洋智能
阅读(27)
推荐(0)
摘要:
一:set集合框架体系图 二:set集合介绍Set接口继承了Collection接口,含有许多常用的方法。 int size();返回集合的长度 boolean isEmpty();判断集合是否为空 boolean contains(Object o);是否包含某个值 boolean add(E e
阅读全文
posted @ 2023-01-12 19:26
锐洋智能
阅读(990)
推荐(0)
摘要:
windows10系统设置定时开机教程 找到“此电脑”应用,鼠标点击右键,选择“管理”选项进入。 弹出来的对话框中点击左栏中的”任务计划程序“,进入页面后点击右栏中的“创建基本任务”按钮。 在弹出来的对话框中在名称处输入“定时开机”,点击“下一步”按钮,然后我们在任务触发器页面中选项所要求的频率。
阅读全文
posted @ 2023-01-11 09:27
锐洋智能
阅读(5231)
推荐(0)
摘要:
操作方法 1、按下win+S,输入“控制面板”,点击进入控制面板。也可以通过别的方法进入。 2、更改控制面板的显示方式为大图标,里面有个一安全和维护,点击进入。控制面板的显示方式在右上角,默认显示为类型,更改为大图标即可。 3、展开维护选项,会出现很多的配置选项,找到自动维护栏,单击更改维护设置。
阅读全文
posted @ 2023-01-11 09:17
锐洋智能
阅读(12065)
推荐(0)
摘要:
一、重命名 我们可以直接把“sms.reyo.cn.pem”重命名为“sms.reyo.cn.crt"; 把“sms.reyo.cn.privkey.pem”重命名为“sms.reyo.cn.privkey.key;
阅读全文
posted @ 2023-01-10 23:04
锐洋智能
阅读(3005)
推荐(0)
摘要:
有时候因为工作需要,我们会对电脑设置定时关机的操作。很多小伙伴可能还不知道如何设置,这里就和大家分享一下Win10电脑如何定时关机吧。 1、首先通过win+r的快捷键打开运行窗口,或者我们也可以直接在搜索栏里搜索运行。 2、然后在窗口中输入以下命令“shutdown -s -t ”,在t后面输入想要
阅读全文
posted @ 2023-01-10 15:28
锐洋智能
阅读(2275)
推荐(0)
摘要:
一般主要包括4种处理过期方,其中expire都是以秒为单位,pexpire都是以毫秒为单位的。1 EXPIRE key seconds //将key的生存时间设置为ttl秒2 PEXPIRE key milliseconds //将key的生成时间设置为ttl毫秒3 EXPIREAT key tim
阅读全文
posted @ 2023-01-08 18:10
锐洋智能
阅读(3696)
推荐(0)
摘要:
Thread1、是一个类2、只能被继承实现方式 class ThreadTest extends Thread{ private int ticket = 100; public void run(){ while(true){ if(ticket > 0){ ticket- }else{ brea
阅读全文
posted @ 2023-01-07 17:23
锐洋智能
阅读(52)
推荐(0)
摘要:
线程的六种状态 public enum State { NEW, RUNNABLE, BLOCKED, WAITING, TIMED_WAITING, TERMINATED; }
阅读全文
posted @ 2023-01-07 17:21
锐洋智能
阅读(36)
推荐(0)
摘要:
在多线程中有多种方法让线程按特定顺序执行,你可以用线程类的join()方法在一个线程中启动另一 个线程,另外一个线程完成该线程继续执行。为了确保三个线程的顺序你应该先启动最后一个(T3调 用T2 ,T2调用T1) ,这样T1就会先完成而T3最后完成。实际上先启动三个线程中哪一个都行, 因为在每个线程
阅读全文
posted @ 2023-01-07 17:11
锐洋智能
阅读(172)
推荐(0)
摘要:
ArrayList 初始容量:10 ,扩容因子:1,当容量达到上限后才会触发扩容。扩容公式:新容量 = 旧容量/2 + 旧容量 + 1比如:初始容量为4,其容量的每次扩充后的新容量为:4->7->11->17->26->...即每次扩充至原有基础的1.5倍LinkedListlinkedList没有
阅读全文
posted @ 2023-01-07 17:10
锐洋智能
阅读(633)
推荐(0)
摘要:
1.ArrayListArrayList 初始化大小是 10扩容点规则是,新增的时候发现容量不够用了,就去扩容扩容大小规则是,扩容后的大小= 原始大小*1.5。ArrayList是一个集合,底层维护的是数组结构,查询比较快,增删慢,线程不同步2.LinkedListLinkedList 是一个双向链
阅读全文
posted @ 2023-01-07 17:07
锐洋智能
阅读(345)
推荐(0)
摘要:
在 Java 开发中少不了使用 HashMap,但是通常使用 HashMap 时就是简单的进行 new 一下就可以开始使用了。比如这样: HashMap<String, Object> param = new HashMap<>(); 这样使用并不会有什么问题,但是如果在创建 HashMap 时如果
阅读全文
posted @ 2023-01-07 10:14
锐洋智能
阅读(705)
推荐(1)
摘要:
HashMap的介绍在开始之前,先看下在官方文档中是如何介绍HashMap的: An instance of HashMap has two parameters that affect its performance: initial capacity and load factor. The c
阅读全文
posted @ 2023-01-07 10:03
锐洋智能
阅读(232)
推荐(0)
摘要:
目录 一.写时复制介绍 二.CopyOnWriteArrayList介绍 三.CopyOnWriteArrayList源码解析 3.1 重要属性 3.2 getArray和setArray 3.3 构造方法 3.4 获取元素 3.5 添加元素 3.5.1 追加元素 3.5.2 指定位置插入元素 3.
阅读全文
posted @ 2023-01-06 07:44
锐洋智能
阅读(68)
推荐(0)
摘要:
原理:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此称为线性时间非比较类排序。 图解: 桶排序: 计数排序: 基数排序: 代码示例: import java.util.ArrayList; import java.util.Arrays; import ja
阅读全文
posted @ 2023-01-06 07:14
锐洋智能
阅读(30)
推荐(0)
摘要:
题目: 思路: 首先明确了这个可以在一次循环中解决即时间复杂度为O(n) 其次,在循环中,我们应能知道起始的位置,然后终止于哪个位置,当碰到终止的时候必然是元素为已经纳入我们统计中的元素。然后我们要如何确认这个元素在哪个位置,并且把一些废弃的元素丢弃掉,重新到下一次统计,直至目标数组遍历完全。 所以
阅读全文
posted @ 2023-01-06 07:13
锐洋智能
阅读(252)
推荐(0)
摘要:
题目: 思路: 由于这是一个链表,所以我们一般只能获取到一个头结点,然而其他信息我们不确定。所以可以采用双指针的方法。 思路一,利用一个指针获取整个链表元素的总数,利用总数减去目标数,所以我们可以确定要删除的位置。 思路二,利用一个指针先走出目标数目,然后两个指针一起走,那么先走的指针走完时,第二个
阅读全文
posted @ 2023-01-06 07:12
锐洋智能
阅读(518)
推荐(0)
摘要:
题目: 思路: 如图: 思路一,利用动态规划的方法,列出全部结果来寻找规律,我们发现45度下滑,如果连续相等的话我们可以做递加,不但可以得出最长的字符串数量还可以知道字符的位置。 思路二,这是我看别人提供的一种思路,通过将一个字符串截取部分,然后判断是否在另一个字符串中,然后不断偏移直至全部比对完,
阅读全文
posted @ 2023-01-06 07:11
锐洋智能
阅读(367)
推荐(0)
摘要:
前置知识(CAS部分) (1)什么是 CAS 1.CAS(Compare And Swap,比较并交换),通常指的是这样一种原子操作: 针对一个变量,首先比较它的内存值与某个期望值是否相同,如果相同,就给它赋一个新值。 2.CAS 的逻辑用伪代码描述 : if (value == expectedV
阅读全文
posted @ 2023-01-06 07:09
锐洋智能
阅读(295)
推荐(0)
摘要:
ArrayBlockingQueue :基于数组结构实现的一个有界阻塞队列 LinkedBlockingQueue : 基于链表结构实现的一个无界阻塞队列,指定容量为有界阻塞队列 SynchronousQueue :不存储元素的阻塞队列 LinkedTransferQueue : 基于链表结构实现的
阅读全文
posted @ 2023-01-06 07:04
锐洋智能
阅读(25)
推荐(0)
摘要:
【1】为什么要使用线程池? 示例演示: //设置业务模拟 class MyRunnable implements Runnable { private int count; public MyRunnable(int count) { this.count = count; } public int
阅读全文
posted @ 2023-01-06 07:02
锐洋智能
阅读(131)
推荐(0)
摘要:
【1】前言 本篇幅是对 线程池底层原理详解与源码分析 的补充,默认你已经看完了上一篇对ThreadPoolExecutor类有了足够的了解。 【2】ScheduledThreadPoolExecutor的介绍 1.ScheduledThreadPoolExecutor继承自ThreadPoolExe
阅读全文
posted @ 2023-01-06 07:01
锐洋智能
阅读(66)
推荐(0)
摘要:
Future模式 【1】Future模式是多线程开发中常见的设计模式,它的核心思想是异步调用。对于Future模式来说,它无法立即返回你需要的数据,但是它会返回一个契约,将来你可以凭借这个契约去获取你需要的信息。 【2】通俗一点就是生产者-消费者模型的扩展。经典“生产者-消费者”模型中消息的生产者不
阅读全文
posted @ 2023-01-06 07:00
锐洋智能
阅读(970)
推荐(0)
摘要:
什么是CopyOnWrite容器 【1】CopyOnWrite容器是基于并发模式Copy-on-Write模式(最简单的并发解决方案)实现的用于避免共享的数据集合。 【2】CopyOnWrite容器又被成为写时复制的容器,即当我们往一个容器添加元素的时候,不直接往当前容器添加,而是先将当前容器进行C
阅读全文
posted @ 2023-01-06 06:58
锐洋智能
阅读(302)
推荐(0)
摘要:
SynchronousQueue介绍 【1】SynchronousQueue是一个没有数据缓冲的BlockingQueue,生产者线程对其的插入操作put必须等待消费者的移除操作take。 【2】如图所示,SynchronousQueue 最大的不同之处在于,它的容量为 0,所以没有一个地方来暂存元
阅读全文
posted @ 2023-01-06 06:55
锐洋智能
阅读(988)
推荐(0)
摘要:
【1】DelayQueue 是一个支持延时获取元素的阻塞队列, 内部采用优先队列 PriorityQueue 存储元素,同时元素必须实现 Delayed 接口;在创建元素时可以指定多久才可以从队列中获取当前元素,只有在延迟期满时才能从队列中提取元素。延迟队列的特点是:不是先进先出,而是会按照延迟时间
阅读全文
posted @ 2023-01-06 06:55
锐洋智能
阅读(428)
推荐(0)
摘要:
PriorityBlockingQueue介绍 【1】PriorityBlockingQueue是一个无界的基于数组的优先级阻塞队列,数组的默认长度是11,也可以指定数组的长度,且可以无限的扩充,直到资源消耗尽为止,每次出队都返回优先级别最高的或者最低的元素。默认情况下元素采用自然顺序升序排序,当然
阅读全文
posted @ 2023-01-06 06:54
锐洋智能
阅读(237)
推荐(0)
摘要:
ArrayBlockingQueue介绍 ArrayBlockingQueue是最典型的有界阻塞队列,其内部是用数组存储元素的,初始化时需要指定容量大小,利用 ReentrantLock 实现线程安全。 在生产者-消费者模型中使用时,如果生产速度和消费速度基本匹配的情况下,使用ArrayBlocki
阅读全文
posted @ 2023-01-06 06:53
锐洋智能
阅读(397)
推荐(0)
摘要:
什么是阻塞队列 【1】阻塞队列:从定义上来说是队列的一种,那么肯定是一个先进先出(FIFO)的数据结构。与普通队列不同的是,它支持两个附加操作,即阻塞添加和阻塞删除方法。 【2】阻塞添加:当阻塞队列是满时,往队列里添加元素的操作将被阻塞。 【3】阻塞移除:当阻塞队列是空时,从队列中获取元素/删除元素
阅读全文
posted @ 2023-01-06 06:52
锐洋智能
阅读(862)
推荐(1)
摘要:
LinkedBlockingDeque介绍 【1】LinkedBlockingDeque是一个基于链表实现的双向阻塞队列,默认情况下,该阻塞队列的大小为Integer.MAX_VALUE,可以看做无界队列,但也可以设置容量限制,作为有界队列。 【2】相比于其他阻塞队列,LinkedBlockingD
阅读全文
posted @ 2023-01-06 06:51
锐洋智能
阅读(313)
推荐(0)
摘要:
LinkedBlockingQueue介绍 【1】LinkedBlockingQueue是一个基于链表实现的阻塞队列,默认情况下,该阻塞队列的大小为Integer.MAX_VALUE,由于这个数值特别大,所以 LinkedBlockingQueue 也被称作无界队列,代表它几乎没有界限,队列可以随着
阅读全文
posted @ 2023-01-06 06:50
锐洋智能
阅读(835)
推荐(0)
摘要:
文章目录 为什么要了解扩容机制 ArrayList LinkedList Vector Stack java.util.concurrent.CopyOnWriteArrayList Queue相关的默认容量以及扩容机制 java.util.concurrent.ArrayBlockingQueue
阅读全文
posted @ 2023-01-06 06:44
锐洋智能
阅读(779)
推荐(0)
摘要:
首先,数组和集合的区别: 数组是大小固定的 集合可以存储和操作数目不固定的一组数据,集合只能存放引用类型的的数据,不能存放基本数据类型 特性 List 允许重复 有序 继承自Connection Set 不允许重复 无序 继承自Connection Map 键值对 区别与List和Set,既没有继承
阅读全文
posted @ 2023-01-05 10:20
锐洋智能
阅读(152)
推荐(0)
摘要:
目录 一、简介 二、遍历方式 1、ArrayList遍历方式 (1)for循环遍历 (2)foreach循环遍历 (3)Iterator迭代器遍历 2、LinkedList遍历方式 (1)for循环遍历 (2)foreach循环遍历 (3)Iterator迭代器遍历 3、HashSet遍历方式 (1
阅读全文
posted @ 2023-01-05 10:09
锐洋智能
阅读(1243)
推荐(0)