![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java基础
文章平均质量分 54
Java基础
服部平次;
联络:leem97_,一起成为Javaer
展开
-
为什么dao层和service层要用接口?
为什么dao层和service层要用接口?为什么要用Service接口和DAO接口?我们还得回到最基本的面向对象设计原则上去。面向对象设计原则中有三条与此相关:开闭原则、依赖倒转原则、理氏替换原则。还记得依赖倒转原则吧?高层不依赖于低层,二者都依赖于抽象,也就是面向接口编程。为什么要用Service接口?是让表示层不依赖于业务层的具体实现。为什么要用DAO接口?是让业务层不依赖于持久层的具体实现。有了这两个接口,Spring IOC容器才能发挥作用。举个例子,用DAO接口,那么持久层用Hiberna原创 2021-07-07 13:52:43 · 754 阅读 · 0 评论 -
简单阐述对动态代理的理解
简单阐述对动态代理的理解动态代理是通过反射机制,在程序的运行过程中,动态的为目标对象生成代理对象的一种代理方式,代理模式也是设计模式的一种;动态代理有两种方式,JDK实现动态代理和cglib实现动态代理,其中cglib实现了目标类(Target)不需要实现接口也一样可以实现动态代理;代理可以形象的理解成比如去商店消费,其实商店就是厂商的代理,租房子,中介就是房东的代理;JDK实现动态代理:接口类:package com.wuman.service;//表示功能的,厂家商家都要完成的功能pu原创 2021-06-30 19:23:39 · 206 阅读 · 0 评论 -
冒泡算法的简单示例
冒泡算法的简单示例冒泡算法的实现主要有以下三个步骤:1.双向遍历,内部遍历是仅对一个数字进行的排序遍历,外部遍历是对剩下的需要重新排序的数字进行的新一轮的遍历(每一轮遍历结束后,内部遍历的总次数都会因为上一个数字位置的固定而减少,这也是为什么内部遍历的总次数条件上会减去外部遍历的次数,因为外部遍历了几次,就代表说有几个数已经完成排序,也就是说,内部遍历的次数就不断减少)2.排序方法,即通过第三方变量temp来完成前后值的互换3.打印方法,即打印出排序的结果新手可参考如下方式进行解题:packag原创 2021-06-29 21:24:22 · 198 阅读 · 0 评论 -
JavaKeyWords
AOP:Aspect Oriented Programing,面向切面编程,一种编程方范式,隶属软件工程范畴,指导开发者如何组织程序结构AOF:Append Only File,通过记录数据变化的方式,来持久化存储数据,即数据执行的指令API:Application Programming Interface,应用程序接口,是一些预先定义的接口(如函数、HTTP接口),或指软件系统不同组成部分衔接的约定。[1]用来提供应用程序与开发人员基于某软件或硬件得以访问的一组例程,而又无需访问源码,或理解内部工.原创 2021-06-13 22:33:06 · 1199 阅读 · 1 评论 -
锁与线程(锁的升级原理)
锁与线程锁,是用来确保线程安全的机制。开启线程Java中开启线程,其实是JVM开启,对应的系统里会等比例,1:1的开启相应数量的线程;有些语言不同,比如Golang,里面没有线程的概念,主要是协程,与系统的比例是M>N,即多个协程类似队列组成一个系统的线程来运行,并不是1:1。重量级锁jdk1.6以前,JVM开启多个线程以后,需要提供synchronized锁机制来对线程安全进行保证,JVM并没有对锁进行管理的操作,实际上对这些线程进行管理的是OS,等有了结果以后,再返回给JVM;正因为原创 2021-05-28 03:54:42 · 179 阅读 · 0 评论