自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 List、Set区别、ArrayList、LinkedList、HashSet、TreeSet区别以及HashMap、Hashtable、ConccurentHashMap三者的区别:

List和Set集合的区别:HashMap、Hashtable、ConccurentHashMap三者的区别:

2021-03-18 20:37:57 196

原创 RuntimeException和非RuntimeException、Error

RuntimeException和非RuntimeException、Error

2021-03-18 20:17:08 149

原创 Spring、SpringMVC、SpringBoot区别、Maven的构建生命周期

spring、SpringMVC与SpringBoot的区别:Spring是这些框架的应用的基础,提供了IOC控制反转和AOP控制切面编程,让我们更好的管理对象的操作SpringMvc是Spring子项目用于提供Web支持,替代来传统的Servlet通过SpringMVC提高web应用的兼容性和可维护性,同时SpringMVC中的Controller也要被Spring中的IOC管理,拦截器也用到了AOP切面编程的知识,来对Controller进行扩展与控制SpringBoot是Spring整个体系的敏

2021-03-18 13:36:04 380

原创 Mybatis以及俩个缓存机制

Mybatis开发流程1.导入依赖2.配置数据库信息:添加一个mapper.xml,sql语句 #{参数}namespace:命名空间,引出虚拟的类位置;id:sql语句的别称;parameterType:参数类型;resultType:返回对应的实体类位置;然后在mybatis配置文件 注册mapper.xml构建sqlsessionfactory工厂SqlSeesionFactory sessionFactory=new SqlSessionFactoryBui

2021-03-18 13:10:29 101

原创 Spring、SpringMVC、IOC容器、注解、AOP五种通知类型、Spring声明事务、SpringMVC的配置、SpringMVC的执行流程

IOC容器:spring中 scope属性和lazy-init属性的作用:scope:设置 是单例还是多例模式 singleton和prototypelazy-init:延迟加载,可以减少服务器压力。需要用的时候加载。俩个注解用来对象注入,俩者的区别:注入对象的俩个注解:@Autowired 和@Resource区别:提供方不同:@Autowired 第三方提供@Resource 官方的机制不同:@Autowired 只能根据类型在IOC中来匹配@Resource 可

2021-03-18 10:36:08 177

原创 HTTPS和HTTP

HTTP和HTTPS的区别HTTPS需要CA的申请证书,HTTP不需要HTTPS密文传输,HTTP明文传输连接方式不同,HTTPS默认使用443端口,HTTP使用80端口HTTPS=HTTP+加密+认证+完整性保护,比HTTP安全

2021-03-17 01:41:10 76

原创 TCP/UDP、网络协议

网络协议:OSI七层协议:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层网络数据处理:先自上而下,后自下而上处理数据头部。从应用层开始都会对要传输的数据头部进行处理加上本层的一些信息最终由物理层通过以太网、电缆等介质去解析成比特流在网络中传输,数据会传入到目标地址并自低而上将先前对应的头部解析分离出来,这就是网络数据处理的整个流程TCP/IP是OSI的一种实现UDP的特点:TCP和UDP的区别:TCP面向连接三次握手、UDP无连接单个点向多个点发布信息可靠性,TCP有三次

2021-03-16 20:07:47 84

原创 数据库事务的四大特性、ACID

数据库事务的四大特性:ACID原子性(Atomic):事务包含的所有操作要么全部执行要么全部失败回滚,要不全做,要不就是全不做一致性(Consistency):事务应确保数据库的状态从一个一致状态转变成另一个一致状态,数据库数据完整性约束。隔离性(Isolation):多个事务并发执行,一个事务的执行不影响其他事务的执行持久性(Durability):一个事务一旦提交其对数据库的修改,将会永久保留...

2021-03-15 10:31:44 124

原创 MyISAM与InnoDB关于锁方面的区别是什么、共享锁、排他锁、MyISM适合的场景、数据库锁的分类、乐观锁、悲观锁

锁模块1.MyISAM与InnoDB关于锁方面的区别是什么:MyISAM默认用的是表级锁,不支持行级锁;InnoDB默认用的是行级锁,也支持表级锁;MyISAM引擎:当对表进行select查询的时候,就会给表加上一个表级的读锁;对数据进行增删改的时候会给表加上一个表级的写锁;当读锁未被释放,当有对同一个表再加写锁时其会阻塞,直到读锁被释放后给表加读写锁:lock tables +表名 read | write;释放锁:unlock tables;读锁还可以称为 共享锁,写锁别名排他

