03 2022 档案
摘要:什么是字符串常量池? 创建一个字符串时,JVM会首先去字符串常量池查找是否存在这个对象,如果存在,则不创建任何对象,,直接将这个对象的地址返回。如果不存在,就新创建一个对象,然后返回。 字符串常量池是JVM为了提升性能和减少内存消耗针对字符串专门开辟的一块区域。 为了避免字符串的重复创建 Strin
阅读全文
摘要:1.MyBatis是什么? Mybatis是一个半ORM(对象关系映射)框架,它内部封装了JDBC,加载驱动、创建连接、创建statement等繁杂的过程,开发者开发时只需要关注如何编写SQL语句,可以严格控制sql执行性能,灵活度高。 作为一个半ORM框架,MyBatis 可以使用 XML 或注解
阅读全文
摘要:缓存:存在内存中的临时数据 将用户经常查询的数据放在缓存中,用户去查询数据就不用从磁盘上查询,从缓存中查询,从而调高查询效率,解决了高并发系统的性能问题。 Mybatis的一级,二级缓存: 1.一级缓存:基于 PerpetualCache 的 HashMap 本地缓存,其存储作用域为 Session
阅读全文
摘要:http和https区别 http是超文本传输协议,信息是明文传输。https则是具有安全性的ssl加密传输协议 http端口号80,https端口号443 https比http协议更安全 TCP和UDP(传输控制协议和用户数据报协议)的区别 TCP和UDP都位于计算机网络模型中的传输层,负责传输应
阅读全文
摘要:1.9种隐式对象,以及他们的用途 request,response,out 分别代表请求,相应和输出 pageContext,session,application pageContext 代表当前页面作用域 session 代表当前会话作用域 application 代表当前全局作用域 confi
阅读全文
摘要:1.常见的选择器 元素选择器,id选择器对应#符号,class选择器对应.符号 2.行内元素有哪些?块级元素有哪些? 块级元素:div,p,h1,h2,h3,h4,from,ul 行级元素:a,b,i,span,input,select 3.前端页面有哪三层构成,分别是什么?作用是什么? 结构层(内
阅读全文
摘要:Servlet 请你谈谈网站时如何进行访问的! 1.输入一个域名;回车2.检查本机的C:\Windows\System32\drivers\etc\hosts配置文件下有没有这个域名映射; 有:直接返回对应的ip地址,这个地址中,有我们需要访问的web程序,可以直接访问 127.0.0.1 www.
阅读全文
摘要:1.左右连接区别? left join(左连接)查询的包括左表的所有记录和右表中交集的记录,如果右表中的没有对应数据,按null补充。 right join(右连接) 查询的包括右表的所有记录和左表中交集的记录。如果左表中的没有对应数据,按null补充。 2.having和where的区别? (1)
阅读全文
摘要:-- 1.查询所有员工信息。查询员工编号,员工姓名,工资,职务名称,职务描述/*分析:员工编号,员工姓名,工资 用到emp;职务名称,职务描述 用到了job emp.job_id=job.id*/--隐式内连接SELECT emp.id,emp.ename,emp.salary,job.jname,
阅读全文
摘要:1.数据规范化 1.1什么是范式? 建立科学的,规范的数据库就需要满足一些规则来优化数据的设计和存储,这些规则就成为范式。 1.2三大范式 第一范式(1NF):第一范式每一列不可再拆分,成为原子性。 第二范式(2NF):第二范式就是在满足第一范式的基础上所有列完全依赖于主键列, 第三范式(3NF):
阅读全文
摘要:Mysql服务启动 cmd-->services.msc 打开服务的窗口 / net stop/start mysql停止/开启服务 访问Mysql服务器 mysql -uroot -proot 退出 exit 去除重复的结果集:select distinct address from studen
阅读全文
摘要:递归的分类:1.递归分为两种,直接递归和间接递归 2.直接递归成为方法自身调用自己。 3.间接递归可以A方法调用B方法,B方法调用C方法,C方法调用A方法。 递归的使用前提:当调用方法的时候,方法的主题不变,每次调用方法的参数不同,可以使用递归 递归一定要有条件限定,保证递归能够停止下来,否则会发生
阅读全文
摘要:1.什么是迭代器(Iterator)?怎么用?有什么特点? Iterator主要是用来遍历集合的, 方法如下:1.next()方法获得集合中的下一个元素 2.hasNext()检查集合中是否还有元素 3.remove()方法将迭代器新返回的元素删除 4.forEachRemaining()方法,遍历
阅读全文
摘要:1.什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”? Java虚拟机是一个可以执行Java字节码的虚拟机进程。 Java源文件被编译成能被Java虚拟机执行的字节码文件。 Java被设计成允许应用程序可以运行在任意的平台,而不需要程序员为每一个平台单独重写或者是重新编译。 Jav
阅读全文
摘要:.HashSet是由一个Hash表来实现的,因此他的元素是无序的,add,remove,contains方法的时间复杂度是0(1) TreeSet是由一个一个树形的结构来实现的,里面的元素是有序的。因此add,remove,contains的时间复杂度为0(logn)
阅读全文
摘要:Super:用来访问父类内容 this用于访问本类的内容 Super关键字的用法有3种: 1.在子类的成员方法中,访问父类的成员变量 2.在子类的成员方法中,访问父类的成员方法 3.在子类的方法构造中,访问父类的构造方法 this的用法也有3种: 1.在本类的成员方法中,访问本类的成员变量 2.在本
阅读全文
摘要:https://blog.csdn.net/qq_44373026/article/details/117661765 1.工厂模式简介工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们
阅读全文
摘要:我使用过synchronized和lock,volatile synchronized和volatile的区别? Synchronized 是关键字,用来加锁。 Volatile 只是保持变量的线程可见性。通常适用于一个线程写,多个线程读的场景。 volatile 本质是在告诉jvm当前变量在寄存器
阅读全文
摘要:线程是什么? 线程被称为轻量级进程,是程序执行的最小单位,它是指在程序执行过程中,能够执行代码的一个执行单位。每个程序程序都至少有一个线程,也即是程序本身。 线程的状态 Java语言定义了5种线程状态,在任意一个时间点,一个线程只能有且只有其中一个状态。这5种状态如下: 新建(New):创建后尚未启
阅读全文
摘要:串行在时间上不可能发生重叠,前一个任务还没有搞定,下一个任务只能等着,也叫顺序执行。 并行在时间上时重叠的,两个任务在同一时刻互相不干扰的同时执行。 并发允许两个任务彼此干扰。统一时间点,只有一个任务运行,交替执行。 并发的三大特性 原子性 原子性是指在一个操作中cpu不可以在中途暂停然后再调度,即
阅读全文
摘要:1.进程和线程的区别 进程就是一个程序从创建,运行,到消亡的过程 一个进程可以创建多个线程,每个线程都有自己的程序计数器,本地方法栈,虚拟机栈 2.说一下线程的生命周期?线程有哪几种状态? java线程在运行的生命周期中的指定时刻只能处于下面集中不同状态的其中一种状态。 线程有5大状态:创建,就绪,
阅读全文
摘要:一、前言在了解悲观锁和乐观锁之前,我们先了解一下什么是锁,为什么要用到锁? 技术来源于生活,锁不仅在程序中存在,在现实中我们也随处可见,例如我们上下班打卡的指纹锁,保险柜上的密码锁,以及我们我们登录的用户名和密码也是一种锁,生活中用到锁可以保护我们人身安全(指纹锁)、财产安全(保险柜密码锁)、信息安
阅读全文
摘要:Java GC java堆是垃圾收集器管理的主要区域,所以被称为GC堆,所以Java堆可以细分为新生代,老生代,新生代再分为Eden空间,from survive区和to survive区,这样更细的分是因为更好的回收内存。 大部分情况,对象都会首先在Eden区域分配,随着对象的创建,Eded剩余内
阅读全文
摘要:堆:Java虚拟机所管理的内存最大的一块, java堆是所有线程共享的一块内存区域,在虚拟机启动时候创建,此内存区域唯一目的就是存放对象实例,在这里分配内存。Java堆是垃圾收集器管理的主要区域,因此也被称为GC堆。 在JDK7版本,堆内存被通常分为:新生代内存,老生代内存,永久代内存,早JDK1.
阅读全文
摘要:程序计数器,Java虚拟机栈,本地方法栈是线程私有的,堆,方法区,直接内存是线程共享的。 程序计数器:为了线程切换后能恢复到正确的执行位置,是唯一一个不会出现OutOfMemoryError的内存区域,生命周期随着线程的创建而创建,随着线程的结束而死亡。 Java虚拟机栈:是Java方法执行的内存模
阅读全文
摘要:池化技术的思想主要是为了减少每次获取资源的消耗,提高对资源的利用率。 线程池的好处:降低资源的消耗,提高响应速度,提高线程的可管理性。 如何创建线程池? 1.通过构造方法实现 2.通过Executor框架的工具类Executors来实现。 线程池原理:我们在代码中模拟了 10 个任务,我们配置的核心
阅读全文
摘要:调用start()方法方可启动线程并且使线程进入就绪状态,这是真正的多线程工作。 直接调用run()方法,会把run()当作一个main线程下的普通方法去执行,这不是多线程工作。
阅读全文
摘要:两个进程都在等待对方执行完毕才能继续往下执行的时候就发生了死锁。结果就是两个进程都陷入了无限的等待。 如何确保N个线程可以访问N个资源同时又不导致死锁? 指定获取锁的顺序,并且强制线程按照顺序获取锁,因此所有的线程都是以同样的顺序加锁和释放锁,就不会出现死锁了。
阅读全文
摘要:1.线程间的切换和调度的成本远远小于进程 2.多线程并发编程是开发高并发系统的基础,利用好多线程机制可以提高系统的并发能力。 并发编程可能遇到的问题:内存泄露,线程不安全,死锁
阅读全文
摘要:程序计数器私有是为了线程切换后能恢复到正确的执行位置 虚拟机栈和本地方法栈私有是为了保证线程中的局部变量不被别的线程访问到。
阅读全文
摘要:1.介绍下Java内存区域 Java的内存区域 在jdk1.8之前是线程私有的:程序计数器,虚拟机栈,本地方法栈 线程共享的:堆,方法区 直接内存 在jdk1.8开始是线程私有的:程序计数器,虚拟机栈,本地方法栈 线程共享的:堆 直接内存以及里面的元空间程序计数器:指向下一条需要执行的字节码;记录当
阅读全文
摘要:collection是list,set集合的接口 Collections是工具类 Collections工具类常用方法:排序,查找替换操作,同步控制
阅读全文
摘要:1.底层数据结构:ConcurrentHashMap jdk1.7:分段的数组+链表,jdk1.8以后,数组+链表+红黑树。 Hashtable:数组+链表 (主体是数组,链表是为了解决哈希冲突而存在的) 2.实现线程安全的方式(重要):ConcurrentHashMap 在jdk1.7是分段锁对整
阅读全文
摘要:TreeMap多了对集合中的元素根据键排序的能力以及对集合内元素的搜索能力
阅读全文
摘要:HashSet底层就是基于HashMap实现的 1.Hashmap实现了map接口,HashSet实现了set接口 2.HashMap存储键值对,HashSet仅存储对象 3.HashMap调用Put()存储元素,HashSet调用add()方法添加元素。
阅读全文
摘要:1.hashMap是线程不安全的Hashtable是线程安全。如果考虑线程安全使用ConcruuenthashMap 2.hashMap效率高 3.HashMap底层是由数组,链表,红黑树组成的。jdk1.8以后,hashMap在解决哈希冲突有了变化,当链表长度大于阈值,将链表转化为红黑树,减少搜索
阅读全文
摘要:什么是序列化? 将一个对象保存到一个文件,可以通过流的方式在网络上传输,可以将文件内容读取, 转化为一个对象。 什么是反序列化? 将在序列化过程中生成的二进制字节流转换成数据结构或者对象。 Java序列化中如果有些字段不想进行序列化怎么办? 使用transient关键字修饰。 如何实现java序列化
阅读全文
摘要:计算机结构5大部分:输入设备,控制器,运算器,存储器,输出设备。 I/O在计算机结构中描述了计算机系统与外部设备之间通信的过程。 应用程序角度:为了保证操作系统稳定性和安全性,一个进程的地址空间划分为用户空间, 内核空间。 我们的应用程序发起IO调用,操作系统负责的内核执行具体的IO操作。 Java
阅读全文
摘要:封装:把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。 继承:可以让某个类型的对象获得另一个类型的对象的属性的方法 实现继承和接口继承 多态:是指一个类实例的相同方法在不同情形有不同表现方式。类的多态指父类引用指向子类对象,并且有继承,有重写。
阅读全文
摘要:异常原理的一个解析: Throwable-->exception >Checked Exception 和 Unchecked Exception -->error 在Java中异常都有一个共同的祖先throwable,Throwable有两个重要的子类(Exception,error) Excep
阅读全文
摘要:注解 概念:说明程序的,给计算机看的 作用分类:编写文档,代码分析(使用反射),编译检查 JDK中预定义的一些注解: @Override:检测被该注解标注的方法是否使继承自父类的 @Deprecated:该注解标注的内容,表示已经过时 @SuppressWarnings:压制警告 一般传递参数 @S
阅读全文
摘要:反射:将类的各个组成部分封装为其他对象 通过反射你可以获取任意一个类的所有属性和方法,你还可以调用这些方法和属性。 优点:让代码更加灵活,为各种框架提供开箱即用的功能,可以解耦,提高程序的可扩展性 缺点:增加了安全问题。 反射的应用场合:编译时类型和运行时类型 编译时的类型由声明对象时实用的类型来决
阅读全文
摘要:首先,方法的定义会用到参数,参数在程序设计语言中分为: 实参(实际参数):传递给方法的参数,有确定的值 形参(形式参数):用于定义方法,接收实参,不需要有确定的值 紧接着值传递和引用传递(将实参传递给方法的方式) 值传递:方法接收的是实参值的拷贝,会创建副本。 引用传递:方法接收的直接是实参所引用的
阅读全文
摘要:字符串常量池是JVM为了提升性能和减少内存消耗针对字符串专门开辟的一块区域。 字符串常量池的作用:为了避免字符串的重复创建。
阅读全文
摘要:Java Object类是所有类的父类,也就是java的所有类都继承了Object。 Object类可以显示继承,也可以隐式继承 Java Object类的方法: protected Object clone() 创建并返回一个对象的拷贝 boolean equals(Object obj) 比较两
阅读全文
摘要:深拷贝:会完全复制整个对象,包括这个对象所包含的内部对象 浅拷贝:会在堆上创建一个新的对象。 引用拷贝:就是两个不同的引用指向同一个对象
阅读全文
摘要:1.接口默认只能存在public,不能用别的修饰符修饰 2.接口的成员变量只能是public static final类型 3.接口中不能含有静态代码块以及静态方法 4.一个类只能继承一个抽象类,而一个类可以实现多个接口 5.抽象类是对一种事物的抽象,即对类抽象;而接口是对行为的抽象 一.接口可以多
阅读全文
摘要:1.静态方法属于类的,非静态成员属于实例对象。 2.在类中,非静态成员不在的时候静态成员已经存在了,此时调用内存中还不存在的非静态成员,属于非法操作 静态方法和实例方法有什么不同? 1.调用静态方法无需创建对象 2.访问类成员是否存在限制
阅读全文
摘要:什么是方法的返回值?作用? 某个方法体中的代码执行后产生的结果。接收出结果。 方法有哪几种类型? 1.无参数无返回值的方法 2.有参数无返回值的方法 3.有返回值无参数的方法 4.有返回值有参数的方法
阅读全文
摘要:在循环结构中,当循环条件不满足或者循环次数达到要求时候。 continue:指跳出当前的这一次循环,继续下一次循环: break:跳出整个循环体,继续执行循环下面的语句 return:用于跳出所在方法,结束该方法的运行。
阅读全文
摘要:某个整数类型变量需要增加1或者减少1,Java提供了特殊的运算符 (++) (- -) 当运算符放在变量之前,先自增自减,再赋值;当运算符放在变量之后,先赋值,再自增自减
阅读全文
摘要:标识符:标识符就是一个名字 关键字:是被赋予特殊含义的字符 private,abstract,new,break,try,import,boolean,short,super 关键字的作用? 方法在没有创建对象时候调用方法和变量和优化程序性能
阅读全文
摘要:1.字符常量是单引号引起的一个字符,字符串常量是双引号引起的若干个字符 2.字符常量可以参加表达式运算,字符串常量代表一个地址值
阅读全文
摘要:== 对于基本类型,==比较的是值;对于引用数据类型,==比较的是内存地址 equals 如果没有重写equals方法的类,equals方法和==作用类似;重写过equals方法的类,equals比较的是值。
阅读全文
摘要:面向过程: 优点:性能比面向对象高 缺点:没有面向对象易维护,易复用,易扩展 面向对象: 优点:易维护,易复用,易扩展,由于面向对象有封装,继承,多态的特性,可以设计出低耦合的系统,使系统更加灵活,更加易于维护 缺点:性能比面向过程低
阅读全文
摘要:&&和& 都可以表示逻辑与,共同点是他们两边的条件都成立的时候最终结果才是true;不同点是&&只要是第一个条件不成立,就不会去判断第二个条件,结果为false,而&判断的是所有的条件。 ||和| 都表示逻辑或,共同点是两个判断条件其中有一个成立,结果就是true;不同点是||只要满足第一个条件,后
阅读全文
摘要:装箱:将基本类型用包装器类型包装起来 拆箱:将包装器类型转换为基本类型
阅读全文
摘要:* Java通过虚拟机从而实现跨平台特性 * Java没有安全指针 *Java支持自动垃圾回收 *Java不支持多重继承,只能通过实现多个接口来达到相同目的
阅读全文
摘要:面向对象编程:即OOP,面向对象的编程概念和应用已经超越了程序设计。面向对象编程的本质就是:以类的方式组织代码,以对象的组织(封装)数据。 面向对象的特点:抽象,封装,继承,多态。 引用一段话:假如我是上帝,我要造人(对象),首先,人要有思想,人要有肉体(这个过程就是抽象) 因为人数量大,我需要找别
阅读全文
摘要:Stringbuffer,StringBuilder的由来? StringBuffer与StringBuild都继承自AbstractStringBuilder String str = "hello"; 我们可以看到初始String值为”hello“,然后在这个字符串后面加上新的字符串”world
阅读全文
摘要:String 字符串常量,StringBuffer 字符串变量 ,StringBuilder 字符串变量 String为什么是不可变的? 1.Sring类在定义时候声明为final类型。 2.String类全局变量都定义为private final类型,表明对象一旦初始化,属性值就无法改变。 Str
阅读全文
摘要:3种实现思路: 1.自定义方法去重,通过循环判断当前的元素是否存在多个,如果存在多个,则删除此重复项,循环整个集合最终得到的就是一个没有重复元素的List (1)首先我们可以创建一个新的集合,通过循环原集合判断循环的元素,是否存在于新集合,如果不存在就插入,存在了就忽略,这样循环玩,这样循环完了,最
阅读全文
摘要:HashMap是基于Hashing原理。由数组,链表,红黑树组成。 我们通过put()和get()方法储存和获取对象。当我们给put()方法传递键和值时候,我们先对键调用hashcode()方法,计算并返回的hashcode适用于找到Map数组的bucket位置来存储对象。HashMap是根据Has
阅读全文
摘要:由于Java是强类型语言,所以要进行一些运算的时候,需要用到类型转换,运算中,不同类型的数据先转化为同一类型,然后进行运算。 低 高 byte(-128-127),short(-32768-32767),char,int,long,float,double Java中的两种转换方式: 1.高精度转低
阅读全文
摘要:要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用。Java的数据类型分为两大类:基本类型和引用数据类型 基本类型:int num1=10, byte num2=20,short num3=30,long num4=30L,float num5=50.1f,double num6=3.16
阅读全文
摘要:重写了equals()方法,就必须要重写HashCode()方法。 什么是equals方法? 1.Java中每个对象都有equals()方法 2.equals方法用于检测一个对象是否等于另外一个对象 3.equals方法的特性: 自反性:对于任何非空引用值 x,x.equals(x) 都应返回 tr
阅读全文
摘要:什么是方法重载? 发生在同一个类中,方法名必须相同,参数类型不同,参数数量不同,发生在编译时候。 实验理论:在一个类中,方法名称相同时,编译器会根据调用方法的参数数量,参数类型去逐个匹配,用来选择对应的方法。 代码示例: package com.kuang.dao;public class Demo
阅读全文
摘要:Set体系集合用于存储无序的元素,值不能重复。对象的相等性本质是hashCode值(java是依据对象的内存地址计算出的此序号)判断的。想让两个不同的对象视为相等的时候,就必须覆盖Object的hashcode方法和equals方法。Set有3个实现类Hashset,Treeset,linkedHa
阅读全文
摘要:List 是有序的Collection,一共有3个实现类 Arraylist,Vector,Linkedlist 一 Arraylist与LinkedList有什么不同? Arraylist是使用数组进行数据存储,数组是连续的,大小固定不变的。 getter()和setter()方法快 Linked
阅读全文
摘要:集合ArrayList有什么特点?底层是用什么实现的? 特点:查询效率高,增删效率低。底层:使用数组实现的存储。 查询效率为什么变快了? 因为底层是使用数组实现的存储,数组是连续的,有下标,有下标了就可以根据下标查询一次命中,时间复杂度就变为0(1),查询就变快了。 为什么增删效率低? 因为定义数组
阅读全文
摘要:无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑 损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作 强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需
阅读全文
摘要:Cookie简介 Cookie 并不是它的原意“甜饼”的意思, 而是一个保存在客户机中的简单的文本文件, 这个文件与特定的 Web 文档关联在一起, 保存了该客户机访问这个Web 文档时的信息, 当客户机再次访问这个 Web 文档时这些信息可供该文档使用。由于“Cookie”具有可以保存在客户机上的
阅读全文
摘要:gpedit.msc 组策略 2. sndrec32 录音机 3. Nslookup IP地址侦测器 4. explorer 打开资源治理器 5. logoff 注销命令 6. tsshutdn 60秒倒计时关机命令 7. lusrmgr.msc 本机用户和组 8. services.msc 本地服
阅读全文
摘要:我为什么要学习这个技术? 1.在javaweb开发中,需要使用大量的jar包,我们手动去导入; 2.如何能够让一个东西帮我导入和配置这个jar包 Maven项目架构管理工具 * 我们目前用来就是方便导入jar包的! Maven的核心思想:约定大于配置 ()有约束,不要去违反 Maven会规定好你该如
阅读全文
摘要:异常处理机制的存在,大大降低了编写和维护可靠程序的门槛。 1.对比Exception和Error Exception 和 Error 都是继承了Throwable类,在Java中只有Throwable类型的实例才可以被抛出(throw)或者捕获(catch),它是异常处理机制的基本组成类型。 Exc
阅读全文
摘要:mybatis的环境搭建 1.创建maven工程,并导入依赖(坐标) 2.创建实体类和dao的接口 3.创建mybatis的主配置文件, SqlMapConfig.xml 数据库的事务管理器和数据源 4.创建映射配置文件 注意问题 映射配置文件的mapper标签的namesp
阅读全文
摘要:查看源码 ctrl +alt+b ALT+Enter (自动导包)
阅读全文
摘要:jpa:全英文名叫 JAVA Persistence Api,就是Java持久化api,是SUN公司推出的一款基于ORM的规范。 (持久化如雷贯耳,谁不想用持久化的框架啊) ORM: Object-Relational Mapping(对象关系映射) 简单来说就是不用JDBC 那一款原始方法框架了,
阅读全文
摘要:servlet 是JavaServlet的简称,称为小服务程序或者服务连接器, 用java编写的服务端程序,具有独立于平台和协议的特性,主要功能在于交互式的浏览和生成数据,生成动态web内容。 Servlet实现页面的跳转: Servlet实现页面跳转有两种方法:转发和重定向 在验证登录信息时候,就
阅读全文
摘要:版本控制 什么是版本控制 版本控制(Revision control)是一种在开发的过程中用于管理我们对文件、目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以前的版本的软件工程技术。 实现跨区域多人协同开发 追踪和记载一个或者多个文件的历史记录 组织和保护你的源代码和文档 统计工作量
阅读全文
摘要:ssm: mybatis+Spring+SpringMVC MVC三层架构 JavaSE:认真学习,老师带,入门快 JavaWeb:认真学习,老师带,入门快 SSM框架:研究官方文档,锻炼自学能力,锻炼笔记能力,锻炼项目能力 SpringMVC + VUE + SpringBoot+SpringCl
阅读全文
摘要:jdbc测试 步骤: 加载驱动 链接数据库DriverManager 获得执行sql的对象 statement 获得返回的结果集 施放链接
阅读全文
摘要:1.1 Spring理念:使得现有的技术更加容易使用,本身是一个大杂烩,整合了现有的技术框架。 SSH: Struct2 +Spring+hibernate SSM: SpringMvc+ Spring+Mybatis (Struct2 和SpringMvc很相似) 官方下载地址: https://
阅读全文
摘要:Web 应用程序 web应用程序:可以提供浏览器访问的程序: *这个统一的web资源会被放在同一个文件夹下,web应用程序-->Tomcat:服务器 *一个web应用应该由多部分组成(静态web,动态web) html,css,js jsp,servlet Java程序 jar包 配置文件(Prop
阅读全文