- 博客(27)
- 资源 (1)
- 收藏
- 关注
原创 并发编程——设计模式之单例模式
7中单例模式设计懒汉式、饿汉式、饿汉式+同步、double-check、double-check+volatile、holder以及枚举方式创建单例模式
2022-02-08 17:35:08 856 5
原创 并发编程——Volatile关键字
volatile概述简单的cpu内存模型三大特性volatile的原理,应用以及volatile与synchronized的对比
2022-02-07 15:37:51 459
原创 并发编程——线程间通信
线程间通信线程间通信1. 单线程间通信wait和notifywaitnotifywait和sleep2. 多线程间通信线程休息室 wait setsynchronized缺陷线程间通信1. 单线程间通信wait和notifywait和notify方法并不是Thread特有的方法,而是Object中的方法,也就是JDK中的每一个类到拥有这两个方法。waitpublic final void wait() throws InterruptedExceptionpublic final native
2022-01-20 17:18:23 291
原创 并发编程——线程安全与数据同步
线程安全与数据同步线程安全与数据同步1 数据同步1.1数据不一致问题1.2 初始synchronized关键字1.2.1 synchronized 简介1.2.2 synchronized用法1.3 深入synchronized关键字1.3.1 线程堆栈分析1.3.2 JVM指令分析1.3.3 使用synchronized需要注意的问题1.4 This Monitor和Class Monitor的详细介绍1.4.1 this monitor1.4.2 class monitor1.5 程序死锁的原因以及如何
2022-01-19 16:19:51 2547
原创 操作系统——复习知识点
操作系统操作系统概论1 基础知识点(了解)2 内核态(1)定义(2)内核用户态转换(3)陷入内核态(4)内核线程3 操作系统的指令4 操作系统的处理器管理linux实时调度策略(1)SCHED_FIFO(2)SCHED_RR5 进程的同步与死锁操作系统概论1 基础知识点(了解)CMSConversational Monitor System 会话监控系统(保证分时共享的单用户,交互式系统)C/S结构现代操作系统中普遍的做法采用将操作系统的大部分功能尽量的从核心态中移除,只将最基本的操作组成一
2022-01-18 11:16:01 256
原创 并发编程——Thread API解析
Thread APIThread API1 sleep2 yield3 线程优先级4 线程ID5 获取当前线程6 设置上下文类加载器7 线程interrupt **方法interruptisInterruptedinterrupted8 join9 如何关闭一个线程正常关闭异常退出进程假死Thread API1 sleep正常Thread中的sleep方法时将当前线程进入休眠,暂停执行,虽然给定了一个休眠的时间,但是最终要以系统的定时时间和调度器的精度为准,休眠不会放弃monitor锁的所有权。也可
2022-01-17 15:41:57 369
原创 并发编程——线程
线程线程介绍生命周期模板设计模式在Thread中的应用RunnableThread构造函数线程的父子关系Thread和ThreadGroupoThread与JVM虚拟机栈Thread与StacksizeJVM内存结构1 程序计数器2 java虚拟机栈3 本地方法栈4 堆内存5 方法区6 java8 元空间Threa与虚拟机守护线程简述作用线程介绍对于计算机来说每一个任务就是一个进程(Process),在每一个进程内部至少有一个线程(Thread)是在运行中,有时线程也称之为轻量级进程。每一个线程都有
2022-01-10 16:11:31 362
原创 springboot整合jpa之包冲突问题
包冲突bug提示***************************APPLICATION FAILED TO START***************************Description:An attempt was made to call a method that does not exist. The attempt was made from the following location: org.hibernate.jpa.boot.internal.Persi
2021-12-30 15:44:18 2191
原创 springboot整合jpa之Specification
springboot整合jpa,sql查询springboot整合jpa,查询sql的时候,可能会出现以下情况:sql条件无法在repository中进行多重执行(当其中一个条件为空的时候,必须新写一条sql)时间范围查询的格式转换最近在实际项目中遇到的情况,令人头大,于是,找到了提供的工具方法比如我们的数据库设计为:(以Oracle为例)id 主键name 名称score 分数data 数据状态createTime
2021-12-30 15:04:38 1549
原创 idea + jconsole实现线程监控
idea + jconsole1 确认jconsole位置首先准备工作,需要确定已经了安装jdk。进入目录 jdk安装路径,例如:C:\demo\development\java\jdk1.8.0_212****进入bin目录之后,你会找到点击之后,进入如下图示之后,选择远程连接,jconsole的操作就完成了,接下来需要准备你的程序2 准备idea程序首先,需要一个运行的程序,提供一个简单的例子:package com.spring.zcl.study.springbootstud
2021-12-17 11:29:06 5381 3
原创 docker篇——相关组件
docker篇——相关组件Docker概念简介DockerfileDocker Compose概述背景Docker Compose概述Docker Compose yml配置文件及常用指令Docker Swarm简介Swarm管理器高可用性(HA)Docker Swarm服务的部署及相关操作常用命令副本服务 vs 全局服务服务的扩容服务的删除滚动升级Docker Swarm服务日志及相关配置Docker Swarm常用命令总结Docker概念简介Dockerfile使用Docker 中的docker
2021-12-16 11:49:49 284
原创 docker篇——容器
docker篇——容器Docker容器(container)概述容器和虚拟机Docker容器(container)概述容器是镜像的运行实例,用户可以从单个镜像上启动一个或多个容器。区别:虚拟机和容器最大的区别是容器更快并且更轻量级——————与虚拟机运行在完整的操作系统之上相比,容器会共享其所在主机的操作系统/内核。启动命令:docker container run <image> <app> 指定了启动所需的镜像以及要运行的应用。-it参数 将当前终端连接到容器的s
2021-12-16 11:47:20 651
原创 docker篇——镜像
docker篇——镜像Docker镜像(一)概述(二)操作(三)镜像与分层(四)镜像散列值(摘要)(五)多层架构的镜像多层架构的镜像(Multi-architecture Image)删除镜像Docker镜像(一)概述定义镜像由多层组成,每层叠加之后,从外部看来就如一个独立的对象。镜像内部是一个精简的操作系统,同时还包含应用运行所必须的文件和依赖包。仓库一般镜像是从镜像仓库中拉去的,常见的镜像仓库是Docker Hub等等理解镜像——————构建时(build-time)结构容
2021-12-16 11:45:38 2423
原创 docker篇——引擎
Docker 引擎(engine)(一)概述1.简述docker引擎是用来运行和管理容器的核心软件。代称Docekr或者Docker平台类比于VMware,将Docker引擎理解为ESXi的角色2.OCI标准基于开放容器计划,Docker引擎采用了模块化的设计原则,组件是可替换的。构成(1) Docker客户端(Docker Client)(2) Docker守护进程(Docker daemon)(3) containerd(4) runc发展Docker首次发布时
2021-12-16 11:42:24 1441
原创 docker篇——存储驱动
docker存储驱动关于存储驱动每个docker容器都有一个本地存储空间,用于保护层叠的镜像层(Image Layer)以及挂载的容器文件系统。默认情况下,容器的所有读写操作都发生在其镜像层上或挂载的文件系统上,所以存储是容器的性能和稳定性不可获取的一个环节。对比以往的本地存储,本地存储是通过存储驱动(Storage Driver)进行管理的,有时候也称之为Graph Driver或者GraphDriver。虽然存储驱动在上层抽象设计中都采用栈式镜像层存储和写时复制的设计思想,但是docker在l
2021-12-16 11:39:43 1538
原创 Docker篇——基础概述
Docker概述(一)简介运行于linux和windows上的软件,用于创建、管理和编排容器。GitHub上开发的Moby开源项目的一部分。延伸:PaaS platform as a service 平台即服务。(二)运行时与编排引擎Docker引擎是用于运行和编排容器的基础设施工具。类比于VMware,相当于ESXi。ESXi是运行于虚拟机的核心管理程序,而Docker引擎是运行容器的核心容器运行时。版本:企业版(EE):提供12个月支持社区版(CE):提供4个月支持;通过E
2021-12-16 11:35:44 1023
原创 java主流锁
java主流锁机制最近整理锁机制,看到了一片文章,感觉写的非常好,于是整理成了脑图便于自己记忆,分享出来,希望能够帮助大家理解锁的机制。废话不多说,上图上图是锁的简介,下图是详解以及扩展部分:非常感谢StaticPackage的文章给的思路和解析,非常全面,如果有人想看更加详细的文字解释,推荐java锁机制详解。图片只能提供一个大体的思路记忆,如果有帮助到你,那自然是不错的。...
2021-11-08 10:17:10 233
原创 集合(HashMap,HashTable,ConcurrentHashMap)
脑图最近在回忆HashMap、HashTable、ConcurrentHashMap的过程中,始终是记忆会有所丢失,所以最终整理了一下脑图,方便之后回忆大体逻辑。主要涉及的是java的基础数据结构——集合(HashMap,HashTable,ConcurrentHashMap)的相关知识,构建了一篇脑图,分享出来,供大家回忆大体的思路路线以及一些关键参数废话少说,上图如有错误,欢迎指出,批评指正,感谢;...
2021-11-08 09:49:40 84
原创 idea中mybatis自动生成配置方法
idea中的mybatis生成方法摘要最近使用idea生成mybatis,发现坑真多,踩坑之后终于成功了,记录一下处理流程1.配置文件项目配置mybatis路径如下:具体内容如下:init.properties###Mybatis Generator configuration projectName=项目绝对路径(注意是绝对路径,相对路径,你会找不到你的配置文件)driverJarPath=D:\\program\\repository\\mysql\\mysql-connector
2020-08-15 17:48:59 1781
原创 jdk1.8特性总结
这里写自定义目录标题jdk1.8特性总结(便于回忆记录)(一)Lambda表达式1. 函数式编程2. lambda表达式(二) 函数式接口(三)方法引用1. 方法引用2. 构造器引用3. 数组引用(三)Stream API(四)并行流和串行流(五)Optional容器(六)时间函数(七)java8脚本引擎 Nashorn(八)java1.8目录结构jdk1.8特性总结(便于回忆记录)jdk1.8是2014年3月18日正式公布,公司的开发项目也都逐渐的开始使用jdk1.8作为开发的基础版本;我个人是比较喜
2020-07-29 23:00:02 303
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人