随笔分类 - java框架学习
此分类用来学习java框架相关
摘要:进程和线程的区别: 通信方式之间的差异 一、进程间的通信方式 管道(pipe): 有名管道(namedpipe) : 信号量(semophore) : 消息队列(messagequeue): 信号(sinal): 共享内存(shared memory): 套接字(socket): 二、线程间的通信方
阅读全文
摘要:第一次优化过程-从30秒到2秒 第二次优化过程-从2秒到1秒 使用Channel 使用内存映射文件 使用Pipe 总结 参考文章 有一个需求需要将前端传过来的10张照片,然后后端进行处理以后压缩成一个压缩包通过网络流传输出去。 之前没有接触过用Java压缩文件的,所以就直接上网找了一个例子改了一下用
阅读全文
摘要:何为clone()? clone()和new那个更快? 对象创建的几种方法: 使用new关键字 使用clone方法 反射机制 反序列化 以上四种都可以产生java对象 1,3都会明确的显式的调用构造函数 2是在内存上对已有对象的影印 所以不会调用构造函数 4是从文件中还原类的对象 也不会调用构造函数
阅读全文
摘要:在研究互联网及其背后的技术时,您可能会遇到这个术语:HTTP。 HTTP,或超文本传输协议,是网络的支柱,是传输文本数据的通用协议。 毫无疑问,您使用过它,因为您了解 HTTP 的网站使用的是 HTTP。 介绍 HTTP 简史 发布的第一个 HTTP 版本是 HTTP/0.9。Tim Berners
阅读全文
摘要:1. HTTP 协议 在谈论 HTTPS 协议之前,先来回顾一下 HTTP 协议的概念 1.1 HTTP 协议介绍 HTTP 协议是一种基于文本的传输协议,它位于 OSI 网络模型中的应用层。 HTTP 协议是通过客户端和服务器的请求应答来进行通讯,目前协议由之前的 RFC 2616 拆分成立六个单
阅读全文
摘要:在实际的项目中,对于一些用时比较长的代码片段或者函数,我们可以采用异步的方式来执行,这样就不会影响整体的流程了。 比如我在一个用户请求中需要上传一些文件,但是上传文件的耗时会相对来说比较长,这个时候如果上传文件的成功与否不影响主流程的话,就可以把上传文件的操作异步化, 在spring boot中比较
阅读全文
摘要:在多线程环境下,要使用线程安全的集合,比如,ConcurrentHashMap是线程安全的HashMap,CopyOnWriteArrayList是线程安全的ArrayList。 那么HashSet对应的线程安全集合,是什么呢?java有没有提供默认实现呢? 在java的concurrent包中,我
阅读全文
摘要:websocket 实现步骤 一、环境搭建 二、完成后台的功能 websocket 简单的说,websocket是真正实现了全双工通信的服务器向客户端推的互联网技术。 全双工与单工、半双工的区别? 全双工:简单地说,就是可以同时进行信号的双向传输(A->B且B->A),是瞬时同步的。 单工、半双工:
阅读全文
摘要:场景 图示区别 什么是SOA架构 微服务架构 SOA 和微服务架构的差别 场景 如果我们打开支付宝首页,去看我们的余额,它会展示你的总资产,昨日收益、累计收益等信息。 假如这个页面所展示的信息,都来自各个不同的系统/应用,我们通过各个接口把这些数据展示出来。 如果我们现在要在前端页面展示这几项数据的
阅读全文
摘要:写在前面 实现 测试 一.写在前面 此异常非彼异常,标题所说的异常是业务上的异常。 最近做了一个需求,消防的设备巡检,如果巡检发现异常,通过手机端提交,后台的实时监控页面实时获取到该设备的信息及位置,然后安排员工去处理。 因为需要服务端主动向客户端发送消息,所以很容易的就想到了用WebSocket来
阅读全文
摘要:先亮出这篇文章的思维导图 TCP 作为传输层的协议,是一个软件工程师素养的体现,也是面试中经常被问到的知识点。 在此,我将 TCP 核心的一些问题梳理了一下,希望能帮到各位。 001. 能不能说一说 TCP 和 UDP 的区别? 首先概括一下基本的区别:TCP是一个面向连接的、可靠的、基于字节流的传
阅读全文
摘要:synchronized 在 JDK 1.5 时性能是比较低的,然而在后续的版本中经过各种优化迭代,它的性能也得到了前所未有的提升, 上一篇中我们谈到了锁膨胀对 synchronized 性能的提升,然而它也只是“众多” synchronized 性能优化方案中的一种, 那么我们本文就来盘点一下 s
阅读全文
摘要:文章目录 搭建MAVEN私服 为什么要用私服 怎么搭建? Nexus 下载 安装 配置 运行 添加第三方仓库 添加本地仓库 MAVEN配置 settings文件配置 项目pom文件配置 上传 自定义项目骨架 什么是archeType 创建archetype 手动创建 插件创建(推荐) 1.创建MAV
阅读全文
摘要:一、最简单的计时 在我们的程序中不免需要对某一个运算或者方法进行计时,以便我们来观察该运算或方法是否符合我们的预期,所以在我们刚开始接触 Java 的时候都能写出类似下面这样的代码来计时: public static void main(String[] args) { Long startTime
阅读全文
摘要:1 基本样例 1.1 加入依赖: 1.2 消息发送 1、Producer端发送同步消息 2、发送异步消息 3、单向发送消息 1.3 消费消息 2 顺序消息样例 2.1 顺序消息生产 2.2 顺序消费消息 3 延时消息样例 3.1 启动消费者等待传入订阅消息 3.2 发送延时消息 3.3 验证 3.4
阅读全文
摘要:接上篇。。 四.设计(design) 1 消息存储 消息存储是RocketMQ中最为复杂和最为重要的一部分,本节将分别从下面三方面来分别展开叙述。 RocketMQ的消息存储整体架构 PageCache与Mmap内存映射 以及RocketMQ中两种不同的刷盘方式 1.1 消息存储整体架构 消息存储架
阅读全文
摘要:基本概念 特性 架构设计:包括技术架构和部署架构 一.基本概念 1 消息模型(Message Model) RocketMQ主要由 Producer、Broker、Consumer 三部分组成,其中Producer 负责生产消息,Consumer 负责消费消息,Broker 负责存储消息。 Brok
阅读全文
摘要:这一篇我们要说的话题是消息的堆积处理,其实这个话题还是挺大的,因为消息堆积还是真的很令人头疼的,当堆积的量很大的时候,这真的是个很暴躁的问题,不过这时候真考验大家冷静的处理问题的能力了 我们一起来分析分析有关问题吧 大量的消息堆积在MQ中几个小时还没解决怎么办呢 一般这种比较着急的问题,最好的办法就
阅读全文
摘要:核心点有很多,为了更贴合实际场景,我从常见的面试问题入手: 如何保证消息不丢失? 如何处理重复消息? 如何保证消息的有序性? 如何处理消息堆积? 当然在剖析这几个问题之前需要简单的介绍下什么是消息队列,消息队列常见的一些基本术语和概念。 接下来进入正文。 什么是消息队列 消息队列就是一个使用队列来通
阅读全文
摘要:官网地址:https://dubbo.apache.org/zh/docs/introduction/
阅读全文