自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 资源 (1)
  • 收藏
  • 关注

原创 Netty 源码调试

自己学习笔记

2021-12-21 14:19:26 582

原创 Java反射使用总结

Java反射使用总结Class对象检查一个类之前,必须获取到java.lang.Class对象,java中的所有类型,包括long,int,数组等基本数据类型,都和Class对象有关系。我们很多人去医院参加体检的时候,都做过B超检查,医生只需把一个探头在我们身上滑动就可以将我们体内的肝、胆、肾等器官反射到B超设备上显示。Class类对象就相当于B超的探头,将一个类的方法、变量、接口、类名、类修饰符等信息告诉运行的程序。Java提供了两种方式获取Class对象,一种是使用.class,另外一种是使用

2021-09-20 19:53:48 186

原创 Redis缓存穿透、缓存击穿、缓存雪崩解决方案

Redis缓存穿透、缓存击穿、缓存雪崩解决方案缓存穿透指查询一个一定不存在的数据,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到 DB 去查询,可能导致 DB 挂掉。解决方案:i. 查询返回的数据为空,仍把这个空结果进行缓存,但过期时间会比较短ii. 布隆过滤器:将所有可能存在的数据哈希到一个足够大的 bitmap 中,一个一定不存在的数据会被这个 bitmap 拦截掉,从而避免了对 DB 的查询。缓存击穿对于设置了过期时间的 key,缓存在某个时间点过期的时候,恰

2021-09-20 19:53:19 147

原创 常用4种限流算法介绍及比较

常用4种限流算法介绍及比较计数器计数器限流方式比较粗暴,一次访问设置一次计数,在系统内设置每秒的访问量,超过访问量的访问直接丢弃,实现访问限流.这种算法的弊端就是,在开始的时间,访问量被使用完后,1S内会有长时间的真空期是处于接口不可用的状态的.实现方式和拓展方式很多.比如可以使用redis进行1S的100次访问计数,来一个流量100-1当数量到达0时,拒绝后续的访问.也可以不拒绝而是将请求放入缓存队列,根据实际业务情况选择不同的实现方式.漏斗在计数器算法中我们看到,当使用了所有的访问量后,接口会

2021-09-20 19:52:43 813

原创 12个操作系统知识点

12个操作系统知识点问题一、操作系统的基本特征1、并发并发指一段时间内能同时运行多个程序,并行指同一时刻能运行多个指令。操作系统通过引入进程和线程,使得程序能够并发运行。2、共享共享是指系统中的资源可以被多个并发进程共同使用。它主要有两种共享方式:互斥共享和同时共享。多个应用并发执行的时候,宏观上要体现出它们在同时访问资源的情况,而微观上要实现它们的互斥访问。比如说我们说到的内存。3、虚拟虚拟技术把一个物理实体转换为多个逻辑实体。利用多道程序设计技术(程序的交替运行),让每个用户都觉得有一个计

2021-09-20 19:52:07 343

原创 Spring 循环依赖

