自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 Redis基础操作

比如数据集{1,3,5,7,5,7,8},那么这个数据集的基数集为{1,3,5,7,8},基数(不重复元素)为5。基数估计就是在误差可接受的范围内,快速计算基数。

2022-07-31 13:31:09 721 1

原创 单例模式小结

特征:保证一个类仅有一个,自己创建的实例,并提供其他类一个访问它的全局访问点。即提供其他类直接访问它的唯一对象的方式,而不需要实例化该类的对象.构造函数私有.应用场景:一个全局使用的类频繁的被创建与销毁,单例模式可以控制实例数量,节约系统资源.通过判断系统是否有这个单例.有则返回,无则创建优点:1、在内存里只有一个实例,减少了内存的开销,尤其是频繁的创建和销毁实例(比如三巨头项目首页页面缓存)。2、避免对资源的多重占用(比如写文件操作)。缺点没有接口,不能继承,与单一职责原则冲突,一个类应该只关心

2022-07-11 01:10:00 79

原创 快速生成实体类sql

collection_info为导出的标题

2022-06-07 21:02:21 244

原创 网络协议小结

应用层是TCP/IP协议的第一层,是直接为应用进程提供服务的。(1)对不同种类的应用程序它们会根据自己的需要来使用应用层的不同协议,邮件传输应用使用了SMTP协议、万维网应用使用了HTTP协议、远程登录服务应用使用了有TELNET协议。(2)应用层还能加密、解密、格式化数据。(3)应用层可以建立或解除与其他节点的联系,这样可以充分节省网络资源。作为TCP/IP协议的第二层,运输层在整个TCP/IP协议中起到了中流砥柱的作用。且在运输层中,TCP和UDP也同样起到了中流砥柱的作用。网络层在TCP/IP协

2022-06-05 14:42:50 202

原创 linux noob私房菜日记

第一章 硬件CPU 内存 I/O

2022-05-16 00:56:46 67

原创 mysql索引生效条件

索引不生效的触发条件

2022-05-11 23:53:16 380

原创 SpringMvc三层架构注解详解@Controller、@Service和@Repository

三层架构注解详解@Controller控制层@Service()@Repository持久层@Autowired依赖注入源码分析.@Controller控制层@Controller用于标记在一个类上,使用它标记的类就是一个SpringMvc Controller对象,分发处理器会扫描使用该注解的类的方法,并检测该方法是否使用了@RequestMapping注解。@Controller只是定义了一个控制器类,而使用@RequestMapping注解的方法才是处理请求的处理器。@Controller标

2021-11-22 23:17:10 212

原创 死锁的产生,解决,检测

死锁什么是死锁?产生死锁的原因?死锁产生的4个必要条件?解决死锁的基本方法预防死锁:避免死锁:检测死锁解除死锁:死锁检测什么是死锁?所谓死锁,是指多个进程在运行过程中因争夺资源而造成的一种僵局,当进程处于这种僵持状态时,若无外力作用,它们都将无法再向前推进。 因此我们举个例子来描述,如果此时有一个线程A,按照先锁a再获得锁b的的顺序获得锁,而在此同时又有另外一个线程B,按照先锁b再锁a的顺序获得锁。如下图所示:产生死锁的原因?可归结为如下两点:a. 竞争资源系统中的资源可以分为两类:可剥夺资源

2021-08-09 00:22:26 117

原创 Cannot resolve symbol XXX解决办法

IDEA 无法识别同一个 package 里的其他类,将其显示为红色,但是 compile 没有问题。鼠标放上去后显示 “Cannot resolve symbol XXX”,重启 IDEA ,重新 sync gradle,Clean build 都没有用。多半是因为 IDEA 之前发生了错误,某些 setting 出了问题。解决方法如下:点击菜单中的 “File” -> “Invalidate Caches / Restart”,然后点击对话框中的 “Invalidate and Restart

2021-08-08 23:51:47 325 1

原创 多线程笔记

