ppttcc
文章 0
文章搜索
阿蛮君
接受自己的平庸,以及接受他人的平庸
文章数
557
评论数
1721
随机文章
Java 中的各种类锁简单了解
提到并发编程,就不得不了解锁,因为使用锁的类型不一样,结果也就不一样。 1. 公平锁/非公平锁 公平锁:多个线程按照申请锁的顺序来获取锁。 非公平锁:不按照顺序获取锁,有可能后申请锁的线程先获取到锁。非公平锁有可能造成优先级反转或线程饥饿现象。 对于 ReentrantLock 而言,线程在放入等待队列阻塞之前会多次尝试获取锁,如下图所示: public ReentrantLock() { syn...
Spring 中 @Validated 嵌套校验问题
当使用 @Validated 进行参数校验时,如果方法参数是一个包含嵌套对象的复杂对象,@Validated 只会对顶层对象进行校验,而不会递归地对嵌套对象进行校验。例如: public class Parent { @NotNull(message ="parent name 不能为空") private String name; @NotNull private Child...
Ubuntu 普通用户操作 docker 提示无权限的解决办法
Docker 安装教程可以看 Linux 离线安装 Docker,但是 ubuntu 下一般都是使用普通用户,直接使用报错: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2...
Dokcer 安装 sqlite 的 web 可视化工具
一、简介 SQLite 是一个轻量级、零配置的数据库引擎。与传统的数据库管理系统相比,它并不使用独立的服务器进程,而是将整个数据库作为一个文件存储在主机文件系统中。 正是因为它的轻量级,和以文件的方式存储,导致不能通过网络进行连接数据库。因此,可能给调试带来不方便,这种情况可以通过安装 sqlite-web 解决。 二、安装和使用 1. docker安装 docker run --rm -d \ ...
Java 类的生命周期
一个类完整的生命周期,会经历五个阶段,分别为:加载、连接、初始化、使用、和卸载。其中的连接又分为验证、准备和解析三个步骤。如下图所示: 1. 加载(Loading) 简单一句话概括,类的加载阶段就是:找到需要加载的类并把类的信息加载到 jvm 的方法区中,然后在堆区中实例化一个 java.lang.Class 对象,作为方法区中这个类的信息的入口。结合 jvm 的内存结构会比较好理解。 这里的加载...
标签云
最新评论