Spring 循环依赖一、创建循环类@Servicepublic class UuServive { @Autowired IiServive iiServive; public UuServive (){ System.out.println("UuServive 实例化成功--------"); }}@Servicepublic class IiServive { @Autowired UuServive uuSe

2021-06-07 10:35:46 120

原创 Spring Bean 的生命周期

Spring Bean 的生命周期Spring启动,查找并加载需要被Spring管理的bean,进行Bean的实例化Bean实例化后对将Bean的引入和值注入到Bean的属性中如果Bean实现了BeanNameAware接口的话,Spring将Bean的Id传递给setBeanName()方法如果Bean实现了BeanFactoryAware接口的话,Spring将调用setBeanFactory()方法,将BeanFactory容器实例传入如果Bean实现了ApplicationContext

2021-06-07 10:35:01 78

原创 Spring MVC 的工作流程

Spring MVC 的工作流程文字描述1)用户发送请求到前端控制器DispatcherServlet2)DispatcherServlet 收到请求调用 HandleMapping处理器映射器3)处理器映射器找到具体的处理器(可以根据xml配置文件、注解进行查找),生成处理器及处理器拦截器(如果有则生成)一并返回给DispatcherServlet4)DispatcherServlet 调用HandleAdapter处理器适配器5)HandleAdapter经过适配器调用具体的处理器(Cont

2021-06-07 10:34:29 92

原创 字符串操作的三个类

字符串操作的三个类字符串操作有String 、 StringBuilder、StringBuffer三个类StringString 所维护的数组是一个final修饰的数组,是不可变的,所以String字符串的每次修改操作都会新建一个字符串对象,非常的耗资源。StringBuilderStringBuilder 是一个继承了一个 AbstractStringBuilder 类这个类中维护的是一个普通的char数组,他的操作是通过appand()方法进行操作的 只有在最后toString的时候

2021-06-07 10:33:17 318

原创 Map集合

Map集合HashMaphashMap维护的是一个数组+Entry链表 或者 红黑树的结构数组是经过hash散列得到的存储下标,将数据尾插入对应数组下标所维护的链表里当链表长度大于8时就升级变成红黑树来优化查询效率,当长度小于6时又会降级变成链表Entry链表能否可以使用LinkList替换?当然可以。hashMap的扩容机制( resize() )/** * Initializes or doubles table size. If null, allocates in

2021-06-07 10:32:25 102

原创 ArraryList与LinkList

ArraryList与LinkListArraryListArraryList本类中维护的是一个数组,这对于查询来说效率很高,并且支持下标查询,但是对于经常做插入删除的操作来说效率比较低。private static final int DEFAULT_CAPACITY = 10;ArraryList的初始大小(未指定的情况下,无参构造)是0个,当我们添加元素的时候public boolean add(E e) { ensureCapacityInternal(size + 1); /

2021-06-07 10:31:30 458

原创 12个操作系统知识点

12个操作系统知识点问题一、操作系统的基本特征1、并发并发指一段时间内能同时运行多个程序,并行指同一时刻能运行多个指令。操作系统通过引入进程和线程,使得程序能够并发运行。2、共享共享是指系统中的资源可以被多个并发进程共同使用。它主要有两种共享方式:互斥共享和同时共享。多个应用并发执行的时候,宏观上要体现出它们在同时访问资源的情况,而微观上要实现它们的互斥访问。比如说我们说到的内存。3、虚拟虚拟技术把一个物理实体转换为多个逻辑实体。利用多道程序设计技术(程序的交替运行),让每个用户都觉得有一个计

2021-06-07 10:29:04 776

原创 == 与equals的区别

== 与equals的区别首先我们的jvm的内存结构,jvm 基本可分为两个区域,一个是共享内存区,一个是非共享内存区,共享内存区有虚拟机栈 本地方法栈,程序计数器,共享内存区有堆和方法区。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JQ3jroD9-1623032778734)(https://ftp.bmp.ovh/imgs/2021/06/428f1daec89c8d7c.png)]栈帧中有局部变量表,操作数栈,动态连接,返回地址四个模块。而我们的每一个线程的

2021-06-07 10:27:26 57

原创 随便写的一个局域网聊天室

二话不说先上图服务端图片客户端登陆页面聊天室页面支持多人聊天 和 文件传输文件发送文件接收

2020-09-28 08:32:21 155

原创 IDEA 导入 jbolt项目(实验室非公开项目)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录准备一、准备数据库二、IDEA导入jbolt项目准备在实验室群文件中下载jbolt.zip和mysql.sql两个文件将其解压到自己的目录下一、准备数据库打开Navicat新建一个jbolt数据库(字符集为utf8)导入mysql.sql文件数据库导入完毕二、IDEA导入jbolt项目点击打开一个项目选择jbolt文件夹以Maven形式打开打开pom.xml 在里面添加jetty-server依赖

2020-09-27 21:57:53 820 1

原创 IDEA 安装Maven及配置仓库

文章目录准备1、解压并配置Maven2、配置IDEA总结准备下载maven:http://maven.apache.org/download.cgi下载本人repository:百度云盘:43sd1、解压并配置Maven将Maven压缩包和repository压缩包解压打开maven里conf文件夹中的setting.xml添加阿里云maven地址<mirrors> <mirror> <id>alimaven</id&gt

2020-09-27 21:27:53 402

原创 Windows JDK8 安装

Windows JDK8 安装准备步骤安装完成准备准备jdk8官网下载:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html根据自己的系统下载对应的jdk下载完成步骤双击打开安装程序一直点击下一步直到结束,使用默认安装路径!!安装完成查看自己计算机中是否有jdk C:\Program Files\Java...

2020-09-27 20:39:28 241

原创 关于Ajax使用后还是跳转的问题

今天用Ajax该一个学长项目的时候发生了这样子的事情明明使用了异步提交,可是还是页面跳转。弄得我满头大汗。。。先上代码function checkUsername(){ //alert("用户名校验"); //获取用户名 var username = $("#username").val(); //正则定义...

2019-09-27 21:26:07 373 1

原创 c语言中的指针函数问题

c语言中的指针函数问题先看一个小例子:#include &amp;lt;stdio.h&amp;gt;#include &amp;lt;stdlib.h&amp;gt;#include &amp;lt;string.h&amp;gt;int *add(int *a) //建立一个指针函数,使输入的数加10//{ int *p; p=a; *p+=10; return p;}int

2018-12-29 23:37:34 253 1

自己制作的聊天室项目啊

Swing写的一个聊天室。具有局域网聊天的功能。可以局域网内收发文件!!

2019-10-11

空空如也

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

TA关注的人

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