自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MyBatis工作原理

Mybatis工作原理1、加载mybatis全局配置文件(数据源、mapper映射文件等),解析配置文件,MyBatis基于XML配置文件生成Configuration,和一个个MappedStatement(包括了参数映射配置、动态SQL语句、结果映射配置),其对应着<select | update | delete | insert>标签项。2、SqlSessionFacto...

2020-03-27 12:37:53 245

原创 Python jieba库小实验

哈姆雷特词频统计#哈姆雷特词频统计def getText(): txt = open("C:\\Users\\Lenovo\\Desktop\\hamlet.txt","r").read() txt = txt.lower() for ch in '!"#$%&()*+,-./:;<=>?@[\\]^_''{|}~': txt = ...

2020-03-19 21:38:00 373

转载 Java常见面试题

Java常见面试题基础:1.Java 反射?反射有什么缺点?你是怎么理解反射的(为什么框架需要反射)?2.谈谈对 Java 注解的理解,解决了什么问题?3.内部类了解吗?匿名内部类了解吗?4.BIO和NIO区别,4核cpu,100个http连接,用BIO和NIO分别需要多少个线程5.假如我们需要存500个数需要多大的HashMap?6.HashMap的负载因子。JVM:1.jvm...

2020-03-05 21:44:06 340

原创 面试整理:Java基础

1.讲讲类的实例化顺序,比如父类静态数据,构造函数,字段,子类静态数据,构造函数,字段,当 new 的时候, 他们的执行顺序。注:此题考察的是类加载器实例化时进行的操作步骤(加载–>连接->初始化)。父类静态代变量、父类静态代码块、子类静态变量、子类静态代码块、父类非静态变量(父类实例成员变量)、父类构造函数、子类非静态变量(子类实例成员变量)、子类构造函数。2.抽...

2020-03-02 23:38:02 219

原创 面试题整理:hashCode()和equals()方法联系

请解释hashCode()和equals()方法有什么联系?equals() : 判断两个对象是否相等。一般有两种使用情况:(1)类没有覆盖equals()方法。则通过equals()比较该类的两个对象时,等价于通过“==”比较这两个对象。(2)类覆盖了equals()方法。我们用equals()方法来两个对象的内容相等;若它们的内容相等,则返回true(即,认为这两个对象相等),反之为f...

2020-03-01 21:07:21 614

原创 面试题整理:内存泄漏

请你说明一下内存泄漏的原因1.内存泄漏(存储渗漏):用动态存储分配函数动态开辟的空间,在使用完毕后未释放,结果导致一直占据该内存单元,直到程序结束。(即该内存空间使用完毕之后未回收)当一个对象已经不需要再使用本该被回收时,另外一个正在使用的对象持有它的引用从而导致它不能被回收,这导致本该被回收的对象不能被回收而停留在堆内存中,这就产生了内存泄漏。2.常见造成内存泄漏原因(1)单例造成的内存...

2020-02-29 17:30:31 813

原创 面试题整理:B/S与C/S

请说明 B/S与C/S 的联系,还有区别C/S 与 B/S联系1.C/S是Client/Server的缩写。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle、Sybase、Informix或 SQL Server。客户端需要安装专用的客户端软件。2.B/S是Browser/Server的缩写,客户机上只要安装一个浏览器(Browser),如Netscape N...

2020-02-28 22:15:39 3012

原创 面试题整理:何时使用assert

