自定义博客皮肤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)
  • 收藏
  • 关注

原创 线程池的参数以及分类

线程池的参数我们阅读线程池的源码可知,线程池有四种构造方法,共有7个参数供我们学习。corePoolSize:最大核心线程数:当创建的线程数小于该数时,该线程为核心线程,反之为非核心线程。核心线程:即使核心线程处于闲置状态,系统仍不必将它销毁。maximumPoolSize:最大线程数:当线程总数等于最大线程数的时候,如果再创建线程则会抛出异常。keepAliveTime:非核心线程超...

2020-04-14 17:13:17 204

原创 抽象类和接口的区别

相同抽象类和接口都不能实例化抽象类的子类或者接口的实现类必须全部重写了它们的方法后才可以被实例化。不同抽象类强调的是和主类的关系,接口强调的是方法的实现。抽象类中可以有非抽象方法,接口中必须全部为抽象方法。抽象类的方法和变量的修饰可以为任意,接口中的变量必须为常量,方法为公开抽象方法。一个接口可以被多个类实现,而一个抽象类只能由一个类继承。抽象类用Abstract修饰,而接口用i...

2020-04-14 16:54:12 137

原创 数据库索引的概念和分类

什么是数据库索引?我们再平时的开发中免不了用到数据库的索引,接下来就简单说一下数据库索引。数据库索引用来干什么?数据库索引就是为了提高数据的查询速率。数据库索引有哪些?聚集索引:在数据库中,所有行数都会按照主键索引排序。非聚集索引:就是给普通字段加上索引。联合索引:好几个字段组成的索引称为联合索引。索引的底层是?数据库索引的底层是B+树。B+树的中间元素不储存数据,只储存索...

2020-03-19 11:54:30 1814

原创 集合的各个对象的底层数据结构

集合类Collection下分为三大类:List,Set,Map;ListArrayList:Object数组Vector:Object数组LinkedList:双向链表(在jdk1.6之前使用的是循环链表)SetHashSet(无序,唯一):基于HashMap实现,底层使用HashMap存储数据。LinkedHashSet:LinkedHashSet继承于HashSet,内部...

2020-02-24 20:57:03 268

原创 synchronized关键字的使用和底层原理

什么是synchronized关键字?synchronized关键字是解决多个线程之间访问资源的同步性,可保证所修饰的代码块在任意时刻只有一个线程执行。在Java早期版本,synchronized属于重量级锁,效率低下,因为监视器锁是依赖操作系统完成的,如果要挂起或唤醒一个线程,就需要操作系统的帮忙;而操作系统切换线程需要从用户态切换为内核态,需要较长时间。在Java6之后,Java官方对sy...

2020-02-17 16:54:32 486

原创 Java基础类面试总结(二)

获取键盘输入的常用方法Scanner input = new Scanner(System.in);String s = input.nextLine();input.close();

2020-02-16 11:57:27 92

原创 Java基础类面试总结(一)

String是由final关键字修饰了,String对象不可变,而StringBuffer,StringBuilder继承于AbstractStringBuilder类,也使用char[ ] value字符数组保存字符串,但是没有final修饰,所以这两个对象是可变的。String对象不可变,也就是常量,因此String对象线程安全;StringBuffer对方法加了同步锁,所以StringB...

2020-02-14 12:01:40 94

原创 Redis的持久化

什么是redis持久化:持久化就是将内存中的数据移动到硬盘中,防止电脑突然断电或故障时候数据丢失,下次启动时就可再次将持久化到硬盘的数据快速加载到内存中去。持久化的两种方式:Rdb方式默认方式,每隔一段时间,生成redis内存中数据一份完整的快照优点:节省磁盘空间 恢复速度快缺点:数据量大时比较耗费性能Aof方式以日志的形式来记录每个写操作,只许追加文件不可改写文件。Redis启动...

2020-02-13 12:47:02 79

原创 高并发和消息队列面试常问

