摘要: ActiveMQ 入门概述 MQ 的产品种类和对比 kafka 编程语言:scala。 大数据领域的主流MQ。 rabbitmq 编程语言:erlang 基于erlang语言,不好修改底层,不要查找问题的原因,不建议选用。 rocketmq 编程语言:java 适用于大型项目。适用于集群。 acti 阅读全文
posted @ 2021-10-26 22:55 程序员清风 阅读(223) 评论(0) 推荐(0) 编辑
摘要: Docker Compose 介绍 官方文档 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。 DockerFile让程序在任何地方运行。web服务、 阅读全文
posted @ 2021-10-26 22:48 程序员清风 阅读(415) 评论(0) 推荐(0) 编辑
摘要: Docker网络 理解Docker0 清空Docker0 三个网路 lo:本地回环地址 docker0就是docker0地址,也就是docker的地址 dockre使用的是桥接模式,使用的技术是evth_pair技术, #问题 docker 是如何处理容器网络访问的 docker run -d -P 阅读全文
posted @ 2021-10-26 22:47 程序员清风 阅读(134) 评论(0) 推荐(0) 编辑
摘要: Dockerfile 简介 Dockerfile是用来构建docker镜像的文件。简单来说就是命令参数脚本 构建步骤: 编写一个Dockerfile文件 docker build构建成为一个镜像 docker run 运行命令 docker push 发布镜像(DockerHub、阿里云镜像仓库) 阅读全文
posted @ 2021-10-26 22:46 程序员清风 阅读(531) 评论(0) 推荐(0) 编辑
摘要: SpringSecurity 简介 Spring Security 基于 Spring 框架,提供了一套 Web 应用安全性的完整解决方案。 关于安全方面的两个主要区域是“认证”和“授权”(或者访问控制),一般来说,Web 应用的安全性包括用户认证(Authentication)和用户授权(Auth 阅读全文
posted @ 2021-10-26 22:28 程序员清风 阅读(1421) 评论(0) 推荐(0) 编辑
摘要: Sharding-Sphere 简介 1、ShardingSphere是一套开源的分布式数据库中间件的解决方案 2、它由三个产品组成:Sharding-JDBC、Sharding-Proxy和Sharding-Sidecar。 3、是关系型数据库中间件,合理在分布式环境下使用关系型数据库操作 Sha 阅读全文
posted @ 2021-10-26 22:25 程序员清风 阅读(514) 评论(0) 推荐(0) 编辑
摘要: Kubernetes 一、kubernetes概述 1、kubernetes基本介绍 kubernetes,简称 K8s,是用 8 代替 8 个字符“ubernete”而成的缩写。是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes 的目标是让部署容器化的应用简单并且高效(p 阅读全文
posted @ 2021-10-26 22:23 程序员清风 阅读(238) 评论(0) 推荐(0) 编辑
摘要: shiro笔记 权限概述 什么是权限 权限管理,一般根据系统设置的安全策略或者安全规则,用户可以访问而且只能访问自己被授权的资源,不多不少。权限管理几乎出现在任何系统里面,只要有用户和密码的系统 系统管理在系统中一般分为: 访问权限 一般表示你能做什么样的操作,或者能够访问那些资源。例如:给张三赋予 阅读全文
posted @ 2021-10-26 22:18 程序员清风 阅读(10) 评论(0) 推荐(0) 编辑
摘要: SpringAOP 什么是AOP AOP即面向切面编程,在程序开发中主要用来解决一些系统层面上的问题,比如日志,事务,权限等待,Struts2的拦截器设计就是基于AOP的思想,是个比较经典的例子。 在不改变原有的逻辑的基础上,增加一些额外的功能。 aop是对OOP(Object Oriented P 阅读全文
posted @ 2021-10-26 22:16 程序员清风 阅读(33) 评论(0) 推荐(0) 编辑
摘要: Spring5新特性 总览 https://cntofu.com/book/95/33-what-new-in-the-spring-framework.md 1、整个Spring5框架的代码基于Java8,运行时兼容JDK9,许多不建议使用的类个方法在代码库中删除 2、自带了通用的日志封装 ​ 2 阅读全文
posted @ 2021-10-26 22:16 程序员清风 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 类似linux系统环境,运行和隔离应用。容器从镜像启动的时候,docker会在镜像的最上一层创建一个可写层,镜像本身是只读的,保持不变。 首先先下载一个centos docker pull centos 新建并启动容器 docker run [options] IMAGES [COMMAND] [A 阅读全文
posted @ 2021-10-26 21:19 程序员清风 阅读(61) 评论(0) 推荐(0) 编辑
摘要: docker images 列出本地主机上的镜像 各项说明 REPOSITORY :表示镜像的仓库源 TAG:镜像的标签 IMAGE ID:镜像ID CREATED:镜像创建时间 SIZE:镜像大小 同一仓库源可以有多个TAG,代表这个仓库的不同版本,我们使用REPOSITORY:TAG来定义不同的 阅读全文
posted @ 2021-10-26 21:08 程序员清风 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 是什么 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。 一个完整的Docker有以下几个部分组成: dockerClient客户端 Docker 阅读全文
posted @ 2021-10-26 21:05 程序员清风 阅读(25) 评论(0) 推荐(0) 编辑
摘要: JSR303校验 一、环境准备 ​ 这个pom坐标在自定义注解的时候有用 <dependency> <groupId>javax.validation</groupId> <artifactId>validation-api</artifactId> <version>2.0.1.Final</ve 阅读全文
posted @ 2021-10-26 21:00 程序员清风 阅读(293) 评论(0) 推荐(0) 编辑
摘要: 其他 finalize()方法最终判断对象是否存活 即使在可达性分析算法中不可达的对象,也并非是“非死不可"的,这时候它们暂时处于缓刑阶段,要真正宣告一个对象死亡,至少要经历再次标记过程。 标记的前提是对象在进行可达性分析后发现没有与 GC Roots相连接的引用链。 1、第一次标记并进行一次筛选 阅读全文
posted @ 2021-10-26 20:38 程序员清风 阅读(17) 评论(0) 推荐(0) 编辑
摘要: 十、垃圾回收器 GC分类与性能指标 分类 按线程数分,可以分为串行垃圾回收器和并行垃圾回收器。 串行回收指的是同一时间段内只允许有一个CPU用于执行垃圾回收操作,此时工作线程被暂停,直至垃圾收集工作结束。 在诸如单CPU处理或者较小的引用内存等硬件平台不是特别优越的场合,串行回收器的性能表现可以超过 阅读全文
posted @ 2021-10-26 20:36 程序员清风 阅读(458) 评论(0) 推荐(0) 编辑
摘要: 九、垃圾回收相关概念 System.gc()的理解 在默认情况下,通过System.gc()或者Runtime.getRuntime().gc()的调用,会显示触发Full GC,同时对老年代和新生代进行回收,尝试释放被丢弃对象占用的内存。System.gc()调用附带一个免责声明,无法保证对垃圾收 阅读全文
posted @ 2021-10-26 20:23 程序员清风 阅读(52) 评论(0) 推荐(0) 编辑
摘要: 八、垃圾回收算法 垃圾标记阶段:对象存活判断 在堆中存放在几乎所有逇Java对象实例,在GC执行垃圾回收之前,首先需要区分出内存中哪些是承诺或对象,哪些是已经死亡对象。只有被标记为已经死亡的对象,GC才会在执行垃圾回收时,释放掉器锁占用的内存空间,因此这个过程我们称之为垃圾标记阶段。 那么JVM究竟 阅读全文
posted @ 2021-10-26 20:20 程序员清风 阅读(345) 评论(0) 推荐(0) 编辑
摘要: 七、垃圾回收——概述 什么是垃圾? 垃圾收集,不是Java语言的半生产物,第一门开始使用内存动态分配和垃圾收集技术的Lisp语言诞生。 关于垃圾收集的三个问题: 那些内存需要回收? 什么时候回收? 如何回收? 垃圾收集机制四Java的招牌能力,极大地提高了开发效率。垃圾收集几乎成为现代语言的标配,进 阅读全文
posted @ 2021-10-26 20:16 程序员清风 阅读(364) 评论(0) 推荐(0) 编辑
摘要: 先看下面代码 public class StringNewTest { public static void main(String[] args) { String str = new String("a")+new String("b"); } } 上面代码创建了几个对象? 我们来看一下字节码 阅读全文
posted @ 2021-10-26 20:13 程序员清风 阅读(25) 评论(0) 推荐(0) 编辑