暂时未有相关云产品技术能力~
暂无个人介绍
前言 该项目写完也有一段时间了,为了避免以后忘记该项目的一些实现的原理,所以写下这篇博客来记录一下该项目的设计等
SpringMVC的流程
接着上篇BlockingQueue没讲完的 LinkedTransferQueue LinkedTransferQueue是一个由链表结构组成的无界阻塞队列,相对于其它阻塞队列,LinkedBlockingQueue可以算是LinkedBlockingQueue与SynhronoousQueue结合,LinkedtransferQueue是一种无界阻塞队列,底层基于单链表实现,其内部结构分为数据节点、请求节点,基于CAS无锁算法实现
网上看了好多文章将线程池的但是似乎都没的多少人会详细讲解里面的任务队列,所以只有自己动手学习其中的任务队列 BlockingQueue
HTTP1.0、1.1、2.0、3.0的区别
查询服务器域名对应的IP地址 其中域名的层级关系类似于一个树状结构 根DNS服务器(.) 顶级域名服务器(.com) 权威DNS服务器(server.com)
用户空间与内核空间 进程的寻址空间会划分为两部分:内核空间、用户空间 用户空间只能执行受限的命令,而且不能直接调用系统资源,必须通过内核提供的接口来访问 内核空间可以执行特权命令。调用一切系统资源
如何定位慢查询SQL以及优化
索引的数据结构、索引及其优缺点、索引的声明与使用以及索引的设计原则
Git常见命令与使用,从0到1学会使用Git
概述 垃圾收集器需要完那些内存需要回收? 什么时候回收? 如何回收?
Redis如何实现数据不丢失 Redis的读写操作都是在内存中,所以Redis性能才会高,但是当Redis重启后,内存中的数据就会丢失,那为了保存内存中的数据不会丢失,Redis实现了数据持久化机制,会把数据保存到磁盘,这样Redis重启就能够从磁盘恢复原有的数据
代理类在程序运行时创建的代理方式被称为动态代理 静态代理中,代理类是自己定义好的,在程序运行之前就已经编译完成。然而动态代理,代理类并不是在Java代码中定义的,而是运行时根据我们在Java代码中的指示动态生成的。相比较静态代理,动态代理的优势在于可以很方便的对代理类的函数进行统一的处理,而不用修改每个代理类中的方法,比如想要在每个代理方法前都加上一个处理方法,静态代理就需要在每个类内部加上这个方法
写在前面,因为我们最近的大作业项目需要用到热点排行这个功能,因为我们是要使用Elasticsearch来存储数据,然后最初设想是在ES中实现这个热点排行的功能,但是经过仔细思考,在我们这个项目中使用ES来做热点排行是一个很蠢的方式,因为我们这只是一个很小的排行,所以最终我们还是使用Redis来实现热点排行
MySQL的逻辑架构--逻辑架构剖析、SQL执行流程、数据库缓冲池(buffer pool)
session共享问题及解决方案
什么是RabbitMQ 使用AMQP高级队列协议的一种消息队列技术,最大的特点就是消费并不需要确保提供方存在,实现了服务之间的高度解耦
TCP概述 TCP是一种面向连接的协议,在发送数据前通信双方必须在彼此间建立一条连接 所谓的连接其实就是客户端和服务器的内存里保存一份关于对方的信息,如IP地址、端口 TCP是一种字节流,它会处理IP层的丢包、重复以及错误问题 在建立连接的过程中,双方交换的一些参数可以放到TCP的头部 总结 :TCP提供了一种可靠、面向连接、字节流、传输层的服务,采用三次握手建立一个连接,四次挥手关闭一个连接
每日三题-盛最多水的容器、三数之和、移动零
每日三题-数组中的第K个最大元素、滑动窗口最大值、前K个高频元素
问题描述 微服务项目中其它模块不能依赖common模块中的依赖 而common中是有依赖的
问题描述 SpringCloudGateWay中跨域配置不起作用
本文目录 CPU密集型 IO密集型 选择线程数量 区别 总结
ReentrantLock的功能详解与理解
自动拆箱与自动装箱 自动拆箱、自动装箱是JDK1.5开始提供的功能,自动拆箱可以把一个包装类型的对象赋值给对应的基本类型,自动装箱则相反。因为Java是一门面向对象的语言,而基本数据类型不具备对象的特点,所以提供了装箱与拆箱。比如某个方法需要传入object类的参数,但实际传入的是数字,如果没有自动拆、装箱就需要特殊处理
每日三题 二叉树的层序遍历 二叉树的中序遍历 最小覆盖子串
LongAdder 有了AtomicLong为什么还要LongAdder LongAdder中的主要方法
每日三题 电话号码的字母组合 字母异位词分组 找到所有数组中消失的数字
每日三题 有效的括号 最长有效括号 最小栈
SpringBoot中如何参数校验、统一异常、统一响应以及自定义注解
每日三题 合并K个升序链表 二叉树展开为链表 LRU缓存
写在前面 本文是使用SpringSecurity进行权限控制,此次项目没有采用SpringSecurity的注解形式,因为当你使用SpringSecurity注解形式进行权限控制的时候,当你给一个接口定义了注解过后,那么这个接口所对应的角色也就固定了,如果要修改启动的项目,只有重新修改代码,然后进行部署,本次演示是通过查询数据权限来获取对应的角色来进行匹配是否放行
每日三题 两数相加 反转链表 回文链表
项目场景: 使用el-upload标签获取Java服务端签名直传
由于HTTP协议本身是无状态的,及服务器无法判断用户身份。cookie与session都是用来跟踪浏览器用户身份的会话