头条 twelvet微服务-基于Spring Cloud Alibaba + React的微服务权限管理系统
一套以微服务架构的脚手架,使用SpringCloudAlibaba系列进行架构,学习并了解它将能快速掌握微服务核心基础。此项目是为了减少业务代码的重复轮子,它具......
- Java
- JVM
- NIO
-
Java 方法代理实例操作,静态代理、JDK动态代理、CGLIB动态代理
方法的代理可以在调用方法时进行其它的相关操作,并减少代码的入侵和偶合。很多框架都用到了动态代理,并提......
-
Netty的零拷贝机制
理解零拷贝零拷贝是Netty的重要特性之一,而究竟什么是零拷贝呢?WIKI中对其有如下定义:&quo......
-
为什么不推荐使用BeanUtils属性转换工具
1.背景之前在专栏中讲过“不推荐使用属性拷贝工具”,推荐直接定义转换类和方法使用IDEA插件自动填充......
-
zookeeper结构和选举
一、节点类型二、结构体三、监听器原理四、选举机制4.1重要的参数。4.2选举状态:4.3服务器启动时......
-
Java集合Queue-PriorityQueue
优先队列有两种:最大优先队列,当前最大的元素优先出队;最小优先队列,当前最小的元素优先出队。Prio......
-
Java对象的创建过程
1.类的生命周期加载->连接->初始化->使用->卸载连接=验证+准备+解析......
-
Java常用的加密算法
加密算法我们整体可以分为:可逆加密和不可逆加密,可逆加密又可以分为:对称加密和非对称加密。一、不可逆......
-
Java Squirrel状态机-从原理探究到最佳实践
1简介Squirrel状态机是一种用来进行对象行为建模的工具,主要描述对象在它的生命周期内所经历的状......
-
Spring Cloud 源码分析之OpenFeign
OpenFeign是一个远程客户端请求代理,它的基本作用是让开发者能够以面向接口的方式来实现远程调用......
-
手把手教你基于Netty实现一个基础的RPC框架
什么是RPCRPC全称为(RemoteProcedureCall),是一种通过网络从远程计算机程序上......
-
Java 缺失的特性:扩展方法
什么是扩展方法扩展方法,就是能够向现有类型直接“添加”方法,而无需创建新的派生类型、重新编译或以其他......
-
SpringMVC使用MultipartFile对象实现文件上传
1、添加依赖<!--https://mvnrepository.com/artifact/co......
-
JVM 调优工具总结篇12-20
大家好,又见面了,我是你们的朋友全栈君。一、jps:虚拟机进程状况工具它可以列出正在运行的虚拟机进程,并显示虚拟机执行主类(MainClass,main()函数......
-
JVM 性能调优之 jstat12-19
概述Jstat是JDK自带的一个轻量级小工具。全称“JavaVirtualMachinestatisticsmonitoringtool”,它位于java的bi......
-
JVM 性能调优之 jps12-19
大家好!我是老码农,一个喜欢技术、爱分享的同学,从今天开始和大家持续分享JVM调优方面的经验。JVM调优是个大话题,涉及的知识点很庞大Java内存模型垃圾回收机......
-
JVM 性能调优之 jinfo12-19
概述jinfo是JDK自带的命令,可以用来查看正在运行的java应用程序的扩展参数,包括JavaSystem属性和JVM命令行参数;也可以动态的修改正在运行的J......
-
JVM 性能调优之 jstack12-19
概述jstack是jdk自带的线程堆栈分析工具,使用该命令可以查看或导出Java应用程序中线程堆栈信息。Jstack用法image参数说明:-l长列表.打印关于......
-
JVM 性能调优之 jmap12-19
概述命令jmap是一个多功能的命令。它可以生成java程序的dump文件,也可以查看堆内对象示例的统计信息、查看ClassLoader的信息以及finalize......
-
【JVM】浅谈双亲委派机制的缺陷及打破双亲委派机制11-17
平时做业务开发比较少接触类加载器,但是如果想深入学习Tomcat、Spring等开源项目,或者从事底层架构的开发,了解甚至熟悉类加载的原理是必不可少的。双签委派......
-
【JVM】什么是双亲委派机制,双亲委派有什么用11-16
前言Java虚拟机对class文件采用的是按需加载的方式,也就是说当需要使用该类时才会将它的class文件加载到内存生成class对象,而且,加载某个类的cla......
-
【NIO】深入分析 Channel 和 FileChannel12-05
上篇文章[【死磕NIO】—深入分析Buffer]介绍了NIO中的Buffer,Buffer我们可以认为他是装载数据的容器,有了容器,还需要传输数据的通道才能完成......
-
【NIO】探索 SocketChannel 的核心原理12-04
聊聊Socket要想掌握SocketChannel,我们就必须先了解什么是Socket。要想解释清楚Socket,就需要了解下TCP/IP。注:本文重点在Soc......
-
【NIO】跨进程文件锁:FileLock12-03
上篇文章(【死磕NIO】—深入分析Channel和FileChannel)已经详细介绍了FileChannel的核心原理及相关API,了解了FileChanne......
-
【NIO】Server Socket Channel到底有哪些缺陷?12-02
阻塞模式我们先看服务端方法:publicstaticvoidmain(String[]args)throwsException{ByteBufferbuffer......
-
【IO】深入分析 Buffer 核心原理11-14
BufferBuffer是一个抽象类,主要用作缓冲区,其实质我们可以认为是一个可以写入数据,然后从中读取数据的内存块。这块内存被包装成NIOBuffer对象,并......
-
【IO】NIO 基础详解11-14
Netty是基于JavaNIO封装的网络通讯框架,只有充分理解了JavaNIO才能理解好Netty的底层设计。JavaNIO由三个核心组件组件:BufferCh......
-
【IO】详解 5 种 IO 模型11-11
要想彻底弄清楚这五种IO模型,我们需要先弄清楚几个基本概念。基本概念什么是IO什么是IO?维基百科上面是这样解释的:I/O(英语:Input/Output),即......
-
【IO】阻塞、非阻塞、同步、异步11-11
同步与异步什么是同步与异步呢?百度百科是这样定义的:同步指两个或两个以上随时间变化的量在变化过程中保持一定的相对关系。异步与同步相对(这解释让我无言相对)所以,......
- 技术分享
- 数据结构
- 算法
- Go
- 02-04深入了解Object.defineProperty
- 02-04JavaScript实现一个链表结构
- 02-04Linux 内存中VSS、RSS、PSS、USS 介绍
- 02-04Redis哨兵模式
- 02-04MySQL 数据库救火:磁盘爆满了,怎么办?
- 02-04了解JavaScript中的伪数组
- 02-04十分钟掌握Docker基本使用
- 02-04Golang使用第三方包viper读取yaml配置信息
- 02-03Hive的安装部署操作
- 02-03Redis主从复制
- 02-03CSS3原生变量使用
- 02-03超详细的jQuery的 DOM操作
-
【数据结构】约瑟夫链表-环形链表
一、双向链表双向链表的定义:在单链表的每个结点里再增加一个指向其直接前驱的指针域prior,这样链表......
-
【数据结构】java实现双向链表
一、链表基础链表是一种常见的数据结构,其中运用到了结构体指针,链表可以实现动态存储分配,换而言之,链......
-
【数据结构】java实现单向链表
一、链表基础链表是一种常见的数据结构,其中运用到了结构体指针,链表可以实现动态存储分配,换而言之,链......
-
寻找旋转排序数组中的最小值
实际在考察二分查找的方法补充知识double转int,是直接舍去小数。正数:向上取整或者向下取整或四......
-
【排序算法】java实现快排算法
一、快速排序算法是一种基于交换的高效的排序算法,它采用了分治法的思想:1、从数列中取出一个数作为基准......
-
【算法】如何使用java语言实现冒泡排序呢
基本介绍冒泡排序(BubbleSort)的基本思想是:通过对排序序列从前向后(从下标较小的元素开始)......
-
Go 快速入门指南 - 日期和时间
概述Go中和时间相关的操作全部在time包。语法规则调用time包即可,重要的一点是:不论将时间格式......
-
Go 语言解析 JSON
本文将说明如何利用Go语言将JSON解析为结构体和数组,如果解析JSON的嵌入对象,如何将JSON的......
-
GoLang 彻底搞懂 Channel 实现原理
Channel(通道)是Go语言高性能并发编程中的核心数据结构和与Goroutine之前重要的通信方......
-
golang string转换为[]byte
golang中将string转换为byte切片,可以使用标准转换方法,也可以通过强转方式。两种方式的......
-
Go实现LRU Cache
在web程序开发中,一般会使用redis作为数据缓存缓存一些常用的数据。但是有时候,当访问量特别巨大......
-
Go语言性能剖析利器--pprof实战
SpringEncoder/SpringDecoder在每次编码/解码时都会调用ObjectFact......
-
Go语言编程有哪些利与弊?编程时如何判断是否应该用Go?
点击这里,查看使用Go语言编程的弊端及何时使用Go语言编程等重要内容我们喜欢Go语言的地方近年来,G......
-
Golang互斥锁如何实现,互斥锁的多线程并发
概述对于任一共享资源,同一时间保证只有一个操作者,这种方法称为互斥机制。关键字Mutex表示互斥锁类......
-
Go 快速入门指南 - 可见性和作用域
可见性包通过导出机制控制变量、结构体、函数等数据可见性。只有1个简单的规则:首字母大写,可导出,首字......
-
Go 快速入门指南 - Golang切片(分片)slice详解
概述切片是对数组的一个连续片段的引用。片段可以是整个数组,也可以是数组的一部分(例如数组的第3个元素......
- 设计模式
-
【Java设计模式】装饰模式01-31
装饰模式装饰模式是一种用于代替继承的技术,达到无需定义子类却可以给对象动态增加职责的效果。让对象之间的继承关系转变为关联关系。装饰模式可以在不改变已有对象本身的......
-
【Java设计模式】命令模式01-29
,以便在execute中调用接收者。2.6客户端publicstaticvoidmain(String[]args){Invokerinvoker=newInv......
-
【Java设计模式】解释器模式01-29
@Overridepublicvoidinterpret(Contextcontext){System.out.println("非终结符解析&quo......
-
单例模式(单例设计模式)详解01-17
在有些系统中,为了节省内存资源、保证数据内容的一致性,对某些类要求只能创建一个实例,这就是所谓的单例模式。单例模式的定义与特点单例(Singleton)模式的定......
-
GoF 的 23 种设计模式的分类和功能01-17
设计模式有两种分类方法,即根据模式的目的来分和根据模式的作用的范围来分。1.根据目的来分根据模式是用来完成什么工作来划分,这种方式可分为创建型模式、结构型模式和......