2021-03-15 00:25:24 162

原创 jvm内存

JVM的内存组成:共享区和私有区共享区分为:堆:用于保存程序运行时的java变量、对象实例是垃圾回收的主要区域,不在引用的对象在堆被销毁方法区:虚拟机中加载类的信息、常量、静态内容私有区:程序计数器PC:当前线程所执行的字节码指令的行号指示器例如:分支、跳转、循环、异常处理、线程恢复,在java多线程中是通过线程轮流切换分配时间片执行,为了线程切换能恢复正确位置,每个线程有单独程序计数器。当出现:分支、跳转、记录行号,利于线程恢复。虚拟机栈:线程私有,为java的方法服务,当线程创建的时候,虚

2021-03-14 15:24:26 113 1

原创 链表一

链表-真正的动态数据结构最简单的动态数据结构。更深入的理解引用(指针)更深理解递归链表Linked List类比于火车,数据存储在火车车厢,而每节火车都需要铁链来链接从而指向下一节车厢优点:真正的动态,不需要处理固定容量的问题缺点:没有随机访问数据的能力数组和链表的对比组成链表节点的类:public class LinkedList<E> {private class Node{ public E e; public Node next; publi

2021-03-14 14:11:54 65

原创 数组扩容机制、均摊复杂度

动态数组-数组扩容机制扩容机制其实就是新开辟一个新的空数组,新的数组的容量要比原先数组要大,然后通过遍历将原先数组的元素赋给新的数组中,最后再将原先数组的引用指向新的数组,原先数组会因为没有引用就会被垃圾处理机制当成垃圾处理掉。动态数组的时间复杂度:均摊时间复杂度O(1)复杂度震荡:出现问题的原因:removeLast时resize过于着急(Eager)解决方案: Lazy当size==capacity/4时,才将capacity减半...

2021-03-14 09:58:02 1229

原创 IOC和DI、Bean注入属性、Spring中Bean实例化

IOC和DI的理解:IOC控制反转,是一种设计理念,由第三方来管理与控制对象。将原先的编译时绑定数据,变成运行时动态的创建。可通过applicationContex对象容器来对程序的依赖进行解耦;将对象的控制权交给第三方的对象容器,使其在运行时创建对应对象在付给对应变量。有利于功能维护;IOC容器:是applicationContexDI依赖注入:具体技术实现,由对象容器在运行时动态注入对象。反射作用:在运行时,进行动态的创建、设置以及管理工厂模式:传入bean id 获取指定对象,返回的是对象接

2021-03-13 22:56:21 192 2

原创 线程、多线程、进程、线程生命周期、线程的五种状态、同步、线程间通信、创建线程的俩种方式

进程概念:进程是指可执行程序存放在计算机存储器的一个指令序列,它是一个动态执行的过程线程:线程是比进程还要小的运行单位,一个进程包含多个线程,线程是一个子程序时间片轮转实现多任务同时进行线程的创建:1.创建一个Thread类,或者一个Thread子类的对象2.创建一个实现Runnable接口的类的对象Thread类Thread是一个线程类,位于java.lang包下Thread类的常用方法:Runnable接口1.只有一个方法run();2.Runnable是Java中用以实现

2021-03-13 20:30:23 272 2

原创 数组

数组:public class Main{public static void main(String[] args){ int[]a=new int[30]; for(int i=0;i<a.length;i++) a[i]=i; int[]ages=new int[]{80,60,90}; arges[0]=99; for(int i=0;i<ages.length;i++)

2021-03-13 13:59:50 84

原创 数据结构

数据结构:研究数据如何在计算机中进行组织和存储,是我们可以高效的获取数据或者修改数据。在内存进行增删改查。数据结构基础分类:线性结构有数组、栈、队列、链表、哈希表…树结构有二叉树、二分搜索树、AVL红黑树、Treap、Splay、堆、Trie、线段树、K-D树、并查集、哈夫曼树…图结构有邻接矩阵、邻接表我们需要根据不同的应用来灵活选择最合适的数据结构数据库中的树结构:AVL、红黑树、B类树哈希表操作系统中的数据结构优先队列(组织存储进程)、内存管理、文件管理都需要使用到数据结

2021-03-13 08:39:42 2396 9

原创 Comparator和Comparable两者的关系和区别

Comparator和Comparable的区别:

2021-03-11 20:05:05 140

原创 Map、HashMap、ArrayList HashSet、数组的排序、集合排序

MapMap中的数据是以键值对(key-value)的形式存储key-value以Entry类型的对象实例存在可以通过key的值查找value一个映射不可包含重复的键 (key不能重复)HashMap是基于哈希表的Map接口的实现可用null值和null键key值不可重复HashMap中的Entry对象是无序排列的ArrayList底层由数组实现元素有序并且可以重复可以动态增长元素可以为nullHashSet元素无序并且不可以重复迭代器循环HashMapHashMap中

2021-03-11 19:21:19 198 1

原创 日志log4j2、AOP处理

日志级别:errorwarninfodebugtrace想要用新的日志组件需要排除Logback依赖,然后引入需要的日志框架通过exclusions 可以排除特定依赖,排除冲突如果想要引入log4j2可以引入AOP统一处理Web请求日志:是对于系统健壮性的保证用filter将每个请求打印出来,可以提高开发和调试效率引入AOP依赖<dependency> <groupId>org.springframework.boot</groupId&

2021-03-10 23:01:06 224

原创 generate (default-cli) on project mall: The server time zone value ‘�й���׼ʱ��‘ is unrecognized or re

这是自己mysql的时区问题通过在mysql中设置:set global time_zone=‘8:00’;

2021-03-10 21:16:42 250

原创 Cannot resolve plugin org.mybatis.generator:mybatis-generator-maven-plugin:1.3.7.RELEASE

spring-boot-maven-plugin maven找不到怎么办?首先你得确认它有没有版本号,确认了版本号还不行,需要确认版本号和 父工程是否一致,需要一直才行这是我的解决方法。

2021-03-10 21:05:50 8195

原创 垃圾回收机制、算法、对象是否回收判断依据、GC分类、年轻代、老年代、触发fullGC的条件、晋升到老年代的方法条件

垃圾回收回收算法:1.标记清除算法(Mark and Sweep)mark:从根进行扫描,对存活的对象进行标记Sweep:对堆内存从头到尾进行线性遍历,回收不可达对象内存其中未被标记的对象即为不可达对象,就会被回收,会导致一些不连续的内存碎片,空间碎片化,当需要有一个更大内存的对象存储时会进行下一次垃圾回收操作2.标记复制算法将内存分为对象面和空闲面,在对象面创建对象,存活的对象会被复制到空闲面上,最后将对象面的所有对象内存清除适用于对象存活率低的情况,年轻代一般10%存活,因此需要复制的相对

2021-03-10 15:10:58 494

原创 关系型数据库,索引、B-tree、B+树、Hash索引、存储索引InnoDB和MySql

数据库之 关系型数据库:关系型数据库涉及知识点:架构、索引、锁、语法、理论范式如何设计一个关系型数据库:1.需要有存储的文件系统(SSD固态硬盘、机械硬盘)2.要有程序实例用逻辑结构映射出物理结构(存储管理、缓存机制、SQL解析、日志管理、权限划分、容灾机制、索引管理、锁管理)索引模块:1.为什么要使用索引灵感来源于 字典*快速查询数据2.什么样的信息成为索引主键、唯一键、普通键3.索引的数据结构*生成索引,建立二叉查找树进行二分查找*生成索引,建立B-Tree结构进行查找*生

2021-03-09 20:22:15 288 3

原创 SpringCloud简要介绍

SpringCloud简介成熟的微服务框架,定位为开发人员提供工具,以快速构建分布式系统核心组件 Spring Cloud服务注册中心 SpringCloud Netflix Eureka服务调用方式 RESTAPI、Feign、Ribbon服务网关 Spring Cloud Netflix Zuul断路器 Spring Cloud Netflix Hystrix...

2021-03-08 20:47:43 57

原创 Linux知识

操作系统:是应用程序运行的基础支撑环境操作系统作用是管理和控制计算机系统的硬件与软件资源。Linux是服务器端操作系统Linux特点:免费使用,自由传播支持多任务、多用户、多CPU高效灵活兼容任意x86架构计算机强大易用的系统命令完整的应用软件生态CentOS运行要求:CPU:1核,建议2核以上内存:1G,最好2G以上硬盘:预留20G可用空间Windows运行Linux...

2021-03-08 20:45:38 50

原创 字段约束和数据库范式

字段约束:数据库的范式:构造数据库必须遵循一定的规则,这种规则就是范式关系数据库有六种范式,一般情况满足第三范式即可。第一范式:原子性*第一范式是数据库的基本要求,不满足这一点就不是关系型数据库*数据表的每一列都是不可分割的基本数据项,同一列中不能有多个值,也不能存在重复属性,第二范式:唯一性*数据表中的每条记录必须是唯一的。为了实现区分,通常要为表加上一个列用来存储唯一标识,这个唯一属性被称做主键列第三范式:关联性每列都与主键有直接关系,不存在传递依赖依照第三范式,数据可以拆分保存到

2021-03-08 15:27:03 85 1

原创 数据库sql语句具体介绍增删改查

SQL是用于访问和处理数据的标准计算机语言SQL的语言分类:DML(数据操作语言):增加、修改、删除、查询DCL(数据控制语言):用户、权限、事务的管理DDL(数据定义语言):逻辑库、数据表、视图、索引。注意点:SQL语句不区分大小写,但是字符串区分大小写SQL语句必须以分号结尾SQL语句中的空白与换行没有限制,但是不能破坏语法。SQL语句的注释有两种:注释/* 又是注释 */#建立数据库CREATE DATABASE 逻辑库名称;展示数据库SHOW DATABASE;删

2021-03-08 14:38:25 331 2

原创 集合介绍,List、ArrayList、Set、Iterator(迭代器)

数组:适用于固定不变的集合:不断变化的数据,增删频繁数据集合框架的体系结构:Collection :类的对象Map:键值对List:List是元素有序并且可重复的集合,称为序列List可以精确的控制每个元素的插入位置,或删除某个位置的元素List的两个主要实现类是 ArrayList和LinkedListArrayList:ArrayList底层是由数组实现的动态增长,以满足应用程序的需求在列表尾部插入或删除数据非常有效更适合查找和更新元素ArrayList中的元素可以为nul

2021-03-07 17:03:33 151 1

原创 java面试题一

1.给定一个字符串,判断是否回文串,只考虑字母数字字符和忽略大小写。2.给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。3.给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的

2021-03-07 13:10:54 78

原创 牛客网题目

写个的sql查询语句,如有一张表示英语口语练习每个学员的学时的表a,字段有 studentid(学号) name(可重复) grade(年级) hours(学时),找出那些学时高于他们同一年级的平均学时的学生。select id,name from table a left join (SELECT grade,AVG(hours) as hours FROM tableGROUP BY grade) as b on a.grade=b.grade where a.hours>b.hou

2021-03-07 13:07:39 152 2

原创 牛客网选择题

2.下列哪种方式不能使进程进入就绪状态( D)A CPU调度给优先级更高的线程B 阻塞的线程获得资源或者信号C 在时间片轮转的情况下,如果时间片到了D 获得spinlock未果进程三个状态:运行、就绪、阻塞/等待。高优先级的抢占CPU,使得原来处于运行状态的进程转变为就绪状态。阻塞的进程等待某件事情的发生,一旦发生则它的运行条件已经满足,从阻塞进入就绪状态。时间片轮转使得每个进程都有一小片时间来获得CPU运行,当时间片到时从运行状态变为就绪状态。自旋锁(spinlock)是一种保护临界区最

2021-03-07 11:00:37 304 4

原创 牛客网1.某团队2/5的人会Java,3/4的人会C++,团队里同时会Java和C++的最少有( )人

1.牛客网题目一:某团队2/5的人会Java,3/4的人会C++,团队里同时会Java和C++的最少有( )人。5和4求最小公倍数20,此团队至少为20人,会java的至少8人,会c++的至少15人假设团队有20人每人只会一种的话 15+8=23人,而团队20人,则有3人俩种都会,则至少3人...

2021-03-07 10:31:32 920

原创 Spring、IoC控制反转

Spring :Spring框架是企业开发复杂性的一站式解决方案核心是IoC容器与AOP面向切面编程Spring IoC负责创建与管理系统对象,并在此基础上扩展功能IoC控制反转:将对象的控制权交给第三方进行管理,由第三方进行对象创建。全称 Inverse of Control,是一种设计理念由代理人来创建与管理对象,消费者通过代理人来获取对象。IoC的目的是降低对象之间直接耦合DI依赖注入:IoC是设计理念,是现代程序设计遵循的标准,是宏观目标DI(Dependence Inject

2021-03-06 16:48:08 96

原创 反向代理、正向+反向代理、Nginx介绍以及它的优点

Nginx介绍:代理服务器有防火墙可以起到保护作用、动态静态资源分离俩大场景:HTTP的反向代理服务器HTTP的反向代理服务器:在后端提供负载均衡,可以把用户的请求进行平均分配,缓存功能动态静态资源分离:如果不分离会变慢静态资源无需经过Tomcat,Tomcat只负责处理动态请求后缀为gif的时候,Nginx会直接获取到当前请求的文件并返回也是静态资源服务器Nginx的优点:高并发、高性能可扩展性好高可靠性提供高可用热部署(不停止服务的时候进行更新)开源、可商用最后两个图:

2021-03-06 16:09:11 256

原创 重置mysql数据库root密码

重置root密码1.创建TXT文件,写修改密码的SQL语句ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘要改的密码’; %可远程可本地2.在windows左下角点击右键 选择 Windows PowerShell(管理员)

2021-03-06 15:17:52 82

原创 数据库、关系型数据库、非关系型数据库以及具体介绍

操作系统中数据存放的载体:1.Windows、Linux和MacOS都是基于文件的操作系统以AVI、DOC、JPG、TXT来存数据2.为了放方便迅捷的提取想要的信息,研发的数据库系统,可编写简单的sql语句来提取自己想要的信息数据库系统:数据库系统(DBMS) 是指一个能为用户提供信息服务的系统。它实现了 有组织、动态的存储大量相关数据的功能,提供了数据处理和信息资源共享的便利手段。为我们提供了较好的数据读写服务。关系型数据库系统:(RDBMS) 是指使用了关系模型的数据库系统关系模型中,数

2021-03-06 14:38:54 282 1

原创 String和StringBuilder区别和描述 ,以及StringBuilder的常用方法

String和StringBuilder的区别:String具有不可变性,StringBuilder则没有,String会产生废弃的数据,用StringBuilder可以避免当对字符串频繁操作时,需要使用StringBuilderStringBuilder 和StringBuffer区别:用法基本相似,StringBuffer是线程安全的,StringBuilder则没有,但性能高。StringBuilder 继承Object类常用的方法如下: ...

2021-03-06 11:39:44 251

原创 等于运算符==与equals方法的区别以及内存、栈、常量池的分析

等于运算符与equals方法的区别:package com.test;public class TestTwo{ public static void main(String[] args){ String a="我爱中国"; String b="我爱中国"; String c=new String("我爱中国"); String d=new String("我爱中国");

2021-03-06 10:36:52 89

原创 字符串和byte数组之间相互转换

字符串和byte数组之间相互转换package com.test;public class TestOne{ public static void main(String[] args){ //定义字符串 String a=new String("我喜欢编程!"); //将字符串就转换为byte数组,并打印输出。 byte[] arrs=a.getBytes("GBK");

2021-03-06 10:09:43 3024

原创 Zookeeper的作用以及特点,和CAP的关系。

Zookeeper的介绍:*Zookeeper是一个集群、可靠的中间件,可以使信息没同步完成时就不对外服务,知道同步完可以缩短同步的时间,较好的分布协调能力。分布式协调服务。*Zookeeper是开源的高性能的分布式应用协调系统,一个高性能的分布式数据一致性的解决方案。*Zookeeper支持java 依赖jdkZookeeper的五大特点:1.顺序一致性 客户端-服务端2.原子性 要不同步成功要不就都不成功3.单一视图 视图一致4.可靠性5.即时性CAP:C:Consistenc

2021-03-05 20:35:12 403 2

空空如也

空空如也

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

TA关注的人

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