自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【MyBatis 面试题】

1.JDBC有几个步骤?JDBC大致可以分为六个步骤:加载驱动程序获得数据库连接创建一个Statement对象操作数据库,实现增删改查获取结果集关闭资源2.什么是Mybatis?如果在面试的时候被问到,只要说出下面三种即可:❝> MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 J.

2021-08-22 17:04:45 372

原创 【JVM 学习笔记 06】:内存溢出OOM及解决

【JVM 学习笔记 06】:内存溢出OOM及解决

2021-08-14 17:14:13 307

原创 【JVM 学习笔记 05】:JVM性能调优工具的使用和优化案例

【JVM 学习笔记 05】:JVM性能调优工具的使用1、 使用 jstat(命令行工具) 查看线上系统的JVM运行状况1.1 常用命令1.2 使用技巧1.2.1 随着系统运行,每秒钟会在年轻代的Eden区分配多少对象。1.2.2 Young GC的触发频率和每次耗时1.2.3 每次Young GC后有多少对象是存活和进入老年代1.2.4 Full GC的触发时机和耗时2、使用jmap和jhat摸清线上系统的对象分布2.1 使用jmap了解系统运行时的内存区域2.2 使用jmap了解系统运行时的对象分布2.3

2021-08-14 16:55:24 206

原创 【JVM 学习笔记 04】:JVM 的场景模拟和优化案例

【JVM 学习笔记 04】:JVM 的场景模拟和优化案例一、基于G1垃圾回收器的百万级用户在线教育平台的性能优化1.1 系统背景1.2 系统核心业务流程1.3 系统的高峰运行压力1.4 基于G1垃圾回收器的优化1.4.1 G1垃圾回收器的默认内存布局1.4.2 GC停顿时间的设置1.4.3 到底多长时间会触发新生代GC?1.4.4 新生代gc如何优化?1.4.5 mixed gc如何优化?二、每秒10万并发的BI系统的优化2.1 案例背景2.2 技术痛点2.3 频繁Young GC 影响不大2.4 优化方式

2021-08-14 15:25:38 203

转载 【转载】:JVM 性能调优监控工具 jps、jstack、jmap、jhat、jstat、hprof 使用详解

JVM 性能调优监控工具 jps、jstack、jmap、jhat、jstat、hprof 使用详解 一、 jps(Java Virtual Machine Process Status Tool) :基础工具二、 jstack三、 jmap(Memory Map)和 jhat(Java Heap Analysis Tool):四、jstat(JVM统计监测工具):五、hprof(Heap/CPU Profiling Tool):现实企业级Java应用开发、维护中,有时候我们会碰到下面这些问题:Out

2021-08-12 21:35:09 143

原创 【JVM 学习笔记 03】:垃圾回收算法和垃圾回收器

【JVM 学习笔记 03】:垃圾回收算法一、新生代的垃圾回收算法:复制算法1.1 复制算法的缺点?1.2 复制算法的优化:Eden区和Survivor区一、新生代的垃圾回收算法:复制算法所谓的“复制算法“,把新生代内存划分为两块内存区域,然后只使用其中一块内存待那块内存快满的时候,就把里面的存活对象一次性转移到另外一块内存区域,保证没有内存碎片接着一次性回收原来那块内存区域的垃圾对象,再次空出来一块内存区域。两块内存区域就这么重复着循环使用。1.1 复制算法的缺点?复制算法的缺点其实非常的明显,

2021-08-10 20:59:32 205

原创 【JVM 学习笔记 02】:JVM 内存

【JVM 学习笔记 02】:JVM 内存一、JVM 内存的分代模型**分析下述代码中的内存结构:**1.1 为什么要分成年轻代和老年代?思考题:方法区内会不会进行垃圾回收?二、对象在JVM 内存中的分配和流转2.1 什么情况下会触发新生代的垃圾回收?2.2 长期存活的对象会躲过多次垃圾回收2.3 老年代会垃圾回收吗?思考题:每个线程执行方法的时候,那些方法对应的栈帧出栈了,那么那里的局部变量需要垃圾回收吗?三、线上系统部署时如何设置JVM内存大小?3.1 跟JVM内存相关的几个核心参数3.2如何在启动系统的

2021-08-08 16:08:50 246

原创 【JVM 学习笔记01】:基础知识

