自定义博客皮肤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面试题

1.什么是事务,如何加入事务 事务就是把一堆事情绑在一起做,都成功了才算完成,否则就恢复之前的样子 举个例子: 在银行ATM取钱,扣款成功后突然停电了,吐钱的操作还没有做,这时候就要恢复到没取钱时候的状态,否则扣钱了顾客却没有拿到钱 使用: Spring中提供了事务管理器,需要在Spri...

2020-04-06 10:06:28 102 0

原创 IDEA中debug启动不了,一直卡在启动那里

这个问题很简单,启动不了是因为你打了断点,所以它会一直卡在那里 解决方法: CTRL+SHIFT+F8清楚所有断点,然后再重新debug启动就可以了

2019-09-24 09:24:58 753 0

原创 Dubbo之API配置

1.代码实现 既然是通过API配置实现的,那么就是要创建纯Java项目或者Maven项目,我这里以Maven项目为例 (1).首先下载dubbo和zookeeper相关的的jar包 <dependencies> <dependency> <group...

2019-07-11 09:51:37 79 0

原创 Ajax插件mockjax模拟json数据

大家开发前端页面的时候,特别是前后端分离之后,经常会遇见在进行前端开发时,后端接口还没有开发好,这时候要求我们进行测试,没有接口就请求不到数据,如何测试呢? 这时候就可以用到模拟数据的Ajax插件mockjax,下面就通过代码说一下mockjax 首先我们看一段Ajax的代码: $.aja...

2019-05-30 10:32:12 147 0

原创 SpringCloud之注册中心Eureka

1.创建服务注册中心(Eureka Server) 首先在IDEA中创建一个SpringBoot项目 一直Next之后,进行到下面这张图时按照图片上的进行选择 这里选择Eureka Server可以直接在项目的pom文件中加入Eureka的jar包 然后想要启动一个注册中心只要在a...

2019-05-17 10:18:18 84 0

原创 使用Git将本地项目上传到GitHub上

前提: 此时你已经有了自己的GitHub账户和Git,并且本地Git和远程GitHub已经关联起来了 在本地创建一个空的文件夹,将你的项目放到这个文件夹里面,然后打开git 依次输入以下命令 touch README.md git init git add . git commit -m...

2019-05-16 15:01:04 66 0

原创 使用SpringBoot+Swagger编写API接口

开发环境: IDEA SpringBoot Swagger Maven 首先我们要使用IDEA创建一个SpringBoot的项目,如果IDEA中没有安装SpringBoot插件的话,先在Setting---》Plugins中搜索Spring Assistant并下载安装 然后就可以创建...

2019-05-16 10:13:49 165 0

原创 Java面试题之SSM框架二

1.SpringMVC的工作流程 SpringMVC是一种基于Spring实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,使用了MVC架构模式的思想 工作流程: 1.用户将请求发送给前端控制器 2.前端控制器收到请求调用处理器映射器 3.处理器映射器根据请求url找到具体的...

2019-04-16 13:12:00 120 1

原创 面试题:你分析过线程池源码吗?

1.为什么要用线程池? 降低系统资源消耗 提高线程可控性 2.如何创建线程池? JDK8中提供了5种创建线程池的方法 (1). newFixThreadPool 创建固定大小的线程池,可控制线程最大并发数,超过的线程会在队列中等待 public static ExecutorSer...

2019-04-15 15:12:15 74 0

原创 Java面试题之反射

1.什么是反射 在运行状态中,对于任何一个类,都能够知道这个类的所有属性和方法,对于任何一个对象,都能够调用它的任意一个方法和属性,这种动态获取的信息以及动态调用对象的方法的功能称为Java语言的反射机制 2.反射的作用 动态的创建类的实例,将类绑定到现有的对象中,或者从现有的对象中获取类型...

2019-04-01 16:08:50 115 0

原创 Java面试题之设计模式

