03 2021 档案
摘要:线程是一个程序员一定会涉及到的概念,但是线程的创建和切换都是代价比较大的。所以,我们需要有一个好的方案能做到线程的复用,这就涉及到一个概念——线程池。合理的使用线程池能够带来3个很明显的好处: 降低资源消耗:通过重用已经创建的线程来降低线程创建和销毁的消耗 提高响应速度:任务到达时不需要等待线程创建
阅读全文
摘要:需要设置setNX 保证锁的唯一 设置锁时长 不设置有可能会导致死锁 锁续期 防止业务实行时间大于锁的时长
阅读全文
摘要:Java的基本数据类型 整型 byte 占用1个字节 short 占用两个字节 int 占用4个字节 long 占用8个字节 浮点型 float 占用4个字节 double 占用8个字节 字符型 char 占用2 个字节 布尔型 Boolean 占用1个字节 String 类可以被继承吗 不能 因为
阅读全文
摘要:动态代理的作用: 在不修改源码的情况下对代码进行正强 动态代理的特点:它的字节码是随用随创建,随用随加载 动态代理的分类: 基于接口和基于子类这两类 两种动态代理的使用:基于接口的动态代理,要求被代理对象最少实现一个接口, 基于子类的动态代理,要求被代理对象不能是最终类,也就是不能被final修饰
阅读全文
摘要:面向对象和面向过程的思想对比 : 面向过程 :是一种以过程为中心的编程思想,实现功能的每一步,都是自己实现的 面向对象 :是一种以对象为中心的编程思想,通过指挥对象实现具体的功能 类和对象的关系 客观存在的事物皆为对象 ,所以我们也常常说万物皆对象。 类的理解 类是对现实生活中一类具有共同属性和行为
阅读全文
摘要:HashSet 无序不可重复 底层是使用hashMap 使用map 的key值来进行存储
阅读全文
摘要:有序且可重复 链表集合 底层是双向链表 每次查询都要从两头开始查询,使用查询慢,但是增删快,只需要将链表头节点和尾节点指向新插入的节点即可 内存空间是不连续的 JDK1.8 后会根据index的值判断是否有链表总长度的二分之一,以便在查询的时候判断从前慢查找还是从后面查找
阅读全文
摘要:ArrayList 是 java 集合框架中比较常用的数据结构了。继承自 AbstractList,实现了 List 接口。底层基于数组实现容量大小动态变化。允许 null 的存在。同时还实现了 RandomAccess、Cloneable、Serializable 接口,所以ArrayList 是
阅读全文
摘要:分布式锁一般有三种实现方式 1 基于数据库实现分布式锁 2 基于Redis实现分布式锁 3 基于zookeeper实现分布式锁 什么是分布式锁 线程间并发问题和进程间并发问题都是可以通过分布式锁解决的,但是不建议这样做,因为采用分布式锁解决这些小问题都是非常浪费资源的! 分布式锁应该用来解决分布式情
阅读全文
摘要:hasdMap 存取无序,键是唯一 (键的唯一是根据hashCode和equals两个方法的配合使用,如果键的位置要存的是自定义的类型,那么自定义的类型就一定要重写hashCode和equals方法) JDK 1.7 底层是 entry数组加链表 Map的 key 是无序不可重复的 可以为null
阅读全文
摘要:Seata简介 官网地址:http://seata.io/zh-cn/ Seata用于解决分布式事务 Seata非常适合解决微服务分布式事务【dubbo、SpringCloud….】 Seata性能高 Seata使用简单 Seata事务模式-AT模式 Transaction Coordinator
阅读全文
摘要:1 基于XA协议的两阶段提交 首先我们来简要看下分布式事务处理的XA规范 : 可知XA规范中分布式事务有AP,RM,TM组成: 其中应用程序(Application Program ,简称AP):AP定义事务边界(定义事务开始和结束)并访问事务边界内的资源。 资源管理器(Resource Manag
阅读全文
摘要:CAP定理 CAP定理是在 1998年加州大学的计算机科学家 Eric Brewer (埃里克.布鲁尔)提出,分布式系统有三个指标 Consistency 一致性 Availability 可用性 Partition tolerance 分区容错 它们的第一个字母分别是 C、A、P。Eric Bre
阅读全文
摘要:数据库事务(简称:事务,Transaction)是指数据库执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成。 事务拥有以下四个特性,习惯上被称为ACID特性: 原子性(Atomicity):事务作为一个整体被执行,包含在其中的对数据库的操作要么全部被执行,要么都不执行。 一致性(Consis
阅读全文
摘要:1、一般的队列只能保证作为一个有限长度的缓冲区,如果超出了缓冲长度,就无法保留当前的任务了,阻塞队列通过阻塞可以保留住当前想要继续入队的任务。阻塞队列可以保证任务队列中没有任务时阻塞获取任务的线程,使得线程进入wait状态,释放cpu资源。阻塞队列自带阻塞和唤醒的功能,不需要额外处理,无任务执行时,
阅读全文
摘要:为什么要用线程池? 1、降低资源消耗;提高线程利用率,降低创建和销毁线程的消耗。 2、提高响应速度;任务来了,直接有线程可用可执行,而不是先创建线程,再执行。 3、提高线程的可管理性;线程是稀缺资源,使用线程池可以统一分配调优监控。 corePoolsize代表核心线程数,也就是正常情况下创建工作的
阅读全文
摘要:1 、锁池 所有需要竞争同步锁的线程都会被放到锁池中,比如当前对象的锁已经被其中一个线程得到,则其他线程需要在这个锁池进行等待,当前面的线程释放同步锁后锁池中的线程去竞争同步锁,当某个线程得到后进入就绪队列进行等待CPU资源分配。 2、等待池 当我们调用wait() 方法后,线程会放到等待池当中,等
阅读全文
摘要:新建 (new ) :新创建一个线程 就绪(Runnable) :线程对象创建后,其他线程调用了该对象的start方法,该状态的线程位于可运行线程池中,变得可运行, 等待获取CPU的使用权 运行(running) :就绪状态的线程或者CPU 的使用权,执行程序代码 阻塞(blocked) :阻塞状态
阅读全文
摘要:GC是什么时候执行的 垃圾回收是一种回收无用内存空间并使其对未来实例可用的过程。 Eden 区:当一个实例被创建了,首先会被存储在堆内存年轻代的 Eden 区中。 Survivor 区(S0 和 S1):作为年轻代 GC(Minor GC)周期的一部分,存活的对象(仍然被引用的)从 Eden 区被移
阅读全文
摘要:Mapper 接口如何实现方法的? 通过JDK 的动态代理 mybaits 一级缓存和二级缓存 mybatis提供查询缓存,用于减轻数据压力,提高数据库性能。 Mybatis的一级缓存是默认开启的,它只相对于同一个SqlSession有效,所以也称之为SqlSession缓存。当参数和SQL完全相同
阅读全文
摘要:在我们正常的增删改查业务中 ,如果发生系统异常,则直接会给用户抛出不友好的异常信息。为了增加用户的体验,应该给一些适当信息进行提示。例如删除频道的代码,如下 红框圈起来的是可以给用户友好提示的,但是当执行删除这一行代码,如果失败了有可能系统会抛出异常。那这个时候就不应该把异常信息直接返回给用户。 如
阅读全文
摘要:分库分别(垂直拆分) 根据业务服务划分数据库。有利于后期扩展 MySQL集群方案 读写分离 、主从复制 (垂直拆分) 数据库分片(水平拆分)(mycat)
阅读全文
摘要:1.建表规约 【强制】表达是与否概念的字段,必须使用is_xxx的方式命名,数据类型是tinyint(1) ( 1表示是,0表示否)。 说明:任何字段如果为非负数,必须是无符号。 正例:表达逻辑删除的字段名is_deleted,1 表示删除,0 表示未删除。 【强制】表名、字段名必须使用小写字母或数
阅读全文
摘要:网关可以看做系统与外界联通的入口,我们可以在网关进行处理一些非业务逻辑的逻辑,比如权限验证,监控,缓存,请求路由等等。 gateway和nginx的区别 gateway 是前端工程 到 后台服务器之间的一个 对内网关 nginx是用户到 前端工程 的网关,对外网关
阅读全文
摘要:string 类中使用字符数组保存字符串 ,private final char value[] 被final修饰,所以string对象是不可变的,每次操作都是产生一个新的数组,指针指向新的数组 StringBuilder 与 StringBuffer 都继承自AbstractStringBuild
阅读全文
摘要:NoSQL(Not Only SQL ),意即“不仅仅是SQL” ,指的是非关系型的数据库 redis mongoDB等 好处: 以键值对的方式进行存储更加灵活 不走磁盘io 速度快 易扩展 高可用 搭建集群更加方便 相对成本低
阅读全文
摘要:springboot与springcloud springcloud是一系列框架的集合 springcloud将不同的框架整合,再用springboot进项简化开发 springboot是用来快速开发spring项目的 springcloud与dubbo对比 1,springCloud和dubbo都
阅读全文
摘要:MySQL关系型数据库数据存储的问题 1,性能瓶颈 磁盘io性能低下 2,扩展瓶颈 数据关系复杂,扩展性差,不利于搭建集群维护 3,数据增多会让查询速度变慢 所以为了减少磁盘io次数,和数据之间的关系,就有了一个新的概念 nosql NoSQL (not-Only SQl) 非关系型数据库 ,基于内
阅读全文

浙公网安备 33010602011771号