自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java常见面试题

这份面试题包含了十九个模块:Java 基础、容器、多线程、反射、对象拷贝、Java Web 模块、异常、网络、设计模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hibernate、Mybatis、RabbitMQ、Kafka、Zookeeper、MySql、Redis、JVM 。如下图所示:具体面试题Java 基础1....

2019-04-10 15:47:21 162

原创 nvm,nrm,npm的一些常用命令

nrm是一个npm源管理工具,使用它可以快速切换npm源。安装命令:npm install -g nrm检查安装:nrm -V查看npm所有源:nrm ls切换源:nrm use [registry]测试源:nrm test [registry]nvm全名node.js version management,顾名思义是一个nodejs的版本管理工具。通过它可以安装和切换不同版本的nodejsnvm查看本地安装的所有版本;有可选参...

2020-05-28 08:40:05 421

原创 java面试题答案——Spring Boot/Spring Cloud

Spring Boot/Spring Cloud104. 什么是 Spring Boot?Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application ...

2020-01-09 14:12:21 729

原创 在IDEA中配置Tomcat,并启动web项目

1、首先创建web:2、创建Artifact:(输出的目录在target下)3、配置Tomcat:4、项目启动成功后生成文件

2019-12-06 17:16:05 636

原创 Oracle——替换第N个匹配的字符串

REPLACE只能替换全部匹配的字符串;REGEXP_REPLACE可以替换第N个匹配的字符串REPLACE('原始字符串', '被替换的字符串', '替换的字符串')REGEXP_REPLACE('原始字符串', '被替换的字符串', '替换的字符串',1,N) //N 表示第几个匹配的字符串...

2019-09-16 11:02:34 1710

原创 解决:vue项目中模态框显示中按手机返回键(或者浏览器回退键)灰屏的问题

