Wesley13 Wesley13
3年前
java ConcurrentHashMap和CopyOnWriteArrayList解决并发问题
ConcurrentHashMap一、hashtable、hashmap、ConcurrentHashMap1、线程不安全的HashMap因为多线程环境下,使用Hashmap进行put操作会引起死循环,导致CPU利用率
Easter79 Easter79
3年前
spring中,在Java任何位置获取request对象
看RequestContextListener和RequestContextHolder源代码不难看出,是用过ThreadLocal实现的。ThreadLocal是什么呢?看词义,它并非是一个线程,它不是一个Thread,而是一个线程局部变量,其实功能非常简单,就是为每一个使用该变量的线程都提供一个变量值的副本,是每一个线程都可以独立地改变自己的副本,而
Wesley13 Wesley13
3年前
java垃圾回收机制
成为垃圾的标准对于非线程对象,当所有的活动线程都不能访问到改对象时候,成为垃圾对于线程对象,除满足以上条件外,还要求线程处于死亡或者还处于新建状态符合条件的几种情况对象设为Null,代码都应该这样写,释放资源应用指向别的对象语句块结束,局部应用消亡Java不用手动管理内存,只是需要程序员管理对象是否变
Alonso095 Alonso095
4年前
Python的环境搭建和下载
Python是一个跨平台、可移植的编程语言,因此可在windows、Linux和MacOSX系统中安装使用。安装完成后,你会得到Python解释器环境,可以通过终端输入python命令查看本地是否已经按照python以及python版本。这里有一点需要注意的是,如果没有将python的安装目录添加到环境变量中,会报错(python不是内部命令或外部命
Wesley13 Wesley13
3年前
C++ 析构函数与内存池
CPrimer书中也提到编写class时要注意copycontrol成员(拷贝构造函数,赋值操作符,析构函数,C11又多个移动构造函数)。工作时在C和C之间切换,有时就忘记了C的细节(真的好讨厌)。C析构函数与构造函数对应,构造对象时调用构造函数,析构对象时调用析构函数,于是可以在对象的析构函数中释放资
Wesley13 Wesley13
3年前
Java并发编程原理与实战十二:深入理解volatile原理与使用
volatile:称之为轻量级锁,被volatile修饰的变量,在线程之间是可见的。可见:一个线程修改了这个变量的值,在另一个线程中能够读取到这个修改后的值。synchronized除了线程之间互斥之外,还有一个非常大的作用,就是保证可见性。以下demo即保证a值的可见性。首先来看demo:!复制代码(https://oscimg.osc
Wesley13 Wesley13
3年前
python3.6虚拟环境以及flask的安装(常见问题)
准备基于python进行web应用开发Python3.3以上的版本通过venv模块原生支持虚拟环境,可以代替Python之前的virtualenv。该venv模块提供了创建轻量级“虚拟环境”,提供与系统Python的隔离支持。每一个虚拟环境都有其自己的Python二进制(允许有不同的Python版本创作环境),并且可以拥有自己独立的一套Python包
Wesley13 Wesley13
3年前
Visual Studio Code运行Python文件出现 “Linter pylint is not installed ”提示解决办法
运行Python代码后出现“Linterpylintisnotinstalled”提示只需要添加一行代码就可以解决  1{2"python.pythonPath":"/usr/local/bin/python3",3"python.linting.enabled":fal
Stella981 Stella981
3年前
Netty内存池及命中缓存的分配
内存池的内存规格:在前面的源码分析过程中,关于内存规格大小我们应该还有些印象。其实在Netty内存池中主要设置了四种规格大小的内存:tiny是指0512Byte之间的规格大小,small是指512Byte8KB之间的规格大小,normal是指8KB16MB之间的规格大小,huge是指16MB以上。为什么Netty会选择
Wesley13 Wesley13
3年前
JDBC 与 数据库连接池
JDBCJDBC是一个规范,它提供了一整套接口,允许底层数据库实现该API从而实现通过Java对数据库的访问,主要有以下几个类:DriverManager:管理数据库驱动程序,用于建立数据库连接Drivrer:此接口处理与数据库服务器的通信,但很少我们会直接与Driver