- 博客(78)
- 收藏
- 关注
原创 子类集成父类时,实例化子类是否会实例化父类?
今天突然遇到这个问题,在这里总结下:问题如下:子类在继承父类的情况下,实例化一个子类,是否会实例化他的父类?论证:我们知道,一个抽象类是不能实例化的,那么我们只要把父类设置为抽象类,看子类实例化的时候父类是否会报错,是不是就可以知道父类有没有被实例化呢?首先我们先写一个测试类:class Parent{ String name = "parent"; static { System.out.println("=====parent====="); } public Parent()
2020-07-09 15:41:52 1412 1
原创 linux解压时的tar -zxvf是什么意思?
linux解压时的tar -zxvf是什么意思?tar想必我们都知道就是解压缩的意思,那么tar后面跟着的zxvf又分别代表着什么呢z表示tar包是被gzip压缩过的,所以解压时需要用gunzip解压x从tar包中把文件提取出来v显示详细信息fxxx.tar.gz:指定被处理的文件是xxx.tar.gz...
2019-09-24 09:33:36 3476
原创 Linux下安装vim命令
在Linux下安装VIM的命令。yum -y install vim*想要使用yum,那么你的电脑必须要联网,这个相当于联网下载, -y是代表遇到所有问yes or no 都选yes,简写为y。install就是安装的意思。最后的vim*,*是通配符,就是下载vim下的所有。安装完成后输入vim可以看到如下:那么证明vim安装成功了。vim - 创建文件vim - 光标移动...
2019-09-23 17:09:10 8958
原创 VM启动失败:内部错误
VM虚拟机启动失败今天在VM虚拟机新建linux系统的时候,配置完iso镜像路径之后启动虚拟机报内部错误,刚刚开始以为是iso镜像内部损坏,重新下载一个后还是一样的问题,结果是服务没有打开。解决方法:1.右击我的电脑,点击管理,然后扎到服务,如下图所示:然后找到所有VM开头的服务,这些都是VM虚拟机运行时所需要的,必须全部开启,我为什么会报这个错误就是因为我的vm虚拟机服务有一些没有打...
2019-09-23 15:56:13 1242
转载 MySQL索引底层原理
索引的本质MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。提取句子主干,就可以得到索引的本质:索引是数据结构。我们知道,数据库查询是数据库的最主要功能之一。我们都希望查询数据的速度能尽可能的快,因此数据库系统的设计者会从查询算法的角度进行优化。最基本的查询算法当然是顺序查找(linear search),这种复杂度为O(n)的算法在数据量很大时显然是糟...
2019-09-02 12:21:25 225
转载 btree索引和hash索引的区别
btree索引和hash索引的区别Hash 索引结构的特殊性,其检索效率非常高,索引的检索可以一次定位,不像B-Tree 索引需要从根节点到枝节点,最后才能访问到页节点这样多次的IO访问,所以 Hash 索引的查询效率要远高于 B-Tree 索引。可能很多人又有疑问了,既然 Hash 索引的效率要比 B-Tree 高很多,为什么大家不都用 Hash 索引而还要使用 B-Tree 索引呢?任何事...
2019-09-02 11:32:10 273
转载 jsp和servlet的区别
jsp与servlet的区别与联系 </h1> <div class="clear"></div> <div class="postBody"> jsp和servlet的区别和联系:1.jsp经编译后就变成了Servlet.(JSP的本质就是Servlet,JVM只能识别java的类,不能识别JSP的代码,Web容器将J...
2019-09-02 11:08:37 369
原创 Jsp9个内置对象
request客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应。它是HttpServletRequest类的实例responseresponse对象包含了响应客户请求的有关信息,但在JSP中很少直接用到它。sessionsession对象指的是客户端和服务器的一次对话,从客户端到服务器的一个WebApplication开始,直到客户端和服...
2019-09-02 09:34:29 174
转载 Java自动装箱和自动拆箱问题
原文: https://www.cnblogs.com/wang-yaz/p/8516151.html一、什么是自动装箱拆箱 很简单,下面两句代码就可以看到装箱和拆箱过程1 //自动装箱2 Integer total = 99;3 4 //自定拆箱5 int totalprim = total; 简单一点说,装箱就是自动将基本数据类型转换为包装器类型;拆箱就是...
2019-08-31 23:39:51 179
原创 Linux安装jdk报错
在Linux中安装完成jdk以及配置完成后,在终端输入java -version 查询jdk版本时出现一下错误:经过在网上查找错误原因,最后知道是因为需要安装glibc。所以我们便来安装一下glibc。步骤如下:cd /2.输入 sudo yum install glibc.i686 让linux安装glibc。如下图所示:中间如果问你Y/N一直选Y就可以了。3.最后安装完成后...
2019-08-31 15:22:51 719
原创 Java项目运行报异:严重: Servlet.service() for servlet [e3-manager] in context with path [] threw exception [R
Java项目中运行报错,错误如下:严重: Servlet.service() for servlet [e3-manager] in context with path [] threw exception [Request processing failed; nested exception is org.apache.ibatis.binding.BindingException: In...
2019-08-30 17:00:55 1238
原创 mvn clean报错:Failed to execute goal org.apache.maven.plugins:maven-clean-plugin:2.5:clean (default-cl
Java项目中如果遇到使用mvn clean的时候报这个错误:Failed to execute goal org.apache.maven.plugins:maven-clean-plugin:2.5:clean (default-clean) on project 某某项目: Failed to clean project: Failed to delete E:\e3_project\e...
2019-08-30 16:30:08 933 1
转载 Java面试_Spring中Bean的生命周期
Spring中Bean的生命周期首先我们大家应该知道spring 中有三种供 spring中bean 生存的容器: BeanFactory 、 ApplicationContext 、webApplicationContext 。其中ApplicationContext 和 webApplicationContext 基本一样,webApplicationContext就是有一些web专用的东西...
2019-08-20 23:23:07 428
原创 Java基础_java.lang.IllegalArgumentExecption
Java基础 java.lang.IllegalArgumentExecption异常IllegalArgumentExecption是非法参数异常,报这个异常说明了传入的参数违反了一个方法要求的某些特性。也有可能是项目使用的Java编译器使用的jdk版本和Java的运行环境版本不匹配造成的。如果jdk使用的是1.7,jre使用的是1.8,就会出现这一异常。即使是低版本的编译器,高版本的运行环境...
2019-08-20 10:27:43 986
原创 Java面试_类加载:双亲委派机制
Java 类加载:双亲委派机制在讲“双亲委派机制”前,首先要讲一讲类和类加载器的关系。如果对类加载还不太熟悉的话,也可以直接到我之前转载的一篇关于类加载的文章,戳我。类加载器:我们定义下的类,如果我们要使用这个类,首先就是要把“.java”这个文件便以成class文件,然后由对应的“类加载器”加载到JVM中,我们才能使用这个类对象。一般情况下,类的记载是在启动程序时有JVM来完成的,但是某...
2019-08-19 16:03:46 742
原创 Java面试_代理模式
在我们开始研究代理模式时,我们首先要知道代理模式是什么,之后再对正向代理,反向代理,静态代理和动态代理,下面我们从代理模式开始逐步介绍。代理模式:代理(Proxy)是GOF23中设计模式中的一种。提供了对目标对象另外的访问方式,即通过代理对象来访问目标对象。通俗来讲,代理对象就是我们平常生活中的中介,这样做的好处是:可以在目标对象事实现的基础上,增强额外的功能操作,即扩展目标对象的功能。举个...
2019-08-15 15:32:44 1013
原创 Java面试_HTTP协议
Java面试 HTTP协议协议:首先我们要先了解什么是协议,协议是指计算机通信网络中两台计算机通信网络中两台计算机之间进行通信必须遵守的规定或规则,超文本传输协议(也就是Http协议)就是一种通信协议,它允许超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器。在说Htttp协议之前,你需要了解的还有OSI模型,TCP/IP协议。OSI模型:OSI(Open System I...
2019-08-14 23:47:30 758
转载 Spring底层原理
1、什么是 Spring 框架?Spring 框架有哪些主要模块?Spring 框架是一个为 Java 应用程序的开发提供了综合、广泛的基础性支持的 Java 平台。Spring帮助开发者解决了开发中基础性的问题,使得开发人员可以专注于应用程序的开发。Spring 框架本身亦是按照设计模式精心打造,这使得我们可以在开发环境中安心的集成 Spring 框架,不必担心 Spring 是如何在后...
2019-08-13 11:21:03 328
转载 Java题目
链接:https://www.nowcoder.com/questionTerminal/cf28c596c6914d358361951d783c1634来源:牛客网以下代码结果是什么?public class foo {public static void main(String sgf[]) {StringBuffer a=new StringBuffer(“A”);StringB...
2019-08-11 17:51:46 275
转载 String,StringBuffer,StringBuilde的区别
String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全)简要的说, String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,所以经常改变内容...
2019-08-05 00:09:08 329 2
原创 ssm框架报错: org.apache.ibatis.builder.BuilderException: Error resolving class. Cause: org.apache.ibatis
在ssm框架项目中,项目挂载到Tomcat启动时报错,错误如下:Caused by: org.apache.ibatis.builder.BuilderException: Error resolving class. Cause: org.apache.ibatis.type.TypeException: Could not resolve type alias 'QueryVo'. Cau...
2019-07-29 16:06:48 3716
转载 Java面试_JVM类加载
转载于:https://blog.csdn.net/ln152315/article/details/79223441刚刚走出校门的应届毕业生,如果在去寻求一份Java开发的工作时,你的面试官很有可能一边看着你的简历,一边漫不经心地问你:了解过Java类的加载过程吗?这个时候你一定要注意了,虽然这是一个老生常谈的问题,但是这也是一个非常能够考验你Java功底的问题。如果你答好了,这是你应该的...
2019-07-26 23:59:24 232
原创 JavaWeb_#{}和${}的区别
JavaWeb #{}和${}的区别#{} :表示一个占位符号,向占位符输入参数,MyBatis会自动进行java类型和jdbc类型的转换,程序员不需要考虑参数的类型。例如:传入字符串,MyBatis最终拼接好的sql就是参数两边加引号。可以防止sql注入。:表示sql的拼接,通过{} :表示sql的拼接,通过:表示sql的拼接,通过{}接收参数,将参数的内容不加任何修饰拼接在sql中,缺点:...
2019-07-26 18:34:26 1328
原创 Java面试_生产者消费者模式
Java 生产者消费者模式简介生产者消费者模式并不是GOF提出的23种设计模式之一,23中设计模式是建立在面向对象的基础上的,但其实面向过程的编程中也有很多高校的编程模式,生产者消费者模式便是其中之一,它是我们编程过程中最常用的一种设计模式。在实际的软件开发中,经常会碰到如下场景:某个模块负责产生数据,这些数据由另一个模块来负责处理。产生数据的模块,就形象地称为生产者,而处理数据的模块,就称...
2019-07-26 16:31:40 314
原创 MyEclipse_搭建ssm框架
前言: 在上一篇的环境设置完成后,现在我们可以开始来搭建ssm框架,如果现在MyEclipse还没有配置,可以参考我之前的博文,戳我第一步现在基本上都是用mvn,全名是Maven来管理jar包,mvn能够很方便的帮你管理项目报告,生成站点,管理JAR文件等等,所以我们首先要先配置mvn,如果还没下载的同学可以到官网下载一下戳我,这里我主要说一下如何配置:首先,下载好之后要配置环境,配置方法...
2019-07-24 00:12:57 3908 1
原创 MyEclipse_配置MyEclipse
前言:这是针对已经之前使用过eclipse或者你的jdk和tomcat系统环境都配置好的情况下。MyEclipse环境配置因为之前使用的是Eclipse,所以第一次使用MyEclipse,因此我们要配置一些东西后菜考试搭建ssm,让我们一起来看一下要配置那些东西把!1. 配置JDK环境,我的jdk路径是 C:\Program Files\Java\jdk1.8.0_171虽然MyEclip...
2019-07-22 19:07:19 3839
原创 java面试_锁
Java 锁首先,先上整体图。悲伤锁与乐观锁悲伤锁:悲伤锁认为自己在使用数据的时候一定有别的线程修改数据,在获取数据的时候会先加锁,确保数据不会被别的数据修改。锁实现:关键字synchronized ,接口Lock的实现类。适用场景:写操作较多,先加锁可以保证写数据操作正确乐观锁:乐观锁认为自己在使用数据时不会有别的线程修改数据,所以不会添加锁,只会在更新数据的时候去判断之前有没有别...
2019-07-17 23:28:39 312
原创 Java面试_AIO,NIO,BIO
java面试之AIO,NIO,BIO在开始之前有一个经典的举例,烧开水,假设有这么忙一个场景,有一排水壶在烧水,AIO的做法是,在每个水壶上装一个开关,当水开了以后会提醒对应的线程去处理。NIO的做法是,叫一个线程不停的循环观察每个水壶,当水开了以后会提醒对应的线程区处理BIO的做法是,叫一个线程停在一个水壶那,直到这个水壶烧开,才会处理下一个水壶。可以看出AIO是效率最高的,BIO是...
2019-07-16 23:27:29 372
原创 Java面试_JVM内存模型
JVM内存模型对于大多数应用来说,Java堆是java虚拟机锁管理的内存中最大的一块。java堆是被所有线程共享的一块区域,在虚拟机启动时创建。JVM内存结构如下图所示:由上图可以清楚的看到JVM的内存部分分为三大部分分别是:堆内存,方法区,栈内存。其中栈内存可以在细分为java虚拟机和本地方法栈,堆内存可以划分为新生代和老年代,新生代中还可以再划分为Eden区,FromSurvivor...
2019-07-16 12:25:32 372
原创 Redis_Java使用Redis
Redis Java使用Redis安装开始在Java中使用Redis前,你需要确保已经安装了redis服务及Java redis驱动,并且你的机器上是能正常使用java的。这是前提条件。接下来就是安装java redis 驱动:首先你要下载驱动包 下载 java redis驱动,确保下载最新驱动包。在你的calsspath中包含该驱动包。连接到redis服务编译之后的结果为:...
2019-07-14 01:20:40 168
原创 Redis_分区
Redis分区分区是分割数据到多个Redis实例的处理过程,因为每个实例只保存key的一个子集。分区的优势通过利用多台计算机内存的和值,允许我们构建更大的数据库。通过多核和多台计算机,允许我们扩展计算能力;通过多台计算机和网络适配器,允许我们扩展网络宽带。分区的不足redis的一些特征在分区方面表现的不是很好:涉及多个key’的操作通常是不被支持的。举例来说,当两个set映射到...
2019-07-14 01:04:21 169
原创 Rediss_管道技术
Redis管道技术Redis是一种基于客户端-服务端模型以及请求/响应协议的TCP服务这意味着通常情况下一个请求会遵循以下步骤:客户端向服务器端发送一个查询请求,并监听套接字返回,通常是以阻塞模式,等待服务器端响应服务器处理命令,并将结果集返回客户端。Redis管道技术可以再服务器端未响应时,客户端可以继续向服务器端发送请求,并最终一次性读取所有服务器端的响应。管道技术的优势管道技...
2019-07-14 00:31:16 375
原创 Redis_客户端连接
Redis 客户端连接Redis通过监听一个TCP端口或者Unix socket的方式来接收来自客户端的连接,当一个连接建立以后mRedis内部会进行一下一些操作:首先,客户端socket会被设置为非阻塞模式,因为Redis在网络时间处理上采用的非阻塞多路复用模型然后为这个socket设置TCP_NODELAY属性,禁用Nagle算法然后创建一可读的文件事件用于监听这个客户端socket...
2019-07-13 23:29:52 170
原创 Redis_性能测试
Redis 性能测试语法:redis-benchmark [option] [option value]注意: 该命令是在 redis 的目录下执行的,而不是 redis 客户端的内部指令。以上实例中主机为 127.0.0.1,端口号为 6379,执行的命令为 set,lpush,请求数为 10000,通过 -q 参数让结果只显示每秒执行的请求数。跑出的结果是set请求一秒的请求数量和...
2019-07-13 19:17:28 146
原创 Redis_安全
Redis 安全我们课题通过redis的配置文件设置密码参数,这样客户端连接到redis就需要密码验证,这样可以让你的redis服务更安全。首先我们可以通过以下命令查看是否设置了密码验证:默认情况下requirepass参数的空的,这就意味着你不需要密码也能连接到redis服务。我们可以通过下面命令修改该参数。设置密码后如果运行redis-cli.exe -h 127.0.0.1 -...
2019-07-13 18:56:43 151
原创 Redis_数据备份和恢复
Redis 数据备份与恢复Redis SAVE命令用于创建当前数据库的备份。语法redis Save命令基本语法如下:redis 127.0.0.1:6379>SAVE该命令将在redis安装目录中创建dump.rdb文件。恢复数据如果需要恢复数据,只需将备份文件(dump.rdb)移动到redis安装目录并启动服务即可。获取redis目录可以使用CONFIG命令,如下所示...
2019-07-13 16:48:40 187
原创 Redis_脚本
Redis脚本Redis脚本使用Lua解释器(lua解释器是能够执行用其他计算机语言编写的程序的系统软件,它是一种翻译程序),Redis2.6版本通过内嵌支持Lua环境,执行脚本的常用命令为EVAL.语法redis 127.0.0.1:6379> EVAL script numkeys key arg实例:其中 “return {KEYS[1],KEYS[2],ARGV[1],...
2019-07-13 15:50:39 161
原创 Redis_事务
Redis_事务Redis事务是可以一次执行多个命令,并且带有以下三个重要的保证:1.批量操作在发送exec命令前被放入队列缓存。2.收到EXEC命令后进入事务执行,事务中任意命令执行失败,其余的命令依然被执行。3.在事务执行过程,其他客户端提交的命令请求不会插入到事务执行命令序列中。一个事务从开始到执行经历以下三个阶段:1.开始事务2.命令入队3.执行事务实例以下是一个事务的...
2019-07-13 15:02:33 150
原创 Redis_发布订阅
Redis发布订阅Redis发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发布信息,dingyuez(sub)接收信息,Redis客户端可以订阅任何数量的频道。下图展示了频道channel1 和三个客户端之间的关系:当有新消息通过PUBLISH命令发送给频道channel1时,这个消息就会被发送到订阅它的三个客户端:实例:频道名为redisChat。Redis发布...
2019-07-13 14:44:43 146
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人