总结
文章平均质量分 75
你好y
这个作者很懒,什么都没留下…
展开
-
【总结】kubernates crd client-java 关于自定义资源的增删改查
try {result =log.info(+ ": "CustomObjectsApi 去获得指定的某一个自定义资源try {} else {log.info(+ ": "group,version,namespace,plural,CustomObjectsApi去创建一个自定义的资源try {log.info(+ ": "return;CustomObjectsApi删除指定的自定义资源。原创 2023-10-09 15:14:49 · 712 阅读 · 0 评论 -
【总结】kubernates 插件工具总结
在此记录工作中用到的关于 kubernates 的插件小工具,以防以后忘记。原创 2023-10-09 14:18:18 · 406 阅读 · 0 评论 -
【对接支付宝总结】支付和退款
最近一直在忙支付宝退款的对接,做个总结吧。原创 2023-04-20 16:53:28 · 885 阅读 · 0 评论 -
常见面试题
常见面试题MySQL存储引擎mysql5.1之后默认的就是Innodb,之前时MyISAM。InnoDB支持事务,外键,mysql能不做集群就不做,因为要考虑分布式事务,很麻烦。事务非常重要,尤其是隔离级别的。要实现隔离性就要加锁锁MyISAM默认是表级锁,不支持行级锁,锁的粒度比较粗,Innodb默认是行级锁。在给一个表加共享锁(S)之前要先加IS(意向共享锁)。在加排他锁(X)之前,先加意向排他锁(IX)。间隙锁:例如我要查找id大于100的,但是表中的数据直到id为103的原创 2021-12-30 20:53:04 · 566 阅读 · 0 评论 -
基础回顾一
模糊知识的验证package LianBiao;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.*;public class PaiDui { public static void main(String[] args) throws IOException { int i = zichuan("abcd原创 2021-12-25 10:38:29 · 136 阅读 · 0 评论 -
【总结】MyBatis、Redis、RocketMQ
一、MyBatis4.1 MyBatis核心组件4.2 SqlSession执行过程二、Redis5.1数据类型视频、很大的文件可以转为二进制后,存在string的redis里面。但是注意最大为512M5.2线程模型1.单线程的前提Redis的网络IO和键值对读写是由一个线程来完成的;Redis的其他功能,如持久化、异步删除、集群数据同步等,则依赖其他线程来执行;2.单线程的优劣单线程可以简化数据结构和算法的实现,并且可以避免线程切换和竞争造成的消耗;原创 2022-01-11 09:26:55 · 534 阅读 · 0 评论 -
【总结】Spring Boot、Spring、SpringMVC
一.Spring Boot加速spring项目构建的工具核心运行原理约定优于配置,又称为按约定编程,是一种软件设计范式,旨在减少软件开发人员需要做决定的数量,执行起来简单而又不失灵活。Spring Boot的核心设计完美遵从了此范式。Spring Boot最核心的功能就是自动配置,该功能的实现也是基于“约定优于配置"的原则。那么SpringBoot是如何约定,又是如何实现自动配置功能的呢?使用Spring Boot时,我们只需引入对应的Starters,Spring Boot启动时便会自动加载相.原创 2021-10-17 11:15:23 · 754 阅读 · 0 评论 -
【总结】类的加载机制
三、类的加载机制3.1类加载的时机-个类型从被加载到虛拟机内存中开始,到卸载出内存为止,它的整个生命周期将会经历加载、验证、准备、解析、初始化、使用、卸载七个阶段,其中验证、准备、解析三个部分统称为连接。类什么时候加载没有明确要求,但是类什么时候初始化有明确要求有且只有六种情况必须立即对类进行“初始化”:1.使用new实例化对象、 读写类的静态字段、调用类的静态方法时。2.使用java.lang.reflect包的方法对类型进行反射调用时。3.当初始化类时,若发现其父类还没有进行过初始化,则原创 2021-10-17 11:09:50 · 539 阅读 · 0 评论 -
【总结】JVM基础知识和垃圾回收机制
一.JVM基础知识1.1 主力机型1.1.1 HotSpot VMHotSpot虛拟机是Sun/OracleJDK和OpenJDK中的默认Java虚拟机,也是目前使用范围最广的Java虚拟机。1.2体系结构1.每个JVM都有一个类加载子系统,它根据给定的全限定名来载入类(或接口) 。2.每个JVM都有一个执行引擎, 它负责执行那些包含在被载入类的方法中的指令。3.当JVM运行一个程序时,它需要内存来存储许多东西.例如:字节码、从已载入的class文件中得到的其他信息、程序创建的对象、传递给方法的原创 2021-10-17 11:08:28 · 126 阅读 · 0 评论 -
JAVA如何让多个线程顺序执行?
1、使用join2、使用newSingleThreadExecutor()代码:/** * 顺序执行多线程 * @author GaoYuan */public class SortThread { public static void main(String[] args) throws Exception{ /** * 方法一 * 利用newSingleThreadExecutor() */转载 2021-09-26 09:49:12 · 527 阅读 · 0 评论 -
【总结】MySQL事务
01 /事务概述1.1事务的特性事务会把数据库从一种一致状态转换为另一种一致状态。在数据库提交工作时,可以确保要么所有修改都已经保存了,要么所有修改都不保存。InnoDB存 储引擎中的事务完全符合ACID的特性。ACID是以下4个词的缩写: Atomicity (原子性)、Consistency (一致性)、lsolation (隔离性)、 Durability (持久性)1.原子性(Atomicity):指整个数据库事务是不可分割的工作单位。只有使事务中所有的数据库操作都执行成功,才算整个事务成功原创 2021-09-24 11:27:16 · 375 阅读 · 0 评论 -
【总结】MySQL索引
一、MySQL索引(InnoDB)01 /索引概述1.1索引的分类1.B+树索引:B+树是为磁盘或其他直接存取辅助设备设计的一种平衡查找树。在B+树中,所有记录节点都是按键值的大小顺序存放在同一层的叶子节点上,由各叶子节点指针进行连接。在数据库中,B+树的高度一般都在2~4层,这也就是说查找某一键值 的行记录时最多只需要2到4次10。这很不错,因为当前一般的机械磁盘每秒至少可以做100次I0,2 ~ 4次的I0意味着查询时间只需0.02~ 0.04秒。在数据库中,B+树索引还可以分为聚集索引和.原创 2021-09-21 20:56:36 · 130 阅读 · 0 评论 -
【总结】Java集合(Map)
Map01 / HashMap在JDK8中,HashMap底层采用“数组+链表+红黑树”实现。在学习HashMap原理时,我们应当重点关注它的数据结构、put的过程、以及扩容机制。源码解读:数据结构:初始的时候一定是数组+链表,到一定规模的时候转为树。树节点继承链表节点,在数据结构为树时保留了链表的特征,当由树转为链表时,非常容易。transient Node<K,V>[] table;//Node类型的数组(数组里面的每个节点可以是一个单向链表)//Node节点,单链表sta原创 2021-09-21 20:55:26 · 118 阅读 · 0 评论 -
【总结】Java集合(Set、List、Queue)
Java集合简介Java集合大致可分为Set、List、 Queue和Map四种体系,其中Set代表无序、不可重复的集合; List代表有序、重复的集合;而Map则代表具有映射关系的集合,Java 5又增加了Queue体系集合,代表一种队列集合实现。集合类主要负责保存、盛装其他数据,因此集合类也被称为容器类。所有的集合类都位于java.util包下,后来为了处理多线程环境下的并发安全问题,Java 5还在java utilconcurrent包下提供了一些多线程支持的集合类。Collection是原创 2021-09-21 20:52:24 · 578 阅读 · 1 评论 -
【总结】JavaIO
IO背景操作系统的核心资源(CPU、 内存、网络、I0、 驱动)均由内核进行管理,为了避免用户直接操作内核,保证内核的安全,操作系统将内存寻址空间划分为两部分:内核空间、用户空间。针对I/O操作,以读取为例来说,数据需要由磁盘拷贝到内核缓冲区,再由内核缓冲区拷贝到用户缓冲区。这两次拷贝均需要一定的时间, 所以操作系统支持不同的策略来实现这种拷贝,以提高性能。Unix I/O模型简介Linux的内核将所有外部设备都看做一个文件来操作, 对一个文件的读写操作会调用内核提供的系统命令,返回一个fil原创 2021-09-21 20:50:07 · 110 阅读 · 0 评论 -
【总结】锁
锁01 / synchronized1.1锁的粒度对于同步代码块,锁是synchonized括号里配置的对象;对于成员同步方法,锁是当前实例对象(this) ;对于静态同步方法,锁是当前类的Class对象。1.2实现机制synchronized用的锁是存在Java对象头里的。如果对象是数组类型,则虚拟机用3个字宽存储对象头,如果对象是非数组类型,则用2字宽存储对象头。其中,Mark Word里存储了锁的信息,包括锁的标志位与状态。对象头存的是对象的描述信息,对象体:对象的具体属性无锁原创 2021-09-21 20:49:10 · 196 阅读 · 0 评论 -
【总结】线程池
线程池01 / ThreadPoolExecutor1.1实现机制线程每次new都要和操作系统申请资源,且用完后就烧毁了,没有复用性处理任务四大步:1、当前已有的线程数有没有达到核心的线程数2、已经达到了核心线程数,将任务放到队列里面去3、当前并发太大,队列满了,再提交任务,判断最大线程数有没有达到,没有就创建核心线程之外的线程4、达到最大线程数后,满负荷时,拒绝任务拒绝有四个策略:1、谁提交的任务,谁自己去执行(主线程)2、直接抛异常3、放弃任务,不管了4、还要执行新执行的任务原创 2021-09-21 20:46:56 · 172 阅读 · 0 评论 -
【总结】HashMap,CourrentHashMap,ArrayList
集合Collection为接口,Collections为工具类Map体系的继承树:注:紫色框体代表接口,其中加粗的是代表四类集合的接口。蓝色框体代表实现类,其中有阴影的是常用实现类。1、HashMap1、HashMap有什么特点HashMap是线程不安全的实现;HashMap可以使用null作为key或value。2、HashMap底层的实现原理它基于hash算法,通过put方法和get方法存储和获取对象。存储对象时,我们将K/V传给put方法时,它调用K的hashCode计算h原创 2021-09-14 18:55:01 · 316 阅读 · 0 评论 -
【总结】Object、String、异常
Object类1、Object类中包含的主要方法Object类提供了如下几个常用方法:*public final native Class<?> getClass(); //返回该对象的运行时类* boolean equals(Object obj):判断指定对象与该对象是否相等。* int hashCode():返回该对象的hashCode值。在默认情况下,Object类的hashCode()方法根据该对象的地址来计算。但很多类都重写了Object类的hashCode()方法,不再原创 2021-09-14 17:58:46 · 265 阅读 · 0 评论 -
hashmap为什么初始容量是2的指数幂
hashmap为什么初始容量是2的指数幂1、hashmap在确定元素落在数组的位置的时候,计算方法是(n - 1) & hash,n为数组长度也就是初始容量 ,这是因为“取模”运算的消耗还是比较大的,那么如何保证(n - 1) & hash和hash%n的结果相同呢,当n为2的指数次幂时,会满足一个公式:(n - 1) & hash = hash % n,这样就可以用(n - 1) & hash的位运算来使计算更加高效。2、如果初始容量是奇数,那么(n-1)就为偶数,偶数转载 2021-08-31 21:46:10 · 241 阅读 · 0 评论 -
【总结】java集合
java集合面试总结转载 2021-08-30 18:46:08 · 83 阅读 · 0 评论 -
【总结】mysql索引
总结1、为什么mysql索引使用B+树,而不是用其他数据结构(hash, b树,红黑树,二叉树)?先说二叉树,现在主键索引大部分都是整型自增的,如果使用二叉树,树的结构最后会变成链表,线性排列,这样查找效率比较低。再说以下红黑树,因为红黑树是一颗二叉查找树,它树的高度会随着数据的增加而变大,当数据量比较大的时候,而我们要查找的数据位于叶子节点,这样的效率也比较低了。那为什么用b+树而用b树呢?B 树与 B+ 树的最大区别就是,B 树可以在非叶结点中存储数据,这也导致在查询连续数据时可能会带来更多的原创 2021-08-30 15:49:01 · 153 阅读 · 0 评论