自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 怎么谈Java三大特性

封装封装指的是将一个对象的成员变量私有化,并对外只提供改变或获得该私有变量值的方法(get、set),从而控制成员变量的访问级别目的就是提高代码的安全性,不会再暴露类的内部成员变量属性,封装也使使用者更加快捷方便的使用,不用在意其内部实现。继承继承是将几个类的公共的属性或方法提取出来,新建一个父类放入其中,然后让那几个类都继承这个父类中的属性或方法就可以了。(注意: 一个类只能继承...

2020-01-14 10:51:32 218

原创 java中的基本数据类型和所占的字节

整型: byte:占一个字节,一个字节==八位 short:占两个字节 int:占四个字节 long:占八个字节 浮点型: float:占四个字节 double:占八个字节 默认是double类型的,而在后面加一个f就是float类型的了,例如1.12f字符型 char:占两个字节,所以可以定义中文字符,ASCII 码表中...

2020-01-14 10:06:35 414

原创 redis相关知识

简介Redis是一个由c语言写的key-value的nosql数据库(非关系型的数据库),先存入内存中,会根据一定的策略持久化到磁盘,即使断电也不会丢失数据,支持的数据类型比较多。主要用来缓存数据库的数据和web集群时,当做缓存存放session。主要场景Redis最主要是用来作为缓存,将经常查询,很少修改的数据,放到读速度很快的空间里(内存),以便下次访问的时候减少时间,减轻数据库的...

2020-01-07 10:23:40 275

原创 Java集合的继承关系

图来自https://blog.csdn.net/biexiaofei/article/details/77031003常问的:LinkedList继承自AbstractSequentiaList抽象类,并不是继承的AbstractList ArrayList继承自AbstractList抽象类 Stack继承自Vector HashSet与TreeSet继承自AbstractS...

2020-01-03 14:57:50 295

原创 Java常用类的中常用的方法

StringBuffer(StringBuilder大概一致)StringBuffer sb = new StringBuffer("asdf");sb.append("X"):在Sb对象的尾部追加一个字符或者字符串 sb.charAt(1):取出1角标处的的字符 sb.setCharAt(1,'X'):将修改1角标处的字符 sb.insert(2,"XXXXX"):在2角标的位置插...

2020-01-03 14:31:33 182

原创 Spring常问的面试题

IOC 和 AOP 的含义和原理 Spring、SpringMVC 的区别 Bean 的生命周期 SpringMVC 的流程IOC 和 AOP 的含义和原理AOP:面向切面编程的目标就是分离关注点。什么是关注点呢?就是你要做的事,就是关注点。假如你是个公子哥,没啥人生目标,天天就是衣来伸手,饭来张口,整天只知道玩一件事!那么,每天你一睁眼,就光想着吃完饭就去玩(你必须要做的事),但是...

2020-01-02 11:06:11 225 1

原创 Java虚拟机—类加载器与类加载机制

Java类加载器类加载器负责加载所有的类,它为所有加载进内存的类生成一个java.lang.Class对象。 一旦一个类加载进JVM中,同一个类就不会再次被加载了 正如一个对象有一个唯一标识,一个载入jvm中的类也有唯一标识,在jvm中,一个类用其全限定名和其类加载器作为唯一标识 例如,如果在pg的包中有一个名为Person的类,被类加载器ClassLoader的实例kl负责加载,...

2020-01-01 22:53:12 220

原创 Java虚拟机—类加载过程

JVM把描述类数据的字节码.Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的java类型,这就是虚拟机的类加载。类从加载进虚拟机内存到使用完从内存中释放,一共经历了 加载、验证、准备、解析、初始化、使用、卸载七个阶段。其中类加载进虚拟机的过程我们着重了解前五个加载、验证、准备、解析、初始化。下面依次说一说这五个分别做了什么加载(加载类的二...

2020-01-01 21:50:12 205

转载 JAVA中阻塞队列的类别和区别(转载)

这篇文章将介绍什么是阻塞队列,以及Java中阻塞队列的4种处理方式,并介绍Java 7中提供的7种阻塞队列,最后分析阻塞队列的一种实现方式。阻塞队列(BlockingQueue)是一个支持两个附加操作的队列。这两个附加的操作支持阻塞的插入和移除方法。1)支持阻塞的插入方法:意思是当队列满时,队列会阻塞插入元素的线程,直到队列不满。2)支持阻塞的移除方法:意思是在队列为空时,获取元素的线...

2020-01-01 15:00:29 940

原创 设计模式-装饰设计模式

装饰设计模式—动态的为对象添加功能。(结构型设计模式)这种设计模式要求被装饰者与装饰的组件都继承自同一个同一个类,都复写一个方法,被装饰的类作为组件的构造方法的参数传入组件,组件中定义一个被装饰的对象声明作为成员变量,当执行构造函数的时候给它初始化。组件的方法调用被装饰类的方法。我们需要什么组件的功能就用什么组件装饰被装饰类。相当于每次我们吃兰州拉面的时候,先点一份面,就是一个叫“兰州拉面...

2019-12-31 20:48:44 291 1

原创 Java虚拟机-谈谈GC垃圾回收

JVM参数温情提示:千万不要用百度翻译翻译HandlePromotionFailure丧心病狂-Xms :初始堆大小-Xmx :最大堆大小 -XX:NewSize=n :设置年轻代大小 -XX:NewRatio=n: 设置年轻代和年老代的比值。如:为3,表示年轻代与年老代比值为1:3-XX:MaxTenuringThreshold:该参数主要是控制新生代需要经历多少次GC晋升到老...

2019-12-31 17:40:24 352

原创 Mysql数据库为什么不推荐使用UUID作为InnoDB的主键?