【JVM 学习笔记01】:基础知识一、JVM 的运行机制1.1 JVM整体的运行流程和原理?思考题:如何对“.class”文件处理保证不被人拿到以后反编译获取公司源代码?1.2 JVM在什么情况下会加载一个类?1.3 从实用角度出发,来看看JVM的验证、准备和初始化的过程。核心:初始化阶段1.4 什么时候会初始化一个类?1.5 类加载器和双亲委派机制二、JVM 的内存区域划分2.1 到底什么是JVM的内存区域划分?2.2 JVM中有哪些内存区域1. 存放类的方法区2. 执行代码指令用的程序计数器3. Ja

2021-08-07 18:33:09 125

原创 【面试题】:操作系统

【面试题】:操作系统一 操作系统基础1.1 什么是操作系统?1.2 系统调用二 进程和线程2.1 进程和线程的区别2.2 进程有哪几种状态?2.3 进程间的通信方式2.4 线程间的同步的方式2.5 进程的调度算法2.6 什么是死锁2.7 死锁的四个条件三 操作系统内存管理基础3.1 内存管理介绍3.2 常见的几种内存管理机制3.3 快表和多级页表快表多级页表总结3.4 分页机制和分段机制的共同点和区别3.5 逻辑(虚拟)地址和物理地址3.6 CPU 寻址了解吗?为什么需要虚拟地址空间?四 虚拟内存4.1 什

2021-08-07 15:04:55 406

原创 【MySQL 命令大全】

基本操作/* Windows服务 */-- 启动MySQL net start mysql-- 创建Windows服务 sc create mysql binPath= mysqld_bin_path(注意:等号与值之间有空格)/* 连接与断开服务器 */mysql -h 地址 -P 端口 -u 用户名 -p 密码SHOW PROCESSLIST -- 显示哪些线程正在运行SHOW VARIABLES -- 显示系统变量信息数据库操作/* 数据库操作 */ -------

2021-08-05 21:01:08 73

原创 【学习笔记MySQL-02】基础部分(下)

八、TCL语言8.1 数据库事务含义:通过一组逻辑操作单元(一组DML——sql语句),将数据从一种状态切换到另外一种状态。事务处理(事务操作):保证所有事务都作为一个工作单元来执行,即使出现了故障,都不能改变这种执行方 式。当在一个事务中执行多个操作时,要么所有的事务都被提交(commit),那么这些修改就永久地保存下来; 要么数据库管理系统将放弃所作的所有修改,整个事务回滚(rollback)到初状态。特点:(ACID)原子性:要么都执行,要么都回滚一致性:保证数据的状态操作前和操作后

2021-08-04 07:26:00 107

原创 【Java面试题-03】:多线程专题

【Java面试题-03】:多线程1. 什么是线程和进程?1.1. 何为进程?1.2. 何为线程?2. 请简要描述线程与进程的关系,区别及优缺点?2.1. 图解进程和线程的关系2.2. 程序计数器为什么是私有的?2.3. 虚拟机栈和本地⽅法栈为什么是私有的?2.4. ⼀句话简单了解堆和⽅法区3. 说说并发与并⾏的区别?4. 为什么要使⽤多线程呢?5. 使⽤多线程可能带来什么问题?6. 说说线程的⽣命周期和状态?7. 什么是上下文切换?8. 什么是线程死锁?如何避免死锁?8.1. 认识线程死锁8.2. 如何避免

2021-08-01 12:27:47 206

转载 【转载】:用好Java中的枚举真的没有那么简单

这篇文章由 JavaGuide 翻译,公众号: JavaGuide,原文地址:https://www.baeldung.com/a-guide-to-java-enums 。1.概览在本文中,我们将看到什么是 Java 枚举,它们解决了哪些问题以及如何在实践中使用 Java 枚举实现一些设计模式。enum关键字在 java5 中引入,表示一种特殊类型的类,其总是继承java.lang.Enum类,更多内容可以自行查看其官方文档。枚举在很多时候会和常量拿来对比,可能因为本身我们大量实际使用枚举的.

2021-07-25 20:40:24 85

原创 【MySQL学习笔记-01】基础部分(上)

MySQL基础一、为什么要学习数据库二、数据库的相关概念DBMS、DB、SQL三、数据库存储数据的特点四、初始MySQLMySQL产品的介绍MySQL产品的安装 ★MySQL服务的启动和停止 ★MySQL服务的登录和退出 ★MySQL的常见命令和语法规范五、DQL语言的学习 ★基础查询 ★条件查询 ★排序查询 ★常见函数 ★分组函数 ★分组查询 ★连

2021-07-04 18:09:40 131

