
Java小知识
兴趣才是最好的老师
学习使我快乐T
这个作者很懒,什么都没留下…
展开
-
描述一下bean的生命周期?
描述一下bean的生命周期?原创 2022-11-16 15:13:59 · 88 阅读 · 0 评论 -
MyBatis的优缺点有哪些?
ww原创 2022-11-15 18:47:13 · 3629 阅读 · 0 评论 -
HashMap和HashTable的区别是什么?
五点原创 2022-11-15 18:34:11 · 71 阅读 · 0 评论 -
介绍一下集合框架体系
集合体系原创 2022-11-15 17:31:46 · 123 阅读 · 0 评论 -
依赖注入有几种实现方式?
。。原创 2022-11-15 14:58:33 · 1552 阅读 · 0 评论 -
Spring的优缺点是什么?
优点6点,缺点2点原创 2022-11-15 14:47:59 · 339 阅读 · 0 评论 -
说说Spring常用的注解
1.@Component组件,没有明确的角色2.@Repository在数据访问层使用(dao层)3.@Service在业务逻辑层使用(service层)4.@Controller在控制层使用,控制器的声明。原创 2022-11-07 23:22:33 · 285 阅读 · 0 评论 -
谈谈对面向对象的理解
多态就是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定,也就是一个引用变量到底会指向哪一个类的实例对象,该引用变量发出的方法调用到底是哪个类中实现的方法,必须在由程序运行期间才能决定。因为在程序运行时才确定具体的类,这样,不用修改源程序代码,就可以让引用变量绑定到各种不同的类实现上,从而导致该引用调用的具体方法随之改变,即不修改程序代码就可以改变程序运行时所绑定的具体代码,让程序可以选择多个运行状态,这就是多态性。private:同一个类中。原创 2022-11-07 20:24:30 · 195 阅读 · 0 评论 -
【mybatis系列】#{}和${}的区别
但是#{}使用占位符赋值的方式拼接sql,此时为字符串类型或日期类型的字段进行赋值时, 可以自 动添加单引号。②${}使用字符串拼接的方式拼接sql,若为字符串类型或日期类型的字段进行赋值时,需要手动加单引号;①${}的本质就是字符串拼接,#{}的本质就是占位符赋值。③使用#{}可以有效的防止SQL注入,提高系统安全性。原创 2022-11-07 00:24:36 · 170 阅读 · 0 评论 -
谈谈你对IOC的理解
IOC容器就像一个工厂一样,当我们需要创建对象的时候,只需要通过xml配置文件或者注解,把对象注册到组件中,而我们完全不用考虑对象是如何被创建出来的。在Spring中,控制反转指的是将对象的控制权转移给Spring框架进行管理,由Spring帮我们创建对象,管理对象之间的依赖关系。以前创建对象的主动权和时机都是由自己把控的,现在由IOC容器来做,在很大程度上简化了应用的开发。IOC就是控制反转,控制反转是一种设计思想,而不是一种具体的技术实现。控制反转,容器概念,依赖注入。原创 2022-11-07 00:16:51 · 159 阅读 · 0 评论 -
谈谈你对AOP的理解
AOP就是解决这些问题的,它通过一种横向抽取机制,将那些与业务无关,但却对多个对象产生影响的公共行为和逻辑,抽取并封装为一个可重用的模块,也就是切面,通过将横切逻辑代码与业务代码分离,在不改变原有的代码的基础上,将逻辑增强部分应用到原有业务中,从根本上解耦,避免大量的重复操作,降低了模块间的耦合度,提高了系统的可维护性。OOP思想是一种垂直纵向的继承体系,通过子类继承父类可以解决大部分的代码重复问题,但对于一些特殊问题,如在父类的所有方法的相同的位置进行一些日志控制,OOP就无法解决了。原创 2022-11-07 00:01:45 · 127 阅读 · 0 评论 -
spring是什么?
轻量级的开源J2EE框架。它是一个容器框架,用来装javabean(java对象),中间层框架,可以起一个连接作用,比如说Struts粘合在一起运用,可以让我们的企业开发更快,更简洁。Spring是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器框架。原创 2022-11-06 23:50:13 · 88 阅读 · 0 评论 -
冒泡排序的思想
答:冒泡排序的思想就是把相邻的元素两两比较,当一个元素大于右侧相邻的元素的时候,就交换它们的位置,当一个元素小于或者等于右侧相邻的元素的时候,位置不变。这里就只说说冒泡排序的算法的思路,具体实现去数据结构与算法专栏看。原创 2022-10-17 00:05:44 · 288 阅读 · 0 评论 -
ArrayList和LinkedList的区别?
因为ArrayList维护的是一个数组,所以当容量到达阈值时就会进行扩容,然后会重新分配数据的位置,当数组扩容的时候速度也要比LinkedList慢。ArrayList底层维护的是一个动态数组,LinkedLisd底层维护的是一个双向链表,而它们之间的不同主要也是数组和链表的特征比较。因为ArrayList往集合中间插入数据要做两件事,把之前的数据挪开赋值到新的数组位置,然后把需要插入的数据插入到数组对应的位置。原理是:ArrayList是数据有下标标记数据位置的,查询时直接返回对应的数组下标数据即可。原创 2022-11-06 21:57:04 · 609 阅读 · 0 评论 -
说说Java中集合的体系
Map代表的是存储key-value对的集合,常用的实现类有:HashMap,LinkedHashMap,TreeMap,HashTable,Properties。常用的实现类有:HashSet,LinkedHashSet,TreeSet。Set代表了无序不可重复集合,只允许一个null,只能根据元素本身来访问。Collection有三个子接口:List,Set,Queue。常用的实现类有:ArrayList,LinkedList。List代表了有序可重复的集合,可以插入多个null。原创 2022-11-06 23:40:17 · 126 阅读 · 0 评论 -
5种常见异常
ArrayStoreException(数据存储异常,操作数组时类型不一致)还有IO操作的BufferOverflowException异常。IndexOutOfBoundsException(数组越界)ClassCastException(类转换异常)NullPointerException(空指针)原创 2022-11-06 22:08:06 · 334 阅读 · 0 评论 -
final跟finally和finalize有什么区别
在垃圾收集器将该对象清除出内存之前会先调用它的finalize方法,做一些内存清理工作,通常这部分是非Java内存,如socket,finalize只会被调用一次。被final修饰的变量,表示此变量不能被修改,也就是该变量为一个常量。所以对于用final修饰的变量我们必须在声明它的时候赋值,或者代码块中赋值,又或者在构造器中给它赋值。被final所修饰的类,此类不能被其他类所继承,因为抽象类不能被继承,所以abstract关键字和final关键字不能共存。被final修饰的方法,表示此方法不能被重写。原创 2022-11-06 17:46:18 · 376 阅读 · 0 评论 -
Java中线程的状态和生命周期
阻塞,sleep(long time),join(),等待同步锁,wait(),suspend();在这个过程中,运行到阻塞前提是sleep(long time),join(),等待同步锁,wait(),suspend();1)等待阻塞:运行的线程执行wait方法,该线程会释放占用的所有资源,JVM会把该线程放入“等待池”中,进入这个状态后,是不能自动唤醒的,必须依靠其他线程调用notify或notifyAll方法才能被唤醒,wait是object类的方法。只可以变成运行状态,前提是获取CPU的执行权。原创 2022-10-15 02:54:14 · 112 阅读 · 0 评论 -
创建多线程的几种方式
1. 创建一个继承于Thread类的子类2. 重写Thread类的run() --> 将此线程执行的操作声明在run()中3. 创建Thread类的子类的对象4. 通过此对象调用start():①启动当前线程 ② 调用当前线程的run()说明两个问题:问题一:我们启动一个线程,必须调用start(),不能调用run()的方式启动线程。问题二:如果再启动一个线程,必须重新创建一个Thread子类的对象,调用此对象的start().原创 2022-10-15 02:09:23 · 1610 阅读 · 0 评论 -
String,StringBuilder,StringBuffer的区别
1)字符修改上的区别(主要)原创 2022-10-15 00:08:55 · 542 阅读 · 0 评论 -
重载和重写的区别
1.方法重载就是让类以统一的方式处理不同类型的一种手段,在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可。这样可以提高代码的可读性以及可复用性,调用方法时通过传递给他们的不同个数和类型的参数来决定具体使用哪个方法2.重写体现了Java优越性,重写是建立在继承关系上的,它使语言结构更加丰富。在Java的继承中,子类既可以隐藏和访问父类的方法,也可以重写继承来的父类方法。这样方便了子类对父类方法的扩展。原创 2022-10-11 01:00:02 · 569 阅读 · 0 评论 -
==和equals的区别
equals()方法是Object类的方法,在Object类中的equals()方法体内实际上返回的就是使用==进行比较的结果.但是我们知道所有的类都继承Object,而且Object中的equals()方法没有使用final关键字修饰,那么当我们使用equal()方法进行比较的时候,我们需要关注的就是这个类有没有重写Object中的equals()方法.原创 2022-09-28 11:20:14 · 313 阅读 · 0 评论 -
Java8新特性总结
1.1Lambda表达式(重要)1.2函数式接口(重要)1.2接口的默认方法与静态方法(重要)1.3方法引用(重要)1.4重复注解1.5更好的类型推断机制1.6扩展注解的支持。原创 2022-10-16 01:57:45 · 486 阅读 · 0 评论