单例模式: 定义: 确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例 简单来说就是这个类只能有一个实例,必须自己创建自己的唯一实例,必须给其它所有对象提供这一实例 适用场景: 在一个系统内,要求一个类有且仅有一个对象 优点: 减少了内存,避免了对资源的多重占用,对于创...

2019-04-01 14:15:13 610 0

原创 Java面试题之网络

1.OSI的七层协议 从上往下依次是: 应用层: 应用层的任务是通过应用进程间的交互来完成特定网络应用。应用层协议定义的是应用进程间通信和交互的规则,我们把应用层交互的数据单元称为报文,应用层协议如:域名系统DNS,支持万维网应用的HTTP协议,支持电子邮件的SMTP协议 表示层: 提供...

2019-03-25 20:58:35 76 0

原创 HTTP中GET和POST的区别

当你使用Java进行Web开发时,肯定写过很多个GET和POST请求 它们的区别: GET在浏览器回退时是无害的,而POST会再次提交请求 GET的所有参数全部包装在URL中,明文显示,并且服务器的访问日志会记录,非常不安全,POST的URL中只有资源路径,不包含参数,参数封装在二进制的数据...

2019-03-25 20:40:21 75 0

原创 http中的状态码

100:继续,客户端应继续其请求 101:切换协议,服务器根据客户端的请求切换协议,只能切换到更高级的协议 200:请求成功,一般用于GET与POST的请求 201:已创建,成功请求并创建了新的资源 202:已接受,已经接受请求,但未处理完成 203:非授权信息,请求成功,但返回的met...

2019-03-25 16:06:34 95 0

原创 Mysql数据库中的存储引擎

1.什么是存储引擎 Mysql中的数据用各种不同的技术存储在文件或者内存中,每一种技术都使用不同的存储机制、索引技巧、锁定水平,并且最终提供广泛的不同的功能和能力,这些不同的技术以及配套的相关功能在Mysql中被称为存储引擎,我们可以根据对数据处理的需求,选择不同的存储引擎 2.常用的存储引擎...

2019-03-25 15:02:41 145 0

原创 Java面试题之数据库

1.索引 Mysql数据库中的索引 2.存储引擎 Mysql数据库中的存储引擎 3.事务 事务:事务是指逻辑上的一组操作,要么全部成功,要么全部失败 Mysql事务主要用来处理操作量大,复杂度高的数据。比如,在人员管理系统中,你删除一个人员,你既需要删除人员的基...

2019-03-24 16:56:25 317 0

原创 Mysql数据库中的索引

1.什么是索引 索引是对数据库表中的一列或者多列的值进行排序的一种数据结构,如果把数据库中的表比作一本书,索引就是这本书的目录,通过目录可以快速查找到书中指定内容的位置 索引也是一张表,该表中存储着索引的值和这个值的数据所在行的物理地址,使用索引后可以不用扫描全表来定位某行的数据,而是通过索引...

2019-03-24 15:34:24 3935 0

原创 Java中的类加载过程

1.类加载机制 虚拟机把描述类的数据从class文件加载到内存,并对数据进行校验、转换、解析、初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制 Java是使用双亲委派模型来进行类加载的,这样能够有效确保一个类的全局唯一性,当程序中出现多个限定名相同的类时,类加载器在...

2019-03-23 11:05:32 166 0

原创 JVM中的垃圾收集器

1.Serial收集器 Serial收集器是单线程的收集器,它在进行垃圾收集时,必须暂停其他所有的工作线程,直到它收集完成 Serial收集器是虚拟机运行在Client模式下的默认新生代垃圾收集器 适用于单CPU,新生代空间较小以及对暂停时间要求不高的应用 2.ParNew收集器 Par...

2019-03-23 10:15:24 216 0

原创 Java中的HashMap

HashMap是一个用来存储Key-Value键值对的集合,每一个键值对叫做Entry,这些键值对分散存储在一个数组中,每个数组空间都存储一个链表结构,每一个链表节点都是一个Node对象,里面包含了key、value、next、hash HashMap数组每一个元素的初始值都是Null Put...

2019-03-22 16:09:22 63 0