多线程一.创建线程的三种方法1.继承thread类2.实现runnable接口3.实现Callable接口4.下载网络图片5.小结二.单例模式一.创建线程的三种方法1.继承thread类 /** * 创建方式一,继承Thread类 */ @Override public void run() { for (int i = 0; i < 20; i++) { System.out.println("我在看代码---"

2021-07-27 00:02:48 148

原创 深入浅出反射

反射的定义反射是一种能够在程序运行时动态访问、修改某个类中任意属性(状态)和方法(行为)的机制(包括private实例和方法),java反射机制提供了以下几个功能:在运行时判断任意一个对象所属的类;在运行时构造任意一个类的对象;在运行时判断任意一个类所具有的成员变量和方法;在运行时调用任意一个对象的方法。反射涉及到四个核心类:java.lang.Class.java:类对象;java.lang.reflect.Constructor.java:类的构造器对象;

2021-06-27 23:53:38 63

原创 序列化和反序列化

一丶基本概念1、序列化和反序列化的定义:(1)Java序列化就是指把Java对象转换为字节序列的过程Java反序列化就是指把字节序列恢复为Java对象的过程。(2)序列化最重要的作用:在传递和保存对象时.保证对象的完整性和可传递性。对象转换为有序字节流,以便在网络上传输或者保存在本地文件中。反序列化的最重要的作用:根据字节流中保存的对象状态及描述信息,通过反序列化重建对象。总结:核心作用就是对象状态的保存和重建。(整个过程核心点就是字节流中所保存的对象状态及描述信息)2、json/xml的数据传

2021-06-27 23:38:35 91

原创 顺序表和链表存储的优缺点

顺序表存储**原理:**顺序表存储是将数据元素放到一块连续的内存存储空间,存取效率高,速度快。但是不可以动态增加长度**优点:**存取速度高效,通过下标来直接存储**缺点:**1.插入和删除比较慢,2.不可以增长长度比如:插入或者删除一个元素时,整个表需要遍历移动元素来重新排一次顺序2.链表存储**原理:**链表存储是在程序运行过程中动态的分配空间,只要存储器还有空间,就不会发生存储溢出问题**优点:**插入和删除速度快,保留原有的物理顺序,比如:插入或者删除一个元素时,只需要改变指针指向即可

2021-06-27 23:26:37 1730 1

原创 SQL优化

26个小贴士1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:select id from t where num=03.应尽量避免在 where 子句中使用!=或<>操作符,

2021-06-27 20:32:15 46

原创 前端返回数据的三种方式,事务四大特性,面向对象的三大特性

前端返回数据的三种方式向前端返回数据有三种方式第一种:直接返回一个数据字符串PrintWriter pw=resp.getWriter();pw.println("你好");pw.flush();第二种:重定向resp.sendError(500,"不给你服务");resp.sendRedirect("hello.html");第三种:转发`req.getRequestDispatcher("hello.html").forward(req,resp);`理解事务 —— 原子性、

2021-03-26 13:43:16 807

原创 IOC,AOP

一、什么叫Ioc、DIIoc:Inversion of Control —— 控制反转DI:Dependency Injection —— 依赖注入其实这两个概念本质上是没有区别的,那我们先来看看什么叫做Ioc?假设这么一个场景:在A类中调用B类的方法,那么我们就称 A依赖B,B为被依赖(对象),相信这点大家能够理解。传统做法:(1)直接在A(方法)中new出B类对象,然后调用B类方法 —— 硬编码耦合;(2)通过简单工厂获取B类对象,然后调用B类的方法 —— 摆脱了与B的耦合,却又与工厂产

2021-03-12 22:45:59 104

原创 JVM笔记

JVM复习JVM体系结构类加载器及双亲委派机制沙箱安全机制栈局部变量:操作数栈:指向运行时常量池的引用:方法返回地址:特性:NATIVE关键字方法区别人的笔记JVM体系结构梯形:所有线程共享数据区矩形:线程隔离数据区类加载器及双亲委派机制双亲委派模型的工作过程为:如果一个类加载器收到了类加载的请求,它首先不会自己去尝试加载这个类,而是把这个请求委派给父类加载器去完成,每一个层次的加载器都是如此,因此所有的类加载请求都会传给顶层的启动类加载器,只有当父加载器反馈自己无法完成该加载请求(该加载器的

2021-03-12 01:24:21 135

空空如也

空空如也

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

TA关注的人

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