问题截图:解决办法:1、进入页面后获取当前的urlcreated() { this.firstUrl = window.location.href},打开模态框handleRowClick(){ $("#motaikuang").modal('show'); //模态框显示之后增加一个历史记录 window.h...

2019-09-05 17:28:56 625

原创 Oracle分组后拼接列数据

原始数据:ID NAME102010004 xion102010004 lb_s102010002 ganh102010004 luor102010001 wang102010007 wuhs102010001 yanl102010001 chen102010001 tanb102010002 chen10...

2019-08-28 11:03:33 1263

原创 vue-easytable的使用

http://doc.huangsw.com/vue-easytable/app.html#/install

2019-07-01 15:39:19 1570

原创 在cmd中打包为jar包

首先,测试一下jar命令能否成功运行:在命令行中输入java,java -version都会成功显示,但是输入javac,jar 显示不是可运行的程序这时候,需要查看一下安装的jdk的bin目录下有没有javac.exe 和jar.exe发现二者都有,再查看配置的环境变量path:没错,是我环境变量配置错了,以上是修改过的。再次运行javac,jar,成功显示...

2019-06-21 10:47:02 3871

原创 java面试题答案——MySQL

MySQL164. 数据库的三范式是什么? 第一范式:表中的每个字段都不可分,具有原子性。 第二范式:满足第一范式,每个表只能表示一个事物,具有唯一性,所有的非主属性完全依赖每个主属性。 第三范式:满足第一范式,每个非主属性要直接依赖于主属性,不能传递依赖,每个非主属性之间没有依赖关系。 参考:https://www.cnblogs.com/hezhi...

2019-05-31 17:18:45 2119

转载 Spring事务隔离和数据库事务隔离的关系

spring事务:spring事务本质上使用数据库事务,而数据库事务本质上使用数据库锁,所以spring事务本质上使用数据库锁,开启spring事务意味着使用数据库锁;那么事务的隔离级别与锁有什么关系呢?本人认为事务的隔离级别是通过锁的机制实现的,事务的隔离级别是数据库开发商根据业务逻辑的实际需要定义的一组锁的使用策略。当我们将数据库的隔离级别定义为某一级别后如仍不能满足要求,我们可以自定...

2019-05-31 15:21:39 553

原创 java面试题答案——网络

网络79. HTTP 响应码 301 和 302 代表的是什么?有什么区别?80. forward 和 redirect 的区别?81. 简述 TCP 和 UDP 的区别? 参考:https://blog.youkuaiyun.com/weixin_43748216/article/details/89174582 82.TCP为什么要三次握手,两次不行吗?为什么? ...

2019-05-23 10:43:41 285

原创 HTTP请求的两种方式:GET和POST

GET和POST的一般区别:get 在浏览器回退时是无害的,post会再次发送请求。 get 的URL地址会被BookMark,post不会 get 的参数放在URL上,post的参数放在request body中 对于参数的数据类型,get 只支持ACSII字符,post没有限制 post 要比 get更安全,因为get 的参数暴露在URL上,不能传递敏感信息 get 请求会被浏...

2019-05-21 14:25:56 640

原创 解决:移动端横屏旋转页面放大

对于可以缩放的页面,旋转屏幕页面重新渲染后,会出现 initial-scale != 1 的情况,可监听页面的orientationchange事件,动态的给meta标签重新赋值达到效果:window.addEventListener( "onorientationchange" in window ? "orientationchange" : "resize", func...

2019-05-20 16:33:56 2207

原创 java面试题答案——Spring/Spring MVC

Spring/Spring MVC90. 为什么要使用 Spring? ●方便解耦,简化开发(低内聚高耦合) spring是一个大工厂(容器),可以将对象的创建和依赖关系的维护,都交给spring来管理; spring是用于生成Bean ●AOP编程的支持 spring提供面向切面编程,可以对程序进行权限拦截、运行监控等等。 ●声明式事务的支持...

2019-05-10 15:21:53 286

原创 Spring自动装配Bean——xml方式与注解方式

自动装配的概念在Spring使用中,我们在xml配置文件通过元素或元素的ref属性向bean注入另外的依赖bean。如果使用自动装配(autowiring) ,就可以减少甚至消除配置元素和元素。设置元素的autowire属性就可以设定bean的自动装配模式。自动装配有5种模式。注意:自动装配功能和手动装配要是同时使用,那么自动装配就不起作用。一、在xml中使用自动装配1、by...

2019-05-10 14:44:59 544

原创 Spring依赖注入的方式

在Spring容器中为一个bean配置依赖注入有三种方式:· 使用属性的setter方法注入 ;· 使用构造器注入;· 使用Filed注入(用于注解方式).一、使用属性的setter方法注入首先要配置被注入的bean,在该bean对应的类中,应该有要注入的对象属性或者基本数据类型的属性。例如:在JuiceMaker中注入Source类:Source:publ...

2019-05-09 14:47:55 161

转载 HashSet的实现原理

转载自:https://www.cnblogs.com/skillking/p/7250606.html1. HashSet概述:HashSet实现Set接口,由哈希表(实际上是一个HashMap实例)支持。它不保证set的迭代顺序;特别是它不保证该顺序恒久不变。此类允许使用null元素。2. HashSet的实现:对于HashSet而言,它是基于Hash...

2019-04-28 15:15:46 129

转载 详解hashmap 的原理

HashMap的工作原理是近年来常见的Java面试题。几乎每个Java程序员都知道HashMap,都知道哪里要用HashMap,知道HashTable和HashMap之间的区别,那么为何这道面试题如此特殊呢?是因为这道题考察的深度很深。这题经常出现在高级或中高级面试中。投资银行更喜欢问这个问题,甚至会要求你实现HashMap来考察你的编程能力。ConcurrentHashMap和其它同步集合的引入...

2019-04-26 10:06:15 231

原创 java面试题答案——容器

容器18. Java 容器都有哪些? 容器分类图: |Collection接口 |  ├List接口 |  │-├LinkedList类 |  │-├ArrayList类 |  │-└Vector类 |  │ └Stack类 |  │ |  ├Set接口 |  │├HashSet类 |  │├Linke...

2019-04-25 17:15:47 167

原创 java面试题答案——java基础

Java 基础1. JDK 和 JRE 有什么区别? JDK(Java Development Kit):Java开发工具包,是整个java的核心,它包含了jre,java工具(java,javac,jdb等)和java基础类库。它面向开发人员。 JRE(Java Runtime Environment):java运行环境,包含了jvm,java核心类库。它面向程序使用者,它不...

2019-04-24 16:46:44 209

原创 java面试题答案——多线程

多线程35. 并行和并发有什么区别? 并发:具有处理多个任务的能力,不一定要同时。一个CPU上在同一个时间段上运行多个程序,CPU要在多个程序之间来回切换。 并行:具有同时处理多个任务的能力。每个CPU都运行一个程序,多个事件在同一个时间点上同时执行。36. 线程和进程的区别? 进程是拥有资源的单位,进程创建后,系统会为其分配一定的内存空间。 线程是能够独立...

2019-04-23 16:33:24 119

原创 java实现服务器启动时,自动启动定时器

DataMoveTask类实现定时任务:该项目是基于Spring-boot构建的,添加此注解@Component 能够保证在服务器启动的时候运行该类。无需设置web.xmlimport org.springframework.stereotype.Component;import javax.servlet.ServletContextEvent;import javax.ser...

2019-04-18 14:17:57 3093

原创 Timer定时器中的service不能用的解决办法

问题:service在平常的controller中可以用,但是在定时器的run方法中不能用。原因:定时器继承了TimerTask之后,在定时器调用此方法后会直接执行execute方法,来不及执行@Autowired标注进行注入。引入ApplicationContextUtil的工具类:import org.springframework.beans.BeansException;...

2019-04-18 10:32:31 1052

原创 一些专业术语解释

node.js:是基于Chrome V8引擎的一个服务器端的JavaScript运行环境,它使用了事件驱动,非阻塞I/O的模型,使其轻量又高效。node.js中包含着npm,安装好node.js即npm安装好。npm:(全称 Node Package Manager),是node.js的包管理器,可以利用npm install来安装一些npm官网的包,npm会根据依赖关系下载包的所有依赖包。...

2019-04-15 14:55:50 442

原创 IDEA使用方法

第一步:导入maven项目第二步:运行参数配置:点击下图的左上角的+,选择maven,即出现下图第一栏——Parameters,Working directory 会自动生成;Command line 写入运行命令;第二栏——General,idea有自带的maven,用自带的maven即可,也可以使用自己下载的maven。maven仓库使用默认的C盘下...

2019-04-12 10:13:12 190

原创 Intellij IDEA安装过程

第一步:idea官网下载:https://www.jetbrains.com/idea/download/#section=windows左侧为旗舰版,右侧社区版,一般下载旗舰版,exe文件:需要在线安装zip文件:离线包,无需安装,解压即可第二步:安装第三步:激活三种激活方式,在这里选择Activation code,① 下载破解补丁JetbrainsCrac...

2019-04-12 09:55:27 1234

原创 mina笔记

Apache Mina Server 是一个网络通信应用框架,也就是说,它主要是对基于TCP/IP、UDP/IP协议栈的通信框架(当然,也可以提供JAVA 对象的序列化服务、虚拟机管道通信服务等),Mina 可以帮助我们快速开发高性能、高扩展性的网络通信应用,Mina 提供了事件驱动、异步(Mina 的异步IO 默认使用的是JAVA NIO 作为底层支持)操作的编程模型。Mina 同时提供了网络通...

2019-04-10 14:50:43 203

原创 网络编程,TCP和UDP,TCP三次握手,四次分手

TCP和UDP的区别TCP UDP 提供面向连接的传输,通信前客户端和服务器之间必须建立TCP连接(三次握手机制) UDP提供的是无连接的传输,通信之前双方不必建立连接 提供可靠性传输,超时重发,丢弃重复数据,检验数据,保证数据能够从一端传输到另一端(不丢包,不重复,有序,无错) 提供不可靠的传输,它只是把应用程序传给IP层的数据报发送出去,不能保证一...

2019-04-10 10:15:47 378

原创 JAVA NIO和JAVA IO

IO NIO 面向流 面向缓冲 阻塞io 非阻塞io 无选择器 有选择器 面向流与面向缓冲:Java IO面向流,每次从流中读取一个或者多个字节,直至所有字节被读取,他不能被缓存到任何一个地方,当然就不能移动流中的数据,如果必须要移动流数据,就需要将数据缓存到一个缓冲区中。Java NIO是面向缓冲的,每次读取的数据就会放在稍后要处理的缓冲区中,...

2019-04-09 15:05:33 137

原创 JVM

什么是JVM?JVM是java virtual machine(java虚拟机)的缩写,是一种虚构出来的计算机,它是通过在实际的计算机中模拟仿真各种真实的计算机来实现的。java语言的一个重要的特点是与平台的无关性,而java虚拟机是实现这一特点的关键。一般的高级语言如果要在不同的平台上运行,就需要编译成不同的目标代码。引入java虚拟机之后,JAVA语言在不同平台上运行不需要重新编译。ja...

2019-04-09 14:22:03 103

原创 Oracle和MySQL数据库查询条件区分大小写?

Oracle数据库:select * from mob where key_word like '%wre%'select * from mob where key_word like '%WRE%'默认区分大小写,两者查询结果不同MySQL数据库:Windows:默认不区分大小写; Linux:默认区分大小写,可以设置一个属性 lower_case_table_names =...

2019-04-09 10:48:33 611

转载 五种网络IO模型

原文地址:https://www.cnblogs.com/euphie/p/6376508.htmlPOSIX同步IO、异步IO、阻塞IO、非阻塞IO,这几个词常见于各种各样的与网络相关的文章之中,往往不同上下文中它们的意思是不一样的,以致于我在很长一段时间对此感到困惑,所以想写一篇文章整理一下。POSIX(可移植操作系统接口)把同步IO操作定义为导致进程阻塞直到IO完成的操作,反之...

2019-04-08 11:10:00 121

原创 eclipse安装svn插件

常用的方式:在线安装(1).点击Help-->Install New Software...(2)点击add,弹出的窗口输入name和location,点击OK勾选所有插件,安装即可。注:目前在线安装svn的版本只有1.6.x和1.8.x地址分别是:http://subclipse.tigris.org/update_1.6.xhttp://subclipse...

2019-04-03 09:08:55 95

原创 Vue:created和mounted的区别

created:是在模板渲染成HTML前调用的,此时data已经准备完毕,el仍是undefined,因为没有渲染成HTML,所以不能操作dom节点,它主要用来初始化一些数据;即使created中的方法没有执行完,mounted也会被调用!mounted:是在模板渲染成HTML之后调用的,此时data,el都已准备好,可以操作html的dom节点,可以通过id什么的来查找页面元素,也可以加...

2019-04-01 16:13:02 5797

原创 线程同步

同步的前提:必须有两个及以上的线程; 必须是多个线程使用同一个锁; 只能同步方法,不能同步变量和类; 必须保证同步中只有一个线程在运行; 如果一个线程获得一个对象的锁,那么其他线程不能进入该对象的类中任何的同步方法; 如果线程睡眠,不会释放锁;为什么要线程同步?因为java支持多线程并发控制,当多个线程同时操作一个共享资源变量时(对其进行增删改查操作),会导致数据不准确,相互之...

2019-03-29 11:11:07 89

原创 线程创建的三种方式

1. 继承Thread类第一步:定义一个类继承Thread类,并且重写run方法,返回值类型为void;第二步:直接创建Thread继承类对象;第三步:继承类对象调用start方法;代码举例: public static void main(String[] args) throws IOException { System.out.println("...

2019-03-28 17:28:15 108

原创 解决:钩子函数mounted中无法获取到在created钩子函数中完成赋值的全局变量,返回的都是unifined

利用setTimeout()确保dom成功渲染:created(){ user.getUser().then((user) => { this.user = user }) },mounted(){ setTimeout(()=>{ console.log("MOUNTED:"+this.user.fId) },20)}...

2019-03-28 15:01:50 3311

原创 线程的用法

一、线程的状态从创建到消亡,线程一般包含以下几种状态:创建(new),就绪(runnable),运行(running),阻塞(blocked),waiting,time_waiting,消亡(dead)。当需要新起一个线程去执行某个子任务的时候,线程被创建(new)。创建之后还需要JVM为其分配一些内存空间后,才会进入就绪状态(runnable)。线程进入就绪状态后,不一定会立刻得到C...

2019-03-14 18:19:16 1516

原创 在浏览器中点击按钮打开一个客户端

1、浏览器若为IE:function doClientStatus(requisitionNum,runNum,status){ //startMinaClient(requisitionNum,runNum,status);//向服务器传参 window.oldOnError = window.onerror; window.onerror = function (err) { ...

2019-02-22 17:17:11 3119 2

空空如也

空空如也

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

TA关注的人

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