自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java面试常见问题总结(第三篇)(不断更新,欢迎大家提出补充)

51.OSI和TCP/IP各层的结构和功能,都有哪些协议1.应用层:应用层的任务是通过应用程序间的交互来完成特定网络应用。应用层协议定义的是应用进程间通信和交互的规则;域名系统:DNS,支持万维网应用:HTTP协议,支持电子邮箱:SMTP协议;2.运输层:主要任务就是负责两台主机进程之间的通信提供通用的数据传输服务,运输层主要用两种协议:TCP:面向连接,可靠UDP:无连接,快速52.TCP三次握手和四次挥手(详情可看相关文章)三次握手:为什么要三次握手:目的是建立可

2020-10-09 09:44:33 186

原创 Java面试常见问题总结(第二篇)(不断更新,欢迎大家提出补充)

26.

2020-09-22 22:28:48 195

原创 Java面试常见问题总结(第一篇)(不断更新,欢迎大家提出补充)

1.面向过程和面向对象的区别面向过程:面向过程性能比面向对象高面向对象:易维护、易复用、易拓展原因:面向对象,Java是半编译语言,最终执行的代码并不是可以直接被CPU执行的二进制机器码; 面向过程,大多都是直接编译成机器码再电脑上执行;2.面向对象的三大基本特征封装、继承、多态3.JVM、JDK、JREJVM:Java虚拟机(JVM)是运行字节码文件的虚拟机,针对不同系统,使用相同的字节码文件,可以得到相同的结果;字节码:它不面向特定的处理器,只面向...

2020-09-20 00:34:50 173

原创 数据结构—树(总结)(面试中必问)

1.树树结构是一种非线性存储结构,存储的是具有“一对多”关系的数据元素的集合。 树是由结点或顶点和边组成的(可能是非线性的)且不存在着任何环的一种数据结构。结点:使用树结构存储的每一个数据元素都被称为“结点”父节点:A 是 B、C、D 结点的父结点(也称为“双亲结点”)子节点:B、C、D 都是 A 结点的子结点(也称“孩子结点”)兄弟节点:对于 B、C、D 来说,它们都有相同的父结点,所以它们互为兄弟结点。树根结点(简称“根结点”):每一个非空树都有且只有一个被称为根的结点.

2020-09-14 22:10:34 510

原创 锁机制(面试遇到多次)

锁分类1、公平锁/非公平锁2、可重入锁3、独享锁/共享锁4、互斥锁/读写锁5、乐观锁/悲观锁6、分段锁7、偏向锁/轻量级锁/重量级锁8、自旋锁公平锁/非公平锁:公平锁是指多个线程按照申请锁的顺序来获取锁。非公平锁是指多个线程获取锁的顺序并不是按照申请锁的顺序,有可能后申请的线程比先申请的线程优先获取锁。有可能,会造成优先级反转或者饥饿现象。可重入锁:可重入锁又名递归锁,是指在同一个线程在外层方法获取锁的时候,在进入内层方法会自动获取锁。独享锁/共享锁:

2020-09-11 23:43:50 204

原创 IPv4+掩码地址+网络地址+广播地址+主机数(常见笔试题)

