自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

个人站点:javatv.net

失败尽常态

  • 博客(7)
  • 资源 (1)
  • 收藏
  • 关注

原创 Docker简介和安装

Docker简介Docker是一个开发、运输和运行应用程序的开放平台。Docker可以将应用程序和软件应用环境分离,以便快速的交付软件。使用Docker,可以像管理软件那样管理运行环境,并能够利用Docker提供的功能来快速的发布、测试及部署代码,减少开发环境和部署环境配置不一致的问题。简而言之:Docker是一种可以在同样硬件上实现不同环境的软件,解决了“这段代码在我的机器上没问题呀”的甩锅问题。Docker引擎Docker 使用客户端-服务器 (C/S) 架构模式,使用远程API来管理和创建Do

2020-07-31 22:55:05 230

原创 JVM加载class文件

概述JVM是一个内存中的虚拟机,也就意味着JVM的存储就是内存,我们所写的所有类常量变量方法都在内存中,这决定着我们程序运行的是否健壮,是否高效。原理JVM 中类的装载是由类加载器(ClassLoader)和它的子类来实现的,Java 中的类加载器是一个重要的Java 运行时系统组件,它负责在运行时查找和装入类文件中的类。类加载器本身也是一个类,其实质是把类文件从硬盘读取到内存中。类的加载方式分为隐式加载和显示加载。隐式加载指的是程序在使用 new 等方式创建对象时,会隐式地调用类的加载器把对应的类

2020-07-11 15:48:03 231

原创 JVM内存结构

Java SE体系架构JavaSE:Java 平台标准版,为 Java EE 和 Java ME 提供了基础。JDK:Java 开发工具包,JDK 是 JRE 的超集,包含 JRE 中的所有内容,以及开发程序所需的编译器和调试程序等工具。JRE:Java SE 运行时环境 ,提供库、Java 虚拟机和其他组件来运行用 Java 编程语言编写的程序。主要类库,包括:程序部署发布、用户界面工具类、继承库、其他基础库,语言和工具基础库JVM:java 虚拟机,负责 JavaSE 平台的硬件和操作系统无关性

2020-07-09 17:57:23 171

原创 并发工具类(二)之CountDownLatch

概述闭锁,CountDownLatch 这个类能够使一个线程等待其他线程完成各自的工作后再执行。例如,应用程序的主线程希望在负责启动框架服务的线程已经启动所有的框架服务之后再执行。CountDownLatch 是通过一个计数器来实现的,计数器的初始值为初始任务的数量。每当完成了一个任务后,计数器的值就会减 1(CountDownLatch.countDown()方法)。当计数器值到达 0 时,它表示所有的已经完成了任务,然后在闭锁上等待 CountDownLatch.await()方法的线程就可以恢复执

2020-07-04 23:24:47 198

原创 并发编程(八)之ReentrantLock

概述可重入锁,简单地讲就是:“同一个线程对于已经获得到的锁,可以多次继续申请到该锁的使用权”。而 synchronized 关键字隐式的支持重进入,比如一个 synchronized修饰的递归方法,在方法执行时,执行线程在获取了锁之后仍能连续多次地获得该锁。ReentrantLock 在调用 lock()方法时,已经获取到锁的线程,能够再次调用lock()方法获取锁而不被阻塞。该特性的实现需要解决以下两个问题:线程再次获取锁。锁需要去识别获取锁的线程是否为当前占据锁的线程,如果是,则再次成功获取。

2020-07-03 18:15:16 177

原创 并发编程(七)之AQS

概述队列同步器 AbstractQueuedSynchronizer(以下简称AQS),是用来构建锁或者其他同步组件的基础框架,它使用了一个 int 成员变量表示同步状 态,通过内置的 FIFO 队列来完成资源获取线程的排队工作。并发包的大师(DougLea)期望它能够成为实现大部分同步需求的基础。AQS使用方式和其中的设计模式AQS 的主要使用方式是继承,子类通过继承 AQS 并实现它的抽象方法来管理同步状态,在 AQS 里由一个 int 型的 state 来代表这个状态,在抽象方法的实 现过程中免

2020-07-02 10:27:44 405

原创 并发编程(二)之synchronized内置锁

synchronized内置锁每个java对象都可以用做一个实现同步的锁,这些锁成为内置锁。线程进入同步代码块或方法的时候会自动获得该锁,在退出同步代码块或方法时会释放该锁。获得内置锁的唯一途径就是进入这个锁的保护的同步代码块或方法。内置锁是一个互斥锁,这就是意味着最多只有一个线程能够获得该锁,当线程A尝试去获得线程B持有的内置锁时,线程A必须等待或者阻塞,知道线程B释放这个锁,如果B线程不释放这个锁,那么A线程将永远等待下去。synchronized的使用在学习使用synchronized前,我们

2020-07-02 00:19:50 236

Another-Redis-Desktop-Manager.1.4.2.exe

Another-Redis-Desktop-Manager.1.4.2

2021-05-20

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除