![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
眯眯眼:)
这个作者很懒,什么都没留下…
展开
-
Spring(4)
事务数据库操作基本单元,逻辑上一组操作,要么都成功,如果有一个失败所有操作都失败场景:银行转账四特性(ACID):原子性,一致性,隔离性,持久性原创 2021-03-26 19:05:46 · 141 阅读 · 0 评论 -
Spring(3)
JDBCTemplatejdbcTemplate:对JDBC进行封装,使用是方便了数据库的操作dao层写实例接口,daoimp实现接口service写方法CRUD:原创 2021-03-26 17:04:58 · 153 阅读 · 0 评论 -
Spring(2)
AOP面向切面编程对业务逻辑隔离,降低耦合度不修改源代码,加入权限判断功能AOP底层动态代理:1.有接口的情况:JDK动态代理实现类2.没有接口:CGLIB动态代理子类(跳过了JDK动态代理源码练习,以后再说)AOP术语1.连接点:类中那些方法可以被增强,这些方法称为连接点2.切入点:实际被真正增强的方法3.通知(增强):实际增强的逻辑,通知有多种类型,有:前置通知,后置通知,环绕通知,异常通知,最终通知4.切面:动作:把通知应用到切入点的过程AOP操作用AspectJ原创 2021-03-26 16:45:13 · 97 阅读 · 0 评论 -
Spring(1)
核心:IOC:把创建对象的过程交给Spring容器AOP:面向切面,不该源代码进行功能增强特点:方便解耦,简化开发Aop编程方便测试方便事务管理降低API分装IOC底层原理:xml,工厂,反射高耦合工厂模式,低耦合度配置xml文件通过解析获取地址反射forname方法创建对象newInstance返回对象IOC接口IOC底层就是对象工厂Spring提供IOC容器两种方式1.BeanFactory:IOC容器基本实现,是内部使用,不提供给开发人员原创 2021-03-10 22:59:22 · 181 阅读 · 0 评论 -
ssm面试题
Spring在ssm的作用用来管理bean工厂,生命周期核心:IOC/DI(控制反转依赖注入):dao注入到service层,service层转给action层,Spring容器为beanfactoryAOP:面向切面编程,动态代理,解决代码重复,解耦合定义一个切面,在切面的纵向定义处理方法,处理完成之后,回到横向业务流。Spring事务编程式事务:编程方式管理,灵活,难维护申明式:业务代码与事务管理分离,注解与xml管理事务IOC作用解决对象之间的依赖,把bean依赖关系通过原创 2021-03-05 12:40:29 · 529 阅读 · 0 评论 -
java字符串反转
把字符串转为数组,然后反着输出package com.qgm3.java;import java.util.Scanner;public class ReverseTest { public static void main(String[] args) { Scanner sc=new Scanner(System.in); String str=sc.nextLine(); String s = reString(str); .原创 2021-03-05 10:33:02 · 138 阅读 · 1 评论 -
java实现快排
以前觉得算法好难,其实也就这样。希望自己面试成功package com.qgm3.java;import java.util.Scanner;public class quickSort { public static void main(String[] args) { Scanner in=new Scanner(System.in); int len=in.nextInt(); int []arr=new int[len]; ...原创 2021-03-05 10:17:38 · 170 阅读 · 1 评论 -
java基础(io流)
File类流外部到内存为输入,内存到外部为输出处理流就是流的外面包裹的一层流,为了加快速度读入逻辑(data=fr.read())!=-1原创 2021-03-04 19:05:19 · 94 阅读 · 1 评论 -
java基础(泛型,通配符)
泛型没有泛型很不方便,泛型不能是基本数据类型原创 2021-03-03 10:20:59 · 84 阅读 · 0 评论 -
B树和B+树和红黑树的区别
如图所示,区别有以下两点:B+树中只有叶子节点会带有指向记录的指针(ROWID),而B树则所有节点都带有,在内部节点出现的索引项不会再出现在叶子节点中。B+树中所有叶子节点都是通过指针连接在一起,而B树不会。B+树的优点:非叶子节点不会带上ROWID,这样,一个块中可以容纳更多的索引项,一是可以降低树的高度。二是一个内部节点可以定位更多的叶子节点。叶子节点之间通过指针来连接,范围扫描将十分简单,而对于B树来说,则需要在叶子节点和内部节点不停的往返移动。B树的优点:对于在原创 2021-03-02 10:42:32 · 2507 阅读 · 0 评论 -
java面试题,set用法
再改过姓名cc之后,虽然remove。但是是通过hashcode去寻找的。所以寻找1001cc的hash值。之前改过了p1,p1之前是aa,所以找不到cc,就删除不了。运行结果set中就有两个再次添加那就是三个,新的cc出现一个新的hash值...原创 2021-03-01 10:15:22 · 146 阅读 · 0 评论 -
java面试题,去除重复数字
就是将数据放入set,然后遍历。原创 2021-03-01 10:01:51 · 221 阅读 · 0 评论 -
java深拷贝与浅拷贝
https://www.cnblogs.com/ysocean/p/8482979.html浅拷贝即拷贝原对象或者数组引用,改变一个另一个就会有影响深拷贝即将对象每个属性单独存放在内存不同地方,互不影响深拷贝的思路就是给每个引用数据类型单独浅拷贝。...原创 2021-02-27 17:18:29 · 82 阅读 · 0 评论 -
java基础(5)枚举类,注解 ,集合
枚举类使用自定义values就是用来遍历对象得该方法就是用来找枚举类中得对象,错误就报异常可以让每个对象都重写接口方法注解自定义注解原创 2021-02-20 12:09:24 · 116 阅读 · 0 评论 -
java基础(4)常用类
StringString是final,不可被继承可以实现serialzable,可序列化compareable接口,可以表示String得大小通过字面量给其赋值,而不是new对象String对字符串重新赋值,需要重写指定区域内存值不能用原有的value赋值对String操作时也需要指定内存区域赋值new得方式在内存中创造两个对象,一个是堆空间new,另一个是char【】对应得常量池得数据拼接中,除了字面量都是需要new申请空间得,其他都是在常量池内存分布S原创 2021-01-29 11:39:32 · 80 阅读 · 0 评论 -
java基础(3)多线程
基本概念程序:指令集合,静态代码,静态对象进程:动态的,资源分配单位。每个进程分配在不同区域线程:细分进程,是程序内部一个执行路径,是调度与执行的单位,每个线程有独立的运行栈与pc,线程切换开销小一个进程中的多个线程共享相同的内存单元/内存地址->他们从同一堆中分配对象,访问相同对象和变量一个进程分配一个方法区与堆,一个线程分配一个虚拟机栈与一个PCjava.exe程序至少有三个线程,mian()主线程,gc()回收机制,异常处理线程,当然如果发生异常,会影响主线程。并行:多个CPU原创 2021-01-28 11:26:16 · 89 阅读 · 0 评论 -
JVM垃圾回收机制
GC发生在堆中次数上频繁收集young区 minorGC次数上较少收集old区 fullGC基本不动perm区永久区算法:引用计数法(淘汰)复制算法:minorGC,额外空间标记清楚:fullGC,标记一次,清除没有标记的,内存碎片标记压缩:fullGC,标记一次,压缩一次,需要移动对象的成本...原创 2021-01-22 08:50:21 · 83 阅读 · 0 评论 -
java基础(2)面向对象
理解p1,p2在堆中生成,开辟空间。p3其实只是申明变量,并指向p1局部变量和变量的区别属性是有默认的局部变量是没有初始化的属性加载在堆(非static)局部变量:加载到堆空间原创 2021-01-21 20:35:45 · 93 阅读 · 0 评论 -
java基础回顾
不知道能不能考上研究生,先找工作吧。文档注释/** */自动生成文档基础数据类型int 4字节short 2字节long 8字节byte 1字节java中其运行代码与机器无关。java7中可以直接用0b表示二进制float 4字节double 8字节浮点数遵从IEEE754标准,整数/0表无穷,0/0或负数平方根表示NaN(不是数)char注意下转义字符吧,这个经常用\b 退格\n换行"与’表示引号\反斜杠char类型基于unicode编码,用utf-原创 2021-01-14 09:55:31 · 83 阅读 · 0 评论 -
javaweb期末复习——网络协议,socket,serversocket、非阻塞式通讯、非阻塞式HTTP、UDP、序列化
知识比较零碎,仅做应付考试第一章入门第二章socketsocket我感觉就是CS架构中的一条链路延迟等待相关方法半关闭很有必要背一个简单客户端与服务器端背一个流操作很有必要第三章SERVER SOCKET构造方法port置为0是匿名端口感觉只要backlog的参数值非法或没有就是操作系统决定这个构造方法适用于多个ipaccept方法的用法多线程跳过了,不想看了@-@56两问在线程优缺点那里第四章非阻塞式通讯阻塞式操作系统的概念常见的阻塞原原创 2020-06-27 10:55:04 · 240 阅读 · 2 评论 -
Spring(web)
springioc容器(application context。xml中配置bean@controller/service/resposityory/component)springioc初始化:将ioc容器中的所以bean实例化为对象(new对象)将各个bean依赖的属性值注入进去(属性赋值)java版:ApplicationContext context=new ClassPath...原创 2019-11-05 10:50:20 · 120 阅读 · 0 评论 -
Spring(2)
使用注解定义bean:通过注解的形式 将bean以及相应的属性值放入ioc容器1.在java类中写组件:/* * 注解等价于 * <bean id ="studentDao" class="org.qgm.Dao.StudentDaoImpl"> */@Component("studentDao")2在bean文件中头文件中写扫描器,在该包中扫描,扫描注解。如果有,则将...原创 2019-11-05 10:48:27 · 78 阅读 · 0 评论 -
Spring(入门)
开发spring需要jarspring-aop.jarspring-beans.jarspring-context.jarspring-core.jarspring-expression.jar三方提供得日志.jarApache Commons Loggingaop: aop特性,beans:处理 beancontext:处理上下文core: 核心express: spr...原创 2019-11-05 10:47:10 · 73 阅读 · 0 评论 -
Spring(1)
IOC容器辅助:简单类型(8个基本+String), value:如果是对象类型,用ref=“引用Id值”注入的三种模式:1.set注入:赋值:默认使用set方法;依赖注入底层通过反射实现;2.构造器注入:通过构造方法赋值;构造器与书写不一致可以用下面三个方法指定 <!-- index="0" --> <!-- name="name" --> <!-...原创 2019-11-05 10:46:21 · 72 阅读 · 0 评论 -
mybatis(7)
日志: log4j:log4J.jar在 mybatis 的lib目录下开启日志如果不写setting 会按一定顺序开始编写日志输入文件log4j.properties日志级别一般由低到高DEBUG<INFO<WARN<ERROR(调试) (提示)如果设置debug,会显示它与其他等级高的信息开发时设置为DEBUG,在运行时设置为info或者以上log...原创 2019-11-05 10:44:30 · 63 阅读 · 0 评论 -
mybatis(6)
关联查询:一对一:a.业务扩展类<select id="queryStudentBystunoWithOO" parameterType="int" resultType="studentBusiness"> select student.*,studentcard.* from student student inner join studentcard on ...原创 2019-11-05 10:43:39 · 59 阅读 · 0 评论 -
mybatis(5)
数据库相关不区分大小写,类相关需要考虑大小写动态sqla.<select id="queryStudentByNameOrAgeWithSQLTag" parameterType="student" resultType="student"> select stuNo,stuName,stuAge from student where 1=1 <if test="st...原创 2019-11-05 10:43:08 · 97 阅读 · 0 评论 -
Mybatis(4)
输出参数resultType1.简单类型(8个基本类型+String)2.输出参数为实体对象类型3.输出参数为实体对象类型的集合,resultType依然需要写4.输出类型为hashmap–HashMap本身是一个集合,可以放多个元素,但是提示发现,返回值为hashmap时,查询的结果只能是一个学生(stuno,stuname)–>结论:一个hashmap对应一个学生的多个元素...原创 2019-11-05 10:41:44 · 65 阅读 · 0 评论 -
Mybatis(3)
今天主要高了一下这下面两个el表达式的用法输入参数:parameterType1.类型为简单类型(8个基本类型+String)int,char,boolean,float,double,byte,long,short#{任意值}${value}#{}自动给string加上’’(自动类型转换)原样输出适用于动态排序(动态字段)在mapper.xml文件中<select&am...原创 2019-09-05 21:49:23 · 93 阅读 · 0 评论 -
Mybatis(2)
昨天学了传统的写法,今天学习动态的,以下是相关笔记mapper动态代理方式(接口开发)原则:约定优于配置配置:硬编码,abc.java/abc.mxleg:abc.java myProjectconfi conf=new confi();conf.setName(...原创 2019-09-04 21:19:41 · 100 阅读 · 0 评论 -
MyBatis入门,配置环境与实现增删改查
为了以后考研复试能拿出点东西,抓紧看框架了,今天重操旧业看javaMyBatis:可以简化jdbc操作,实现数据的持久化。ORM实现对象与表之间的映射关系。操作对象一般操作数据库步骤:1.配置mybatisconf.xml:配置数据库信息和需要加载的映射文件表-类映射文件 xxMapper.xml:增删改查的标签测试类:session.selectOne(“需要查询的nam...原创 2019-09-03 21:57:52 · 104 阅读 · 0 评论 -
现有URL地址提取数据。不是Socket编程内容,简单String方法调用
开始想用正则,百度了下还准备用URL方法。现有URL地址http://www.xupt.edu.cn:8080/home/subhome/index.html提取出其中的协议(http)、域名(www.xupt.edu.cn)、端口号(8080)、目录(/home/subhome)、和文件(index.html)。package qwe;public class test2 { ...原创 2019-05-27 13:49:39 · 189 阅读 · 0 评论 -
编写程序对该数组排序,并输出所有包含“王”字的字符串。
又是实验题,先简单写一个。现有字符串数组String [] name = {“王敏”,“张合”,“小王”,“小赵”,“天王盖地虎”}编写程序对该数组排序,并输出所有包含“王”字的字符串。package qwe;import java.util.Arrays;public class test { public static void main(String[] args) {...原创 2019-05-27 13:35:25 · 316 阅读 · 0 评论