原创 【Git&Github】

【Git&Github】一、Git 概述1.1 版本控制1.2 Git 工作机制1.3 Git 和代码托管中心二、Git 常用命令2.1 设置用户签名2.2 初始化本地库2.3 查看本地库状态2.4 添加暂存区2.5 提交本地库2.6 历史版本2.6.1 查看历史版本26.2 版本穿梭三、Git 分支操作3.1 分支的好处3.2 分支的操作3.3 合并产生冲突四、 Git 团队协作机制五、GitHub 操作六、 IDEA 集成 Git七、IDEA 集成 GitHub八、 GitLab一、Git 概

2021-06-29 20:32:32 135

原创 【Java面试题-02】:基础知识2

【Java面试题-02】:基础知识一、面向对象1、类和对象1.1、面向对象和面向过程的区别1.2、构造器Constructor是否可被override?1.3、在Java中定义一个不做事且没有参数的构造方法的作用1.4.成员变量与局部变量的区别有哪些?1.5.创建一个对象用什么运算符?对象实体与对象引用有何不同?1.6.一个类的构造方法的作用是什么?若一个类没有声明构造方法,该程序能正确执行吗?为什么?1.7. 构造方法有哪些特性?1.8.在调用子类构造方法之前会先调用父类没有参数的构造方法,其目的是?1.

2021-06-26 20:57:28 173

原创 【JavaSE-10】:网络通信

