摘要:
一、Docker Compose介绍 https://docs.docker.com/compose/ Docker官方的网站是这样介绍Docker Compose的: Compose是用于定义和运行多容器Docker应用程序的工具。通过Compose,您可以使用YAML文件来配置应用程序的服务。然 阅读全文
摘要:
解决并发情况下的容器线程安全问题的。给多线程环境准备一个线程安全的容器对象。 线程安全的容器对象: Vector, Hashtable。线程安全容器对象,都是使用 synchronized 方法实现的。 concurrent 包中的同步容器,大多数是使用系统底层技术实现的线程安全。类似 native 阅读全文
摘要:
ReentrantLock是可以用来代替synchronized的。ReentrantLock比synchronized更加灵活,功能上面更加丰富,性能方面自synchronized优化后两者性能没有什么太大差别。 说一下两者的区别首先ReetrantLock是基于JDK实现层面的,而synchro 阅读全文
摘要:
之前写SpringBoot项目,每次都要手动去写实体类、dao层啥的,尤其是数据库表字段特别多的时候,特别麻烦。然后很多小伙伴都会用逆向工程来自动生成这些类,省去许多没必要的代码量,但是Mybatis的逆向工程依然需要配置,导逆向工程的jar啊,还有编写generatorConfig.xml文件啊( 阅读全文
摘要:
volatile是Java虚拟机提供的轻量级的同步机制。volatile关键字有如下两个作用,一句话概括就是内存可见性和禁止重排序。 1)保证被volatile修饰的共享变量对所有线程总是可见的,也就是当一个线程修改了一个被volatile修饰共享变量的值,新值总是可以被其他线程立即得知。 2)禁止 阅读全文
摘要:
1.线程与多线程的概念:在一个程序中,能够独立运行的程序片段叫作“线程”(Thread)。多线程(multithreading)是指从软件或者硬件上实现多个线程并发执行的技术。 2.多线程的意义:多线程可以在时间片里被cpu快速切换,资源能更好被调用、程序设计在某些情况下更简单、程序响应更快、运行更 阅读全文
摘要:
Docker是基于Go语言实现的云开源项目。 Docker的主要目标是“Build,Ship and Run Any App,Anywhere”,也就是通过对应用组件的封装、分发、部署、运行等生命周期的管理,使用户的APP(可以是一个WEB应用或数据库应用等等)及其运行环境能够做到“一次封装,到处运 阅读全文
摘要:
Java是一门可以跨平台的语言,但是Java本身是不可以实现跨平台的,需要JVM实现跨平台。javac编译好后的class文件,在Windows、Linux、Mac等系统上,只要该系统安装对应的Java虚拟机,class文件都可以运行。达到”一次编译,到处运行”的效果。 一、JVM是什么? 而JVM 阅读全文