- 博客(75)
- 收藏
- 关注
原创 写一段把本地文件formfile拷贝到本地文件tofile的程序
public class ChangeJtdToJava { public static void main(String[] args) { File dir = new File("f:/jtd"); // 得到 d:/jtd 下的所有文件对象 File[] files = dir.listFiles(); for (File file : files) { String fileName = file.getName(); // 得到文件名 int index = fileN
2021-12-22 14:53:49
464
原创 springboot自动装配的原理
@EnableAutoConfiguration实现的关键在于引入了AutoConfigurationImportSelector,其核心逻辑为selectImports方法, 逻辑大致如下:从spring-boot-autoconfigure包下的META-INF/spring.factories文件中加载所有可能用到的自动配置类;去重,并将exclude和excludeName属性携带的类排除;过滤,将满足条件(@Conditional)的自动配置类返回;...
2021-12-22 14:47:45
267
原创 SpringBoot的核心注解
启动类上面的注解是@SpringBootApplication,它也是 Spring Boot 的核心注解,主要组合包含了以下 3 个注解:@SpringBootConfiguration: 组 合 了 @Configuration 注 解 , 实 现 配 置 文 件 的 功 能 。 @EnableAutoConfiguration:打开自动配置的功能,也可以关闭某个自动配置的选项,如关闭数据源自动配置功能:@SpringBootApplication(exclude = { DataSourceAut
2021-12-22 14:45:55
383
原创 SpringBoot的特点和优点
Spring Boot 有哪些特点 ?1、为 Spring 开发提供一个更快、更广泛的入门体验。2、开箱即用,远离繁琐的配置。3、提供了一系列大型项目通用的非业务性功能,例如:内嵌服务器、安全管理、运行数据监控、运行状况检查和外部化配置等。4、绝对没有代码生成,也不需要XML配置。Spring Boot 有哪些优点?1、减少开发,测试时间和努力。2、使用 JavaConfig 有助于避免使用 XML。3、避免大量的 Maven 导入和各种版本冲突。4、通过提供默认值快速开始开发。没有单独
2021-12-22 14:43:46
3395
原创 Zookeeper工作原理
Zookeeper 的核心是原子广播,这个机制保证了各个Server之间的同步。实现这个机制的协议叫做Zab协议。Zab协议有两种模式,它们分别是恢复模式(选主)和广播模式(同步)。当服务启动或者在领导者崩溃后,Zab就进入了恢复模式,当领导者被选举出来,且大多数Server完成了和 leader的状态同步以后,恢复模式就结束了。状态同步保证了leader和Server具有相同的系统状态...
2021-12-22 14:37:54
948
原创 关于Spring框架有哪些常见问题?
文章目录Spring 框架1.什么是spring框架?2.spring的作用?3.什么是IOC?4.什么是DI?5.依赖注入的三种实现方式?6.解释Spring支持的几种bean的作用域?7.Spring支持的事务管理类型?8.你更倾向用那种事务管理类型?9.解释AOP?10.什么是通知?有哪五种类型的通知?Spring 框架1.什么是spring框架?spring是一个开放源代码的设计层面框架,它解决的是业务逻辑层和其他各层的松耦合问题,是一个分层的javaEE一站式轻量级开源框架.2.sprin
2021-11-06 10:25:41
284
原创 了解get和post的区别
get和post的区别?a、get是用来从服务器上获取数据,而post是用来向服务器传递数据;b、get将表单中数据按照variable=value的形式,添加到action所指向的URL后面,并且两者用"?“连接,变量之间用”&"连接而post是将表单中的数据放在form的数据体中,按照变量与值对应的方式,传递到action所指定的URL。c、get是不安全的,因为在传输过程中,数据是被放在请求的URL中;而post的所有操作对用户来说都是不可见的。d、get传输的数据量小,这主要应为受u
2021-11-06 10:18:45
162
原创 session的工作原理是什么
session 的工作原理是客户端登录完成之后,服务器会创建对应的 session,session 创建完之后,会把 session 的 id 发送给客户端,客户端再存储到浏览器中。这样客户端每次访问服务器时,都会带着sessionid,服务器拿到 sessionid 之后,在内存找到与之对应的 session 这样就可以正常工作了。...
2021-11-06 10:03:04
479
原创 session和cookie有什么区别?
session 和 cookie 有什么区别?a、存储位置不同:session 存储在服务器端;cookie 存储在浏览器端。b、安全性不同:cookie 安全性一般,在浏览器存储,可以被伪造和修改。c、容量和个数限制:cookie 有容量限制,每个站点下的 cookie 也有个数限制。d、存储的多样性:session 可以存储在 Redis 中、数据库中、应用程序中;而 cookie 只能存储在浏览器中。...
2021-11-06 09:59:51
395
原创 request.getAttribute()和 request.getParameter()的区别
request.getAttribute()和 request.getParameter()有何区别?a、request.getParameter()取得是通过容器的实现来取得通过类似post,get等方式传入的数据。b、getAttribute是返回对象,getParameter返回字符串。c、getAttribute()一向是和setAttribute()一起使用的,只有先用setAttribute()设置之后,才能够通过getAttribute()来获得值,它们传递的是Object类型的数据。而
2021-11-06 09:56:05
324
原创 servlet生命周期
a、Servlet有良好的生存期的定义,包括加载和实例化、初始化、处理请求以及服务结束。这个生存期由javax.servlet.Servlet接口的init(),service()和destroy方法表达。b、Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy方法。c、web容器加载servlet,生命周期开始。通过调用serv
2021-11-06 09:51:39
117
原创 JS中 == 和 === 区别
对于string,number等基础类型,== 和 === 有区别:不同类型间比较,== 之比较“转化成同一类型后的值”看“值”是否相等,=== 如 果类型不同,其结果就是不等。同类型比较,直接进行“值”比较,两者结果一样。对于Array,Object等高级类型,== 和 ===没有区别,进行“指针地址”比较。...
2021-10-26 17:07:07
183
原创 如何在JavaScript中每x秒调用一个函数?
setInterval(function (){ alert("Hello"); }, 3000);
2021-10-26 17:03:02
170
原创 location.href 和 location.replace
文章目录JS中如何将页面重定向到另一个页面?location.hreflocation.replaceJS中如何将页面重定向到另一个页面?location.href使用 location.href:window.location.href =“https://www.baidu.com/” self.location.href;//当前页面打开URL页面 window.location.href;//当前页面打开URL页面 this .location.href;//当前页面打开UR
2021-10-26 17:01:04
1554
原创 查询平均成绩大于60分的同学的学号和平均成绩
文章目录查询“001”课程比“002”课程成绩高的所有学生的学号;查询平均成绩大于60分的同学的学号和平均成绩;查询所有同学的学号、姓名、选课数、总成绩;查询姓“李”的老师的个数;查询所有课程成绩小于60分的同学的学号、姓名;查询至少有一门课与学号为“1001”的同学所学相同的同学的学号和姓名;查询“001”课程比“002”课程成绩高的所有学生的学号;select a.s_id from (select s_id,score from SC where C_ID=‘001’) a,(select s_i
2021-10-12 19:20:51
8422
原创 Student学生表(学号,姓名、性别、年龄、组织部门),Course 课程表(编号,课程名称),Sc选课表(学号,课程编号,成绩)
Student学生表(学号,姓名、性别、年龄、组织部门),Course 课程表(编号,课程名称),Sc选课表(学号,课程编号,成绩)a、写一个SQL语句,查询选修了计算机原理的学生学号和姓名select 学号,姓名 from Student where 学号 in(select 学号 from Sc where 课程编号 in(Select 课程编号 from Course where 课程名称 = ‘计算机原理’))b、写一个SQL语句,查询“周星驰”同学选修了的课程名字select 课程名称 fr
2021-10-12 19:12:26
2028
原创 MySQL数据库中,常用的数据类型
文章目录MySQL数据库中,常用的数据类型MySQL数据库中,常用的数据类型类型名称说明int(integer)整数类型double小数类型decimal(m,d)指定整数位与小数位长度的小数类型date日期类型,格式为yyyy-MM-dd,包含年月日,不包含时分秒datetime日期类型,格式为yyyy-MM-dd HH:mm:ss,包含年月日时分秒timestamp日期类型,时间戳varchar(M)文本类型,M为0~65535之
2021-10-12 19:10:11
119
原创 MySQL分页,MYSQL的优化,一对多,多对多
文章目录1.数据库MySQL分页时用的语句2.根据你以往的经验简单叙述一下MYSQL的优化3.有两张表;请用SQL查询,所有的客户订单日期最新的前五条订单记录。4.数据库设计中,一对多如何处理?5.数据库设计中,多对多一般如何处理?1.数据库MySQL分页时用的语句使用limit关键字。Select * from 表名 where 条件 limit 开始位置,结束位置。通过动态的改变开始和结束位置的值来实现分页。2.根据你以往的经验简单叙述一下MYSQL的优化a、尽可能使用更小的整数类型.(medi
2021-10-11 19:42:52
408
原创 什么是JDBC的最佳实践
文章目录什么是JDBC的最佳实践?什么是JDBC的最佳实践?1、数据库资源是非常昂贵的,用完了应该尽快关闭它。Connection, Statement, ResultSet等JDBC对象都有close方法,调用它就好了。2、养成在代码中显式关闭掉ResultSet,Statement,Connection的习惯,如果你用的是连接池的话,连接用完后会放回池里,但是没有关闭的ResultSet和Statement就会造成资源泄漏了。3、在finally块中关闭资源,保证即便出了异常也能正常关闭。4、
2021-10-11 19:32:09
134
原创 数据库连接池的原理
文章目录数据库连接池的原理,为什么要使用连接池?数据库连接池的原理,为什么要使用连接池?1、数据库连接是一种关键的有限的昂贵的资源,对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标。数据库连接池正是针对这个问题提出来的。2、数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。这项技术能明显提高对 数据库操作的性能。3、数据
2021-10-11 19:30:03
326
原创 java.util.Date和java.sql.Date的区别
文章目录java.util.Date和java.sql.Date有什么区别?说说事务的概念,在JDBC编程中处理事务的步骤?java.util.Date和java.sql.Date有什么区别?java.util.Date包含日期和时间,而java.sql.Date只包含日期信息,而没有具体的时间信息。如果你想把时间信息存储在数据库里,可以考虑使用Timestamp或者DateTime字段。说说事务的概念,在JDBC编程中处理事务的步骤?事务是作为单个逻辑工作单元执行的一系列操作,一个逻辑工作单元必须
2021-10-11 19:26:31
222
原创 JDBC的ResultSet
文章目录JDBC的ResultSet是什么?JDBC的ResultSet是什么?在查询数据库后会返回一个ResultSet,它就像是查询结果集的一张数据表。ResultSet对象维护了一个游标,指向当前的数据行。开始的时候这个游标指向的是第一行。如果调用了ResultSet的next()方法游标会下移一行,如果没有更多的数据了,next()方法会返回false。可以在for循环中用它来遍历数据集。...
2021-10-11 19:22:22
94
原创 JDBC的PreparedStatement
文章目录JDBC的PreparedStatement是什么?相对于Statement,PreparedStatement的优点是什么?JDBC的PreparedStatement是什么?PreparedStatement对象代表的是一个预编译的SQL语句。用它提供的setter方法可以传入查询的变量。由于PreparedStatement是预编译的,通过它可以将对应的SQL语句高效的执行多次。由于PreparedStatement自动对特殊字符转义,避免了SQL注入攻击,因此应当尽量的使用它。相
2021-10-11 19:19:25
661
原创 execute、executeQuery、executeUpdate的区别
文章目录execute,executeQuery,executeUpdate的区别是什么?execute,executeQuery,executeUpdate的区别是什么?1、Statement的execute(String query)方法用来执行任意的SQL查询,如果查询的结果是一个ResultSet,这个方法就返回true。如果结果不是ResultSet,比如insert或者update查询,它就会返回false。2、Statement的executeQuery(String query)接口
2021-10-11 19:16:19
3442
原创 JDBC访问数据库的基本步骤
文章目录JDBC访问数据库的基本步骤是什么?举个栗子:JDBC访问数据库的基本步骤是什么?a、加载(注册)数据库驱动(到JVM)b、建立(获取)数据库连接。c、创建(获取)数据库操作对象。d、定义操作的SQL语句。e、执行数据库操作。f、获取并操作结果集。g、关闭对象,回收数据库资源(关闭结果集–>关闭数据库操作对象–>关闭连接)举个栗子:public class Connect { public static void main(String[
2021-10-11 19:13:28
858
原创 什么是JDBC,在什么时候会用到它?
1.什么是JDBC,在上面时候会用到它?JDBC的全称是Java DataBase Connection,也就是Java数据库连接,我们可以用它来操作关系型数据库。JDBC接口及相关类。在java.sql包和javax.sql包里。我们可以用它来连接数据库,执行SQL查询,存储过程,并处理返回的结果。JDBC接口让Java程序和JDBC驱动实现了松耦合,使得切换不同的数据库变得更加简单。...
2021-10-11 19:07:07
381
原创 HashMap 和 Hashtable 的区别,Synchronized锁
1.HashMap 和 Hashtable 的区别?a、线程是否安全: HashMap 是非线程安全的,HashTable 是线程安全的;HashTable 内部的方法基本都经过synchronized 修饰。(如果你要保证线程安全的话就使用 ConcurrentHashMap 吧!);b、效率: 因为线程安全的问题,HashMap 要比 HashTable 效率高一点。另外,HashTable 基本被淘汰,不要在代码中使用它;c、对Null key 和Null value的支持: HashMap
2021-09-29 23:08:59
321
原创 String和StringBuffer、StringBuilder的区别,int 和 Integer的区别,ArrayList、LinkedList、Vector 的区别
文章目录1.String和StringBuffer、StringBuilder的区别是什么?String为什么是不可变的?2.自动装箱与拆箱3.int 和 Integer 有什么区别?4.Java 为每个原始类型提供了哪些包装类型?5.ArrayList、LinkedList、Vector 的区别?1.String和StringBuffer、StringBuilder的区别是什么?String为什么是不可变的?StringBuffer 仅能获得10%~15% 左右的性能提升,但却要冒多线程不安全的风险。
2021-09-29 23:03:53
140
原创 final、面向对象的特性、String 类的常用方法
1.final 有什么用?用于修饰类、属性和方法;a、被final修饰的类不可以被继承b、被final修饰的方法不可以被重写c、被final修饰的变量不可以被改变,被final修饰不可变的是变量的引用,而不是引用指向的内容,引用指向的内容是可以改变的2.final fially finalize区别a、final可以修饰类、变量、方法,修饰类表示该类不能被继承、修饰方法表示该方法不能被重写、修饰变量表示该变量是一个 常量不能被重新赋值。b、finally一般作用在try-catch代码块中,
2021-09-29 22:57:26
116
原创 Java基础常见问题
1.JDK,JRE,JVM三者关系?a、jdk是JAVA程序开发时用的开发工具包,其内部也有JRE运行环境JRE。b、JRE是JAVA程序运行时需要的运行环境,就是说如果你光是运行JAVA程序而不是去搞开发的话,只安装JRE就 能运行已经存在的JAVA程序了。c、JDk、JRE内部都包含JAVA虚拟机JVM,JAVA虚拟机内部包含许多应用程序的类的解释器和类加载器等等。2.面向过程和面向对象的区别?a、两者都是软件开发思想,先有面向过程,后有面向对象。在大型项目中,针对面向过程的不足推出了面向对
2021-09-29 22:55:43
138
原创 Redis常用命令
一:String 类型1.String k-v 单个key 最大能存 512 MB,约等于 多少文字呢?增: set key value 例子: set adminName ‘zhangsan’查: get key 例子: get adminName查询所有的key: keys * 例子: keys *删key: del key 例子: del adminNameString的 特有命令批量增: mset key1 value key2 value批量查: mget
2021-09-24 08:28:10
64
转载 有了这些vscode插件,写前端代码想不快都难
目录 初识VS Code起因 基础配置下载中文插件亲笔认证:最强插件Live Server 实时预览 自动闭合标签插件 Auto Close Tag标签同步修改 Auto Rename Tag高亮代码Bracket Pair Colorizer 用不同颜色高亮显示匹配的括号TODO提示...
2021-09-18 14:13:48
619
转载 Linux常用命令总结(语法+案例)
目录 vi和vim开机、重启、防火墙相关操作用户管理帮助指令文件目录类时间日期类搜索查找类压缩和解压类组管理和权限管理crond任务调度RPM和YUM vi和vim 快捷键使用案例: 1)拷贝当前行yy ,拷贝当前行向下的5行5yy,并粘贴(p...
2021-09-18 14:01:17
549
原创 MySQL中IFNULL() 的用法
IFNULL() 的用法IFNULL() 函数用于判断第一个表达式是否为 NULL,如果为 NULL 则返回第二个参数的值,如果不为 NULL 则返回第一个参数的值。IFNULL() 函数语法格式为:IFNULL(expression, alt_value)如果第一个参数的表达式 expression 为 NULL,则返回第二个参数的备用值。参数说明:参数描述expression必须,要测试的值alt_value必须,expression 表达式为 NULL 时返
2021-09-13 09:55:50
2385
转载 jQuery基础知识总结
1、什么是JQuery?它是js的一个框架,它是开源的项目。对底层的js进行封装,我们通过js框架就可以快速的完成DOM对元素的增删改查操作,并提供了动画功能。jquery对外提供api让开发者去开发jquery插件(就是一个功能模块,用户只要做一些简单的配置就完成复杂的功能)。jquery目前是比较流行的一个JQuery框架。(宗旨:写得少,做的多)。2、JQuery特点:轻量级强大的选择器出色的DOM封装可靠的事件处理机制完善的Ajax出色的浏览器兼容性丰富的插件支持完
2021-09-07 22:53:42
386
原创 mybatis执行流程
mybatis 执行流程一、读取Mybatis配置文件信息二、获取SqlSessionFactorya、使用XMLMappperBuilder解析Mybatis配置文件,封装成Environment对象,再把Environment对象设置给Configuration对象;b、调用ConfigurationElement函数,最终执行addMappedStatement方法,将mapper配置文件中的每一条SQL语句封装成mappedStatement对象,作为value保存在HashMap集合中;
2021-09-07 22:42:00
139
原创 Spring AOP五种通知
目录 通知类型通知执行顺序代码展示代码正常结束代码出现异常 通知类型 在基于Spring AOP编程的过程中,基于AspectJ框架标准,spring中定义了五种类型的通知,它们分别是: 前置通知 (@Before) 返回通知 (@AfterRe...
2021-09-07 22:15:57
591
转载 Spring常用注解(全常用)
一、前言 最近在看B站颜群老师的课程,Javaweb>spring>springMVC>mybatis>spring高级,一路走来,跌跌撞撞,发现spring也不过尔尔,说白了,spring就是想尽办法将new做的更简单,更完美,更可配置。 Spring的一个核心功能是IOC,就是将Bean初始化加载到容器中,Bean是如何加载到容器的,可以使用Spring注解方式或者...
2021-09-06 23:13:46
3243
转载 ControllerAdvice的常用场景
一、ControllerAdvice的常用场景 1、全局异常处理 2、全局数据绑定 3、全局数据预处理 灵活使用这三个功能,可以帮助我们简化很多工作,需要注意的是,这是 SpringMVC 提供的功能,在 Spring Boot 中可以直接使用,下面分别来看。 二、全局异常处理 使用 @ControllerAdvice 实现全局异常处理,只需要定义类,添加该注解即可定义方式如下: ...
2021-09-06 22:29:08
132
转载 什么是AOP
什么是AOP AOP(Aspect-OrientedProgramming,面向切面编程),可以说是OOP(Object-Oriented Programing,面向对象编程)的补充和完善。OOP引入封装、继承和多态性等概念来建立一种对象层次结构,用以模拟公共行为的一个集合。当我们需要为分散的对象引入公共行为的...
2021-09-06 10:56:04
298
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人