原创 Java面试题之多线程

1.进程间的通信方式 无名管道通信:管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用,进程间的亲缘关系通常是指父子进程 高级管道通信:将另一个程序当作一个新的进程在当前程序进程中启动,那么它算是当前进程的子进程,这种方式我们称为高级管道方式 有名管道通信:有名...

2019-03-18 20:23:49 717 0

原创 如何处理死锁

目前处理死锁的方法可归结为四种: 预防死锁 避免死锁 检测死锁 解除死锁 1.预防死锁 预防死锁的方法是通过破坏产生死锁的四个必要条件中的一个或几个,避免发生死锁 由于互斥条件是非共享设备所必须的,不仅不能改变,还应加以保证 1).破坏请求和保持条件 为了能破坏请求和保持条件...

2019-03-18 20:07:05 1529 0

原创 Java面试题之JVM

1.Java内存区域: Java虚拟机在运行程序时会把其自动管理的内存划分为方法区、堆、程序计数器、虚拟机栈、本地方法栈,其中方法区和堆属于线程共享的数据区域,而程序计数器、虚拟机栈、本地方法栈属于线程私有的数据区域 方法区 (Method Area): 方法区属于线程共享的内存区域,又称N...

2019-03-15 20:04:49 400 0

原创 从尾到头打印链表