什么是高并发:高并发(High Concurrency)通常是指通过设计保证系统能够同时并行处理很多请求。通俗来讲,高并发是指在同一个时间点,有很多用户同时的访问同一 API 接口或者 Url 地址。它经常会发生在有大活跃用户量,用户高聚集的业务场景中。高并发有一些常用的指标:**响应时间:**系统对请求做出响应的时间。例如系统处理一个HTTP请求需要200ms,这个200ms就是系统的响...

2020-02-13 12:42:05 194

原创 线程安全系列面试问题进阶

Volatile是什么轻量级的同步机制:可见性,不保证原子性,禁止指令重排JVM JMM:Java内存模型 可见性 原子性 有序性ArrayList线程不安全:报错异常:java.util.ConcurrentModficationException导致原因:并发争抢修改导致。解决方案:1.new Vector<>() 加了同步锁 但是降低并发性2.Collecti...

2020-02-13 12:24:58 229

原创 RBAC权限控制模型

RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联。简单地说,一个用户拥有若干角色,每一个角色拥有若干权限。这样,就构造成“用户-角色-权限”的授权模型。在这种模型中,用户与角色之间,角色与权限(功能)之间,一般都是多对多的关系。 通过这种多对多关系,权限的过程可抽象的概括为:判断Who是否可以对What进行How的访问操作操作,...

2020-02-13 12:21:47 253

原创 单点登录实现过程

我们在电商项目中用常常到单点登录,什么是单点登录呢?顾名思义,单点登录即是用户在一处登录后,处处都会是此用户的登录信息。例如:用户在淘宝网首页登录自己账号,若是用户进入购物车页面,此页面的登录信息依旧是该用户的信息,而不会让该用户重新登录。这种一处登录,处处可用的方法就叫做单点登录。首先,单点登录多使用于分布式系统中,它的过程如下:过程:首先认证中心检查当前cookie中是否有token,...

2020-02-13 11:56:25 371

原创 MyBatis中实体类的属性名和表中字段名不一致,怎么办?

通常我们创建数据库表的时候,会将表中的字段名和实体类的属性名命名一致,但有时由于一些其他原因,我们无法这么做,这时,有以下几个常用的解决方案: 1. 在写sql语句时起别名 2. 在MyBatis的全局配置文件中开启驼峰命名规则 驼峰命名规则就像骆驼驼峰有一个突起点,例如employee_name用驼峰命名可表示为employeeName,其中中间的大写字母可看为突起驼峰的最高点。...

2020-02-13 11:39:39 883

原创 SpringMVC工作流程

SpringMVC是毕业生最常用的框架,一般面试公司是多有问道其工作流程,以下简单整理了一下SpringMVC的工作流程:Springmvc工作流程:处理模型数据方式一:将方法返回值设置为ModelAndView方式二:返回值仍是String类型,在方法中传入map,model或者modelmap无论是哪种,都会转化为ModelAndView对象并放到request域中当发送请求时由w...

2020-02-13 11:05:29 83

原创 Liunx常用命令

mkdir dir1 创建一个叫做 ‘dir1’ 的目录’ls 查看目录中的文件rm -f file1 删除一个叫做 ‘file1’ 的文件’cp file1 file2 复制一个文件find /home/user1 -name *.binbzip2 file1 压缩一个叫做 ‘file1’ 的文件...

2020-02-13 11:00:15 69

原创 Git命令与工作流

常用的Git命令有创建分支,切换分支,合并分支和删除分支。创建并切换分支(一步完成):git checkout -b <分支名>合并分支:先切换到主干:git checkout master再合并分支:git merge <分支名>删除分支:先切换到主干再删除分支: git branch -D <分支名>--------------------...

2019-10-29 13:50:59 103

原创 Redis在项目中的使用场景

Redis的数据结构有五种,分别是:String,Hash,list,set,zset。这五种数据结构有各自的使用场景:1. String某一IP地址在一个时间段访问很频繁,就要对此进行封锁。Redis中的String数据类型可以通过Incrby命令记录访问次数。2. Hash用来存储用户信息[id,name,age];Hset{key,field,value}例如:Hset{userK...

2019-10-29 13:41:02 1226

空空如也

空空如也

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

TA关注的人

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