请问在什么情况下会使用assert?assertion(断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。在实现中,assertion就是在程序中的一条语句,它对一个boolean表达式进行检查,一个正确程序必须保证这个boolean表达式的值为true;如果该值为false,说明程序已经处于不正确的状态下,系统将给出警告或退出。一般来说,assertion用于保证程序最基...

2020-02-27 19:04:34 172

原创 面试题整理:synchronized的可重入实现

请说明一下synchronized的可重入怎么实现参考回答:每个锁关联一个线程持有者和一个计数器。当计数器为0时表示该锁没有被任何线程持有,那么任何线程都都可能获得该锁而调用相应方法。当一个线程请求成功后,JVM会记下持有锁的线程,并将计数器计为1。此时其他线程请求该锁,则必须等待。而该持有锁的线程如果再次请求这个锁,就可以再次拿到这个锁,同时计数器会递增。当线程退出一个synchronize...

2020-02-26 13:58:51 2275

原创 面试题整理:请说明Collection 和 Collections的区别

请说明Collection 和 Collections的区别

2020-02-25 21:51:47 1013

原创 (作业)web前端高级2020/02/24随堂笔记+思维导图

web前端高级2020/02/24随堂笔记+思维导图复习:完整前端知识整理思维导图:HTML1.什么是HTML?本质:超文本标记语言,表现如文字、视频、音频程序等复杂元素2.什么是标签?标签组成:标签名、属性名(名称值对的形式)、内容属性类似是给这个标签的内容加了个容器(装备),让标签具有特殊能力<a href="https://www.baidu.com">百度&...

2020-02-24 18:41:07 520

原创 面试题整理:extends 和super 泛型限定符

请解释一下extends 和super 泛型限定符上界不存下界不取extends上限通配符,用来限制类型的上限,只能传入本类和子类,add方法受阻,可以从一个数据类型里获取数据;super下限通配符,用来限制类型的下限,只能传入本类和父类,get方法受阻,可以把对象写入一个数据结构里;在java泛型中,? 表示通配符,代表未知类型,< ? extends Object>表示上边...

2020-02-24 12:48:46 416

原创 面试题整理:Array和ArrayList区别及适用场景

请你讲讲数组(Array)和列表(ArrayList)的区别?什么时候应该使用Array而不是ArrayList?ArrayList(以数组为底层的集合)可以算是Array的加强版,(对array有所取舍的加强)。(1)Array可以包含基本类型和对象类型,ArrayList只能包含对象类型。存储内容比较:Array数组可以包含基本类型和对象类型,ArrayList却只能包含对象类型。但...

2020-02-23 20:16:34 1795

原创 Java线程相关

一:理解多线程多线程是一种机制,它允许在程序中并发执行多个指令流,每个指令流都称为一个线程,彼此间互相独立。 线程又称为轻量级进程,它和进程一样拥有独立的执行控制,由操作系统负责调度,区别在于线程没有独立的存储空间,而是和所属进程中的其它线程共享一个存储空间,这使得线程间的通信远较进程简单。多个线程的执行是并发的,也就是在逻辑上“同时”,而不管是否是物理上的“同时”。如果系统只有一个CPU,那...

2020-02-22 19:00:12 154

原创 面试题整理:Java异常处理关键字

请说明JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意义?在try块中可以抛出异常吗?Java通过面向对象的方法进行异常处理,把各种不同的异常进行分类,并提供了良好的接口。在Java中,每个异常都是一个对象,它是Throwable类或其子类的实例。当一个方法出现异常后便抛出一个异常对象,该对象中包含有异常信息,调用这个对象的方法可...

2020-02-21 17:55:08 590

原创 面试题整理:Java和C++/PHP的区别

1.请介绍一下c++和java 的区别?首先,Java 是由 C++发展而来的,保留了C++的大部分内容,其编程方式类似于C++。但Java的句法更清晰、规模更小、更易学。Sun 公司取其精华去其糟粕,最终推出Java。Java从根本上解决了C++的固有缺陷,形成了新一代面向对象的程序设计语言。Java 和 C/C++的相似之处多于不同之处。相较而言,Java 的编程环境更为简单。两者主要有一...

2020-02-20 16:13:07 1024

原创 面试题整理:JVM最大内存限制多少?

JVM最大内存限制多少?(1)堆内存分配JVM初始分配的内存由-Xms指定,默认是物理内存的1/64;JVM最大分配的内存由-Xmx指定,默认是物理内存的1/4。默认空余堆内存小 于40%时,JVM就会增大堆直到-Xmx的最大限制;空余堆内存大于70%时,JVM会减少堆直到-Xms的最小限制。因此服务器一般设置-Xms、 -Xmx相等以避免在每次GC后调整堆的大小。(2)非堆内存分配JVM...

2020-02-19 17:45:07 1160

原创 面试题整理:Error与Exception的区别

Error与Exception的区别(1)Error类和Exception类都是继承Throwable类(2)Error(错误)是系统中的错误,程序员是不能改变的和处理的,是在程序编译时出现的错误,只能通过修改程序才能修正。一般是指与虚拟机相关的问题,如系统崩溃,虚拟机错误,内存空间不足,方法调用栈溢等。对于这类错误的导致的应用程序中断,仅靠程序本身无法恢复和和预防,遇到这样的错误,建议让程序...

2020-02-18 21:00:53 12927

原创 面试题整理:关于类加载器

Java 虚拟机类加载器结构简述1、JVM三种预定义类型类加载器  我们首先看一下JVM预定义的三种类加载器,当JVM启动的时候,Java缺省开始使用如下三种类型的类加载器:(1)启动(Bootstrap)类加载器:引导类加载器是用 本地代码实现的类加载器,它负责将 <JAVA_HOME>/lib下面的核心类库 或 -Xbootclasspath选项指定的jar包等 虚拟机识别的...

2020-02-18 19:41:11 303

原创 面试题整理:请介绍一下数据库的隔离级别

请你介绍一下数据库的隔离级别?隔离级别说明MySQL定义了四种隔离级别,包括一些具体规则,用于限定事务内外哪些改变是可见的,哪些改变是不可见的。低级别的隔离一般支持更高的并发处理,并且拥有更低的系统开销。(1)REPEATABLE READ Repeatable Read 可重复读MySQL数据库默认的隔离级别。该级别解决了READ UNCOMMITTED隔离级别导致的问题。它保证同一事务...

2020-02-18 19:24:58 681

原创 面试题整理:什么是泛型

什么是泛型?泛型:就是一种不确定的数据类型。比如,ArrayList E就是泛型。 这种不确定的数据类型需要在使用这个类的时候才能够确定出来。泛型可以省略,如果省略,默认泛型是Object类型。泛型的好处:1.省略了强转的代码。2.可以把运行时的问题提前到编译时期。public class Demo01Generic { public static void main(Stri...

2020-02-17 19:22:17 1181

转载 面试题整理:阐述ArrayList、Vector、LinkedList的存储性能和特性?

阐述ArrayList、Vector、LinkedList的存储性能和特性?ArrayList 和Vector他们底层的实现都是一样的,都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢。Vector中的方法由于添加了synchronized修饰,因此Vector是线程安...

2020-02-17 19:12:26 196

转载 面试题整理:请说明一下eden区和survial区指的是什么?工作原理又是什么?

请说明一下eden区和survial区指的是什么?工作原理又是什么?本文主要根据《深入理解JVM》中内存回收策略,主要关注如下五个方面:目前主流的虚拟机实现都采用了分代收集的思想,把整个堆区划分为新生代和老年代;新生代又被划分成Eden 空间、 From Survivor 和 To Survivor 三块区域。我们把Eden : From Survivor : To Survivor 空间大...

2020-02-17 18:44:43 840

原创 面试题整理:JAVA中如何确保N个线程可以访问N个资源,但同时又不导致死锁?

JAVA中如何确保N个线程可以访问N个资源,但同时又不导致死锁?考察点:死锁使用多线程的时候,一种非常简单的避免死锁的方式就是:指定获取锁的顺序,并强制线程按照指定的顺序获取锁。因此,如果所有的线程都是以同样的顺序加锁和释放锁,就不会出现死锁了。预防死锁,预先破坏产生死锁的四个条件。互斥不可能破坏,所以有如下三种方法:1.破坏请求和保持条件,进程必须等所有要请求的资源都空闲时才能申请资源,...

2020-02-17 18:31:26 367

原创 面试题整理:请你介绍一下,数据库的三个范式?

请你介绍一下,数据库的三个范式?三范式1NF:字段不可分;2NF:有主键,非主键字段依赖主键;3NF:非主键字段不能相互依赖;解释:1NF:原子性 字段不可再分,否则就不是关系数据库;2NF:唯一性 一个表只说明一个事物;3NF:每列都与主键有直接关系,不存在传递依赖;第一范式(1NF)即表的列的具有原子性,不可再分解,即列的信息,不能分解, 只要数据库是关系型数据库(mysq...

2020-02-16 20:27:53 355

原创 面试题整理:请问object的hash该怎么设计?

请问object的hash该怎么设计?hash的设计要点:满足对应的hashcode方法和equals方法的关系,即两个对象通过equals方法返回true,那么通过hashcode方法返回的整型值相等,如果返回false,那么返回的hashcode方法的整型值可能相等;如果两个对象通过hashcode返回相同的值,那么他们的equals操作不一定返回true,如果返回不同的值,那么他们的eq...

2020-02-16 20:24:53 480

转载 面试题整理:GC中如何判断对象是否需要被回收?

GC中如何判断对象是否需要被回收?GC主要做三个事情:1、什么对象可以回收2、什么时候进行回收3、如何回收jvm里的垃圾就是对象,指无用的对象,在真正执行垃圾回收前,必须要判断对象是否是无用,是否可以回收,那么jvm是如何来判断一个对象能否回收呢?引用计数算法方式:给对象维护一个引用计数器,当有一个地方引用到它,则计数器加1,当有引用失效,则计数器减1,当为0时,说明没有地方引用到这...

2020-02-16 20:04:39 1731

原创 面试题整理:多线程中的i++线程安全吗?

多线程中的i++线程安全吗?请简述一下原因?不安全。因为i++不是原子性操作。i++分为读取i值,对i值加1,再赋值给i++,执行过程中任何一步都有可能被其他线程抢占。拓:在 int i = 0; i = i++; 语句中,i = i++是线程安全的么?如果不安全,请说明上面操作在JVM中的执行过程,为什么不安全?说出JDK中哪个类能达到以上的效果,并且是线程安全而且高效的,简述其原理。语...

2020-02-16 19:59:17 881

原创 牛客模拟面试整理

1.介绍一下Java中的多态。多态就是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定,即一个引用变量倒底会指向哪个类的实例对象,该引用变量发出的方法调用到底是哪个类中实现的方法,必须在由程序运行期间才能决定。因为在程序运行时才确定具体的类,这样,不用修改源程序代码,就可以让引用变量绑定到各种不同的类实现上,从而导致该引用调用的具体方...

2020-02-15 18:52:59 489

转载 Spring整理

1、spring原理 Spring目的:就是让对象与对象(模块与模块)之间的关系没有通过代码来关联,都是通过配置类说明管理的(Spring根据这些配置 内部通过反射去动态的组装对象) 要记住:Spring是一个容器,凡是在容器里的对象才会有Spring所提供的这些服务和功能。 Spring里用的最经典的一个设计模式就是:模板方法模式。(这里我都不介绍了,是一个很常用的设计模式),...

2020-02-13 21:28:25 147

转载 美团点评西安站面经整理

美团点评西安站面经一、代码实现提取URL中传的参数和值,保存键值对。URL可分为三类。即 无参数,有一个参数,有多个参数。http://www.jiangxiaobai.comhttp://www.jiangxiaobai.com?name=xiaobaihttp://www.jiangxiaobai.com?name=xiaobai&age=17参数跟在字符"?“之后,参数...

2020-02-10 21:15:45 269

原创 58到家一面面经整理

以下为牛客网精选面试题,网上资料整理解答。58到家一面0.日常自我介绍;1.讲一讲java八大基本数据类型;Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。1、数据类型:(1)整形数据类型:byte、int、short、long 整形数据类型在java程序中有3种表示形式,分别为十进制、八进制、十六进制注意:不能以0作为十进制数...

2020-02-09 19:42:02 365

原创 钉钉一面面经整理

以下为牛客网精选面试题,网上资料整理解答。钉钉一面面经1.项目细节。2.字符串连接的几种方式,区别。(1)String的连接方法可以看出连接方式是新建了一个包含两个长度的字符数组,然后进行连接。(2)StringBuilder中存储字符串其实用的是一个char数组,capacity其实就是指定这个char数组的大小,StringBuilder的连接方法是继承AbstractString...

2020-02-08 21:39:46 1085

转载 腾讯Java后台开发一面面经整理

腾讯Java后台开发一面一面:1 有序数组排序,二分,复杂度2 常见排序算法,说下快排过程,时间复杂度首先设置一个标志位数字,一般选取第一个数作为标志,然后从右向左找到第一个比标志位小的数字,再从左向右找出第一个比标志位大的数字,两个数字交换位置,继续该过程,知直到左右两个方向的查找过程相遇,此时第一个标志位数字到达最终位置。接着以此位置为中间点,左右两部分数组分别递归执行该过程,最终即可...

2020-02-07 14:45:49 254

原创 阿里巴巴Java 123面经整理

1面(48分钟):基础+项目自我介绍,项目介绍,遇到的最大困难是什么?怎么解决的?你觉得你能怎么优化这个项目?1)讲一下JVM2)讲一下JVM的分代回收以及具体算法3)将一下JVM的垃圾收集器,G1和CMS有啥区别?4)讲一下一个变量从产生到结束所经历的过程,讲一下字符串常量的过程?5)将一下线程安全问题产生的原因?6)讲一下乐观锁和悲观锁7)乐观锁是怎么保证一致性的8)Inte...