题目描述: 输入一个链表,按链表值从尾到头的顺序返回一个ArrayList 思路: 方法一: 可以采用栈的先进后出实现 代码: import java.util.ArrayList; import java.util.Stack; public class test031 { ...

2019-03-13 17:19:18 43 0

原创 几大常用的排序算法一

1.桶排序 桶排序很简单,假如现在有10个数,需要对它们进行排序,首先我们就创建一个大小为10的数组来代表10个桶,然后将这10个数遍历一遍,这个数是几就放入第几个桶中,最后将所有桶遍历一遍,将桶中的数输出即可 下面来一个实例,第一行输入要排序的数的个数,第二行输入具体的数值,最后输出排序过后...

2019-03-08 17:14:48 48 0

原创 递归函数

递归函数简言之就是自己调用自己的函数 下面是一个简单的递归函数: int f(int n) { if(n&lt;=3) return 1; else return f(n-2)+f(n-6)+1; } 那么请计算f(f(9))调用了多少次递归函数 首先计算里面的f...

2019-03-08 10:07:19 256 0

原创 Java基础面试题—集合框架篇二

11.ArrayList和LinkedList的比较 (1)ArrayList是实现了基于动态数组的数据结构,因为地址连续,一旦数据存储好了,查询操作效率会比较高(在内存里是连着放的) (2)因为地址连续,ArrayList要移动数据,所以插入和删除操作效率比较低 (3)LinkedList...

2019-03-04 16:41:23 79 0

原创 Java基础面试题—集合框架篇一

1.Java集合框架是什么?说出一些集合框架的优点 每种编程语言中都有集合,最初的Java版本包含几种集合类:Vector、Stack、HashTable和Array。随着集合的广泛使用,Java1.2提出了囊括所有集合接口、实现和算法的集合框架。在保证线程安全的情况下使用泛型和并发集合类,Ja...

2019-03-03 21:06:29 918 0

原创 Java面试题之SSM框架一

1.不同版本的Spring有哪些主要功能? 版本 特征 Spring2.5 发布于2007年,这是第一个支持注解的版本 Spring3.0 发布于2009年,完全利用了Java5中的改进,并为JEE6提供了改进 Spring4.0 发布于2013年,这是第一个...

2019-03-03 16:51:11 82 0

原创 Spring IOC/DI、AOP介绍

1.Spring IOC IOC(Inversion of Control):控制反转,IOC是一种面向对象的设计思想,可以减低代码间的耦合度,其中最常见的方式叫做依赖注入(DI)。IOC意味着将你设计好的对象交给容器控制,而不是传统的在你对象内部控制 控制反转三个问题: 1.谁控制谁 ...

2019-03-03 09:33:20 86 0

原创 Java基础面试题之多线程一

1.什么是线程? 线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。程序员可以通过它进行多处理器编程,你可以使用多线程对运算密集型任务提速。比如,如果一个线程完成一个任务要100毫秒,那么用十个线程完成改任务只需10毫秒 2.什么是线程安全?Vector是一...

2019-03-02 14:41:15 331 0

原创 Java中创建线程的四种方法

1.继承Thread类创建线程类 (1).定义Thread类的子类,并重写该类的run方法,该run方法的方法体就是线程要完成的任务,因此把run()方法称为执行体 (2).创建Thread子类的实例,就是创建了线程对象 (3).调用线程对象的start()方法来启动该线程 具体代码...

2019-03-01 16:50:30 255 0

原创 进程与线程

1.什么是进程和线程 进程,是并发执行的程序在执行过程中分配和管理资源的基本单位,是一个动态概念,竟争计算机系统资源的基本单位。每一个进程都有一个自己的地址空 间,即进程空间或(虚空间)。进程空间的大小 只与处理机的位数有关,一个 16 位长处理机的进程空间大小为 216 ,而 32 位处理机的...

2019-03-01 16:27:19 127 0

原创 Java基础面试题—语法篇二

1.一个".java"源文件中是否可以有多个类(不是内部类)?有什么限制? 可以有多个类,但是只能有一个public类,并且public类的类名必须与文件名一致 2.Java有没有goto? Java中的保留字,现在没有在Java中使用 3.Java中&amp;...

2019-02-26 19:43:38 88 0

原创 Java基础面试题—语法篇一

1.Java中的重载与重写有什么区别 方法重载:在一个类中有多个同名方法,但是参数个数或者类型不相同,调用时通过传递给他们不同的参数个数和类型来决定使用哪个方法,重载的时候方法名要一样,参数个数和类型不一样,返回值类型可以一样也可以不一样,不能以返回值类型作为重载函数的区分标准 重载是为了让类...

2019-02-25 19:12:09 131 1

原创 删除重复字符

来源: 牛客网2018校招真题 题目描述: 牛牛有一个由小写字母组成的字符串s,在s中可能有一些字母重复出现。比如在"banana"中,字母'a'和字母'n'分别出现了三次和两次。 但是牛牛不喜欢重复。对于同一个字母,他只想保留第一...

2019-02-12 10:29:18 409 0

原创 字符串价值

来源: 牛客网2018校招真题 题目描述: 有一种有趣的字符串价值计算方式:统计字符串中每种字符出现的次数,然后求所有字符次数的平方和作为字符串的价值 例如: 字符串"abacaba",里面包括4个'a',2个'b',1个'...

2019-02-12 10:22:22 237 0

原创 彩色的砖块

来源: 牛客网2018校招真题 题目描述: 小易有一些彩色的砖块。每种颜色由一个大写字母表示。各个颜色砖块看起来都完全一样。现在有一个给定的字符串s,s中每个字符代表小易的某个砖块的颜色。小易想把他所有的砖块排成一行。如果最多存在一对不同颜色的相邻砖块,那么这行砖块就很漂亮的。请你帮助小易计...

2019-01-22 10:45:37 168 0

原创 数字游戏

来源: 牛客网2018校招真题 题目描述: 牛牛举办了一场数字游戏,有n个玩家参加这个游戏,游戏开始每个玩家选定一个数,然后将这个数写在纸上(十进制数,无前缀零),然后接下来对于每一个数字将其数位按照非递减顺序排列,得到新的数,新数的前缀零将被忽略。得到最大数字的玩家赢得这个游戏。 输入描...

2019-01-22 10:34:44 64 0

原创 交错01串

来源: 牛客网2018校招真题 题目描述: 如果一个01串任意两个相邻位置的字符都是不一样的,我们就叫这个01串为交错01串。例如: "1","10101","0101010"都是交错01串。 小易现在有一个01串s,小易想找出一个...

2019-01-22 10:24:43 108 0

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