(一)IPv4IP(Internet Protocol Address)地址由网络号+主机号构成,网络号相当于电话区号,主机号相当于电话号码,Ipv4分为A、B、C、D、E五类地址,任何一个Ipv4的IP地址由共由32位二进制数构成,每段8位,共4段,点分式IP地址十进制的表示为a.b.c.d格式。A类 IP地址由1字节(每个字节是8位)的网络号和3个字节主机号组成,A类地址范围是(1.0.0.0至127.255.255.254,至于为什么请继续往下看,A类网络号前1位从0开始,A类IP的地址第

2020-09-11 21:45:40 2824

原创 数据库底层+数据库调优(常见面试题)

(一)数据库底层转自:https://blog.csdn.net/m0_38075425/article/details/82256315仅供个人学习使用 数据库(DataBase)是存放用户数据的地方,当用户访问、操作数据库中的数据时,需要数据库管理系统的帮助。数据管理系统的全称是DataBase Management System,简称DBMS。通常情况下我们会把数据库和数据库管理系统笼统的称为数据库,通常所说的数据库既包括存储用户数据的部分,也包括管理数据库的管理系统。 ...

2020-09-11 17:08:05 3711 1

原创 Java面试常见设计模式(根据面经不断更新)

设计模式的分类(共23种)总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。1、工厂方法模式(Factory Method)工厂方法模式分为三种:1.1普通工厂模式,就是建立一个工厂

2020-09-10 16:10:26 895 1

原创 SpringBoot(复习总结)(基础核心步骤)

对钉钉

2020-09-06 11:39:16 304

原创 SSM(复习总结)(基础核心步骤+配置)

搭建整合环境1. 整合说明:SSM整合可以使用多种方式,咱们会选择XML + 注解的方式整合的思路 1. 先搭建整合的环境2. 先把Spring的配置搭建完成3. 再使用Spring整合SpringMVC框架4. 最后使用Spring整合MyBatis框架开发步骤:1.创建工程,pom.xml中添加坐标2.编写实体类public class Account implements Serializable{ private Integer id; ...

2020-09-05 23:29:10 208

原创 SpringMVC(复习总结)(基础核心步骤)

B/S架构分成了三层架构 :1. 表现层:WEB层,用来和客户端进行数据交互的。表现层一般会采用MVC的设计模型2. 业务层:处理公司具体的业务逻辑的3. 持久层:用来操作数据库的MVC模型1. MVC全名是Model View Controller 模型视图控制器,每个部分各司其职。2. Model:数据模型,JavaBean的类,用来进行数据封装。3. View:指JSP、HTML用来展示数据给用户4. Controller:用来接收用户的请求,整个流程的控制器。用来..

2020-09-05 20:09:49 225

原创 Spring(复习总结)(基础核心步骤)

Spring是分层的 Java SE/EE应用 full-stack 轻量级开源框架,以 IoC(Inverse Of Control: 反转控制)和 AOP(Aspect Oriented Programming:面向切面编程)为内核,提供了展现层 Spring MVC 和持久层 Spring JDBC 以及业务层事务管理等众多的企业级应用技术,还能整合开源世界众多 著名的第三方框架和类库,逐渐成为使用最多的Java EE 企业应用开源框架。spring 的优势方便解耦,简化开...

2020-09-05 18:15:02 260

原创 Mybatis(复习总结)(基础核心步骤)

mybatis是一个优秀的基于 java 的持久层框架,它内部封装了 jdbc,使开发者只需要关注 sql语句本身, 而不需要花费精力去处理加载驱动、创建连接、创建 statement 等繁杂的过程。mybatis通过xml 或注解的方式将要执行的各种statement配置起来,并通过java对象和statement 中 sql 的动态参数进行映射生成最终执行的 sql 语句,最后由 mybatis 框架执行 sql 并将结果映射为 java 对象并返回。采用 ORM 思想解决了实体和数据库映射的问

2020-09-05 16:00:31 196

原创 Ajax+Json(复习总结)

Ajax概念: ASynchronous JavaScript And XML 异步的JavaScript 和 XML 1. 异步和同步:客户端和服务器端相互通信的基础上 * 客户端必须等待服务器端的响应。在等待的期间客户端不能做其他操作。 * 客户端不需要等待服务器端的响应。在服务器处理请求的过程中,客户端可以进行其他的操作。Ajax 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。 [1] 通过在后台与服务器进行少量数...

2020-09-04 21:24:06 130

原创 JQuery(复习总结)

JQuery概念: 一个JavaScript框架。简化JS开发选择器:筛选具有相似特征的元素(标签)1. 基本操作学习: 1. 事件绑定 //1.获取b1按钮 $("#b1").click(function(){ alert("abc"); }); 2. 入口函数 $(function () { ...

2020-09-04 20:53:05 404

原创 Cookie+Session(复习总结)

会话技术1. 会话:一次会话中包含多次请求和响应。 * 一次会话:浏览器第一次给服务器资源发送请求,会话建立,直到有一方断开为止2. 功能:在一次会话的范围内的多次请求间,共享数据3. 方式: 1. 客户端会话技术:Cookie 2. 服务器端会话技术:SessionCookie:1. 概念:客户端会话技术,将数据保存到客户端2. 快速入门: * 使用步骤: 1. 创建Cookie对象,绑定数据 * new Cook...

2020-09-04 19:21:08 138

原创 redis(NOSQL)(复习总结)

Redisredis是一款高性能的NOSQL系列的非关系型数据库 1.1.什么是NOSQL NoSQL(NoSQL = Not Only SQL),意即“不仅仅是SQL”,是一项全新的数据库理念,泛指非关系型的数据库。 随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSQL数...

2020-09-04 17:20:18 149

原创 Maven常用命令(复习总结)

Maven 的一个核心特性就是依赖管理。当我们涉及到多模块的项目(包含成百个模块或者子项目),管理依赖就变成一项困难的任务。Maven 展示出了它对处理这种情形的高度控制。maven 工程中不直接将 jar 包导入到工程中,而是通过在 pom.xml 文件中添加所需 jar 包的坐标,这样就很好的避免了 jar 直接引入进来,在需要用到 jar 包的时候,只要查找 pom.xml 文件,再通过 pom.xml 文件中的坐标,到一个专门用于”存放 jar 包的仓库”(maven 仓库)中根据坐标从而找到.

2020-09-04 17:05:47 122

原创 Response(复习总结)

HTTP协议:1. 请求消息:客户端发送给服务器端的数据 * 数据格式: 1. 请求行 2. 请求头 3. 请求空行 4. 请求体2. 响应消息:服务器端发送给客户端的数据 * 数据格式: 1. 响应行 1. 组成:协议/版本 响应状态码 状态码描述 2. 响应状态码:服务器告诉客户端浏览器本次请求和响应的一个状态。 1. 状态...

2020-09-04 16:39:59 227

原创 Servlet+HTTP+Request(复习总结)

Servlet:Servlet中的生命周期方法: 1. 被创建:执行init方法,只执行一次 * Servlet什么时候被创建? * 默认情况下,第一次被访问时,Servlet被创建 * 可以配置执行Servlet的创建时机。 * 在<servlet>标签下配置 1. 第一次被访问时,创建 * <...

2020-09-04 15:19:21 157

原创 反射(复习总结)

* 反射:将类的各个组成部分封装为其他对象,这就是反射机制 * 好处: 1. 可以在程序运行过程中,操作这些对象。 2. 可以解耦,提高程序的可扩展性。获取Class对象的方式: 1. Class.forName("全类名"):将字节码文件加载进内存,返回Class对象 * 多用于配置文件,将类名定义在配置文件中。读取文件,加载类 2. 类名.class:通过类名的属性class获取 * 多用于参数的传递 3...

2020-09-03 22:26:07 76

原创 Junit单元测试(复习总结)

* 测试分类: 1. 黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值。 2. 白盒测试:需要写代码的。关注程序具体的执行流程。* Junit使用:白盒测试 * 步骤: 1. 定义一个测试类(测试用例) * 建议: * 测试类名:被测试的类名Test CalculatorTest * 包名:xxx.xxx.xx.test cn.itcas...

2020-09-03 21:07:39 129

原创 数据库连接池(复习总结)

数据库连接池标准接口:DataSource javax.sql包下的 1. 方法: * 获取连接:getConnection() * 归还连接:Connection.close()。如果连接对象Connection是从连接池中获取的,那么调用Connection.close()方法,则不会再关闭连接了。而是归还连接一般我们不去实现它,有数据库厂商来实现 1. C3P0:数据库连接池技术 2. Drui...

2020-09-03 20:55:35 110

原创 JDBC+JDBC控制事务(复习总结)

概念:Java DataBase Connectivity Java 数据库连接, Java语言操作数据库; * 步骤: 1. 导入驱动jar包 mysql-connector-java-5.1.37-bin.jar 1.复制mysql-connector-java-5.1.37-bin.jar到项目的libs目录下 2.右键-->Add As Library 2. 注册驱动 3. 获取数据库连...

2020-09-03 17:59:26 86

原创 MySQL多表+事务(复习总结)

(一)多表查询CREATE TABLE emp ( id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(10), gender CHAR(1), -- 性别 salary DOUBLE, -- 工资 join_date DATE, -- 入职日期 dept_id INT, FOREIGN KEY (dept_id) REFERENCES dept(i...

2020-09-02 22:19:13 170

原创 MySQL(复习总结)

MySQL服务启动net start mysql : 启动mysql的服务net stop mysql:关闭mysql服务MySQL登录1. mysql -uroot -p密码2. mysql -hip -uroot -p连接目标的密码3. mysql --host=ip --user=root --password=连接目标的密码什么是SQL?Structured Query Language:结构化查询语言其实就是定义了操作所有关系型数据库的规则。每一种数据库操作的方式存在

2020-09-02 20:31:55 437

原创 网络编程TCP(复习总结)

TCP/IP协议: 传输控制协议/因特网互联协议( Transmission Control Protocol/Internet Protocol),是 Internet最基本、最广泛的协议。它定义了计算机如何连入因特网,以及数据如何在它们之间传输的标准。它 的内部包含一系列的用于处理数据通信的协议,并采用了4层的分层模型,每一层都呼叫它的下一层所提供的协议来完成自己的需求。1、应用层,为应用进程提供服务的;HTTP\FTP\TFTP\SMTP\SNMP\DNS2、运输层;TCP\UDP3、网络

2020-09-02 09:57:47 125

原创 缓冲流+转换流+序列化流(复习总结)

(一)缓冲流字节缓冲流: BufferedInputStream , BufferedOutputStream ;缓冲流的基本原理,是在创建流对象时,会创建一个内置的默认大小的缓冲区数组,通过缓冲区读写,减少系统IO 次数,从而提高读写的效率。public BufferedInputStream(InputStream in) :创建一个 新的缓冲输入流。public BufferedOutputStream(OutputStream out) : 创建一个新的缓冲输出流。字符缓冲流:.

2020-09-02 00:30:05 107

原创 字节流+字符流(复习总结)

(一)字节流字节输出流【OutputStream】java.io.OutputStream 抽象类是表示字节输出流的所有类的超类,将指定的字节信息写出到目的地。它定义了字 输出流的基本共性功能方法。public void close() :关闭此输出流并释放与此流相关联的任何系统资源。public void flush() :刷新此输出流并强制任何缓冲的输出字节被写出。public void write(byte[] b) :将 b.length字节从指定的字节数组写入此输出流。pub

2020-09-01 19:56:02 156

原创 线程池+Lambda表达式(复习总结)

↵(一)等待唤醒机制多个线程在处理同一个资源,并且任务不同时,需要线程通信来帮助解决线程之间对同一个变量的使用或操作。 就 是多个线程在操作同一份数据时, 避免对同一共享变量的争夺。也就是我们需要通过一定的手段使各个线程能有效 的利用资源。而这种手段即—— 等待唤醒机制;等待唤醒机制就是用于解决线程间通信的问题的,使用到的3个方法的含义如下:1. wait:线程不再活动,不再参与调度,进入 wait set 中,因此不会浪费 CPU 资源,也不会去竞争锁了,这时的线程状态即是 WAITI..

2020-08-31 20:46:21 310

原创 异常+线程+同步(复习总结)

(一)异常异常机制其实是帮助我们找到程序中的问题,异常的根类是 java.lang.Throwable ,其下有两个子类: java.lang.Error 与 java.lang.Exception ,平常所说的异常指 java.lang.Exception 。Throwable中的常用方法:public void printStackTrace() :打印异常的详细信息。 包含了异常的类型,异常的原因,还包括异常出现的位置,在开发和调试阶段,都得使用printStackTrace。publ

2020-08-31 17:34:48 142

原创 Object类+常用API(复习总结)

(一)Object类public String toString():返回该对象的字符串表示。toString方法返回该对象的字符串表示,其实该字符串内容就是对象的类型+@+内存地址值。由于toString方法返回的结果是内存地址,而在开发中,经常需要按照对象的属性得到相应的字符串表现形式,因此也需要重写它。Tip: 在我们直接使用输出语句输出对象名的时候,其实通过该对象调用了其toString()方法。public boolean equals(Object obj):指示其他某个对象

2020-08-30 17:13:25 98

原创 Java基础篇汇总

JVM(Java Virtual Machine ):Java虚拟机,简称JVM,是运行所有Java程序的假想计算机,是Java程序的运行环境,是Java 具吸引力的特性之一。我们编写的Java代码,都运行在 JVM 之上; JRE (Java Runtime Environment) :是Java程序的运行时环境,包含JVM 和运行时所需要的核心类库 ; JDK (Java Development Kit):是Java程序开发工具包,包含JRE和开发人员使用的工具。...

2020-08-30 11:35:43 134

原创 个人记录(java)(一)

1.java.String.indexOf() 字符串的IndexOf()方法搜索在该字符串上是否出现了作为参数传递的字符串,如果找到字符串,则返回字符的起始位置 (0表示第一个字符,1表示第二个字符依此类推)如果说没有找到则返回 -1 ;返回 String 对象内第一次出现子字符串的字符位置。strObj .indexOf(subString, startIndex) strObj 必选项。String 对象或文字;subString必选项。要在String对象中查找的子字符串。startIndex..

2020-08-28 09:43:41 87

原创 File类(总结+练习)

File类 java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建、查找和删除等操作; 绝对路径:从盘符开始的路径,这是一个完整的路径。 相对路径:相对于项目目录的路径,这是一个便捷的路径,开发中经常使用。 练习一:相对路径和绝对路径的使用 描述:创建两个文件对象,分别使用相对路径和绝对路径创建 public String getAbsolutePath() :返回此File的绝对路径名字符串。 public String ...

2020-08-27 14:34:01 488

原创 常见的数据结构(概述)

(一)栈 栈:stack,又称堆栈,它是运算受限的线性表,其限制是仅允许在标的一端进行插入和删除操作,不允许在其他任何位置进行添加、查找、删除等操作。 简单的说:采用该结构的集合,对元素的存取有如下的特点: 1.先进后出(即,存进去的元素,要在后它后面的元素依次取出后,才能取出该元素)。例如,子弹压进弹 夹,先压进去的子弹在下面,后压进去的子弹在上面,当开枪时,先弹出上面的子弹,然后才能弹出下面的 子弹。 2.栈的入口、出口的都是栈的顶端位置。...

2020-08-26 18:26:07 120

原创 Collection&&Map集合总结+练习+迭代器实现原理

(一)集合框架1.请简述集合框架 集合按照其存储结构可以分为两大类,分别是单列集合java.util.Collection和双列集合java.util.Map。 Collection:单列集合类的根接口,用于存储一系列符合某种规则的元素,它有两个重要的子接口,分别是java.util.List和java.util.Set。其中,List的特点是元素有序、元素可重复。Set的特点是元素无序,而且不可重复。List接口的主要实现类有java.util.ArrayList和java.uti...

2020-08-26 15:55:22 231

原创 常见数据结构总结分析——链表

(一)链表 链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。 相比于线性表顺序结构,操作复杂。由于不必须按顺序存储,链表在插入的时候可以达到O(1)的复杂度,比另一种线性表顺序表快得多,但是查找一个节点或者访问特定编号的节点则需要O(n)的时间,而线性表和顺序表相应的时间复杂度分别是O(..

2020-08-25 15:31:00 426

空空如也

空空如也

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

TA关注的人

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