
查缺补漏与归纳总结
文章平均质量分 93
jacljh
程序匠人
展开
-
项目版本上线常见问题汇总
问题种类 问题详情 问题原因 改进措施建议 备注 习惯问题 需要进行数据迁移时,发现旧数据没有备份 无备份习惯 养成数据备份习惯 开发问题 配置写入代码中 1、测试不充分 2、开发人员代码不够规范 3、对代码审查不够 1、开发人员注意代码规范,避免Hard code 2、加强对系统设计、代码规范的审查...原创 2019-12-25 14:09:16 · 1753 阅读 · 0 评论 -
面试必问:Spring循环依赖的三种方式
引言:循环依赖就是N个类中循环嵌套引用,如果在日常开发中我们用new 对象的方式发生这种循环依赖的话程序会在运行时一直循环调用,直至内存溢出报错。下面说一下Spring是如果解决循环依赖的。第一种:构造器参数循环依赖Spring容器会将每一个正在创建的Bean 标识符放在一个“当前创建Bean池”中,Bean标识符在创建过程中将一直保持在这个池中。因此如果在创建Bean过程中发现自己已...转载 2019-08-04 13:06:30 · 230 阅读 · 0 评论 -
JVM面试题
1、你知道哪些或者你们线上使⽤什么GC策略?它有什么优势,适⽤于什么场景?参考 触发JVM进行Full GC的情况及应对策略。https://blog.youkuaiyun.com/chenleixing/article/details/46706039/2、Java类加载器包括⼏种?它们之间的⽗⼦关系是怎么样的?双亲委派机制是什么意思?有什么好处?启动Bootstrap类加载、扩展Ext...转载 2019-08-04 13:04:17 · 231 阅读 · 0 评论 -
Java笔试题
Java笔试题库(01期)1、Spring DAO 中最常用的类是()A,JdbcTemplate ,SimpleJdbcTemplate B,SimpleJdbcInsert,SimpleJdbcProcedure C,SimpleJdbcInsert ,SimpleJdbcStoredProc D,SimpleJdbcQuery ,SimpleJdbcEx...原创 2019-08-03 23:49:04 · 9819 阅读 · 0 评论 -
Java学习 —— 并发编程网
并发编程网:http://ifeve.com/原创 2019-07-26 00:04:00 · 209 阅读 · 0 评论 -
Java面试题-算法篇十七
170,堆和栈在内存中的区别是什么?概念:栈(stack)是为执行线程留出的内存空间。当函数被调用的时候,栈顶为局部变量和一些bookkeeping数据预留块。当函数执行完毕,块就没有用了,可能在下次的函数调用的时候再被使用。栈通常用后进先出的方式预留空间;因此最近的保留块通常被最先释放。这么做可以使跟踪堆栈变的简单;从栈中释放块只不过是指针的偏移而已。 ...转载 2019-07-25 23:55:45 · 155 阅读 · 0 评论 -
Java面试题-并发篇十六
161,Java内存模型是什么? Java内存模型规定和指引Java程序在不同的内存架构,CPU和操作系统间有确定性地行为。它在多行程的情况下尤为重要。Java内存模型对一个线程所做的变动能被其他线程可见提供了保证,它们之间是先行发生关系。这个关系定义了一些规则让程序员在并发编程时思路更清晰。比如,先行发生关系确保了: 线程内的代码能够按先后顺序执行,这被称为...转载 2019-07-25 23:22:19 · 129 阅读 · 0 评论 -
Java面试题-web篇十五
148,AJAX有哪些有点和缺点?优点:1、最大的一点是页面无刷新,用户的体验非常好。2、使用异步方式与服务器通信,具有更加迅速的响应能力。3、可以把以前一些服务器负担的工作转嫁到客户端,利用客户端闲置的能力来处理,减轻服务器和带宽的负担,节约空间和宽带租用成本。并且减轻服务器的负担,ajax的原则是“按需取数据”,可以最大程度的减少...转载 2019-07-25 22:43:35 · 125 阅读 · 0 评论 -
Java面试题-泛型篇十四
139. Java中的泛型是什么 ? 使用泛型的好处是什么?泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。好处:1、类型安全,提供编译期间的类型检测2、前后兼容3、泛化代码,代码可以更多的重复利用4、性能较高,用GJ(泛型JAVA)编写的代...转载 2019-07-25 22:40:32 · 150 阅读 · 0 评论 -
Java中高级面试题(3)
接口有什么用1、通过接口可以实现不相关类的相同行为,而不需要了解对象所对应的类。2、通过接口可以指明多个类需要实现的方法。3、通过接口可以了解对象的交互界面,而不需了解对象所对应的类。另:Java是单继承,接口可以使其实现多继承的功能。大体回答如上,类似文章请移驾:深入理解Java的接口和抽象类说说http,https协议HTTP...转载 2019-07-30 23:18:16 · 219 阅读 · 0 评论 -
Java中高级面试题(2)
JVM的内存结构根据 JVM 规范,JVM 内存共分为虚拟机栈、堆、方法区、程序计数器、本地方法栈五个部分。1、Java虚拟机栈:线程私有;每个方法在执行的时候会创建一个栈帧,存储了局部变量表,操作数栈,动态连接,方法返回地址等;每个方法从调用到执行完毕,对应一个栈帧在虚拟机栈中的入栈和出栈。2、堆:线程共享;被所有线程共享的一块内存区域,在虚拟机启动时创建,用于存...转载 2019-07-30 23:16:16 · 142 阅读 · 0 评论 -
面试中常问的List去重问题,你都答对了吗?
面试中经常被问到的list如何去重,用来考察你对list数据结构,以及相关方法的掌握,体现你的java基础学的是否牢固。我们大家都知道,set集合的特点就是没有重复的元素。如果集合中的数据类型是基本数据类型,可以直接将list集合转换成set,就会自动去除重复的元素,这个就相对比较简单。如下示例:publicclassTest{publicstaticvoid...转载 2019-08-04 13:08:27 · 224 阅读 · 0 评论 -
面试中的单例问题
当我兴冲冲的带着笔记答案参加面试时,突然发现面前的面试官显得很严肃而且眉头紧锁,不知道是工作太累了,还是说他对今天的面试官不是很满意。于是我就勇敢的坐过去在他的面前坐了下来,没想到第一道题就让面试官看出了我的水平,因此今天跟大家聊聊面试中单例的问题,希望大家都能了解这块内容。在早期的项目代码中,如果我们想使用类的某个方法,我们基本都会创建一个类的对象实例然后再调用方法,这样的实现往往在系统...转载 2019-08-04 19:15:11 · 232 阅读 · 0 评论 -
面试被问烂的 Spring IOC
广义的 IOC IoC(Inversion of Control) 控制反转,即“不用打电话过来,我们会打给你”。 两种实现: 依赖查找(DL)和依赖注入(DI)。IOC 和 DI 、DL 的关系(这个 DL,Avalon 和 EJB 就是使用的这种方式实现的 IoC): DL 已经被抛弃,因为他需要用户自己去是使用 API 进行查找资源和组装对象。即有侵入性。 ...转载 2019-08-04 19:17:42 · 208 阅读 · 0 评论 -
SSH框架面试题集锦
Hibernate工作原理及为什么要使用Hibernate?工作原理:1.读取并解析配置文件2.读取并解析映射信息,创建SessionFactory3.打开Session4.创建事务Transation5.持久化操作6.提交事务7.关闭Session8.关闭SesstionFactory...转载 2019-07-28 18:20:13 · 129 阅读 · 0 评论 -
Java中高级面试题(6)
对于有一定经验的开发者,在面试过程中多多少少都会被问及jvm相关知识,但是往往在实际开发中涉及较少,这里整理一些知识点做一期面试题库拿出来,希望对有用到朋友有一些参考。小编水平有限,可以把常考题型列出来,但解答部分仅做参考,如果有知识点错误希望能够留言纠正,如果是有更好的参考答案,更加欢迎留言大家探讨,我会置顶,以上这些,下面是正题。Java语言中一个显著的特点就是引入了垃圾回...转载 2019-07-31 23:16:37 · 163 阅读 · 0 评论 -
Java中高级面试题(5)
什么是线程死锁?死锁如何产生?如何避免线程死锁?死锁的介绍:线程死锁是指由于两个或者多个线程互相持有对方所需要的资源,导致这些线程处于等待状态,无法前往执行。当线程进入对象的synchronized代码块时,便占有了资源,直到它退出该代码块或者调用wait方法,才释放资源,在此期间,其他线程将不能进入该代码块。当线程互相持有对方所需要的资源时,会互相等待对方释放资源,如果线程都...转载 2019-07-31 23:15:08 · 166 阅读 · 0 评论 -
Java中高级面试题(4)
这里选了几道高频面试题以及一些解答。不一定全部正确,有一些是没有固定答案的,如果发现有错误的欢迎纠正,如果有更好的回答,热烈欢迎留言探讨。BIO、NIO和AIO的区别Java BIO : 同步并阻塞,服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器端就需要启动一个线程进行处理,如果这个连接不做任何事情会造成不必要的线程开销,当然可以通过线程池机制改善。Ja...转载 2019-07-31 23:13:07 · 179 阅读 · 0 评论 -
Java面试题-javaweb篇七
61,JDBC访问数据库的基本步骤是什么?1,加载驱动2,通过DriverManager对象获取连接对象Connection3,通过连接对象获取会话4,通过会话进行数据的增删改查,封装对象5,关闭资源62,说说preparedStatement和Statement的区别1,效率:预编译会话比普通会话对象,数据库系统不会对相同的sql语句不会再次编译2,安全性:可以有效的避免...转载 2019-07-22 23:22:51 · 108 阅读 · 0 评论 -
Java面试题-javaweb篇六
51、说一说Servlet的生命周期?Servlet有良好的生存期的定义,包括加载和实例化、初始化、处理请求以及服务结束。这个生存期由javax.servlet.Servlet接口的init(),service()和destroy方法表达。Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运...转载 2019-07-22 23:20:26 · 124 阅读 · 0 评论 -
Java面试题-基础篇五
41、a.hashCode() 有什么用?与 a.equals(b) 有什么关系?hashCode() 方法对应对象整型的 hash 值。它常用于基于 hash 的集合类,如 Hashtable、HashMap、LinkedHashMap等等。它与 equals() 方法关系特别紧密。根据 Java 规范,两个使用 equal() 方法来判断相等的对象,必须具有相同的 hash ...转载 2019-07-22 23:18:11 · 95 阅读 · 0 评论 -
Java面试题-基础篇四
31、String s = new String("xyz");创建了几个StringObject?是否可以继承String类?两个或一个都有可能,”xyz”对应一个对象,这个对象放在字符串常量缓冲区,常量”xyz”不管出现多少遍,都是缓冲区中的那一个。NewString每写一遍,就创建一个新的对象,它使用常量”xyz”对象的内容来创建出一个新String对象。如果以前就用过’...转载 2019-07-22 23:16:07 · 106 阅读 · 0 评论 -
20个高级Java面试题汇总
这是一个高级Java面试系列题中的部分。这一部分论述了可变参数,断言,垃圾回收,初始化器,令牌化,日期,日历等等Java核心问题。程序员面试指南:https://www.youtube.com/watch?v=0xcgzUdTO5MJava面试问题集合指南:https://www.youtube.com/watch?v=GnR4hCvEIJQ 什么是可变参数? ...转载 2019-08-04 20:09:28 · 323 阅读 · 0 评论 -
HTTP相关面试题
HTTP协议在 OSI 七层模型中,HTTP协议位于最顶层的应用层中。通过浏览器访问网页就直接使用了 HTTP 协议。使用 HTTP 协议时,客户端首先与服务端的 80 端口建立一个 TCP 连接,然后在这个连接的基础上进行请求和应答,以及数据的交换。HTTP 有两个常用版本,分别是 1.0 和 1.1。主要区别在于 HTTP 1.0 中每次请求和应答都会使用一个新的 TCP 连接,...转载 2019-08-04 20:07:49 · 279 阅读 · 0 评论 -
Java中高级面试题(1)
List和Set比较,各自的子类比较对比一:Arraylist与LinkedList的比较1、ArrayList是实现了基于动态数组的数据结构,因为地址连续,一旦数据存储好了,查询操作效率会比较高(在内存里是连着放的)。2、因为地址连续, ArrayList要移动数据,所以插入和删除操作效率比较低。 3、LinkedList基于链表的数据结构,地址是任意的,所以在开辟内存...转载 2019-07-30 23:14:50 · 137 阅读 · 0 评论 -
数据库面试常问的一些基本概念
1、超键、候选键、主键、外键超键:在关系中能唯一标识元组的属性集称为关系模式的超键。一个属性可以为作为一个超键,多个属性组合在一起也可以作为一个超键。超键包含候选键和主键。候选键:是最小超键,即没有冗余元素的超键。主键:数据库表中对储存数据对象予以唯一和完整标识的数据列或属性的组合。一个数据列只能有一个主键,且主键的取值不能缺失,即不能为空值(Null)。外...转载 2019-07-30 23:13:01 · 118 阅读 · 0 评论 -
Java中高级面试题
一.基础知识:1)集合类:List和Set比较,各自的子类比较(ArrayList,Vector,LinkedList;HashSet,TreeSet);2)HashMap的底层实现,之后会问ConcurrentHashMap的底层实现;3)如何实现HashMap顺序存储:可以参考LinkedHashMap的底层实现;4)HashTable和ConcurrentHashMap的区别...转载 2019-07-30 23:11:28 · 121 阅读 · 0 评论 -
Java岗 面试考点精讲(基础篇02期)
1. 两个对象的hashCode相同,则equals也一定为true,对吗?不对,答案见下面的代码:@OverridepublicinthashCode(){return1;}两个对象equals为true,则hashCode也一定相同,对吗?这块肯定是有争议的。面试的时候这样答:如果按照官方设计要求来打代码的话,hashcode一定相等。但是如果不按官方...转载 2019-07-17 23:49:20 · 154 阅读 · 0 评论 -
Java岗 面试考点精讲(基础篇01期)
术语会让你的面试更有说服力,让你感觉更踏实,建议大家多记背点术语。1. 简单说下什么是跨平台术语:操作系统指令集、屏蔽系统之间的差异由于各种操作系统所支持的指令集不是完全一致,所以在操作系统之上加个虚拟机可以来提供统一接口,屏蔽系统之间的差异。2. Java有几种基本数据类型有八种基本数据类型。数据类型 字节 默认值 byte 1 0 ...转载 2019-07-17 23:34:52 · 114 阅读 · 0 评论 -
Java面试题-基础篇一
1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?可以有多个类,但只能有一个public的类,并且public的类名必须与文件名相一致。2、Java有没有goto?java中的保留字,现在没有在java中使用。3、说说&和&&的区别。&和&&都可...转载 2019-07-20 17:08:02 · 110 阅读 · 0 评论 -
面试官:你分析过mybatis工作原理吗?
我将其工作原理分为六个部分:1.读取核心配置文件并返回InputStream流对象。2.根据InputStream流对象解析出Configuration对象,然后创建SqlSessionFactory工程对象。3.根据一系列属性从SQLSessionFactory工厂中创建SQLSession。4.从SqlSession中调用Executor执行数据库操作&&生成...转载 2019-07-20 15:34:00 · 125 阅读 · 0 评论 -
java面试遇到的坑[第四期]
NO1.大家看看这道题输出应该是啥?是否是三个5呢?正确结果:555NO2.看看这道题的输出结果是多少?是100还是99?期待大家参与,下期给出答案。正确结果:0 (j重新赋值后 j 值并未改变)NO3.考察一下你对数组和列表转换的问题,下面的结果输出几呢?正确结果: 1 public static void main(String[...转载 2019-07-20 12:05:30 · 199 阅读 · 0 评论 -
java面试填坑解惑篇[三]
话不多说,言归正传我们来解答上期大家的疑问吧。上期:java面试遇到的坑[第三期]NO1.请简单描述JDK和JRE的区别?NO1.回答JDK与JRE的区别这道题,首先要回答两个名词的概念,JDK就是JavaDevelopment Kit的缩写,java最核心的东西,包括了java的运行环境(JRE),一些基本类库方便开发人员开发程序和源码压缩等。主要由bin(可执行命令如javac...转载 2019-07-20 10:58:11 · 162 阅读 · 0 评论 -
java面试遇到的坑[第三期]
NO1.请简单描述JDK和JRE的区别?以下的回答大家觉得还好吧面试者:太简单了,JDK就是支持java开发者完成变成所需要的语言支持环境,而JRE则不需要JDK那么强大的工具,只需要能运行JAVA程序就可以了。呵呵,too younge too simple.NO2.告诉我JVM的类加载过程?对不起各位这里直接提升了面试的难度,但是工作三年以上的中级程序员还是需要了解的,看图说话还差哪些...转载 2019-07-20 10:27:01 · 130 阅读 · 0 评论 -
Java面试题-框架篇九
81,使用Spring框架的好处是什么? 轻量:Spring是轻量的,基本的版本大约2MB。 控制反转:Spring通过控制反转实现了松散耦合,对象给出它们的依赖,而不是创建或者查找依赖的对象们。 面向切面的编程(AOP):Spring支持面向切面的编程,并且把应用业务逻辑和提供服务分开。 容...转载 2019-07-23 22:54:48 · 129 阅读 · 0 评论 -
Java面试题-框架篇八
71,谈谈你对Struts的理解。1. struts是一个按MVC模式设计的Web层框架,其实它就是一个Servlet,这个Servlet名为ActionServlet,或是ActionServlet的子类。我们可以在web.xml文件中将符合某种特征的所有请求交给这个Servlet处理,这个Servlet再参照一个配置文件将各个请求分别分配给不同的action去处理。(s...转载 2019-07-23 22:37:26 · 101 阅读 · 0 评论 -
Java面试中遇到的坑【填坑篇】
看到大家对上篇《Java面试中遇到的坑》一文表现出强力的关注度,说明大家确实在面试中遇到了类似的难题。大家在文章留言处积极留言探讨面试中遇到的问题,其中几位同学还提出了自己的见解,我感到非常高兴,还有几位同学强烈要求给出题目答案,那我很乐意跟大家一起探讨分享这些题目。我将题目答案写下来,这个并非标准答案,有不准确的地方请大家辩证补充。1.StringBuilder替代String拼接,面试...转载 2019-07-19 00:14:35 · 181 阅读 · 0 评论 -
Java岗 面试考点精讲(网络篇03期)
1. OSI七层模型总结一下: 应用用层按协议打包数据 由传输层加上双方的端口号 由网络层加上双方的IP地址 由链路层加上双方的MAC地址,并将数据拆分成数据帧 数模信号转换并由物理层传输到另一端 每一层的协议 物理层:RJ45、CLOCK、IEEE802.3 (中继器,集线器,网关) 数据链路:PPP、FR、HDLC、VL...转载 2019-07-18 00:03:30 · 125 阅读 · 0 评论 -
Java面试题-持久层十
91,什么是ORM? 对象关系映射(Object-Relational-Mapping,简称ORM)是一种为解决程序面向对象模型和数据库的关系模型不匹配问题的一种技术; 简单的说,ORM是通过使用描述对象和数据库枝江映射的元数据(在Java中可以用XML或者注解),将程序中的对象自动持久化到关系数据库中或者将关系数据库表中的行转化成Java对象,其本质就...转载 2019-07-24 23:21:02 · 249 阅读 · 0 评论 -
Java面试题-数据库篇十一
重点:适当引入中间表作为一枚Java后端开发者,数据库知识必不可少,对数据库的掌握熟悉度的考察也是对这个人是否有扎实基本功的考察。特别对于初级开发者,面试可能不会去问框架相关知识,但是绝对不会不去考察数据库知识,这里收集一些常见类型的SQL语句,无论对于平常开发还是准备面试,都会有助益。基本表结构:student(sno,sname,sage,ssex)学生表...转载 2019-07-24 23:24:46 · 148 阅读 · 0 评论