poprabbit

学习如何把牛逼落地


  • 首页

  • 标签

  • 归档

docker

发表于 2021-01-21 | 更新于: 2021-12-19
Docker基础教程菜鸟教程-docker教程 常用命令123456789101112131415161718192021222324252627282930313233docker command --helpdocker imagesdocker pull ubuntu:13.10docker rmi hello-world#从容器中更新镜像#1、在容器内使用 apt-get update 命令进行更新。#2、通过命令 docker commit 来提交容器副本。docker commit -m="has update" -a="runoob" e218edb10161 runoob/ubuntu:v2docker build -t runoob/centos:6.7 .docker run -it ubuntu:15.10 /bin/bashdocker ps (-a)docker logsdocker start|stopdocker exec 1e560fca3906 /bin/bashdocker rm -f 1e560fca3906 (-f 强制删除?)#新建互联网络docker network create -d bridge test-netdocker container ls --all#从正在运行的容器里面,将文件拷贝到本机。docker containe ...
阅读全文 »

books

发表于 2021-01-23 | 更新于: 2021-12-18
正在读 鸟哥的linuxlinux 文件,目录,磁盘, shell (重点), Linux 账号管理0719:命令传达,使用者与群组文件权限。0725;vim 的额外功能 凤凰架构0727:什么是凤凰架构,探索起步,网关路由;0730:架构安全性:认证,凭证;0802:负载均衡;0816:远程服务调用; 源码分析 springboot loader分析,spring 扩展点 互联网资源英文官网https://redis.io/https://rocketmq.apache.org/https://www.elastic.co/guide/en/elasticsearch/reference/current/index.htmlhttps://docs.docker.com/desktop/https://jmeter.apache.org/usermanual/index.htmlhttps://spring.io/ http://www.jenkins.io/https://hadoop.apache.org/ 专精 CS-notes 算法面试-视频 数据结构与算法-js实现 鸟哥的linux Bash脚本教程 凤凰架构-分布式云计算 图灵图书馆 杂项(个人博客,java实战) 开发者手册-ruanyf 美团技术团队 javadoop springboot &a ...
阅读全文 »

spring-webflux

发表于 2021-11-24 | 更新于: 2021-12-08
WebFlux的设计原文链接:Spring-WebFlux的设计及工作原理剖析WebFlux 底层实现依赖reactor和netty等。Spring做的就是通过抽象和封装,把reactor的能力通过你最熟悉不过的Controller来使用。WebFlux 所有功能其实内部只由几个抽象类构建而成: org.springframework.boot.web.reactive.server.ReactiveWebServerFactory org.springframework.boot.web.server.WebServer org.springframework.http.server.reactive.HttpHandler org.springframework.web.reactive.HandlerMapping org.springframework.web.server.WebHandler WebServer见名之意,就是 Reacive 服务器的抽象类,它定义了服务器的基本方法行为,包含启动,停止等。Spring默认有五个WebServer的实现,默认的不特别指定情况下是 NettyWebServer。ReactiveWebServerFactory对应 WebServer,每个实现都会有一个工厂类对应,主要准备创建WebServer实例的资源,如 Http ...
阅读全文 »

used-jars

发表于 2021-12-07 | 更新于: 2021-12-07
常用三方jar列表 参数校验 javax.validation http客户端 okHttp data转换 org.mapstruct 简化代码 lombok 集合,缓存等 google-guava 时间,字符串等工具类 commons-lang3 io扩展 commons-io 常用编码方法 commons-codec 加密解密 单元测试 JUnit5,Mockito guava对集合的扩展缓存LoadingCache
阅读全文 »

meituan_tech

发表于 2021-11-24 | 更新于: 2021-11-24
缓存那些事常见性能优化策略的总结服务容错模式
阅读全文 »

multi-thread

发表于 2020-04-20 | 更新于: 2021-11-24
Threads and Locks用户创建线程的唯一方式是创建 Thread 类的一个实例,每一个线程都和这样的一个实例关联。这个章节将描述多线程编程的语义问题,包括一系列的规则,这些规则定义了在多线程环境中线程对共享内存中值的修改是否对其他线程立即可见。 同步(synchronization)最基本的多种线程之间通信的机制。java中的每个对象都关联了一个监视器,线程可以对其进行加锁和解锁操作。在同一时间,只有一个线程可以拿到对象上的监视器锁。如果其他线程在锁被占用期间试图去获取锁,那么将会被阻塞直到成功获取到锁。同步机制:synchronized 关键字、对 volatile 变量的读写、使用 java.util.concurrent 包中的同步工具类等 等待集合 和 唤醒(Wait Sets and Notification)每个 java 对象,都关联了一个监视器,也关联了一个等待集合。等待集合是一个线程集合。 等待 (Wait)我们在线程 t 中对对象 m 调用 m.wait() 方法,n 代表加锁编号,同时还没有相匹配的解锁操作,则下面的其中之一会发生: 如果 n 等于 0(如线程 t 没有持有对象 m 的锁),那么会抛出 IllegalMonitorStateException 异常。 如果线程 t 调用的是 m.wait(millisecs) ...
阅读全文 »