2020-02-04 22:19:44 316

原创 百度Java开发一面面经(部分)

百度Java开发一面面经(部分)1、自我介绍2、spring如何管理bean、bean的生命周期?1.Spring IOC容器可以管理bean的生命周期,Spring允许在bean生命周期内特定的时间点执行指定的任务。2.Spring IOC容器对bean的生命周期进行管理的过程:① 通过构造器或工厂方法创建bean实例② 为bean的属性设置值和对其他bean的引用③ 调用bean...

2020-01-28 11:04:34 193

原创 J2EE基础知识

网上资料整理。Servlet总结在Java Web程序中,Servlet主要负责接收用户请求 HttpServletRequest,在doGet(),doPost()中做相应的处理,并将回应HttpServletResponse反馈给用户。Servlet 可以设置初始化参数,供Servlet内部使用。一个Servlet类只会有一个实例,在它初始化时调用init()方法,销毁时调用destroy...

2020-01-17 10:28:19 75

原创 Java基础知识

网上资料整理。1. 面向对象和面向过程的区别面向过程 :面向过程性能比面向对象高。 因为类调用时需要实例化,开销比较大,比较消耗资源,所以当性能是最重要的考量因素的时候,比如单片机、嵌入式开发、Linux/Unix等一般采用面向过程开发。但是,面向过程没有面向对象易维护、易复用、易扩展。面向对象 :面向对象易维护、易复用、易扩展。 因为面向对象有封装、继承、多态性的特性,所以可以设计出低耦...

2020-01-17 09:53:52 188

原创 百词斩一面面经整理

以下为牛客网精选面试题,网上资料整理解答。百词斩一面1.自我介绍。2.Linux系统。Linux根目录下有哪些目录,各自存放些什么内容,交换分区的意义,文件添加可执行权限,分用户添加权限,超大日志文件里面的内容查找,如何使用nginx反向*(简历上写了熟悉Linux开发环境)?**(1)Linux根目录下有哪些目录,各自存放些什么内容:/bin:存放最常用命令(二进制可执行命令)/bo...

2020-01-14 14:46:08 705

原创 招银网络科技Java面经整理2

以下为牛客网精选面试题,网上资料整理解答。招银网络科技Java面经2一面:(1)自我介绍。(2)string判等。“==”判断符号左右两个变量(引用类型)是否指向同一内存地址。equals()方法判断两个对象是否一样(所有成员的值是否相同)例1:String a = "abc";String b = "abc";System.out.println(a == b); //tru...

2020-01-13 20:46:48 1479

空空如也

空空如也

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

TA关注的人

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