网络通信一、网络通信协议[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0KsYByf7-1624445022588)(C:\Users\Yuhome\AppData\Roaming\Typora\typora-user-images\image-20210610070145624.png)]1. IP 和端口号IP地址(InetAddress):唯一的标识 Internet 上的计算机(通信实体)IP地址分类方式1:IPV4(4个字节组成) 和 IPV6 (16个

2021-06-23 18:44:10 154 2

原创 【JavaSE-05】:常用类&枚举

Java基础部分查缺补漏-05:常用类&枚举一、字符串相关的类1、String 类及常用的方法String 是一个 final 类,代表不可变的字符序列字符串是常量,用双引号引起来表示。它们的值在创建之后不能更改。String 对象的字符内容是存储在一个字符数组 value[] 中的。//源码public final class String implements Serializable, Comparable<String>, CharSequence {

2021-06-23 18:38:11 179

原创 【JavaSE-04】:多线程基础

【JavaSE-04】:多线程基础1、程序、进程、线程的基本概念程序(program)是为完成特定任务、用某种语言编写的一组指令的集合。即指一 段静态的代码,静态对象。进程(process)是程序的一次执行过程,或是正在运行的一个程序。是一个动态 的过程:有它自身的产生、存在和消亡的过程。——生命周期程序是静态的,进程是动态的进程作为资源分配的单位,系统在运行时会为每个进程分配不同的内存区域线程(thread),进程可进一步细化为线程,是一个程序内部的一条执行路径。线程作为调度和执行

2021-06-23 18:36:02 113

原创 【JavaSE-03】:异常机制

一、异常处理1、概述和体系结构Java程序在执行过程中所发生的异常事件可分为两类:Error:Java虚拟机无法解决的严重问题。如:JVM系统内部错误、资源 耗尽等严重情况。比如:StackOverflowError和OOM。Exception: 其它因编程错误或偶然的外在因素导致的一般性问题,可以使 用针对性的代码进行处理。例如:空指针访问试图读取不存在的文件运行时异常指编译器不要求强制处置的异常。一般是指编程时的逻辑错误,是程序 员应该积极避免其出现的异常。java.lan

2021-06-23 18:34:21 76

原创 【JavaSE-02】:面向对象

一、面向对象1、面向过程与面向对象它们都是一种思想。面向过程,强调的是功能行为,以函数为最小单位,考虑怎么做。面向对象,将功能封装进对象,强调具备了功能的对象,以类/对象为最小单位,考虑谁来做。2、面向对象的三大特性封装 (Encapsulation)封装是把过程和数据包围起来,隐藏对象内部的复杂性,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。继承 (Inherit

2021-06-23 18:33:01 78

原创 【JavaSE-01&面试题】:核心语法(1)

【JavaSE复习】:查缺补漏(1)一、基本语法1、标识符(1)定义合法标识符规则:(2)Java中的名称命名规范:2、变量(1)变量的分类:(2)进制:3、运算符二级目录三级目录一、基本语法1、标识符(1)定义合法标识符规则:由26个英文字母大小写,0-9 ,_或 $ 组成数字不可以开头。不可以使用关键字和保留字,但能包含关键字和保留字。Java中严格区分大小写,长度无限制。标识符不能包含空格。(2)Java中的名称命名规范:包名:多单词组成时所有字母都小写:xxxyyyzzz类名、

2021-06-22 21:05:53 291

原创 【JavaSE-09】: IO流

JavaSE-02: IO流一级目录二级目录三级目录一级目录二级目录三级目录

2021-06-09 22:30:22 138

原创 【JavaSE-07】:集合(2):Map接口(含源码分析)

集合(2):Map接口一、Map接口1.Map 接口的特点(JDK8)二级目录三级目录一、Map接口Map 接口的继承树:1.Map 接口的特点(JDK8)● Map与Collection并列存在。用于保存具有映射关系的数据:key-value ;● Map 中的 key 和 value 都可以是任何引用类型的数据 ,会封装到 HashMap$Node对象中;● Map 中的 key 用Set来存放,不允许重复(原因和HashSet一样),即同一个 Map 对象所对应 的类,须重写hashCo

2021-04-14 20:04:44 105

原创 【JavaSE-07】:集合(1):Collection接口(含源码分析)

【JavaSE-9】:集合一、概述二、Collection接口和常用方法1. Collection常用方法2. Collection接口遍历元素的方式1——使用Iterator(迭代器)3. Collection接口遍历元素的方式2——增强型循环for三、 Collection子接口之一:List接口1. List接口方法2. List实现类之一:ArrayList一、概述● 数组在内存存储方面的特点:1.数组一旦初始化以后,长度就确定了。2.数组声明的类型,就决定了进行元素初始化时的类型,保存和操

2021-04-11 23:06:30 165

原创 【MyBatis学习总结】

【MyBatis学习总结】1、简介1.1 什么是 MyBatis?1.2 如何获取Mybaits2、第一个MyBatis成型2.1 搭建环境1、简介1.1 什么是 MyBatis?MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java

2021-03-27 07:28:53 105

原创 【Spring全面详解】:学习总结(1)-IOC

【Spring全面详解】:学习总结一级目录二级目录三级目录一级目录二级目录三级目录3、通过构造器为bean的属性赋值通过p名称空间为bean赋值:导入:xmlns:p=“http://www.springframework.org/schema/p” <!-- 通过p名称空间为bean赋值 --> <!-- 名称空间:在xml中是名称空间是用来防止标签重复的--> <bean id="person06" class="Person"

2021-03-14 22:09:56 136

原创 【JavaSE-06】:注解(Annotation)

【JavaSE-11】:注解(Annotation)一、概述二、常见的Annotation示例三、自定义Annotation四、JDK中的元注解1.@Retention2.@Target3.@Documented (出现较少)4.@Inherited (出现较少)五、利用反射获取注解信息六、JDK8注解的新特性一、概述从 JDK 5.0 开始, Java 增加了对元数据(MetaData) 的支持, 也就是 Annotation(注解) 。Annotation 其实就是代码里的特殊标记, 这些标记可以

2021-03-02 20:07:06 126

原创 【JavaSE-03】:枚举类

【JavaSE-10】:枚举类一、简介二、自定义枚举类三、使用enum关键字定义枚举类四、Enum类的主要方法五、实现接口的枚举类一、简介类的对象只有有限个,确定的。举例如下:星期:Monday(星期一)、......、Sunday(星期天) 性别:Man(男)、Woman(女) 季节:Spring(春节)......Winter(冬天) 支付方式:Cash(现金)、WeChatPay(微信)、Alipay(支付宝)、BankCard(银 行卡)、CreditCard(信用卡)就职状态:Bu

2021-03-01 21:57:03 139

原创 【JavaSE-11】:反射的应用-动态代理

反射的应用:动态代理一、静态代理二、动态代理1.Java动态代理的相关API2.动态代理步骤3.动态代理和AOP代理设计模式的原理:使用一个代理将对象包装起来, 然后用该代理对象取代原始对象。任何对原 始对象的调用都要通过代理。代理对象决定是否以及何时将方法调用转到原 始对象上。一、静态代理静态代理,特征是代理类和目标 对象的类都是在编译期间确定下来,不利于程序的扩展。同时,每一个代 理类只能为一个接口服务,这样会导致程序开发中产生过多的代理。二、动态代理动态代理是指客户通过代理类来调用其它对象

2021-02-23 22:59:46 159 1

原创 【JavaSE-11】:Java反射机制

Java反射机制一、Java反射机制概述二、理解Class类并获取Class实例 ★1.Class类2.Class类的常用方法3.获取Class实例的4中方法:4.哪些类型可以有Class对象?三、类的加载与ClassLoader(了解即可)1.类的加载过程2.ClassLoader四、创建运行时类的对象 ★五、获取运行时类的完整结构六、调用运行时类的指定结构 ★七、反射的应用:动态代理一、Java反射机制概述● Reflection(反射)是被视为动态语言的关键,反射机制允许程序在执行期 借助

2021-02-23 20:53:43 164 1

原创 【JavaWeb-03】:Servlet2

【JavaWeb-03】:Servlet2一、HttpServletRequest类1.HttpServletRequest类的作用2.HttpServletRequest类的常用方法3.获取请求参数二、HttpServletResponse 类一、HttpServletRequest类1.HttpServletRequest类的作用每次只要有请求进入 Tomcat 服务器,Tomcat 服务器就会把请求过来的 HTTP 协议信息解析好封装到 Request 对象中。 然后传递到 service 方法

2021-01-26 21:35:27 66

原创 【JavaSE-08】:泛型

JavaSE-08:泛型一、泛型的概念二、在集合中使用泛型 ★三、自定义泛型结构四、泛型在继承上的体现 ★五、通配符的使用六、泛型的应用举例 ★一、泛型的概念所谓泛型,就是允许在定义类、接口时通过一个标识表示类中某个属性的类 型或者是某个方法的返回值及参数类型。这个类型参数将在使用时(例如, 继承或实现这个接口,用这个类型声明变量、创建对象时)确定(即传入实 际的类型参数,也称为类型实参)。泛型是JDK5.0新增的特性为什么要有泛型?解决元素存储的安全性问题解决获取数据元素时,需要类型强制转换

2021-01-24 16:19:23 205

原创 【JavaWeb-01】 Tomcat

【JavaWeb-01】 Tomcat一、JavaWeb简介二、Web资源的分类三、常用的Web服务器四、Tomcat的使用1.安装2.启动Tomcat服务器方式一:方式二3.Tomcat的停止4.修改Tomcat的端口号5.部署Web工程到Tomcat中方法一:把 web 工程的目录拷贝到 Tomcat 的 webapps 目录下方法二:创建配置文件手托Html页面访问和输入访问地址的区别:6.默认访问五、IDEA整合Tomcat服务器六、IDEA中动态Web工程的操作1.创建动态Web工程2.目录介绍3

2021-01-23 11:18:05 164

原创 JAVA基础——盘点操作符中的难重点

盘点操作符中的难重点JAVA中的操作符主要有算术操作符、关系操作符、逻辑操作符、位操作符、赋值操作符以及三元操作符,除了比较常见并易于理解的算术操作符、关系操作符以及赋值操作符,我们主要来学习一下其他几种操作符的要点。逻辑操作符长路与还是短路与,两边的运算单元都是布尔值都为真时,才为真任意为假,就为假区别在于:长路与 两侧,都会被运算短路与 只要第一个是false,第二个就不进行运算了public class HelloWorld { public static void mai

2020-07-19 16:10:58 81

原创 使用最原始的命令行格式编译和执行java 程序

如何使用最原始的命令行格式编译和执行java程序运行效果 在控制台下运行第一个Java程序,可以看到输出了字符串hello world准备项目目录通常都会在e : 创建一个project目录在这个例子里,我们用的是e:/project/j2se目录作为项目目录所有的java代码都会放在这个项目目录下并创建一个目录 src用于存放java源代码 .java 文件创建第一个java源程序创建第一个java 源文件在屏幕空白位置,点击鼠标右键->新建->文本文件 得到一个

2020-07-13 19:21:31 387

原创 如何进行JDK环境变量配置

如何进行JDK环境变量配置如何进行JDK环境变量配置配置成功后的效果下载、并解压(或安装)至JDK目录环境变量的设置验证是否配置成功如何进行JDK环境变量配置分下载,配置,验证三个步骤讲解如何进行JDK环境变量配置。配置成功后的效果点WIN键->运行(或者使用win+r)输入cmd命令输入java -version (注: -version是小写,不能使用大写,java后面有一个空格)配置成功后,会出现版本信息 java version "1.8.0_65"==注: ==这是配置完成后

2020-07-12 15:52:23 210

空空如也

空空如也

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

TA关注的人

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