![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
1
白夜12138
这个作者很懒,什么都没留下…
展开
-
类加载器以及双亲委派机制
类加载器以及双亲委派机制1.类加载器.class文件经过ClassLoader加载、初始化后 获得Class ,Class实例化后得到对象实例,实例可以通过getClass()方法得到 Class, Class可以通过getClassLoader()得到 类加载器2.加载器级别(1)虚拟机自带的加载器(2)启动类(根)加载器(Bootstrap)(3)扩展类加载器(ExcClassLoader)(4)应用程序(系统类)加载器(APPClassLoader)3.双亲委派机制1.执行的时候寻原创 2021-07-26 17:02:39 · 160 阅读 · 0 评论 -
jvm体系结构
jvm体系结构1.jvm的位置jvm包含在jre当中, jre包含于操作系统,操作系统可以看做在硬件上安装的软件2.体系结构栈,本地方法栈,程序计数器中不会存在垃圾,因为一个方法执行完之后,栈帧出栈后会被立刻销毁,只有出栈和入栈这样简单的操作,不需要垃圾回收。而99%的调优都在堆中...原创 2021-07-26 17:00:29 · 119 阅读 · 0 评论 -
Spring
一.Spring开发步骤IOC:1.创建对象,对象管理对象的创建和管理交给Spring容器2.DI:依赖注入: 设置对象的属性spring开发步骤新建⼯程导⼊相关Jar包;编写接⼝和实现类;//接口 UserDaopublic interface UserDao {void save();}//实现类UserDaoImplpublic class UserDaoImpl implements UserDao {@Overridepublic void save()原创 2020-11-12 20:22:21 · 162 阅读 · 0 评论 -
mybatis
一.mybatis入门JDBC的缺陷1.代码存在大量重复操作2.数据库链接创建,释放 频繁造成系统资源浪费,影响系统性能3.sql语句中存在硬编码,代码不易维护4.查询时,需要手动将结果集中的数据封装到实体中,插入操作时要手动设置占位符语句ORM(Object Relational Mapping)是一种 程序设计技术,用于实现面向对象语言里面的不同类型系统的数据之间的转换。把数据库和实体类,与实体类的属性对应起来,我们可以通过操作实体类,就实现操作数据库的表myBatis开发步骤(4原创 2020-11-12 20:13:48 · 103 阅读 · 0 评论 -
Ajax
Ajax是异步的javaScript 和 XMLAjax的优点:1.不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容2.ajax性能较高3.AJAX使用Javascript技术向服务器发送异步请求Ajax的缺点1.AJAX并不适合所有场景,很多时候还是要使用同步交互2.AJAX虽然提高了用户体验,但无形中向服务器发送的请求次数增多了,导致服务器压力增大3.因为AJAX是在浏览器中使用Javascript技术完成的,所以还需要处理浏览器兼容性问题$.ajax执行步骤JSP原创 2020-11-12 19:52:01 · 75 阅读 · 0 评论 -
Lister监听器
一.监听器监听器:专门用于对其他对象身上发送的 事件或状态改变进行监听和相应处理的对象Servlet监听器:Servlet是一种特殊类,用于监听web应用程序中的,ServletContext,HttpSeesion和ServletRequest域对象的创建和销毁事件,以及监听这些域对象中的属性发生修改的事件Servlet监听器的分类(1)监听 域对象自身的创建和销毁的事件 监听器(2)监听域对象中的属性 的增加和删除的事件监听器(3)监听绑定到域中某个对象的状态的事件监听器Listener原创 2020-11-12 19:51:20 · 130 阅读 · 0 评论 -
Filter过滤器
Filter简介功能:.Filter可以拦截 servlet容器对Servlet的调用,从而在Servlet进行响应前后实现一些特殊功能Filter也可以拦截,Jsp,图片,文件,html等静态资源2.Filter的三个接口(1)Filter(2)FilterChain(3)FilterConfig3.Filter程序是一个实现了Filter接口的Java类,与Servlet程序相似,由Servlet容器进行调用和执行在web.xml中配置filter//配置filter<fil原创 2020-11-12 19:50:27 · 164 阅读 · 1 评论 -
EL表达式
内置对象1.pageScope //表示pageContext.${pageContext.值名称} 从pageContext中取值2.requestScope //表示request.${requestScope.值名称} //从request域对象中取值3.sessionScope //表示session${sessionScope.值名称} //从session域对象中取值4.applicationScope //表示applicationScope${appl原创 2020-11-12 19:49:15 · 122 阅读 · 0 评论 -
会话状态管理
一.Session特点:保存在服务器端 缺点:占用服务器资源过多运行原理浏览器第一次发送请求时,服务器新建一个session,生成一个JsessionId,在服务器响应的时候会将JsessionId响应给浏览器,浏览器会保存jsessionid,下一次浏览器进行请求时,会将jsessionid一同发送给服务器,服务器根据jsessionid匹配sessionsession的创建与删除创建HttpServletRequest.getSession();Session中的方法set原创 2020-11-12 19:48:32 · 114 阅读 · 0 评论 -
JSP
一.JSP九大内置对象(1)request:请求对象(域对象 作用域:同一个请求)—就是HttpServletRequest,代表客户端的请求信息,主要接收http协议传输到服务器上面的数据(2)response:响应对象—就是HttpServletResponse,代表客户端响应(3)out:响应并输出到浏览器上—是JspWriter对象,把结果响应并输出到浏览器上(4)session:会话(域对象 作用域:同一个会话)—代表浏览器和服务器的一次会话(5)appliaction:就是s原创 2020-11-12 19:46:35 · 49 阅读 · 0 评论 -
Servlet
一.实现servlet的三种方式和封装过程1.实现 Servlet接口2.继承 GenericServlet 类(GenericServlet继承了Servlet 和servletConfig)3.实现 httpServlet类一.service方法中的request和response对象1.request对象(1)request.getParameter(String s) //作用:根据请求参数的名字获取对应的值 返回值:字符串2.response对象(1)response.s原创 2020-11-12 19:44:34 · 100 阅读 · 0 评论 -
mysql面试题
1.SQL的语言分类?DDL DML DCLDDL:数据定义语言DML:数据操纵语言 增删改DCL:数据控制语言 权限控制DQL:数据查询语言2.mysql的默认存储引擎默认存储引擎:InnoDB.myisam memory3.char和varchar的区别(1)char 存储的是长度不变的字符 varchar存储的是长度可变的字符 (2)char 存储更快 varchar 速度相对较慢(3)char 英文占一个字节,汉字两个字节 varchar英文和汉字都是两个原创 2020-10-20 20:11:08 · 75 阅读 · 0 评论 -
前端面试题
1.Html Css Js Jquery 分别是什么Html:超文本标记语言,是一种描述性的标记语言,是制作网页的标准语言Css : 层叠样式表 ,css依托于html 给html设置样式 js : 一种弱类型的解释性语言JQuery: jQuery就是js的一个库,把我们常用的功能进行了封装,方便调用2.XML和HTML的区别(1)XML是可扩展性标记语言 ,HTML是超文本标记语言(2)html是用来显示数据的其焦点是数据的外观, xml是用来描述数据、存放数据的,其焦点是数原创 2020-10-20 20:10:32 · 203 阅读 · 0 评论 -
java基础 面试题
1.jdk,jre,jvm 之间的关系jdk 是开发环境,jre是开发工具包,jvm是虚拟机 jdk>jre>jvm2.java程序运行原理java源代码在编译之后转化为字节码文件即 class文件,再经过jvm转化为机器码;3.基本数据类型和引用数据类型都有哪些(1)基本数据类型 : 整形 long short int byte浮点型 float(4) double布尔型 boolean字符型 char(2)引用数据类型类:class 接口:interface数组:a原创 2020-10-20 20:09:40 · 404 阅读 · 0 评论 -
函数式编程和lambda表达式
一.接口的默认方法(1)在接口中添加一个非抽象方法只需要使用一个default 关键字就可以(2)我们把非抽象方法理解成一个扩展方法,二.函数式编程1.什么是函数式编程 ?一切皆函数2.将处理问题的粒度从类变成函数,从而可以更好的满足系统对重用性,和扩展性的支持3.可以将函数作为参数传递给另一个函数4.可以简化代码的操作5.开发速度快,易于并发编程,不需要考虑死锁6.耗费cpu三.Lambda表达式(1)lambda表达式是一种新的语法形式,简化了代码的开发操作,由编译器转化为常规的代原创 2020-10-20 20:08:30 · 334 阅读 · 0 评论 -
泛型
泛型的优点1.避免了强制类型转化引发的异常2.限制了数据类型,保护了数据类型的安全3.将运行期间异常转到了编译时异常什么时候使用泛型1.当操作的引用类型不确定的时候就要使用泛型<T/E>使用泛型的流程再编译时通过<>可以确保类型安全,再运行时会将泛型移除四:泛型类1.泛型类定义和声明:在类型后面通过<>指定一个或者多个类型参数,同时还乐意对类型参数取值范围进行限定,多个类型之间使用,分割五.泛型方法、1.泛型方法的定义:在方法访问修饰符后面通过<原创 2020-10-20 20:07:59 · 75 阅读 · 0 评论 -
集合框架-Map
Map:保存具有映射关系的数据1.Collection(List,Set) 接口 和 Map接口 是平行关系2.Map存放的数据是键值对(k-v)数据key:Map中的键 不能重复底层实现是用Setvalue:Map中的值 可以重复底层实现是ListMap实际上是提供了一个Entry内部类封装了key-value3.Map的优点通过key找到value,这种映射关系方便查找数据4.常用方法(1)put(key,value) 添加元素(2)remove(key) 移除元素(3原创 2020-10-20 20:07:27 · 127 阅读 · 0 评论 -
Collections-操作集合的工具类
1.Comparable :(1)位于java.lang 包下(2)实现的原理基于红黑二叉树(3)包含一个比较方法:compareTo(T t) 参数:T 泛型–字符串:根据字典顺序比较 如果等于0则相等–自定义类型:需要实现Comparable 重写 compareTo()方法 ,自定义排序规则2.Comparator 接口(1)Comparator接口也是一个排序比较器,位于java.util包下(2)含有一个比较的方法compare(T t1 , T t2)(3)如果一个类实原创 2020-10-20 20:07:01 · 64 阅读 · 0 评论 -
Collection-Set
Set1.Set接口继承于Collection2.Set堆中存储的数据是无序的(不代表乱序)3.Set中存储的数据是不可重复的(当Set中添加相同的元素时,只能添加一个元素)4.添加进Set中的元素一定要重写equals和hashCode()方法(1)set中元素的存储使用哈希算法(2)当向Set添加元素时,首先会调用该对象所在类的HashCode()方法,计算对象的哈希值,这个哈希值就决定了元素的储存位置(3)再通过equals()比较两个对象是否相同,如果相同则不能添加5.Set接口的实原创 2020-10-20 20:06:24 · 74 阅读 · 0 评论 -
集合框架-List
一.List1.List 接口是 Collection 接口的子接口2.List 是有序的集合,存储数据和取出数据的顺序是一样的3.有索引,包含了一些带索引的方法(底层实现是数组,他是一个可变数组)4.允许存储重复的元素5.List接口的主要实现类ArrayList6.常用方法(1)add() 添加元素add(index,ele) 在指定位置添加元素(2)get(index) 获取指定索引位置的元素(3)indexOf(Object) 获取元素在集合中第一次出现的索引位原创 2020-10-20 20:05:52 · 69 阅读 · 0 评论 -
集合框架-Collection
集合:集合可以看作一种容器,用来存储 对象信息,所有的集合都位于java.util包下1.数组和集合的区别(1)数组存储的是相同的数据类型 , 集合可以存储不同数据类型(2)数组可以存储基本类型的数据也可以存储对象, 集合只能存储对象(3)数组长度是不可变化,一旦确定数组长度数组只能存储固定个数的元素,集合可以存储数量不确定的数据2.集合包含的主要接口 :java集合中有两个根接口,Collection 与 Map(1)Collection接口Ⅰ.list接口(底层实现使用数组) : 主原创 2020-10-20 20:05:14 · 71 阅读 · 0 评论 -
多表之间的关系
**多表之间的关系**1.一对一的关系一对一的关系实现 可以在任意一方添加外键 指向另一方的主键并且让外键唯一2.一对多(多对一)实现关系 :一对 多在多的一方建立外键 指向 一的 一方的主键3.多对多多对多多对多关系的实现 需要借助第三张给中间表中间表至少 包含两个字段,这两个字段作为第三张表的外键 分别指向两张表的主键复合主键 两个外键 联合起来作为 表的主键例: primary key(外键1,外键2);...原创 2020-09-11 20:12:09 · 123 阅读 · 0 评论 -
约束
**约束**一.概念对表中的 数据进行限定,保证 数据的正确性、有效性和完整性分类:主键约束:primary key;非空约束: not null;唯一约束 : unique;外键约束:foreigm key;1.非空约束(1)在创建表时添加 约束语法: create table 表名(列名1 数据类型1,列名2 数据类型2 not null – 列名2 值不能为null)删除 name的非空约束例:alter table stu nodify na...原创 2020-09-11 20:09:38 · 86 阅读 · 0 评论 -
DQL查询表中的记录
DQL查询 表里面 的 全部 记录单表查询select * from stu;select字段列表from表名列表where条件列表group by分组字段having分组之后的条件order by排序limit分页限定一。基础查询(1)查询多个字段select 字段1,字段2,…from 表名(2)去除重复select distinct(关键字) //只有 结果集 完全一样 才可以 去重字段列表from表名字段(3)计算列一般 可以使用 四则运算计算原创 2020-09-09 08:59:49 · 54 阅读 · 0 评论 -
DML增删改 表中的数据
1.添加数据insert into 表名(列名1 ,列名2,…,列名n) values(值1,值2,…值n)(1)列名要和值一一对应(2)如果表后不添加列名 则默认给所有 列添加值2.删除数据delete from 表名 where 条件;(1)如果 不加条件 则删除 表中所有的数据truncate table 表名;//删除表再 创建一个 一模一样的新表3.修改数据update 表名 set 列名1 = 值1, 列名2 = 值2,…,where ;如果不加条件 则会将所有 数据原创 2020-09-09 08:58:55 · 78 阅读 · 0 评论 -
DDL操作表
1.C(create):创建create table 表名(列名1 数据类型1,列名2 数据类型2,…列名n 数据类型n);数据库类型 :int :整数 类型age int;double:小数类型score double(5,2)//小数最多有五位 保存到小数点后面两位date :日期,只包含 年月日 yyyy-MM–dddatetime:日期 包含年月日十分秒 yyyy-MM-dd HH:mm:sstimestamp:时间戳类型 包含年月日 时分秒 yyyy-MM-dd H原创 2020-09-09 08:58:08 · 123 阅读 · 0 评论 -
DDL操作数据库
一.什么是 sqlsructured Query Language:结构化查询语言定义了操作所有 关系型数据库的规则 。每一种数据库操作的方式存在不一样的地方称为方言.二.sql 通用的语法1.sql可以单行书写 也可以多行书写 以 分号 结尾2.mysql 不区分大小写但是关键字 建议大写三.sql分类1.DDL:操作数据库和表(1)操作数据库:CRUDC:创建创建数据库create database 数据库名称;create database if not exists 数据库名原创 2020-09-09 08:56:35 · 771 阅读 · 0 评论 -
网络编程
**网络编程** **一.服务端**1.服务端(1)创建ServerSocket类ServerSocket serverSocket = new ServerSocket(9999);(2)监听 accept(); 阻塞Socket socket = serverSocket.accept();(3)获取相应的流InputStream input = socket.getInputStream();//实现业务 接收并 打印信息byte [] b =...原创 2020-08-28 22:03:38 · 80 阅读 · 0 评论 -
Java集合框架1
**Java集合框架**Collection 接口Collection接口是List、Set和Queue 接口的父接口,该接口里定义的方法既可用于操作Set集合也可用于操作List集合二.list接口list接口时Collection的子接口list接口里面可以放 重复的数据 1.(1)ArrayList是List接口的典型实现类(2)本质上ArrayList是对象引用的一个变长数组(遍历的时候效率高)(3)定义ArrayList时add()...原创 2020-08-26 21:49:09 · 87 阅读 · 0 评论 -
Java的反射机制
**Java反射机制**一.概念1.通过反射可以赋予jvm动态编译的能力,否则类的元数据信息只能用静态编译的方式实现2.实例化class类对象在运行时才知道 类的类型获取文件中的内容(1)获取对象Class c = Class.forName("");(2)获取类中的方法Method method = clz.getMethod(“setPrice”,int Class)(3)获取类的构造Constructor constructor ...原创 2020-08-26 20:33:40 · 75 阅读 · 0 评论 -
多线程
**多线程**一 概念(1)程序是 一段静态的代码 进程是动态的(2)线程是进程的一个执行单元;进程至少有一个线程他们共享进程的地址空间,而进程 有之间的独立地址空间(3)一个程序能够多个线程同时运行 ,那它就是多线程(4)一个程序至少有一个 进程 ,一个进程至少有一个线程2.多线程 和多进程的区别(1)多进程 :允许多个任务同时运行(2)多线程 :允许单个任务分成多个部分执行3.并发 和并行并发:一个处理器同时处理多个任务并行:多个处...原创 2020-08-25 20:30:13 · 74 阅读 · 0 评论 -
接口
**接口**一.什么是接口(1)就是各个类之间的公共规范(2)接口就是一个特殊的抽象类,接口里的方法都是抽象方法(3)接口解决了Java里面单继承的鸡肋二.如何定义接口public interface 接口名{}三.接口的特点(1)接口里面的属性都是常量,默认会加上 "public static final"修饰(2)接口里面的方法 都是抽象方法,默认会加上"public abstract"进行修饰(3)接口不能实例化(4)接口里面没...原创 2020-08-24 21:37:05 · 69 阅读 · 0 评论 -
IO流2
**IO流2**一.RandomAccessFile //针对文本编辑提供更强大的支持1.构造:new RandomAccessFile(参数一(要操作的文件),参数二(操作方式));操作方式 包括 r :只读 , rw:读写;2.方法(1)getFilePointer(文件);//获取游标位置(2)seek(位置);//指定光标位置复制文件完整代码...原创 2020-08-24 17:20:25 · 65 阅读 · 0 评论 -
方法
**方法**一:什么是方法定义:方法就是完成特定功能的代码块二.方法的格式[修饰符]返回值类型 方法名(参数类型 形参1,参数类型 形参2,…){程序代码return 返回值;}(1)返回值类型: 用于限定 返回值的数据类型,无返回值void(2)方法名:一个名称为了方便 我们调用方法(3)参数名: 是一个变量,接收调用方法时传入的参数(4)return 结束方法以及返回方法指定类型的值练习://求圆的面积//定义一个方...原创 2020-08-23 21:33:43 · 163 阅读 · 0 评论 -
IO流
**IO流**一.概述输入:读取外部数据(磁盘、光盘等储存设备的数据)到程序(内存)中。将持久化的文件数据加载到内存中2.输出:将程序(内存)数据输出到磁盘。U盘等存储设备中3.Java的IO流主要包括输入流和输出流两种,每种输入、输出流又可以分为字节流 和字符流两大类:(1)字节流:以字节为单位来处理输入、输出操作(音频、图像、视频)。(2)字符流以字符为单位来处理输入、输出操作(文本文件)二.File类1.File 能新建、删除、重命名文...原创 2020-08-23 19:25:15 · 95 阅读 · 0 评论 -
循环结构
**循环结构**一.while循环语法:(1)初始化while((2)循环条件){(3)循环体(4)累加器}二.do while循环do{循环体}while(循环条件)while 循环和 do while 循环的 区别while 先判断条件 再执行循环体do while 先执行循环体 再判断条件 (不管 满不满足循环条件 至少会执行一次)//引用数据类型 比较 用equals;例:input.equals(“end”)...原创 2020-08-22 18:46:16 · 175 阅读 · 0 评论 -
java 基本语法
**java 基本语法** **一:Java 两大核心机制** (1)Java 虚拟机(JVM) (2)垃圾收集机制(GC) **二:JAVA语言的特点** (1)简单易用 (2)跨平台:JVM实现跨平台 什么是跨平台: 通过JAVA开发的程序可以在不同的操作系统中去运行 ,一次编译到处运行。 怎么实现跨平台:通过JAVA虚拟机. (3)面向对象 (4)支持多线程 **三:(1)什么是JDK** JAVA开发工具包 就相当于电工的工具包 (2...原创 2020-08-21 20:28:51 · 137 阅读 · 0 评论 -
Java异常
Java异常一.异常 : 程序 执行过程中发生的不正常情况.开发过程中的 语法错误 不叫异常二:Java 的异常处理:处理非预期的情况,例如文件没找到,空指针等。三:Java的异常(包括Exception和Error)分为可查的异常和不可查异常可查异常(checked exception):编译器要求必须处置的异常不可查异常(unchecked exception):编译器不要求强制处置的异常(1)异常处理:除了 Error和runtimrrexc...原创 2020-08-20 21:23:58 · 75 阅读 · 0 评论 -
java环境搭建
Java 环境搭建一.什么是程序像一个红烧肉的菜谱(程序),用来指导看的懂汉字的人二,常用的dos命令md(make directory) : 创建 目录rd(remove directory) : 删除目录cd… :返回上一级目录cd / :返回根目录exit : 退出dos命令行shif+右键 ->在此处打开命令行窗口...原创 2020-08-19 23:12:50 · 42 阅读 · 0 评论