摘要: 仅此记录下使用过程,入门水平。 环境准备 基本依赖 1.去google下载对应浏览器版本和系统的驱动(其它浏览器同理去对应的下载即可) 2.maven项目依赖包 seleniumhq是基本API,如果没导入guava 可能会报错 <!-- seleniumhq --> <dependency> <g 阅读全文
posted @ 2021-09-17 12:06 Flyinglion 阅读(2023) 评论(0) 推荐(0) 编辑
摘要: 仅以此记录学习的过程,有些是借鉴的,有错误望指出! Lock接口 锁是用来控制多个线程访问共享资源的方式,一般来说,一个锁能够防止多个线程同时访问共享资源(但是有些锁可以允许多个线程并发的访问共享资源,比如读写锁)。在Lock接口出现之前,Java程序依靠synchronized关键字实现锁功能,而 阅读全文
posted @ 2021-09-14 23:44 Flyinglion 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 发展 JDK1.6之前: synchronized 是一个重量级锁,主要通过内部对象Monitor实现(反编译字节码可提现),而Monitor锁又是依赖于底层操作系统的Mutex Lock(互斥锁,互斥量),调用Pthread库实现的,而Pthread库是处于系统的内核空间中,JVM存在于用户空间中 阅读全文
posted @ 2021-08-15 00:09 Flyinglion 阅读(83) 评论(0) 推荐(0) 编辑
摘要: 前言:最近处理迁移数据库事项,oracle导入没什么好的工具导入数据(plsql没mac版),试用下py速度挺好的。仅此记录下 安装连接oracle的库 看了下别的数据库,貌似oracle真的麻烦的多.. import cx_Oracles 在当前项目使用的venv目录下 teminal, pip 阅读全文
posted @ 2021-08-12 16:44 Flyinglion 阅读(544) 评论(0) 推荐(0) 编辑
摘要: 计算机的缓存一致性 计算机在运行程序时,每条指令都是在CPU中执行的,在执行过程中势必会涉及到数据的读写。我们知道程序运行的数据是存储在主存中,这时就会有一个问题,读写主存中的数据没有CPU中执行指令的速度快,如果任何的交互都需要与主存打交道则会大大影响效率,所以就有了CPU高速缓存(Cache M 阅读全文
posted @ 2021-08-10 23:03 Flyinglion 阅读(1423) 评论(0) 推荐(0) 编辑
摘要: 作用原理 volatile是Java虚拟机提供的轻量级的同步机制。 两个作用 可见性:保证被volatile修饰的共享变量对所有线程总数可见的,也就是当一个线程修改了一个被volatile修饰共享变量的值,新值总是可以被其他线程立即得知。 有序性:禁止指令重排序优化 但无法保证原子性。 作用实现 可 阅读全文
posted @ 2021-08-01 23:25 Flyinglion 阅读(64) 评论(0) 推荐(0) 编辑
摘要: 转载自并发编程网 – ifeve.com本文链接地址: 如何成为一位「不那么差」的程序员 如何成为一位「不那么差」的程序员 前言 已经记不清有多少读者问过: 博主,你是怎么学习的?像我这样的情况有啥好的建议嘛? 也不知道啥时候我居然成人生导师了。当然我不排斥这些问题,和大家交流都是学习的过程。 因此 阅读全文
posted @ 2021-07-29 23:16 Flyinglion 阅读(27) 评论(0) 推荐(0) 编辑
摘要: 1.7版本分析 数据结构实现 数组(基本)+链表(扩展) 属性 //默认hash表容量大小 2^4=16 static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; //最大hash表容量大小,必须是2的整数幂 static final int MAXIM 阅读全文
posted @ 2021-07-29 23:08 Flyinglion 阅读(40) 评论(0) 推荐(0) 编辑
摘要: 概念 Java内存模型(Java Memory Model简称JMM)是一种抽象的概念,并不真实存在,它描述的是一组规则或规范,通过这组规范定义了程序中各个变量(包括实例字段,静态字段和构成数组对象的元素)的访问方式。JVM运行程序的实体是线程,而每个线程创建时JVM都会为其创建一个工作内存(有些地 阅读全文
posted @ 2021-07-29 22:53 Flyinglion 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 算法概念 假设计算机只有一个 CPU ,则在任意时刻只能执行一条机器指令,每个线程只有获得 CPU 的使用权才能执行指令。 所谓多线程的并发运行,其实是指从宏观上看,各个线程轮流获得 CPU 的使用权,分别执行各自的任务。 在运行池中,会有多个处于就绪状态的线程在等待 CPU ,Java 虚拟机的一 阅读全文
posted @ 2021-07-15 23:13 Flyinglion 阅读(2564) 评论(1) 推荐(0) 编辑