Java是用于软件开发的最流行的编程语言,无论做自动化测试或者测试开发,Java依然是最重要的选项之一。 为什么要学习Java? Java很容易学习 Java是通用的,面向对象的,高性能,解释型,安全性和多线程语言。基本上,Java简化了建立网络连接所需的过程。它的安全模型可以防御很多攻击。许多繁琐 ...
分类:
编程语言 时间:
2020-07-21 13:45:47
阅读次数:
69
本文已收录GitHub,更有互联网大厂面试真题,面试攻略,高效学习资料等为什么要使用分布锁?首先,我先带你认识一下什么是锁。在单机多线程环境中,我们经常遇到多个线程访问同一个共享资源(这里需要注意的是:在很多地方,这种资源会称为临界资源,但在今天这篇文章中,我们统一称之为共享资源)的情况。为了维护数据的一致性,我们需要某种机制来保证只有满足某个条件的线程才能访问资源,不满足条件的线程只能等待,在下
分类:
其他好文 时间:
2020-07-21 11:38:32
阅读次数:
85
判断对象是否存活 引用计数 假如对象被引用,则计数加1,计数为0时回收。但是存在循环引用问题:A引用B,B引用A,导致AB永远不能被回收。 可达性分析(JAVA采用的算法) 从GC Root出发看某个对象是否可达。假如不可达,则回收。 GC Root:存活时间很长的对象,有存在意义的对象。 虚拟机栈 ...
分类:
其他好文 时间:
2020-07-21 11:37:02
阅读次数:
74
前段时间看了下flask的源码,对于这样一个轻量级的web框架是怎样支持多线程的感到非常好奇,于是深入了解了一番。 flask是依赖werkeug来实现线程间的隔离的,而werkeug最后又使用到了python的内置模块locals来承载数据,看不如写,于是自己实现了一下。 from threadi ...
分类:
编程语言 时间:
2020-07-21 10:05:09
阅读次数:
87
为什么用线程池 1.创建/销毁线程伴随着系统开销,过于频繁的创建/销毁线程,会很大程度上影响处理效率 例如: 记创建线程消耗时间T1,执行任务消耗时间T2,销毁线程消耗时间T3 如果T1+T3>T2,那么是不是说开启一个线程来执行这个任务太不划算了! 正好,线程池缓存线程,可用已有的闲置线程来执行新 ...
分类:
编程语言 时间:
2020-07-21 09:58:27
阅读次数:
69
复习: 进制转换: 十进制转二进制:求余,直到商为0,过种的余数就是二进制(逆序)。 二进制转十进制:2^(n-1) 二进制转八进制:三位二进制对应一位八进制 二进制转十六进制:四位二进制对应一位十六进制,超过10用ABCDEF表示 代码中0开头的是八进制数据,0x开头的是十六进制数据 printf ...
分类:
编程语言 时间:
2020-07-21 09:38:55
阅读次数:
65
public class Demo02 { public static void main(String[] args) {第一种方法: new Thread("构造方法设置线程名字"){ public void run(){ System.out.println(this.getName()+". ...
分类:
编程语言 时间:
2020-07-21 01:18:57
阅读次数:
67
public class Demo02 { public static void main(String[] args) { Test01(); new Thread(){ public void run(){ System.out.println(getName()+".......ccccccc ...
分类:
编程语言 时间:
2020-07-21 00:58:31
阅读次数:
56
参考:https://www.liaoxuefeng.com/wiki/1016959663602400/1017630786314240#0 ####ThreadLocal ThreadLocal变量虽然是全局变量,但每个线程都只能读写自己线程的独立副本,互不干扰。ThreadLocal解决了参数 ...
分类:
编程语言 时间:
2020-07-20 15:32:24
阅读次数:
79
Java高级工程师需要弄明白的20个知识点 1、对多线程的了解,尤其是对线程池的理解,对ThreadPoolExecutor构造参数各个作用的理解、了解Fxied Pool、Cached Pool分别的作用 2、对锁的了解,synchronized、Lock接口(及其对应的实现的理解) 3、对JDK ...
分类:
编程语言 时间:
2020-07-20 10:22:43
阅读次数:
69