UUID占16个字节,占用空间大,间接导致数据库性能下降 非主键索引B+树中都存有一个主键索引,相比整数id,大小增加很多 UUID肯定比整数慢,另外非主键索引最终都会进行一次主键索引查找 innodb 主键索引和数据存储位置相关(簇类索引),uuid 主键可能会引起数据位置频繁变动,严重影响性能。 UUID目前不是顺序增长,做为主键写入导致,随机IO严重。 UUID并不具有有序性,会导...

2019-12-31 10:01:37 1160

原创 线程池—JDK中的四种线程池

一:newFixedThreadPool(固定长度)//创建一个固定线程长度的线程池ExecutorService treadpool=Executors.newFixedThreadPool(3);核心线程数和最大线程数都是指定值,也就是说当线程池中线程数超过核心线程数后,任务都会被放到阻塞队列中因此该线程池执行任务的流程如下:线程数少于核心线程数时,新建线程执行任务 线程...

2019-12-30 20:32:06 260

原创 线程池—线程池中的参数与线程池的处理流程

线程池中的重要参数:corePoolSize:核心线程数,通俗的说就是队列没满时,最大线程并发数 workQueue: 阻塞队列类型 maximumPoolSizes:最大线程数,通俗的说就是当阻塞队列满了的时候,最大的并发数 RejectedExecutionHandler:拒绝策略,当任务数超过maximumPoolSizes + workQueue 时,任务会触发拒绝策略。JDk有...

2019-12-30 20:01:51 929

原创 HashMap

JDK1.7与JDK1.8中的HashMap的区别底层结构: JDK1.7 :数组+链表结构 JDK1.8:数组+链表+红黑树结构 hash表为空时的处理: JDK1.7中当哈希表为空时,会先调用inflateTable()初始化一个数组,而 JDK1.8则是直接调用resize()扩容 put()方法插入链表时: JDK1.7 :使用头插法 JDK1.8:插入...

2019-12-30 19:10:57 276

原创 Java后端面经

https://www.nowcoder.com/discuss/352030?type=2&order=0&pos=12&page=2美团二面:对面对象编程的理解https://blog.csdn.net/zhusongziye/article/details/79434591 接口的功能?如果没有接口会怎么样?https://www.cnblogs.com/y...

2019-12-30 16:53:35 388 1

转载 设计模式-工厂设计模式

本文章来自:作者:骑小猪看流星链接:https://www.jianshu.com/p/c47f158a2801来源:简书著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。工厂模式(Factory Pattern)是开发中比较常用的设计模式之一。这种类型的设计模式属于创建型模式(关于创建型模式的概念,可以参考设计模式概念与简介,简单点理解就是创建对象的模式...

2019-12-30 16:49:37 507 1

原创 单例设计模式

设计思想每次提供的实例化对象都是单例的。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。实现方式内部定义一个本类对象,并用private static修饰 私有化构造方法 提供一个获取实例对象的方法,并用public static修饰单例设计模式分为饿汉式与懒汉...

2019-12-30 16:33:34 228

原创 HashMap,HashTable,ConcurrentHashMap

HashMap、HashTable、ConcurrentHashMap都是map接口的实现类1、HashTable继承实现情况任何非空对象都可作为键或值(键值都不能为空) 底层数组+链表实现 线程安全,实现线程安全的方式是在进行修改的时候锁住了整个HashTable,效率低下,ConcurrentHashMap对此进行了优化(分段所) 初始size是11,扩容2*size...

2019-12-19 11:39:33 880 1

原创 多线程JUC(一)

"了解JUC吗?" 很多面试中面试官都会问你这个多线程相关的问题,一开始看到的时候就是一头雾水。。。心想是不是问错了,JVM???所以在今天总结一下,实现多线程的几个方法就先不说了。简介:java.util.concurrent 一个并发编程中经常用到的包,简称JUC,里面是一些多线程编程的实用工具类。1、volatile关键字1.1内存可见性 内存可见性指的是一个线...

2019-12-18 21:12:27 286

原创 深入认识数据库连接池

目录1、为什么要使用数据库连接池?2、数据库连接的原理(1)使用链表实现数据库连接池demo3.实现连接池还要考虑的问题 1、并发问题 2、多数据库服务器和多用户 3、事务处理4、连接池的分配与释放机制1、为什么要使用数据库连接池?比如,现在要做一个查询,那么要经历几个步骤呢?代码Public void ...

2019-12-16 11:33:37 415

原创 String、StringBuffer、StringBuilder的实现以及区别

String文档中对String描述源码中是维护了一个final定义的数组,初始化后就不可被修改;因此String字符串是不可以改变的。StringBuffer文档描述StringBuffer是一种可以修改的“String字符串缓冲区”继承AbstractStringBuilder抽象类AbstractStringBuilder源码中成员变量与构造函数(空构造...

2019-12-13 15:49:16 223

原创 Cookie 、Session、Token

Cookie与Session cookie :曲奇饼干(百度翻译)。cookie具体指的是一段小信息,它是服务器发送出来存储在浏览器上的一组键值对,下次访问服务器时浏览器会自动携带这些键值对,以便服务器提取有用信息。 session :当用户与服务器连接时,服务器给每个用户一个session,并设定其中内容。这些session相互独立。服务器可以借此来辨别用户信息,进而提供...

2019-12-12 15:45:42 236

原创 抽象类与接口

抽象类:抽象类是由abstract 修饰的类 不能创建实例对象 可以存在非抽象方法 里面的抽象方法可以是0个或者多个接口:接口是一种特殊的抽象类 里面的方法都是抽象方法(JDK1.8之后可以存在非抽象方法,但是必须用de须用default或者static修饰 详情见https://blog.csdn.net/austral/article/details/53402476) 接...

2019-12-11 21:13:06 301 1

空空如也

空空如也

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

TA关注的人

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