自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Netty面试题

Netty是什么Netty是一个异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端。Netty是基于NIO的,它封装了JDK的NIO,让我们使用起来更加方法灵活。Netty的特点是什么高并发:Netty是一款基于NIO开发的网络通信框架,对比BIO,他的并发性得到了很大的提高; 传输快:Netty的传输依赖于零拷贝特性,尽量减少不必要的内存拷贝,实现了更高效率的传输; 封装好:Netty封装了NIO操作的很多细节,提供了易于使用调用接口。Netty的优势有哪些

2020-11-18 22:53:53 393 1

原创 MySQL存储引擎及面试题详解

MySQL存储引擎概述插入式存储引擎是MySQL数据库最重要的特性之一,用户可以根据应用的需要选择如何存储和索引数据、是否使用事务选择最优的存储引擎。MySQL默认支持多种存储引擎,以适用于不同领域的数据库应用需要,用户可以通过不同的存储引擎提高应用的效率,提供灵活的存储,用户甚至可以按照自己的需要定制和使用自己的存储引擎,以实现最大程度的可定制性,这里我们主要讲MyISAM、InnoDB、MEMORY三种引擎。默认引擎默认情况下,创建新表不指定表的存储引擎,则新表是默认存储引擎的,如果需要修改

2020-11-12 21:28:29 242

原创 JAVA线程池相关参数和不同类型的线程池

为什么要使用线程池使用线程池的最大原因就是可以根据系统的需求和硬件环境灵活地控制线程数量,且可以对所有线程进行统一的管理和控制,从而提高系统的运行效率,降低系统的运行压力。线程和任务分离,提高线程的重用性; 控制线程的并发数量,降低服务器压力,统一管理所有线程; 提高系统响应速度,假如创建线程的时间为T1,执行任务的时间为T2.销毁线程的时间T3,那么使用线程池就免去了T1和T3的时间。线程池的使用场景只要存在并发,我们就要使用线程池,但是要合理设置参数。JDK一共提供了4种线程池,分别为

2020-11-05 17:15:15 199

原创 JVM垃圾收集器

什么是垃圾收集器垃圾回收集Garbage Collection通常被称为GC,垃圾收集器就是内存回收的具体实现。在进行垃圾回收时,会暂停所有的工作线程,直到垃圾回收完成,垃圾回收器的不断迭代为优化减少了停顿时间。使用垃圾回收器,通过设置垃圾回收器参数-XX:+UserSerialGC,虚拟机运行在Client模式下的默认值,Serial+Serial Old;-XX:+UserParNewGC,ParNew+Serial Old,在JDK1.8被废弃,在JDK1.7还可以使用;-XX:+

2020-10-31 11:43:54 149

原创 HashMap面试合集

HashMap简单介绍HashMap的成员属性相关代码解释:static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // aka 16static final int MAXIMUM_CAPACITY = 1 << 30; //最大容量 2的30次方static final float DEFAULT_LOAD_FACTOR = 0.75f; //默认的加载因子static final Entry&lt.

2020-10-29 21:21:54 310

原创 Hashtable和HashMap区别

继承的父类不同Hashtable继承自Directory,HashMap继承自AbstractMap类。但二者都实现了Map接口。线程安全性不同Hashtable中的方法是Synchronized的,而HashMap中的方法是非Synchronized的。在多线程并发的环境下,可以直接使用Hashtable,不需要为它的方法实现同步,但使用HashMap时就必须要自己添加同步处理。这一般通过对自然封装该映射的对象进行同步操作来完成。如果不存在这样的对象,则应该使用Collections.synchr

2020-10-28 18:31:22 242

原创 Java设计模式——迭代器模式

什么是迭代器模式提供一种方法顺序访问一个聚合对象中的各个元素,而不暴露其内部的表示。所有的集合都可以使用这种方式遍历。为遍历不同的聚合结构提供一个统一的接口支持对聚合对象的多种遍历。迭代器模式的角色构成迭代器角色(Iterator)定义遍历元素所需要的方法,一般来说会有三种方法:next()方法取到当前的元素并且移动到下一个元素的位置;hasNext()方法:判断是否遍历结束的方法;remove()方法:移出当前对象的方法。具体迭代器角色(Concrete Iterator)实现迭代器接口中

2020-10-28 14:33:01 141 2

原创 Redis持久化机制

Redis持久化方式RDB定时快照方式:RDB将数据库的快照(snapshot)以二进制的方式存储在磁盘中。AOF基于语句追加文件的方式:以协议文本的方式,将所有对数据库进行过写入的命令(及其参数)记录到AOF文件,以此达到记录数据库状态的目的。虚拟内存(vm)(被废弃)Diskstore方式(被废弃)前两种是基于全部数据都在内存中,即最小数据量下提供磁盘落地功能,而后两种方式是尝试存储数据超过物理内存时,即大数据量的数据存储;实际生产环境用的只有前两种,即Redis目前只能作为小数据量存储(全部

2020-10-12 19:08:37 74

原创 Redis数据类型

Redis简介Redis是一种高级key-value数据库。它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富。有字符串,链表,哈希,集合和有序集合。支持在服务器端计算集合的并,交和补集(difference)等,还支持多种排序功能。所以Redis也可以被看成是一个数据结构服务 器。Redis的所有数据都是保存在内存中,然后不定期的通过异步方式保存到磁盘上(这称为“半持久化模式”);也可以把每一次数据变化都写入到一个append only file(aof)里面(这称为“全持久化模

2020-10-11 18:03:31 58

原创 JVM参数

三种参数表示命令 +[-参数 / 选项]1)标准参数(-)所有JVM都必须实现的参数2)非标准参数(-X)默认JVM都实现这些参数的功能,但不能保证所有JVM都有这些功能3) 非stable参数(-XX)不同JVM实现是有所不同的,有可能随时取消,谨慎使用 标准参数 java -esa 开启断言assert(s!=null)无法进行下去java -versionJava -verboseJava -verbose:class 查看载入类的信息/:gc 查看...

2020-07-26 12:23:35 119

原创 JVM命令

jps:显示正在运行的java程序jsp[options][hostid]-q 只显示 LVMID(LVMID类似PID唯一标识Java程序)-m 输出当前虚拟机传给主类main函数的参数-l输出主类的全名-v输出虚拟机启动时JVM的参数jstat 统计监视工具jstat [genneralOption | outputOptions vmid [ interval ][ s|ms ] count]练习:查看垃圾回收情况 每隔200ms查询一次 一共...

2020-07-26 11:42:35 116

原创 java ee框架学习 Mybatis的创建(ij idea下)——哎嘿我要造福于人类了

第一次创建Mybatis要建一个maven工程哦,这个大家应该都OK叭,要是不会的话,我后期再给大家写一篇~导入依赖 因为JDBC操作起来和资源利用起来都不够完善,而Mybatis就是将其优化的框架(不只是优化的JDBC),因此我们要导入两个依赖。`<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId...

2020-05-10 15:25:42 177

原创 JVM基础学习

JVM介绍Java Virtual Machine,Java虚拟机。JVM是Java的核心和基础,在Java编译器和OS平台之间的虚拟处理器。它是一种利用软件方法实现的抽象的计算机基于下层的操作系统和硬件平台,可以在上面执行Java的字节码程序。JVM有自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。Java语言最重要的特点就是跨平台运行。使用JVM就是为了支持与操作系统...

2020-03-30 10:27:43 94

空空如也

空空如也

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

TA关注的人

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