首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
课程
专栏·文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
在线笔面试、雇主品牌宣传
登录
/
注册
huangziqiang
获赞
8
粉丝
5
关注
4
看过 TA
12
男
西安电子科技大学
2022
Java
IP属地:陕西
暂未填写个人简介
私信
关注
拉黑
举报
举报
确定要拉黑huangziqiang吗?
发布(53)
刷题
huangziqiang
2021-09-15 16:08
Java
Spring框架的核心
Spring 的核心思想就是:简化 Java 开发。为了达到这个目的,就有了以下的四个策略:基于POJO的轻量级和最小入侵性编程通过依赖注入和面向接口实现松耦合基于切面的惯例进行声明式编程通过切面和模板减少样板式代码 参考链接:https://www.cnblogs.com/xingyys/p/11375896.html
0
点赞
评论
收藏
转发
huangziqiang
2021-09-15 15:57
Java
Spring Bean的生命周期
四个阶段:实例化 -> 属性赋值 -> 初始化 -> 销毁 实例化和属性赋值对应构造方法和setter方法的注入,初始化和销毁是用户能自定义扩展的两个阶段https://www.jianshu.com/p/1dec08d290c1 细说的话,有以下这些过程:1、创建(调用构造函数)2、set属性(set方法注入属性)3、判断是否实现BeanNameAware接口,并调用接口的setBeanName方法4、判断是否实现BeanFactoryAware接口,并调用接口的setBeanFactory方法5、判断是否实现ApplicationContextAware接口,并调用接口...
0
点赞
评论
收藏
转发
huangziqiang
2021-09-15 11:38
Java
Spring和SpringBoot的区别
SpringSpring框架为开发Java应用程序提供了全面的基础架构支持。它包含一些很好的功能,如依赖注入和开箱即用的模块,如:Spring JDBC 、Spring MVC 、Spring Security、 Spring AOP 、Spring ORM 、Spring Test,这些模块缩短应用程序的开发时间,提高了应用开发的效率例如,在Java Web开发的早期阶段,我们需要编写大量的代码来将记录插入到数据库中。但是通过使用Spring JDBC模块的JDBCTemplate,我们可以将操作简化为几行代码。 SpringBootSpring Boot基本上是Spring框架的扩展,它...
0
点赞
评论
收藏
转发
huangziqiang
2021-09-14 09:10
Java
接口和抽象类的区别
抽象类与接口的区别,这是一个经常被问到面试题,区别主要有以下几点,我们可以从几个方面进行分析:(一) 继承方面: (1) 抽象类只能单继承;接口可以多实现(二) 成员属性方面: (1) 抽象类中可以有普通属性,也可以有常量 (2) 接口中的成员变量全部默认是常量,使用public static final修饰,这个可以省略不写(关于为什么必须是public static final的可以看看:https://blog.csdn.net/qq_36996785/article/details/115128398)(三) 代码块方面: (1) 抽象类...
0
点赞
评论
收藏
转发
huangziqiang
2021-09-13 23:32
Java
了解static吗,static数据存在哪?生命周期什么样的
static修饰属性、方法、代码块、内部类 static数据的生命周期就是类的生命周期,Java虚拟机会在加载类的过程中为静态变量分配内存,一个类的完整的生命周期会经历加载、连接、初始化、使用、和卸载五个阶段。 静态的优缺点优点:1)对对象的共享数据提供单独空间的存储,节省空间,没有必要每一个对象都存储一份2)可以直接被类名调用,不用在堆内存创建对象3)静态成员可以通过类名直接访问,相对创建对象访问成员方便弊端:访问出现局限性。(静态虽好,但只能访问静态) 关于静态的面试题1)Q:抽象的(abstract)方法是否可同时是静态的(static)?A:抽象方法将来是要被重写的,而静态方法...
0
点赞
评论
收藏
转发
huangziqiang
2021-09-13 21:35
Java
你真的了解final关键字吗?
final可以修饰变量,方法和类,用于表示所修饰的内容一旦赋值之后就不会再被改变,比如String类就是一个final类型的类。 final修饰变量final成员变量表示常量,只能被赋值一次,赋值后值不再改变。1)当final修饰一个基本数据类型时,表示该基本数据类型的值一旦在初始化后便不能发生变化;如果final修饰一个引用类型时,则在对其初始化之后便不能再让其指向其他对象了,但该引用所指向的对象的内容是可以发生变化的。本质上是一回事,因为引用的值是一个地址,final要求值,即地址的值不发生变化。2)final修饰一个成员变量(属性),必须要显示初始化。这里有两种初始化方式,一种是在变量...
0
点赞
评论
收藏
转发
huangziqiang
2021-09-21 21:31
已编辑
Java
线程池
简介线程的使用在java中占有极其重要的地位,在jdk1.4极其之前的jdk版本中,关于线程池的使用是极其简陋的。在jdk1.5之后这一情况有了很大的改观。Jdk1.5之后加入了java.util.concurrent包,这个包中主要介绍java中线程以及线程池的使用。为我们在开发中处理线程的问题提供了非常大的帮助。 线程池的作用:线程池作用就是限制系统中执行线程的数量。根据系统的环境情况,可以自动或手动设置线程数量,达到运行的最佳效果;少了浪费了系统资源,多了造成系统拥挤效率不高。用线程池控制线程数量,其他线程排队等候。一个任务执行完毕,再从队列的中取最前面的任务开始执行。若队列中没有等待...
0
点赞
评论
收藏
转发
huangziqiang
2021-09-21 21:34
已编辑
Java
ThreadLocal
多线程操作 主内存共享数据时 各线程将共享数据 COPY到本地内存,并各字只操作本地内存这个局部变量,互不干扰。 当使用ThreadLocal维护变量时,ThreadLocal为每个使用该变量的线程提供独立的变量副本,所以每一个线程都可以独立地改变自己的副本,而不会影响其它线程所对应的副本。 ThreadLocal的静态内部类ThreadLocalMap为每个Thread都维护了一个数组table,ThreadLocal确定了一个数组下标,而这个下标就是value存储的对应位置. 对于某一ThreadLocal来讲,他的索引值i是确定的,在不同线程之间访问时访问的是不同的table数组的同一位...
0
点赞
评论
收藏
转发
huangziqiang
2021-09-13 19:56
已编辑
Java
什么是线程安全?如何保证线程安全?
什么是线程安全?线程安全就是多线程访问时,采用了加锁机制,当一个线程访问该类的某个数据时,进行保护,其他线程不能进行访问直到该线程读取完,其他线程才可使用。不会出现数据不一致或者数据污染。 线程不安全就是不提供数据访问保护,有可能出现多个线程先后更改数据造成所得到的数据是脏数据。 如何保证线程安全呢?1)使用线程安全的类;2)对线程不安全的代码块加锁(synchronized、lock);3)多线程并发情况下,线程共享的变量改为方法局部级变量-->ThreadLocalThreadLocal:多线程将主存共享数据变成本地局部变量关于threadlocal请参考:https://blog...
0
点赞
评论
收藏
转发
huangziqiang
2021-09-11 22:04
Java
二叉搜索树、B树、B+树、AVL树、红黑树
1. 二叉搜索树 特点1) 任意节点左子树不为空,则左子树的值均小于根节点的值.2) 任意节点右子树不为空,则右子树的值均大于于根节点的值.3) 任意节点的左右子树也分别是二叉查找数4) 没有键值相等的节点. 二叉查找树的局限二叉查找树在查找数据时,时间复杂度最好情况是O(logn) ,最坏情况下(退化为线性表时)时间复杂度O(n)。 * 2. B树B树又名平衡多路查找树(查找路径不只两个),不同于常见的二叉树,它是一种多叉树,我们常见的使用场景一般是在数据库索引技术里,大量使用者B树和B+树的数据结构。 B树大多用在磁盘上用于查找磁盘的地址。因为磁盘会有大量的数据,有可能没有办法一次将...
0
点赞
评论
收藏
转发
huangziqiang
2021-10-14 15:02
已编辑
Java
数据库的索引
什么是索引 MySql官方对索引的定义为:索引是帮助MySql高效获取数据的数据结构,所以索引的本质就是:索引是数据结构。 索引的优势 提高数据检索的效率,减低数据库的IO成本。(检索查询快) 减低数据排序的成本,减低了CPU的消耗。(排序快) 索引的劣势 写操作速度会变慢(insert/update/delete) 占用磁盘空间(索引存放的地方) 哪些情况需要创建索引, 哪些情况不要创建索引? https://blog.nowcoder.net/n/753e988d4f4f4654997c740cd86b2347 索引的基本原理 MySQL支持哪几种类型的索引? 从...
0
点赞
评论
收藏
转发
huangziqiang
2021-09-11 16:14
已编辑
Java
ThreadLocal原理、使用场景及其内存泄漏问题
0
点赞
评论
收藏
转发
huangziqiang
2021-09-11 15:38
Java
sleep、wait、join、yield区别
0
点赞
评论
收藏
转发
huangziqiang
2021-09-11 14:33
Java
什么是字节码?java为什么可以实现跨平台性?
java中的编译器与解释器java中引入了虚拟机(JVM)的概念,即在机器和编译程序之间加入了一层抽象的虚拟的机器。这台虚拟的机器在任何平台上都提供给编译程序一个公共的接口。编译程序只需要面对JVM,生成JVM能够理解的代码,然后由解释器来将虚拟机代码转换为特定系统的机器码执行。在java中,这种供虚拟机理解的代码就叫做字节码(即扩展名为.class的文件),它不面向任何特定的处理器,只面向虚拟机。每一种平台的解释器是不同的,但是实现的虚拟机是相同的,java源程序经过编译器后变成字节码,字节码由虚拟机解释执行,虚拟机将每一条要执行的字节码送给解释器,解释器将其翻译成特定机器上的机器码,然后在...
0
点赞
评论
收藏
转发
huangziqiang
2021-09-17 17:41
已编辑
Java
HashMap、TreeMap、HashTable、ConcurrentHashMap
HashMap、TreeMap、HashTable、ConcurrentHashMap异同及底层实现原理 HashMap、TreeMap、HashTable1.1 区别:(1)HashMap没有synchronized修饰,线程不安全,HashTable线程安全(2)HashMap允许存储null值的key和value,HashTable不允许(3)Hashtable、HashMap具有无序特性。TreeMap是利用红黑树实现的(树中的每个节点的值都会大于或等于它的左子树中的所有节点的值,并且小于或等于它的右子树中的所有节点的值),实现了SortMap接口,能够对保存的记录根据键进行排序。所...
0
点赞
评论
收藏
转发
1
2
3
4
工具箱
TA的圈子
暂未加入圈子
TA的圈子
TA的笔记
暂无笔记
TA的笔记
登录
0
天
已登录
0
天
连续登录
0
人
今日访客
牛客网
牛客企业服务