- 博客(259)
- 收藏
- 关注
原创 Java面试题
1.什么是事务,如何加入事务事务就是把一堆事情绑在一起做,都成功了才算完成,否则就恢复之前的样子举个例子:在银行ATM取钱,扣款成功后突然停电了,吐钱的操作还没有做,这时候就要恢复到没取钱时候的状态,否则扣钱了顾客却没有拿到钱使用:Spring中提供了事务管理器,需要在Spring中配置事务管理,2.SQL语句中left join、inner join、righ...
2020-04-06 10:06:28
384
原创 IDEA中debug启动不了,一直卡在启动那里
这个问题很简单,启动不了是因为你打了断点,所以它会一直卡在那里解决方法: CTRL+SHIFT+F8清楚所有断点,然后再重新debug启动就可以了
2019-09-24 09:24:58
2447
原创 Dubbo之API配置
1.代码实现既然是通过API配置实现的,那么就是要创建纯Java项目或者Maven项目,我这里以Maven项目为例(1).首先下载dubbo和zookeeper相关的的jar包<dependencies> <dependency> <groupId>com.alibaba</groupId> <artifactId...
2019-07-11 09:51:37
408
原创 Ajax插件mockjax模拟json数据
大家开发前端页面的时候,特别是前后端分离之后,经常会遇见在进行前端开发时,后端接口还没有开发好,这时候要求我们进行测试,没有接口就请求不到数据,如何测试呢?这时候就可以用到模拟数据的Ajax插件mockjax,下面就通过代码说一下mockjax首先我们看一段Ajax的代码:$.ajax({ url: "http://localhost:8764/bpm", ...
2019-05-30 10:32:12
627
原创 SpringCloud之注册中心Eureka
1.创建服务注册中心(Eureka Server)首先在IDEA中创建一个SpringBoot项目一直Next之后,进行到下面这张图时按照图片上的进行选择这里选择Eureka Server可以直接在项目的pom文件中加入Eureka的jar包然后想要启动一个注册中心只要在application.properties中进行端口等的配置server.port=8761e...
2019-05-17 10:18:18
203
原创 使用Git将本地项目上传到GitHub上
前提:此时你已经有了自己的GitHub账户和Git,并且本地Git和远程GitHub已经关联起来了在本地创建一个空的文件夹,将你的项目放到这个文件夹里面,然后打开git依次输入以下命令touch README.mdgit initgit add .git commit -m "注释"git remote add origin github仓库地址(origin是别名)g...
2019-05-16 15:01:04
185
原创 使用SpringBoot+Swagger编写API接口
开发环境:IDEASpringBootSwaggerMaven首先我们要使用IDEA创建一个SpringBoot的项目,如果IDEA中没有安装SpringBoot插件的话,先在Setting---》Plugins中搜索Spring Assistant并下载安装然后就可以创建SpringBoot项目了创建SpringBoot项目比较简单,接口编写也比较简单,这里先放一...
2019-05-16 10:13:49
431
原创 Java面试题之SSM框架二
1.SpringMVC的工作流程SpringMVC是一种基于Spring实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,使用了MVC架构模式的思想工作流程:1.用户将请求发送给前端控制器2.前端控制器收到请求调用处理器映射器3.处理器映射器根据请求url找到具体的处理器,生成处理器对象和处理器拦截器,将其返回给前端控制器4.前端控制器通过处理器适配器调用处理器...
2019-04-16 13:12:00
286
1
原创 面试题:你分析过线程池源码吗?
1.为什么要用线程池?降低系统资源消耗提高线程可控性2.如何创建线程池?JDK8中提供了5种创建线程池的方法(1). newFixThreadPool创建固定大小的线程池,可控制线程最大并发数,超过的线程会在队列中等待public static ExecutorService newFixedThreadPool(int nThreads) { return ...
2019-04-15 15:12:15
209
原创 Java面试题之反射
1.什么是反射在运行状态中,对于任何一个类,都能够知道这个类的所有属性和方法,对于任何一个对象,都能够调用它的任意一个方法和属性,这种动态获取的信息以及动态调用对象的方法的功能称为Java语言的反射机制2.反射的作用动态的创建类的实例,将类绑定到现有的对象中,或者从现有的对象中获取类型应用程序需要在运行时从某个特定的程序集中载入一个特定的类3.反射创建类实例的三种方式以类A...
2019-04-01 16:08:50
329
原创 Java面试题之设计模式
单例模式:定义:确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例简单来说就是这个类只能有一个实例,必须自己创建自己的唯一实例,必须给其它所有对象提供这一实例适用场景:在一个系统内,要求一个类有且仅有一个对象优点:减少了内存,避免了对资源的多重占用,对于创建比较繁琐的对象,只生成一个实例,减少了系统的性能开销缺点:单例模式一般没有接口,扩展困难...
2019-04-01 14:15:13
938
原创 Java面试题之网络
1.OSI的七层协议从上往下依次是:应用层:应用层的任务是通过应用进程间的交互来完成特定网络应用。应用层协议定义的是应用进程间通信和交互的规则,我们把应用层交互的数据单元称为报文,应用层协议如:域名系统DNS,支持万维网应用的HTTP协议,支持电子邮件的SMTP协议表示层:提供各种用于应用层数据的编码和转换功能,确保一个系统的应用层发送的数据能被另一个系统的应用层识别。数据压缩...
2019-03-25 20:58:35
504
原创 HTTP中GET和POST的区别
当你使用Java进行Web开发时,肯定写过很多个GET和POST请求它们的区别:GET在浏览器回退时是无害的,而POST会再次提交请求GET的所有参数全部包装在URL中,明文显示,并且服务器的访问日志会记录,非常不安全,POST的URL中只有资源路径,不包含参数,参数封装在二进制的数据体中,服务器不会记录参数,相对安全GET请求会被浏览器主动缓存,POST不会,除非手动设置GE...
2019-03-25 20:40:21
205
原创 http中的状态码
100:继续,客户端应继续其请求101:切换协议,服务器根据客户端的请求切换协议,只能切换到更高级的协议200:请求成功,一般用于GET与POST的请求201:已创建,成功请求并创建了新的资源202:已接受,已经接受请求,但未处理完成203:非授权信息,请求成功,但返回的meta信息不在原始的服务器,而是一个副本204:无内容,服务器处理成功,但未返回内容,在未更新网页的情...
2019-03-25 16:06:34
226
原创 Mysql数据库中的存储引擎
1.什么是存储引擎Mysql中的数据用各种不同的技术存储在文件或者内存中,每一种技术都使用不同的存储机制、索引技巧、锁定水平,并且最终提供广泛的不同的功能和能力,这些不同的技术以及配套的相关功能在Mysql中被称为存储引擎,我们可以根据对数据处理的需求,选择不同的存储引擎2.常用的存储引擎MyISAM存储引擎:MyISAM存储引擎基于ISAM存储引擎,并对其进行了扩展,它是在web...
2019-03-25 15:02:41
295
原创 Java面试题之数据库
1.索引 Mysql数据库中的索引2.存储引擎 Mysql数据库中的存储引擎3.事务事务:事务是指逻辑上的一组操作,要么全部成功,要么全部失败Mysql事务主要用来处理操作量大,复杂度高的数据。比如,在人员管理系统中,你删除一个人员,你既需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等,这些数据库操作语句就...
2019-03-24 16:56:25
788
原创 Mysql数据库中的索引
1.什么是索引索引是对数据库表中的一列或者多列的值进行排序的一种数据结构,如果把数据库中的表比作一本书,索引就是这本书的目录,通过目录可以快速查找到书中指定内容的位置索引也是一张表,该表中存储着索引的值和这个值的数据所在行的物理地址,使用索引后可以不用扫描全表来定位某行的数据,而是通过索引表来找到该行数据对应的物理地址2.索引的优缺点优点:建立索引的列可以保证行的唯一性,生成唯...
2019-03-24 15:34:24
13089
原创 Java中的类加载过程
1.类加载机制虚拟机把描述类的数据从class文件加载到内存,并对数据进行校验、转换、解析、初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制Java是使用双亲委派模型来进行类加载的,这样能够有效确保一个类的全局唯一性,当程序中出现多个限定名相同的类时,类加载器在执行加载时,始终只会加载其中的某一个类双亲委派模型工作过程可以参考我的博文: ...
2019-03-23 11:05:32
375
原创 JVM中的垃圾收集器
1.Serial收集器Serial收集器是单线程的收集器,它在进行垃圾收集时,必须暂停其他所有的工作线程,直到它收集完成Serial收集器是虚拟机运行在Client模式下的默认新生代垃圾收集器适用于单CPU,新生代空间较小以及对暂停时间要求不高的应用2.ParNew收集器ParNew收集器是Serial收集器的多线程版本,除了使用多线程进行垃圾回收之外,其他行为包括Serial...
2019-03-23 10:15:24
338
原创 Java中的HashMap
HashMap是一个用来存储Key-Value键值对的集合,每一个键值对叫做Entry,这些键值对分散存储在一个数组中,每个数组空间都存储一个链表结构,每一个链表节点都是一个Node对象,里面包含了key、value、next、hashHashMap数组每一个元素的初始值都是NullPut方法的实现原理:1).执行putVal方法,判断table(哈希表的链接数组,对应桶的下标,桶,...
2019-03-22 16:09:22
176
原创 Java面试题之多线程
1.进程间的通信方式无名管道通信:管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用,进程间的亲缘关系通常是指父子进程高级管道通信:将另一个程序当作一个新的进程在当前程序进程中启动,那么它算是当前进程的子进程,这种方式我们称为高级管道方式有名管道通信:有名管道通信也是半双工的通信方式,但是它允许在无亲缘关系的进程间使用消息队列通信:消息队列是消息的链表...
2019-03-18 20:23:49
1432
原创 如何处理死锁
目前处理死锁的方法可归结为四种:预防死锁避免死锁检测死锁解除死锁1.预防死锁预防死锁的方法是通过破坏产生死锁的四个必要条件中的一个或几个,避免发生死锁由于互斥条件是非共享设备所必须的,不仅不能改变,还应加以保证 1).破坏请求和保持条件为了能破坏请求和保持条件,系统必须保证做到:当一个进程在请求资源时,它不能持有不可抢占资源可以通过下面两个协议实现:...
2019-03-18 20:07:05
7108
原创 Java面试题之JVM
1.Java内存区域:Java虚拟机在运行程序时会把其自动管理的内存划分为方法区、堆、程序计数器、虚拟机栈、本地方法栈,其中方法区和堆属于线程共享的数据区域,而程序计数器、虚拟机栈、本地方法栈属于线程私有的数据区域方法区 (Method Area):方法区属于线程共享的内存区域,又称Non-Heap(非堆),主要用于存储已被虚拟机加载的类信息、常量、静态变量、即时编译器、编译后的代码等...
2019-03-15 20:04:49
729
原创 从尾到头打印链表
题目描述:输入一个链表,按链表值从尾到头的顺序返回一个ArrayList思路:方法一:可以采用栈的先进后出实现代码:import java.util.ArrayList;import java.util.Stack;public class test031 { public static class ListNode { int val...
2019-03-13 17:19:18
127
原创 几大常用的排序算法一
1.桶排序桶排序很简单,假如现在有10个数,需要对它们进行排序,首先我们就创建一个大小为10的数组来代表10个桶,然后将这10个数遍历一遍,这个数是几就放入第几个桶中,最后将所有桶遍历一遍,将桶中的数输出即可下面来一个实例,第一行输入要排序的数的个数,第二行输入具体的数值,最后输出排序过后的数具体代码如下:#include<bits/stdc++.h>using n...
2019-03-08 17:14:48
172
原创 递归函数
递归函数简言之就是自己调用自己的函数下面是一个简单的递归函数:int f(int n) { if(n<=3) return 1; else return f(n-2)+f(n-6)+1;}那么请计算f(f(9))调用了多少次递归函数首先计算里面的f(9)调用了多少次递归函数f(9)=f(7)+f(3)+1f(7)=f(5)+f(1)+1f(5)...
2019-03-08 10:07:19
694
原创 Java基础面试题—集合框架篇二
11.ArrayList和LinkedList的比较(1)ArrayList是实现了基于动态数组的数据结构,因为地址连续,一旦数据存储好了,查询操作效率会比较高(在内存里是连着放的)(2)因为地址连续,ArrayList要移动数据,所以插入和删除操作效率比较低(3)LinkedList是基于链表的数据结构,地址是任意的,所以在开辟内存空间的时候不需要等一个连续的地址,对于新增和删除操作...
2019-03-04 16:41:23
172
原创 Java基础面试题—集合框架篇一
1.Java集合框架是什么?说出一些集合框架的优点每种编程语言中都有集合,最初的Java版本包含几种集合类:Vector、Stack、HashTable和Array。随着集合的广泛使用,Java1.2提出了囊括所有集合接口、实现和算法的集合框架。在保证线程安全的情况下使用泛型和并发集合类,Java已经经历了很久。它还包括在Java并发包中,阻塞接口以及它们的实现。集合框架的部分优点如下:(...
2019-03-03 21:06:29
1484
原创 Java面试题之SSM框架一
1.不同版本的Spring有哪些主要功能?版本 特征 Spring2.5 发布于2007年,这是第一个支持注解的版本 Spring3.0 发布于2009年,完全利用了Java5中的改进,并为JEE6提供了改进 Spring4.0 发布于2013年,这是第一个完全支持JAVA8的版本 2.什么是Spring?Spring是一个Java企业级应用的开源开...
2019-03-03 16:51:11
214
原创 Spring IOC/DI、AOP介绍
1.Spring IOCIOC(Inversion of Control):控制反转,IOC是一种面向对象的设计思想,可以减低代码间的耦合度,其中最常见的方式叫做依赖注入(DI)。IOC意味着将你设计好的对象交给容器控制,而不是传统的在你对象内部控制控制反转三个问题: 1.谁控制谁 2.控制了什么 ...
2019-03-03 09:33:20
281
原创 Java基础面试题之多线程一
1.什么是线程?线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。程序员可以通过它进行多处理器编程,你可以使用多线程对运算密集型任务提速。比如,如果一个线程完成一个任务要100毫秒,那么用十个线程完成改任务只需10毫秒2.什么是线程安全?Vector是一个线程安全类吗?如果你的代码所在的进程中有多个线程在同时运行,而这些线程可能会同时运行这段代码,如...
2019-03-02 14:41:15
541
原创 Java中创建线程的四种方法
1.继承Thread类创建线程类 (1).定义Thread类的子类,并重写该类的run方法,该run方法的方法体就是线程要完成的任务,因此把run()方法称为执行体 (2).创建Thread子类的实例,就是创建了线程对象 (3).调用线程对象的start()方法来启动该线程具体代码:package com.thread; public class Fir...
2019-03-01 16:50:30
614
原创 进程与线程
1.什么是进程和线程进程,是并发执行的程序在执行过程中分配和管理资源的基本单位,是一个动态概念,竟争计算机系统资源的基本单位。每一个进程都有一个自己的地址空 间,即进程空间或(虚空间)。进程空间的大小 只与处理机的位数有关,一个 16 位长处理机的进程空间大小为 216 ,而 32 位处理机的进程空间大小为 232 。进程至少有 5 种基本状态,它们是:初始态,执行态,等待状态,就绪状态,终止...
2019-03-01 16:27:19
274
原创 Java基础面试题—语法篇二
1.一个".java"源文件中是否可以有多个类(不是内部类)?有什么限制?可以有多个类,但是只能有一个public类,并且public类的类名必须与文件名一致2.Java有没有goto?Java中的保留字,现在没有在Java中使用3.Java中&和&&的区别在Java中&和&&都表示逻辑与的运算符,当运算符两边的表达式都为true...
2019-02-26 19:43:38
187
原创 Java基础面试题—语法篇一
1.Java中的重载与重写有什么区别方法重载:在一个类中有多个同名方法,但是参数个数或者类型不相同,调用时通过传递给他们不同的参数个数和类型来决定使用哪个方法,重载的时候方法名要一样,参数个数和类型不一样,返回值类型可以一样也可以不一样,不能以返回值类型作为重载函数的区分标准重载是为了让类以统一的方式处理不同类型数据的一种手段,是一个类中多态性的一种表现重写:父类与子类间的多态性,是对...
2019-02-25 19:12:09
234
1
原创 删除重复字符
来源:牛客网2018校招真题题目描述:牛牛有一个由小写字母组成的字符串s,在s中可能有一些字母重复出现。比如在"banana"中,字母'a'和字母'n'分别出现了三次和两次。但是牛牛不喜欢重复。对于同一个字母,他只想保留第一次出现并删除掉后面出现的字母。请帮助牛牛完成对s的操作。输入描述:输入包括一个字符串s,s的长度length(1 ≤ length ≤ 1000),s中...
2019-02-12 10:29:18
975
原创 字符串价值
来源:牛客网2018校招真题题目描述:有一种有趣的字符串价值计算方式:统计字符串中每种字符出现的次数,然后求所有字符次数的平方和作为字符串的价值例如: 字符串"abacaba",里面包括4个'a',2个'b',1个'c',于是这个字符串的价值为4 * 4 + 2 * 2 + 1 * 1 = 21牛牛有一个字符串s,并且允许你从s中移除最多k个字符,你的目标是让得到的字符串的价值最小...
2019-02-12 10:22:22
535
原创 彩色的砖块
来源:牛客网2018校招真题题目描述:小易有一些彩色的砖块。每种颜色由一个大写字母表示。各个颜色砖块看起来都完全一样。现在有一个给定的字符串s,s中每个字符代表小易的某个砖块的颜色。小易想把他所有的砖块排成一行。如果最多存在一对不同颜色的相邻砖块,那么这行砖块就很漂亮的。请你帮助小易计算有多少种方式将他所有砖块排成漂亮的一行。(如果两种方式所对应的砖块颜色序列是相同的,那么认为这两种方...
2019-01-22 10:45:37
396
原创 数字游戏
来源:牛客网2018校招真题题目描述:牛牛举办了一场数字游戏,有n个玩家参加这个游戏,游戏开始每个玩家选定一个数,然后将这个数写在纸上(十进制数,无前缀零),然后接下来对于每一个数字将其数位按照非递减顺序排列,得到新的数,新数的前缀零将被忽略。得到最大数字的玩家赢得这个游戏。输入描述:输入包括两行,第一行包括一个整数n(1 ≤ n ≤ 50),即玩家的人数第二行n个整数x[...
2019-01-22 10:34:44
256
原创 交错01串
来源:牛客网2018校招真题题目描述:如果一个01串任意两个相邻位置的字符都是不一样的,我们就叫这个01串为交错01串。例如: "1","10101","0101010"都是交错01串。小易现在有一个01串s,小易想找出一个最长的连续子串,并且这个子串是一个交错01串。小易需要你帮帮忙求出最长的这样的子串的长度是多少。输入描述:输入包括字符串s,s的长度length(1 ≤...
2019-01-22 10:24:43
305
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人