自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 资源 (11)
  • 收藏
  • 关注

原创 I/O模型与Netty(一)

I/O模型与NettyI/O模型与SocketSocketJAVA I/O模型NIOChannelNIO-Channel与Java Stream对比常用类介绍实现步骤Selector选择器BufferLinux I/O模型阻塞IO非阻塞IOIO复用模型信号驱动IO模型异步IO模型I/O模型与SocketSocket整体流程如图所示Socket一共有两个部分 (1)客户端 功能:创建连接,发送OutputStream输出流,读取服务器返回的响应数据作为InputStream输入流(2)服务端 功能:

2021-04-07 14:39:52 71 2

原创 数据结构之-带头单链表逆置

1.不创建新头的就地逆置 public static void converse(HeroNode head){ if (head.next==null){ System.out.println("链表为空"); return; } HeroNode x,y; x=head.next; head.next=null ; while (x.next!=null)

2021-05-16 12:04:27 2

原创 SpringCloud-Ribbon原理讲解(二)

上一章提到在选择LoadBalancer实现类的时候要选择ZoneAwareLoadBalancer ,原因是因为默认的负载均衡策略为区域轮询策略,我们进入代码看下本次源码查看的入口是RibbonAutoConfiguration上章主要聚焦到@AutoConfigureBefore注解,也就是一些前置条件,本章节看下这个配置类中装配的东西负载均衡策略选择 @Bean public SpringClientFactory springClientFactory() { SpringClientF

2021-04-29 13:08:05 26

原创 SpringCloud-Ribbon原理讲解(一)

基本调用本案例使用RestTemplate 方式作为调用方,方便理解@Bean @LoadBalanced public RestTemplate getRestTemplate() { return new RestTemplate(); } //注解信息中没有有用的信息@Target({ElementType.FIELD, ElementType.PARAMETER, ElementType.METHOD})@Retention(RetentionPolicy.RUNTIME)

2021-04-28 13:14:54 24

原创 I/O模型与Netty(三)

Netty组件介绍ServerBootstrap 与Bootstrap上一讲使用Netty实现了简单的群聊功能,主要也是为了让大家熟悉一些系统的组件,这一讲还是以介绍为主,阐述各个组件的功能作用ServerBootstrap 与Bootstrap它们在 transport 模块的 bootstrap 包下实现,继承图如下,之所以是这样的继承关系是因为他们功能上其实很相似,只不过一个代表客户端一个代表服务器端,一般来讲ServerBootstrap实例化后会使用group方法传入两个EventLoopG

2021-04-21 11:56:59 31

原创 JDK源码随笔之LinkedHashMap及LRU算法

HashMap的诞生解决了搜索的时间复杂度,但同时 对于有序的场景 就需要用到LinkedHashMap。TreeMap :按照 key 的顺序LinkedHashMap :按照 key 的插入和访问的顺序也是LinkedHashMap按照key插入的顺序访问方式,可以实现LRU(最近最少使用)算法先来看类图,如下下面是linkHashMap中的一个子类Entry 我们可以看到他有前节点后节点两个属性, static class Entry<K,V> extends HashMa

2021-04-20 09:36:50 19

原创 Spring源码之事务传播行为

网上虽然有很多 但是还是建议别死记硬背 先看看源码public enum Propagation { /** * Support a current transaction, create a new one if none exists. * 如果存在一个事务,则支持当前事务。如果没有事务则创建新的事务 * Analogous to EJB transaction attribute of the same name. * 类似于同名的EJB事务属性 * <p>Thi

2021-04-16 16:02:43 46 2

原创 Zookeeper伪集群环境搭建及简单使用

环境搭建安装包:链接:https://pan.baidu.com/s/1AkJeWW6X4dsMqys3QXWImw提取码:yd5r版本为3.4.13我的linux版本是centos8 路径如下:/usr/local/zookeeper/zkcluster/执行如下命令 解压并放入该路径tar -zxvf zookeeper-3.4.13.tar.gz -C /usr/local/zookeeper/zkcluster/复制三个把文件夹名zookeeper-3.4.13改成zookeeper

2021-04-14 12:23:54 76 1

原创 CentOS8下安装docker并拉取redis镜像最后添加布隆过滤器

1.安装docker安装dockercurl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun若出现如下报错problem with installed package buildah-1.15.1-2.module_el8.3.0+475+c50ce30b.x86_64package buildah-1.15.1-2.module_el8.3.0+475+c50ce30b.x86_64 requires runc &g

2021-04-13 13:34:14 52 1

原创 JDK源码随笔之AtomicInteger

AtomicInteger:意为原子操作的Integer类,这里可能有朋友要问了,加上synchronized关键字不就可以了实现了么,为什么单独做了一些原子操作类呢,这是因为在实际开发当中,对并发不高且操作简单的类如Integer,synchronized关键字显得很繁重,下面我们来看看AtomicInteger是怎么实现原子操作的。首先讲下什么是原子操作:原子操作意为一系列的动作过后,要么都成功,要么都不成功,举例:小明给小张转100元, 操作分解为小明账号扣除100 ||小张账号增加100,这一系列

2021-04-12 16:32:41 46 2

原创 I/O模型与Netty(二)

Netty实现简易聊天室服务器端客户端想理解一个架构的底层原理,必须先从最基础的实现开始服务器端public class NettyChatServer { //端口号 private int port; public NettyChatServer(int port) { this.port = port; } public void run() throws InterruptedException { //1. 创建

2021-04-12 12:18:52 41 1

原创 Spring源码分析(一)

从源码分析Spring问题SpringBean生命周期与循环引用问题顶层接口 BeanFactory实现类AbstractApplicationContext与AbstractBeanFactory比较从类注解分析从类图分析生命周期-getBean循环引用问题生命周期-createBeanSpringBean生命周期与循环引用问题spring相信大家都不陌生,由Rod Johnson创造,通过IOC和AOP很好的解决了耦合问题,那么他底层是怎么实现的呢,首先我们考虑 在应用层 由传统的new对象,变成了

2021-04-02 15:43:49 31

原创 SpringMVC执行流程源码解析

SpringMVC执行过程模型图整体流程Springmvc细节部分现在我们从DispatchServlet开始分析在DispatchServlet的父类FrameworkServelt中有doget,dopost,doput,dodelete等方法,这些方法都执行了processRequest方法,这个方法又执行了doService方法,doService在FrameworkServelt中是个虚方法,真正的实现在DispatchServlet中,在这个方法中定义了一些request属性,然后

2021-03-30 17:11:18 31 1

原创 Spring-Session原理源码分析

Spring-Session使用及源码分析为什么要使用Spring-Session原因:http协议为无状态协议,在引入了分布式及集群之后 显然对用户登录如果做session验证的话,会造成重定向到登录页面现象,解决思路:1)tomcat session共享优点:代码无侵入,都由tomcat完成缺点:1.session共享依靠传输协议 高并发情况下,请求速度比共享速度快,造成session不能及时共享的问题,并且传输需要占用带宽,造成传输资源浪费2.内存资源浪费,tomcat持久化了大量的se

2021-03-25 11:05:32 36 1

原创 maven多环境打包配置

如下图,为开发环境的配置文件分为dev和server两个,在打包的时候经常需要修改application.properties下面讲述通过命令以及配置打包不同生产环境文件首先在pom文件中配置profiles节点,代表着两个环境 <profiles> <profile> <id>dev</id> <properties> <spring.pr

2020-07-08 20:38:01 115

原创 (三)Vue 组件使用

组件使用组件注册全局注册和局部注册组件间通信props父子组件通信声明组件对象定义props$emit 自定义事件slot插糟分发匿名槽口具名槽口组件注册全局注册和局部注册<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"

2020-06-26 10:31:58 68

原创 聊聊买房

我属于

2020-06-24 14:22:56 134

原创 现有代码托管git方法

现有代码托管git方法1.首先打开代码文件夹,定位到pom文件那层 如下图2.右键空白处 选择git bash here(还没安装git的同学装一下)执行命令git init3.关联git仓储git remote add origin https://github.com/xxx/xxx/git打开IDEA 右键项目 git->commit directory 将代码提交到本地5. 右键项目 git->repository 先pull(拉取)后push(上传)

2020-06-24 12:42:32 76

转载 springboot 事务

原文链接:https://blog.csdn.net/Winter_chen001/article/details/78622679?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522159296726819724839212259%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=159296726819724839212259&bi

2020-06-24 11:28:29 64 1

原创 (二)Vue入门

计算属性与监听器计算属性computed介绍:计算属性类似于methods,不同的是计算属性是缓存形式,只有当里面的值发生改变的时候才会重新计算<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <m

2020-06-23 21:53:34 79

原创 Vue开篇

Vue开篇介绍官网地址:https://cn.vuejs.org/创作者:尤雨溪最新稳当版本:2.6.11目前市面上大部分是已2.x版本为基础进行开发,相比较1.x来说有着很深远的进步架构特点:相比较于react 学习成本更低,适用于中小企业,渐进式架构(Vue渐进式-先使用Vue的核心库,再根据你的需要的功能再去逐渐增加加相应的插件)核心内容:(1)MVVM双向绑定(2)vue router 路由(3)服务端渲染(条件渲染,列表渲染)(4)组件(组件注册,组件间通信)起步语法及MV

2020-06-20 11:01:34 211 2

原创 Windows10下Zookeeper和kafka安装及配置

ZooKeeper安装、配置1.下载(官网地址: http://zookeeper.apache.org/releases.html#download)此时要注意版本的选用 我的springboot版本为2.1.7 我选择的zookeeper是3.6.0(后面的kafka也要根据这个版本进行选择),还要注意不要下载源码包(名字里带src的)2.解压后修改apache-zookeeper-3.6.0-bin\conf路径中zoo_sample.cfg重新命名为zoo.cfg,将zoo.cfg中data改为

2020-05-12 09:53:24 323 1

原创 Springboot (入门一)

SpringBoot(入门一)

2020-04-28 21:42:18 90 2

大厂面试系列四.pdf

大厂面试系列四.pdf

2021-04-21

大厂面试系列五.pdf

大厂面试系列五.pdf

2021-04-21

大厂面试系列八.pdf

大厂面试系列八.pdf

2021-04-21

Dubbo服务框架面试题及答案.pdf

Dubbo服务框架面试题及答案.pdf

2021-04-21

Dubbo面试专题.pdf

Dubbo面试专题.pdf

2021-04-21

大厂面试真题篇.pdf

大厂面试真题篇.pdf

2021-04-21

大厂面试系列二.pdf

大厂面试系列二.pdf

2021-04-21

大厂面试系列三.pdf

大厂面试系列三.pdf

2021-04-21

Spring Bean生命周期.pdf

Springbean生命周期

2021-04-01

feiwangSpringgithub2.zip

springboot小程序 讲文本内容通过接口的方式返回二维码图片流,附带一些aop思想等,本代码github也有上传

2020-06-24

窗口透明呼吸

利用窗体透明度和timer制作无限呼吸窗口由0到1再由1到0无限循环

2014-03-12

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除