java
刘顺顺_
总有bug要解决,总要一直向前。
展开
-
写一段把本地文件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 · 446 阅读 · 0 评论 -
springboot自动装配的原理
@EnableAutoConfiguration实现的关键在于引入了AutoConfigurationImportSelector,其核心逻辑为selectImports方法, 逻辑大致如下:从spring-boot-autoconfigure包下的META-INF/spring.factories文件中加载所有可能用到的自动配置类;去重,并将exclude和excludeName属性携带的类排除;过滤,将满足条件(@Conditional)的自动配置类返回;...原创 2021-12-22 14:47:45 · 248 阅读 · 0 评论 -
SpringBoot的核心注解
启动类上面的注解是@SpringBootApplication,它也是 Spring Boot 的核心注解,主要组合包含了以下 3 个注解:@SpringBootConfiguration: 组 合 了 @Configuration 注 解 , 实 现 配 置 文 件 的 功 能 。 @EnableAutoConfiguration:打开自动配置的功能,也可以关闭某个自动配置的选项,如关闭数据源自动配置功能:@SpringBootApplication(exclude = { DataSourceAut原创 2021-12-22 14:45:55 · 368 阅读 · 0 评论 -
SpringBoot的特点和优点
Spring Boot 有哪些特点 ?1、为 Spring 开发提供一个更快、更广泛的入门体验。2、开箱即用,远离繁琐的配置。3、提供了一系列大型项目通用的非业务性功能,例如:内嵌服务器、安全管理、运行数据监控、运行状况检查和外部化配置等。4、绝对没有代码生成,也不需要XML配置。Spring Boot 有哪些优点?1、减少开发,测试时间和努力。2、使用 JavaConfig 有助于避免使用 XML。3、避免大量的 Maven 导入和各种版本冲突。4、通过提供默认值快速开始开发。没有单独原创 2021-12-22 14:43:46 · 3335 阅读 · 0 评论 -
Zookeeper工作原理
Zookeeper 的核心是原子广播,这个机制保证了各个Server之间的同步。实现这个机制的协议叫做Zab协议。Zab协议有两种模式,它们分别是恢复模式(选主)和广播模式(同步)。当服务启动或者在领导者崩溃后,Zab就进入了恢复模式,当领导者被选举出来,且大多数Server完成了和 leader的状态同步以后,恢复模式就结束了。状态同步保证了leader和Server具有相同的系统状态...原创 2021-12-22 14:37:54 · 943 阅读 · 0 评论 -
关于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 · 280 阅读 · 0 评论 -
了解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 · 149 阅读 · 0 评论 -
session的工作原理是什么
session 的工作原理是客户端登录完成之后,服务器会创建对应的 session,session 创建完之后,会把 session 的 id 发送给客户端,客户端再存储到浏览器中。这样客户端每次访问服务器时,都会带着sessionid,服务器拿到 sessionid 之后,在内存找到与之对应的 session 这样就可以正常工作了。...原创 2021-11-06 10:03:04 · 469 阅读 · 0 评论 -
session和cookie有什么区别?
session 和 cookie 有什么区别?a、存储位置不同:session 存储在服务器端;cookie 存储在浏览器端。b、安全性不同:cookie 安全性一般,在浏览器存储,可以被伪造和修改。c、容量和个数限制:cookie 有容量限制,每个站点下的 cookie 也有个数限制。d、存储的多样性:session 可以存储在 Redis 中、数据库中、应用程序中;而 cookie 只能存储在浏览器中。...原创 2021-11-06 09:59:51 · 385 阅读 · 0 评论 -
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 · 314 阅读 · 0 评论 -
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 · 98 阅读 · 0 评论 -
什么是JDBC的最佳实践
文章目录什么是JDBC的最佳实践?什么是JDBC的最佳实践?1、数据库资源是非常昂贵的,用完了应该尽快关闭它。Connection, Statement, ResultSet等JDBC对象都有close方法,调用它就好了。2、养成在代码中显式关闭掉ResultSet,Statement,Connection的习惯,如果你用的是连接池的话,连接用完后会放回池里,但是没有关闭的ResultSet和Statement就会造成资源泄漏了。3、在finally块中关闭资源,保证即便出了异常也能正常关闭。4、原创 2021-10-11 19:32:09 · 106 阅读 · 0 评论 -
数据库连接池的原理
文章目录数据库连接池的原理,为什么要使用连接池?数据库连接池的原理,为什么要使用连接池?1、数据库连接是一种关键的有限的昂贵的资源,对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标。数据库连接池正是针对这个问题提出来的。2、数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。这项技术能明显提高对 数据库操作的性能。3、数据原创 2021-10-11 19:30:03 · 309 阅读 · 0 评论 -
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 · 195 阅读 · 0 评论 -
JDBC的ResultSet
文章目录JDBC的ResultSet是什么?JDBC的ResultSet是什么?在查询数据库后会返回一个ResultSet,它就像是查询结果集的一张数据表。ResultSet对象维护了一个游标,指向当前的数据行。开始的时候这个游标指向的是第一行。如果调用了ResultSet的next()方法游标会下移一行,如果没有更多的数据了,next()方法会返回false。可以在for循环中用它来遍历数据集。...原创 2021-10-11 19:22:22 · 67 阅读 · 0 评论 -
JDBC的PreparedStatement
文章目录JDBC的PreparedStatement是什么?相对于Statement,PreparedStatement的优点是什么?JDBC的PreparedStatement是什么?PreparedStatement对象代表的是一个预编译的SQL语句。用它提供的setter方法可以传入查询的变量。由于PreparedStatement是预编译的,通过它可以将对应的SQL语句高效的执行多次。由于PreparedStatement自动对特殊字符转义,避免了SQL注入攻击,因此应当尽量的使用它。相原创 2021-10-11 19:19:25 · 618 阅读 · 0 评论 -
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 · 3374 阅读 · 0 评论 -
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 · 813 阅读 · 0 评论 -
什么是JDBC,在什么时候会用到它?
1.什么是JDBC,在上面时候会用到它?JDBC的全称是Java DataBase Connection,也就是Java数据库连接,我们可以用它来操作关系型数据库。JDBC接口及相关类。在java.sql包和javax.sql包里。我们可以用它来连接数据库,执行SQL查询,存储过程,并处理返回的结果。JDBC接口让Java程序和JDBC驱动实现了松耦合,使得切换不同的数据库变得更加简单。...原创 2021-10-11 19:07:07 · 362 阅读 · 0 评论 -
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 · 269 阅读 · 0 评论 -
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 · 90 阅读 · 0 评论 -
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 · 75 阅读 · 0 评论 -
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 · 93 阅读 · 0 评论 -
SpringMVC五大组件及作用
Spring MVC五大组件及作用 DispatcherServlet DispatcherServlet是前置控制器,配置在web.xml文件中的。拦截匹配的请求,Servlet拦截匹配规则要自己定义,把拦截下来的请求,依据相应的规则分发到目标Controller来处理,是配置spring MVC的第一步。 DispatcherServlet是前端控制器设计模式的实现,提供Spring W...转载 2021-09-01 09:42:41 · 1035 阅读 · 0 评论 -
什么是注解
概念:Java 注解是在 JDK5 时引入的新特性,注解(也被称为元数据)为我们在代码中添加信息提供了一种形式化的方法,使我们可以在稍后某个时刻非常方便地使用这些数据。注解类型定义指定了一种新的类型,一种特殊的接口类型。 在关键词 interface 前加 @ 符号也就是用 @interface 来区分注解的定义和普通的接口声明。目前大部分框架(如 Spring Boot 等)都通过使用注解简化了代码并提高的编码效率。作用:提供信息给编译器: 编译器可以利用注解来探测错误和警告信息,如 @Ov原创 2021-08-26 08:59:27 · 164 阅读 · 0 评论 -
Java基础知识(建议收藏)
1 MS-DOS命令提示符 2 IDEA快捷键 3 JAVA开发环境 3.1 JVM JVM(Java Virtual Machine ):Java虚拟机,简称JVM,是运行所有Java程序的假想计算机,是Java程序的 运行环境,是Java...转载 2021-08-16 22:53:35 · 199 阅读 · 0 评论 -
登录页面和随机生成的验证码如何使用
登录页面和随机生成的验证码如何使用<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>网站登录页</title> <!--要使用layui,需要引入一个js 和 一个 css--> <script src="layui-v2.5.6/layui/layui.js"></script&g原创 2021-08-11 08:26:35 · 251 阅读 · 0 评论 -
跟Java面试官对线的一天!唬住就要50K,唬不住就要5K
个人面经 前言JVM篇计网篇Java基础篇多线程篇Spring框架篇MyBatis框架篇MySQL篇Redis篇分布式、微服务篇小结 前言 不积跬步无以至千里,不积小流无以成江海 终于呀,怀着期待的心走进了公司的大门,迎面而来的就是一个小...转载 2021-07-26 08:24:48 · 469 阅读 · 0 评论 -
java基础知识总结
Java语言的特点 1.面向对象 面向对象(OOP)就是Java语言的基础,也是Java语言的重要特性。面向对象的概念:生活中的一切事物都可以被称之为对象,生活中随处可见的事物就是一个对象,我们可以将这些事物的状态特征(属性)以及行为特征(方法)提取并出来...转载 2021-07-23 13:51:34 · 180 阅读 · 0 评论 -
什么是ajax?ajax详解
今天来聊一聊前后端交互的重要工具AJAX 1. AJAX - 到底什么是Ajax? ajax 全名 async javascript and XML(异步JavaScript和XML) 是前后台交互的能⼒ 也就是我们客户端给服务端发送消息的⼯具,以及接受...转载 2021-07-19 23:51:39 · 14437 阅读 · 0 评论 -
idea超级好用插件
目录 满满的都是干货 所有插件都是在 ctrl+alt+s 里的plugins 里进行搜索安装 1、CodeGlance 代码迷你缩放图插件 2、 Codota 安装: 3、Material Theme UI 4、Alibaba Java Coding Guidelines 5、 Alibaba C...转载 2021-07-18 22:56:12 · 257 阅读 · 0 评论 -
Java IO流学习总结:输入输出流
Java IO流学习总结:输入输出流 Java流类图结构: 流的概念和作用 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作。 ...转载 2021-07-16 23:49:14 · 90 阅读 · 0 评论 -
改变日期输出为指定格式
改变日期输出格式题目/**将当前系统时间以"yyyy-MM-dd HH:mm:ss"格式输出一般系统默认日期格式是这样的 Wed Jul 14 09:55:13 CST 2021*/代码部分package com.liu.day07;import java.text.SimpleDateFormat;import java.util.Date;public class Test02 { public static void main(String[] args) {原创 2021-07-14 22:14:20 · 230 阅读 · 0 评论 -
日期类,指定日期到目前过了多长时间
输入日期,输出到现在为止经过了多少天/周题目/**输入某人生日,格式为"yyyy-MM-dd",输出到现在为止经过了多少周。*/代码package com.liu.day07;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import java.util.Scanner;public class原创 2021-07-14 22:04:32 · 200 阅读 · 0 评论 -
String常用方法练习题
String常用方法练习题问题/**将"大家好!"修改为:"大家好!我是程序员!"并输出。然后将"大家好!我是程序员!"修改为:"大家好!我是优秀的程序员!"并输出然后再修改为:"大家好!我是牛牛的程序员!"并输出然后在修改为:"我是牛牛的程序员!"并输出/代码解析public class Test2 { public static void main(String[] args) { String str = "大家好!"; StringBu原创 2021-07-14 11:28:55 · 97 阅读 · 0 评论 -
java知识点复习
JDK JRE JVM JDK: Java标准开发包,它提供了编译、运⾏Java程序所需的各种⼯具和资源,包括Java编译器、Java运⾏时环境,以及常⽤的Java类库等。 JRE: Java运⾏环境,⽤于解释执⾏Java的字节码⽂件。 JVM Java虚拟机...转载 2021-07-14 09:00:37 · 608 阅读 · 0 评论 -
String常用方法举例及代码
String常用方法举例:题目:/**定义一个"HelloWorld"变量1:输出字符串"HelloWorld"的字符串长度2:输出"HelloWorld"中"o"的位置3:输出"HelloWorld"中从下标5处开始第一次出现"o"的位置4:截取"HelloWorld"中的"Hello"并输出5:截取"HelloWorld"中的"World"并输出6:将字符串" Hello "中两边的空白去除后输出7:输出"HelloWorld"中第6个字符"W"8:判断"HelloWorl原创 2021-07-14 08:42:29 · 168 阅读 · 0 评论 -
String类常用方法
1.String的构造方法 1)String(String original):把字符串数据封装成字符串对象 2)String(char[] value):把字符数组的数据封装成字符串对象 3)String(char[] value, int index, i...转载 2021-07-12 23:51:26 · 125 阅读 · 0 评论 -
如何吃透一个 Java 项目
先说一下大多数新手的情况:就是对着视频敲 Java 项目,其中遇到的 BUG 还能解决,但就是每次敲完一个项目,就感觉很空虚,项目里面的知识点感觉懂了但又好像没懂,应该怎样才能掌握一个项目所用的知识点呢? 先分享一位好朋友丁威的经验吧,他是《RocketMQ技术内幕》一书的作者。他...转载 2021-07-08 00:53:51 · 197 阅读 · 0 评论