自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

知行流浪

知止而后定,定而后能静,静而后能安,安而后能虑,虑而后能得。

原创 Java常见面试题汇总-----------计算机网络(HTTP协议、HTTP1.1与HTTP1.0的比较)

73、HTTP协议请求过程   大致的流程:输入地址 –> DNS域名解析 –> 发起TCP的三次握手 –> 建立TCP连接后发起http请求 –> 服务器响应http请求,浏览器得到html代码 –> 浏览器解析html代码,并请求html代码中的资源(如javas...

2019-07-06 23:46:41 536 1

原创 Java常见面试题汇总-----------计算机网络(TCP三次握手与四次挥手、TCP流量控制、TCP与UDP对比)

70、TCP协议的三次握手与四次挥手 70.1、TCP报文结构   1、源端口号:表示发送端端口号,字段长为16位。   2、目标端口号:表示接收端口号,字段长为16位。   3、序列号:表示发送数据的位置,字段长为32位。每发送一次数据,就累加一次该数据字节数的大小。   注意:序列号不会从0...

2019-07-04 17:22:37 444 0

原创 Java常见面试题汇总-----------计算机网络(路由协议)

69、路由协议 69.1、基本概念   网络层主要做的是通过查找路由表确定如何到达服务器,期间可能经过多个路由器,这些都是由路由器来完成的工作,通过查找路由表决定通过那个路径到达服务器,其中用到路由选择协议。   路由主要分为两类:即静态路由和动态路由。从管理层面来说,静态路由比较容易部署/修改(...

2019-06-12 19:06:43 434 0

原创 Redis学习笔记

一、Redis是什么   Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。从2013年5月开始,Redis的开发由Pivotal赞助。   R...

2019-06-11 16:29:07 204 0

原创 Java常见面试题汇总-----------计算机网络(网络分层与IP地址)

67、OSI 与 TCP/IP 的网络分层   (1)、物理层----定义了为建立、维护和拆除物理链路所需的机械的、电气的、功能的和规程的特性,其作用是使原始的数据比特流能在物理媒体上传输。具体涉及接插件的规格、“0”、“1”信号的电平表示、收发双方的协调等内容。   (2)、数据链路层---...

2019-06-10 16:23:41 460 0

原创 H2数据库入门

一、H2简介   1、H2是一个用Java开发的嵌入式数据库,它本身只是一个类库,可以直接嵌入到应用项目中。   H2最大的用途在于可以同应用程序打包在一起发布,这样可以非常方便地存储少量结构化数据。   它的另一个用途是用于单元测试。启动速度快,而且可以关闭持久化功能,每一个用例执行完随即还原到...

2019-06-05 10:08:49 4815 0

原创 Java常见面试题汇总-----------数据库(JDBC、数据库连接池)

63、JDBC的理解   Jdbc:Java database connection,java数据库连接。数据库管理系统(mysql、oracle等)是很多的,每个数据库管理系统支持的命令是不一样的。   Java只定义接口,让数据库厂商自己实现接口,对于我们开发者而言。只需要导入对应厂商开发的实...

2019-05-15 15:37:37 1136 0

原创 面向对象编程设计模式------职责链模式

  职责链模式(Chain of Responsibility):使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。 1、Handler类,定义一个处理请示的接口。 /** * @Descriptio...

2019-05-14 09:23:16 144 0

原创 Java常见面试题汇总-----------数据库(连接操作、分组查询、查询优化)

59、数据库连接(LEFT)操作   首先定义两个表t1和t2 ID NAME 1 aaa 2 bbb ID AGE 1 20 3 30   内连接(inner join):只显示符合连接条件的记录   select * from t1 inner ...

2019-05-13 16:22:37 313 0

原创 Java常见面试题汇总-----------数据库(数据库锁、数据库存储过程)

57、数据库的锁   锁是一种并发控制技术,锁是用来在多个用户同时访问同一个数据的时候保护数据的。 57.1、有 2 种基本的锁类型   共享(S)锁: 多个事务可封锁一个共享页;任何事务都不能修改该页;通常是该页被读取完毕,S锁立即被释放。在执行 select 语句的时候需要给操作对象(表或者一...

2019-05-12 16:24:09 3804 6

原创 Java常见面试题汇总-----------数据库(数据库索引及其实现)

54、数据库索引 索引的优缺点   优点:   1、大大加快数据的检索速度;   2、创建唯一性索引,保证数据库表中每一行数据的唯一性;   3、加速表和表之间的连接;   4、在使用分组和排序子句进行数据检索时,可以显著减少查询中分组和排序的时间。   缺点:   1、索引需要占物理空间;   ...

2019-05-12 11:05:17 908 0

转载 如何方便快速在指定文件夹打开命令行

  很多时候我们需要打开命令行然后进入到相应目录进行一些操作。常规的做法是:Win+R打开运行窗口,输入"cmd"回车打开命令行窗口。   假如我们要进入的是D盘foo文件夹下的一个bar子文件夹,路径是这样的D:\foo\bar,首先输入"cd D:" 回...

2019-05-10 21:36:14 1131 0

原创 面向对象编程设计模式------享元模式

  所谓享元模式就是运行共享技术有效地支持大量细粒度对象的复用。 系统使用少量对象,而且这些都比较相似,状态变化小,可以实现对象的多次复用。   共享模式是支持大量细粒度对象的复用,所以享元模式要求能够共享的对象必须是细粒度对象。   在了解享元模式之前我们先要了解两个概念:内部状态、外部状态。 ...

2019-05-09 09:53:51 120 0

原创 面向对象编程设计模式------适配器模式

适配器模式   适配器模式(Adapter):将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。   有两种适配器模式的实现方法,第一种是组合的方式(对象适配器模式): 适配器类将被适配者作为对象组合到该类中以修改目标接口包装...

2019-05-08 22:11:51 189 0

原创 Git与Github入门与应用

一、git的安装 1.1、命令行方式安装   1)、下载windows git:https://git-scm.com/downloads   2)、配置用户信息   - git config --global user.name “zxt”   - git config --global use...

2019-05-07 20:52:54 313 0

原创 面向对象编程设计模式------观察者模式

观察者模式   观察者模式又叫做发布-订阅(Publish/Subscribe)模式。   1、Subject类,可翻译为主题或者抽象通知者,一般用一个抽象类或者一个接口实现。它把所有对观察者对象的引用保存在一个集合里,每个主题都可以有任何数量的观察者。抽象主题提供一个接口,可以增加和删除观察者...

2019-04-30 09:31:22 121 0

原创 Java常见面试题汇总-----------数据库(数据库引擎、数据库范式、事务的四大特性ACID)

51、Mysql数据库引擎 名称 事务 外键 索引 适用范围 优势、特点 Myisam 不支持 不支持 B+树 读操作远多于写操作,不需要事务支持 访问速度快,对事务完整性没有要求,保存了表的行数 Innodb 支持 支持 B+树 并发度较高、需要支持事务的场景 占用更多的空间...

2019-04-24 16:46:29 306 0

原创 Java常见面试题汇总-----------Java框架

47、struts2的执行流程?   在Struts2框架中的处理大概分为以下的步骤   1、用户发送请求;   2、这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如...

2019-04-23 16:37:46 138 0

原创 Java常见面试题汇总-----------Java多线程(线程池、生产者消费者模式实现)

45、线程池ThreadPoolExecutor 45.1、创建线程池   Java通过Executors提供四个静态方法创建四种线程池,分别为:   newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。   newF...

2019-04-21 17:00:22 502 0

原创 Java常见面试题汇总-----------Java多线程(多线程同步机制)

39、Synchronized的底层原理   synchronized是JAVA中解决并发编程中最常用的方法。   synchronized的作用如下:   1、确保线程互斥访问同步代码;   2、保证共享变量的修改能够及时可见;   3、有效解决指令重排序问题。   synrhronized关键...

2019-04-20 20:35:15 658 0

原创 面向对象编程设计模式------代理模式(静态代理、动态代理)

代理模式   代理模式的定义:给某一个对象提供一个代理,并由代理对象控制对原对象的引用。   代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象。这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能。   这里使用到编程中的...

2019-04-18 21:47:04 196 0

原创 Java常见面试题汇总-----------Java多线程(Java进程与线程基础)

34、进程与线程的区别   (1)进程概念   进程是表示资源分配的基本单位。 例如,用户运行自己的程序,系统就创建一个进程,并为它分配资源,包括各种表格、内存空间、磁盘空间、I/O设备等。然后,把该进程放入进程的就绪队列。进程调度程序选中它,为它分配CPU以及其它有关资源,该进程才真正运行。所以...

2019-04-18 15:23:08 144 0

原创 Java常见面试题汇总-----------JVM专题(JVM编译器优化、JVM逃逸分析)

32、JVM编译器优化 32.1、JVM编译的过程   1、解析与填充符号表过程   1)、词法、语法分析   词法分析将源代码的字符流转变为标记集合,单个字符是程序编写过程的最小元素,而标记则是编译过程的最小元素,javac中由com.sun.tools.javac.parser.Scanner...

2019-04-17 21:42:30 284 0

原创 Java常见面试题汇总-----------JVM专题(Java类加载机制)

31、JVM类加载机制   虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型, 这就是虚拟机的类加载机制。   类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载(Loading)、验证(Veri...

2019-04-15 11:14:43 1679 0

原创 Java常见面试题汇总-----------JVM专题(JVM内存模型、Java内存模型)

29、JVM内存模型(区别Java内存模型)   JVM内存主要分为:程序计数器,Java虚拟机栈,本地方法栈,Java堆,方法区。   1、程序计数器: 为了线程切换能恢复到正确的执行位置,每条线程都需要一个独立的程序计数器,各条线程之间计数器互不影响,独立存储,我们称这类内存区域为“线程私有...

2019-04-14 22:21:02 2410 0

原创 Java常见面试题汇总-----------Java集合类专题

23. Java集合类的总结   1、Iterator:Collection(值)、Map(键值对);   2、Collection:Set(无序不重复)、List(有序可重复)、Queue;   3、Set:HashSet(基于HashMap实现)、LinkedHashSet(继承自Hash...

2019-04-14 21:40:23 306 0

原创 Java常见面试题汇总-----------Java基础(基本类型和包装类型、equals和hashCode、++和--、值传递和引用传递)

19. Java基本数据类型、有了基本数据类型,为什么还需要包装类型? 19.1、Java基本数据类型,数值范围   Java共有4类8种基础数据类型:byte、short、int、long、float、double、char、boolean。   1、四种整数类型(byte、short、int、...

2019-03-04 18:39:48 223 0

原创 Java常见面试题汇总-----------Java基础(NIO与IO的区别)

18. NIO与IO的区别   NIO即New IO,这个库是在JDK1.4中才引入的。NIO和IO有相同的作用和目的,但实现方式不同,NIO主要用到的是块,所以NIO的效率要比IO高很多。在Java API中提供了两套NIO,一套是针对标准输入输出NIO,另一套就是网络编程NIO。   NIO和...

2019-03-03 21:55:34 5628 1

原创 Java常见面试题汇总-----------Java基础(String和StringBuffer、StringBulider)

17. String与StringBuffer、StringBulider区别 17.1、可变与不可变   在java中提供三个类String、StringBuillder、StringBuffer来表示和操作字符串。字符串就是多个字符的集合。   String是内容不可变的字符串。String底...

2019-03-02 13:54:07 139 0

原创 Java常见面试题汇总-----------Java基础(排序算法、反射机制、异常处理机制)

14. 排序算法总结   冒泡排序:依次比较相邻元素的排序码,若发现逆序则交换。 可以设置一个变量记录,每轮比较的时候是否有元素交换,若没有则已经有序,没有必要再继续了。(对于原本有序的数组比较好,可由平方阶时间复杂度提升至线性阶)。如果两个元素相等,无需改变他们的位置,因此冒泡排序是稳定的。  ...

2019-03-01 15:15:22 349 0

原创 Java常见面试题汇总-----------Java基础(Final、Static、This和Super)

11. Final关键字   1、final修饰类:当用final修饰一个类时,表明这个类不能被继承。 也就是说,如果一个类你永远不会让他被继承,就可以用final进行修饰。final类中的成员变量可以根据需要设为final,但是要注意final类中的所有成员方法都会被隐式地指定为final方法。...

2019-02-28 15:18:06 280 0

原创 Java常见面试题汇总-----------Java基础(抽象类和接口、构造方法、内部类、枚举类)

7. 抽象类和接口的比较   1、什么是抽象类? 就是对类更高的抽象。抽象类作为多个子类的共同父类。它所体现的是一种模版设计,抽象类作为多个子类的父类,可以把它理解为系统实现过程中的中间产品,这个中间产品已经实现了系统的部分功能,但是不能当成最终产品,还需要进一步的完善。   当父类的一些方法不能...

2019-02-27 13:49:07 142 0

原创 面向对象编程设计模式------工厂模式(简单工厂、工厂方法、抽象工厂)

1、简单工厂模式   简单工厂模式又叫静态工厂方法模式(Static Factory Method Pattern),是通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。   一个简单的实例:要求实现一个计算机控制台程序,要求输入数的运算结果。最原始的解决方法如下: /*...

2019-02-26 16:51:54 269 0

原创 Java常见面试题汇总-----------Java基础(跨平台、面向对象、重载和覆盖、访问修饰符)

1. Java环境配置   安装完JDK后配置环境变量:计算机→属性→高级系统设置→高级→环境变量。   1、系统变量→新建 JAVA_HOME 变量。变量值填写jdk的安装目录(本人是 D:\Program Java\jdk1.8.0_60);   2、系统变量→寻找 Path 变量→编辑,在变...

2019-02-24 15:08:20 130 0

原创 Java图形界面编程

一、Java图形用户界面(gui)介绍 1、Java GUI简介   图形用户界面(Graphics User Interface,GUI)是用户与程序交互的窗口,比命令行的界面更加直观并且更好操作。   Sun已经提供了一个跨平台GUI开发工具包AWT抽象窗口工具箱(Abstract Wind...

2019-02-23 22:23:45 9792 0

原创 JSON快速入门(Java版)

一、JSON简介 1、什么是JSON   JSON是行业使用广泛的一种数据格式。   JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。简单地说,JSON可以将 JavaScript 对象中表示的一组数据转换为字符串,然后就可以在函数之间轻松地传递这个字符...

2019-02-20 09:59:41 186 0

原创 软件项目管理工具Maven

一、Maven简介及环境搭建 1、Maven简介   Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的搭建、报告和文档的软件项目管理工具。   POM是项目对象模型(Project Object Model)的简称,它是Maven项目中的文件,使用XML表示,名称叫做po...

2019-02-04 00:24:26 169 0

原创 全面解析Java注解(Annotation)

一、概念   Annotation(注解)就是Java提供了一种源程序中的元素关联任何信息和任何元数据(metadata)的途径和方法。   定义:注解(Annotation),也叫元数据,是一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在...

2019-02-03 23:26:30 106 0

原创 Java深入解析(一些问题)

1. Java标识符   1、标识符由字母、数字、货币符号(¥、$等)、连接符号(_等)组成。(这里的字母为Unicode字符集,而不再局限于传统的26个英文字母。)   2、标识符的首字符可以是字母、货币符号与连接符号,但不能是数字。   3、标识符不能与Java中的关键字相同。   4、标识符...

2019-01-15 21:07:04 118 0

原创 数据结构之树(基本概念与二叉树的遍历)

一、树的基本概念(一)基本概念        1、定义:树(Tree)是n(n≥0)个结点的有限集。n=0时称为空树。在任意一棵非空树中:(1)有且仅有一个特定的称为根(Root)的结点;(2)当n>1时,其余结点可分为m(m>0)个互不相交的有限集T1、T2、……、Tm,其中每一个集合本身又是一...

2018-06-14 10:47:58 389 1

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