JVM 自动内存管理机制

发表于 2020-05-04 | 更新于: 2021-11-24
运行时数据区域 程序计数器记录正在执行的虚拟机字节码指令的地址(如果正在执行的是本地方法则为空)。 Java 虚拟机栈每个 Java 方法在执行的同时会创建一个栈帧用于存储局部变量表、操作数栈、常量池引用等信息。从方法调用直至执行完成的过程,对应着一个栈帧在 Java 虚拟机栈中入栈和出栈的过程。可以通过 -Xss 这个虚拟机参数来指定每个线程的 Java 虚拟机栈内存大小,在 JDK 1.4 中默认为 256K,而在 JDK 1.5+ 默认为 1M:该区域可能抛出以下异常: 当线程请求的栈深度超过最大值,会抛出 StackOverflowError 异常; 栈进行动态扩展时如果无法申请到足够内存,会抛出 OutOfMemoryError 异常。 本地方法栈本地方法栈与 Java 虚拟机栈类似,它们之间的区别只不过是本地方法栈为本地方法服务。 堆所有对象都在这里分配内存,是垃圾收集的主要区域(”GC 堆”)。现代的垃圾收集器基本都是采用分代收集算法,其主要的思想是针对不同类型的对象采取不同的垃圾回收算法。可以将堆分成两块: 新生代(Young Generation) 老年代(Old Generation)堆不需要连续内存,并且可以动态增加其内存,增加失败会抛出 OutOfMemoryError 异常。可以通过 -Xms 和 -Xmx 这两个虚 ...
阅读全文 »

tomcat

发表于 2020-05-06 | 更新于: 2021-11-22
实践 springboot下开启tomcat debug(打印接受到的报文):logging.level.org.apache=debug The HTTP specification does not allow for POST data to be of an unknown length. 文件上传(multipart uploads)时特别注意设置 content-length. Lifecycle是一个状态机,对组件的由生到死状态的管理LifecycleBase 是使用了状态机+模板模式来实现的 Valve作为一个个基础的阀门,扮演着业务实际执行者的角色Pipeline 作为一个管道,我们可以简单认为是一个Valve的集合,内部会对这个集合进行遍历,调用每个元素的业务逻辑方法invoke()。只能 setBasic() 和 setContainer() StandardEngine 的初始化直接子容器是 StardandHost,但是对其 initInternal() 方法的分析,并没有发现对 StardandHost 进行初始化操作,这是因为 StandardEngine 不按照套路出牌,把初始化过程放在 start 阶段。原因:Host、Context、Wrapper 这些容器和具体的 webapp 应用相关联了,初始化过程会更加耗时,因此在 start ...
阅读全文 »

nio_framework

发表于 2021-11-06 | 更新于: 2021-11-20
nio by javadoop多路复用 IO 的三大组件Buffer和数组差不多,它有 position、limit、capacity 几个重要属性。put() 一下数据、flip() 切换到读模式、然后用 get() 获取数据、clear() 一下清空数据、重新回到 put() 写入数据。 Channel基本上只和 Buffer 打交道,最重要的接口就是 channel.read(buffer) 和 channel.write(buffer)。 ServerSocketChannel 不和 Buffer 打交道了,因为它并不实际处理数据,它一旦接收到请求后,实例化 SocketChannel,之后在这个连接通道上的数据传递它就不管了,因为它需要继续监听端口,等待下一个连接。 Selector建立在非阻塞的基础之上,大家经常听到的 多路复用 在 Java 世界中指的就是它。非阻塞 IO 的核心在于使用一个 Selector 来管理多个通道,可以是 SocketChannel,也可以是 ServerSocketChannel,将各个通道注册到 Selector 上,指定监听的事件。 SelectionKey 它包含了 Channel 和 Selector 信息,也包括了一个叫做 Interest Set 的信息,即我们设置的我们感兴趣的正在监听的事件集合。select ...
阅读全文 »

io

发表于 2020-05-06 | 更新于: 2021-11-18
Java 的 I/O 大概可以分成以下几类: 磁盘操作:File 字节操作:InputStream 和 OutputStream 字符操作:Reader 和 Writer 对象操作:Serializable 网络操作:Socket 新的输入/输出:NIO 装饰者模式Java I/O 使用了装饰者模式来实现。以 InputStream 为例,InputStream 是抽象组件;FileInputStream 是 InputStream 的子类,属于具体组件,提供了字节流的输入操作;FilterInputStream 属于抽象装饰者,装饰者用于装饰组件,为组件提供额外的功能。例如 BufferedInputStream 为 FileInputStream 提供缓存的功能。实例化一个具有缓存功能的字节流对象 12FileInputStream fileInputStream = new FileInputStream(filePath);BufferedInputStream bufferedInputStream = new BufferedInputStream(fileInputStream); 编码与解码java.nio.charset.StandardCharsets#UTF_8编码就是把字符转换为字节,而解码是把字节重新组合成字符。Java 的内存 ...
阅读全文 »
12…4
popular rabbit

popular rabbit

java

35 日志
13 标签
0%
© 2021 popular rabbit
由 Hexo 强力驱动
|
主题 — NexT.Muse v5.1.4