自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(181)
  • 问答 (3)
  • 收藏
  • 关注

原创 数据库表数据迁移,classpath目录

classpath目录,eclipse编译后的WEB-INF\classes目录,编译后java和resource下的文件、文件夹都会编译到WEB-INF\classes目录下,这个目录就是classpath。本地数据移到服务器相同表。可以直接拷贝本地数据库里的data目录下相应库,相应表里的ibd文件到服务器,替换原有文件。

2023-05-18 10:34:45 130 1

原创 使用Maven创建Springboot父子工程

1、创建父项目通过Eclipse,给Eclipse安装Spring Tools插件,就可以通过Eclipse创建项目。new>Project>Spring boot>Spring starter Project项目创建完成。pom中配置需要的依赖。2、创建子工程new > maven module可以在这个项目里写代码,也可以作为子子项目的父项目。需要在父项目pom中加上: <modules> <modul......

2022-06-08 08:34:47 951

原创 SpringBoot (二)最简单测试

1.配置 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency>2.创建测试类选中要测试类,new>other>java>JUnit&

2021-05-25 16:51:27 218

原创 SpringBoot(一)起步。一个简单的查询。

从mysql数据库查询一条数据显示在网页上。1.创建项目通过Eclipse,给Eclipse安装Spring Tools插件,就可以通过Eclipse创建项目。new>Project>Spring boot>Spring starter Project项目创建完成。也可通过SpringToolSuite4开发工具,和Eclipse使用方法完全一样。2.给pom里添加需要的包根据自己的需求添加包。 <!-- springBoot的启动器 -->

2021-05-24 15:23:42 387

原创 java基础常见面试题系列,88-95

88、如何通过反射调用对象的方法?public class MethodInvokeTest_88 { public static void main(String[] args) throws NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException { String str = "hello"; Method m

2021-04-23 09:17:47 107

原创 java基础常见面试题系列,81-86

81、JDBC 中如何进行事务处理?Connection 提供了事务处理的方法,通过调用 setAutoCommit(false)可以设置 手动提交事务;当事务完成后用 commit()显式提交事务;如果在事务处理过程中 发生异常则通过 rollback()进行事务回滚。除此之外,从 JDBC 3.0 中还引入了 Savepoint(保存点)的概念,允许通过代码设置保存点并让事务回滚到指定的保 存点。82、JDBC 能否处理 Blob 和 Clob?Blob 是指二进制大对象(Binary La

2021-04-20 15:15:58 96

原创 java基础常见面试题系列,73-80

73、XML 文档定义有几种形式?它们之间有何本质区别?解析 XML 文档有哪几种方式?XML 文档定义分为 DTD 和 Schema 两种形式,二者都是对 XML 语法的约束,其 本质区别在于 Schema 本身也是一个 XML 文件,可以被 XML 解析器解析,而且 可以为 XML 承载的数据定义类型,约束能力较之 DTD 更强大。对 XML 的解析主 要有 DOM(文档对象模型,Document Object Model)、SAX(Simple API for XML)和 StAX(Java 6

2021-04-16 09:48:37 107

原创 java基础常见面试题系列,71-72

71、如何用 Java 代码列出一个目录下所有的文件?import java.io.File;/* * 输出当前目录的文件名字 */public class Test_71 { public static void main(String[] args) { File f = new File("C:/dryEye/excel"); for(File temp : f.listFiles()) { if(temp.isFile()) { System.out.print

2021-04-15 10:35:40 83

原创 项目重构

一个项目:如果一开始设计的不够好,或者用的是不熟悉的技术,或者需求不断改变。最终这个项目都会走向混乱,无法进行下去,或者是很小的变动都需要花费很大的力气。如果恰好这三个都遇到了,那么这个项目必将是一片混乱。这时候需要下很大的决心重构项目,理清、理顺整个项目,使项目更具有生命力。一、项目重构的几个步骤1.再次了解业务在重构之前再次了解业务,了解需求。从需求的角度,找出项目不合理的地方,从需求发展的角度,规划好项目需要预留的东西。2.再次了解技术对于不熟悉的技术,再次了解技术,分析项目中技术

2020-11-12 11:06:58 3116 1

原创 java基础常见面试题系列,61-70

61、编写多线程程序有几种实现方式?Java 5 以前实现多线程有两种实现方法:一种是继承 Thread 类;另一种是实现 Runnable 接口。两种方式都要通过重写 run()方法来定义线程的行为,推荐使用 后者,因为 Java 中的继承是单继承,一个类有一个父类,如果继承了 Thread 类 就无法再继承其他类了,显然使用 Runnable 接口更为灵活。62、synchronized 关键字的用法?synchronized 关键字可以将对象或者方法标记为同步,以实现对对象和方法的互斥访问

2020-11-09 11:00:21 126

原创 用java(javaFX)开发一个完整的桌面程序。javaFX简单入门。

做了一个简单的javaFX桌面应用,因为是学java出身的,所以只能选择javaFX了。应用是装在单机电脑上用来收集数据的,没有使用数据库,数据存储在excel表格中。1.起步JavaFX的API已经完整地集成到了JRE和JDK之中。所以开发起来很方便,不需要导包,eclipse只需要建一个java项目就可以开始写代码了。项目写完打包成jar包在有jdk环境的电脑上就可以直接运行了,也可以打包成EXE文件。下面是一个最简单的项目:打包后运行将弹出一个窗口,也可以打包成exe项目,只是没有意义。

2020-10-21 15:58:41 7882 1

原创 查询:同一个学校,姓名相同的学生名单。表中包含多个学校学生名单。

现有学生表,包含学校名称,班级,学生姓名等列。需要查询某个学校学生姓名相同的学生的列表。SELECT * FROM `studentInformation` WHERE studentname IN (SELECT studentnameFROM `studentInformation` WHERE school = '西安小学'GROUP BY studentnameHAVING COUNT(studentname) > 1 AND school = '西安小学')GROUP BY.

2020-10-19 14:00:03 4177

原创 java基础常见面试题系列,51-60

51、类 ExampleA 继承 Exception,类 ExampleB 继承 ExampleA。有如下代码片断:输出是什么?try {throw new ExampleB("b")} catch(ExampleA e){System.out.println("ExampleA");} catch(Exception e){System.out.println("Exception");}输出:ExampleA。(根据里氏代换原则[能使用父类型的地方一定能使用子类型], 抓取

2020-10-16 13:59:13 132

原创 java基础常见面试题系列,41-50

41、日期和时间:(1)如何取得年月日、小时分钟秒?创建 java.util.Calendar 实例,调用其 get()方法传入不同的参数即可获 得参数所对应的值。Java 8 中可以使用 java.time.LocalDateTimel 来获取,代码 如下所示。public class DateTimeTest { public static void main(String[] args) { Calendar cal = Calendar.getInstance(); Syst

2020-10-15 11:26:53 95

原创 java基础常见面试题系列,31-40

31、String s = new String(“xyz”);创建了几个字符串对象?两个对象,一个是静态区的”xyz”,一个是用 new 创建在堆上的对象。JAVA中有个字符串池,它存储在堆(heap)中,可共享。任何时候一个新的对象被创建,会首先在字符串池中检查,那个对象是否存在,如果已经存在了,则返回该对象的引用;如果不存在,则新建。32、接口是否可继承(extends)接口?抽象类是否可实现 (implements)接口?抽象类是否可继承具体类(concrete class)?接口可

2020-09-24 10:35:17 111

原创 java基础常见面试题系列,21-30

21、描述一下 JVM 加载 class 文件的原理机制?JVM 中类的装载是由类加载器(ClassLoader)和它的子类来实现的,Java 中的 类加载器是一个重要的 Java 运行时系统组件,它负责在运行时查找和装入类文件 中的类。由于 Java 的跨平台性,经过编译的 Java 源程序并不是一个可执行程序,而是一 个或多个类文件。当 Java 程序需要使用某个类时,JVM 会确保这个类已经被加载、 连接(验证、准备和解析)和初始化。类的加载是指把类的.class 文件中的数据读 入到内存中,

2020-09-21 10:04:37 204

原创 java基础常见面试题系列,11-20

11、switch 是否能作用在 byte 上,是否能作用在 long 上, 是否能作用在 String 上?在 Java 5 以前,switch(expr)中,expr 只能是 byte、short、char、int。从 Java 5 开始,Java 中引入了枚举类型,expr 也可以是 enum 类型,从 Java 7 开始, expr 还可以是字符串(String),但是长整型(long)在目前所有的版本中都是 不可以的。switch 语句中的变量类型可以是: byte、short、int 或

2020-09-17 15:59:46 117

原创 LeetCode-26-算法-删除排序数组中的重复项(简单)

给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。示例1:给定数组 nums = [1,1,2],函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。你不需要考虑数组中超出新长度后面的元素。示例2:给定 nums = [0,0,1,1,1,2,2,3,3,4],函数应该返回新的长度 5, ...

2020-09-17 14:52:08 162

原创 LeetCode-22-算法-括号生成(中等)

数字 n代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。示例:输入:n = 3输出:[ "((()))", "(()())", "(())()", "()(())", "()()()" ]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/generate-parentheses著作权归领扣网络所有。商业转载请联系官方授权,...

2020-09-17 14:28:47 156

原创 java基础常见面试题系列,1-10

1、面向对象的特征有哪些方面?抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽 象和行为抽象两方面。抽象只关注对象有哪些属性和行为,并不关注这些行为的 细节是什么。继承:继承是从已有类得到继承信息创建新类的过程。提供继承信息的类 被称为父类(超类、基类);得到继承信息的类被称为子类(派生类)。继承让 变化中的软件系统有了一定的延续性,同时继承也是封装程序中可变因素的重要手段。封装:通常认为封装是把数据和操作数据的方法绑定起来,对数据的访问只能通过已定义的接口。面向对象的本质就是将

2020-09-17 10:27:55 162

转载 项目在eclipse上可以运行,打包成jar这个报错!java.lang.NoClassDefFoundError!

这个问题多半是没有找到依赖的第三方jar包。解决办法1:将第三方jar包放到JRE的扩展类文件夹中(%JAVA_HOME%/jre/lib/ext)。解决方法2:修改jar包的MANIFEST.MF文件详细如下:1、新建文件夹test位于D盘;2、将用到的所有第三方jar包放在文件夹lib下,再将lib放在test下;3、导出的java工程jar包a.jar也放在test下;4、修改工程jar包META-INF文件夹下的MANIFEST.MF配置文件: 1 2

2020-08-07 15:55:13 1855

原创 通过POI创建Excel、操作Excel。一起步。

项目中需要做导出Excel功能,或者通过excel保存数据,或者读取excel的数据等功能。poi是Apache的,所以功能很强大。1.首先导入jar包。 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.17&lt...

2020-07-02 16:31:40 354

原创 使用Freemarker导出Word文档(包含图片)的实现。.xml .ftl

最近在做一个导出比较复杂的word的项目。通过poi的方式比较复杂,时间成本比较高,所以选择使用Freemarker的方式。1.生成.ftl文档首先做好word文档,需要填充的地方提前设置好${name}等,word里,需要图片的地方,也按照格式和尺寸放一张图片(占位置)。另存为.xml格式文档。(Word XML 文档(*.xml))打开xml文档:也可以调格式。将$符号截切下来,放到{}前边,和word里一样,最好在手动敲一遍${name},(我也不知道为什么,有时候不敲就报

2020-07-02 15:58:11 993

原创 调用windows默认打印机打印指定目录下的word文档。

最近要做一个调用默认打印的程序,调用默认打印机,打印指定目录下的文档。package com.xxxxx;import javax.print.PrintService;import javax.print.PrintServiceLookup;import com.jacob.activeX.ActiveXComponent;import com.jacob.com.ComThread;import com.jacob.com.Dispatch;import com.jacob.co

2020-06-29 22:28:55 976

原创 Java项目打包成exe程序详细图解过程

最近在做个一个单机的小应用,所以需要将程序打包成exe可执行程序。记录一下过程。一个简单的javaFX项目。1.首先将java项目打包成jar包。鼠标右键项目名 --> 选择Export --> java --> jar file -->如图:这一步选择生成的jar包的地址及名称,默认时项目名,在项目所在目录下。这一步需要选择默认主类(程序运行的入口)。Next -->Next点点点在cmd里测试看程序能跑不。2.用exe4...

2020-06-29 22:03:15 4768

原创 LeetCode-21-算法- 合并两个有序链表(简单)

将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/merge-two-sorted-lists著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。审题:合并升序列表。思考:解题:.

2020-06-02 10:28:47 345

原创 LeetCode-20-算法- 有效的括号(简单)堆栈

给定一个只包括 '(',')','{','}','[',']'的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: "()"输出: true示例2:输入: "()[]{}"输出: true输入: "(]"输出: false示例4:输入: "([)]"输出: false示例5:输入: "{[]}"输出: true来源:力扣(LeetCode...

2020-06-01 10:53:41 190

原创 LeetCode-19-算法- 删除链表的倒数第N个节点(中等)链表问题

给定一个链表,删除链表的倒数第n个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.说明:给定的 n保证是有效的。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/remove-nth-node-from-end-of-list著作权归领扣网络所有。商业转载请联系官方授权,非商业转...

2020-06-01 10:13:05 214

原创 LeetCode-18-算法-四数之和(中等)

给定一个包含n 个整数的数组nums和一个目标值target,判断nums中是否存在四个元素 a,b,c和 d,使得a + b + c + d的值与target相等?找出所有满足条件且不重复的四元组。注意:答案中不可以包含重复的四元组。示例:给定数组 nums = [1, 0, -1, 0, -2, 2],和 target = 0。满足要求的四元组集合为:[ [-1, 0, 0, 1], [-2, -1, 1, 2], [-2, 0, 0, 2]...

2020-05-29 10:38:24 183

原创 LeetCode-17-算法-电话号码的字母组合(中等)

给定一个仅包含数字2-9的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例:输入:"23"输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].说明:尽管上面的答案是按字典序排列的,但是你可以任意选择答案输出的顺序。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/letter-combinations-o..

2020-05-28 11:30:50 325

原创 LeetCode-16-算法-最接近的三数之和(中等)

给定一个包括n 个整数的数组nums和 一个目标值target。找出nums中的三个整数,使得它们的和与target最接近。返回这三个数的和。假定每组输入只存在唯一答案。例如,给定数组 nums = [-1,2,1,-4], 和 target = 1.与 target 最接近的三个数的和为 2. (-1 + 2 + 1 = 2).来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/3sum-closest著作权归领扣网络所有。...

2020-05-28 09:08:22 340

原创 LeetCode-15-算法-三数之和(中等)

给你一个包含 n 个整数的数组nums,判断nums中是否存在三个元素 a,b,c ,使得a + b + c = 0 ?请你找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。示例:给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], [-1, -1, 2]]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/3sum著作权归领扣网...

2020-05-27 10:38:41 203

原创 LeetCode-14-算法-最长公共前缀(简单)

编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串""。示例1:输入: ["flower","flow","flight"]输出: "fl"示例2:输入: ["dog","racecar","car"]输出: ""解释: 输入不存在公共前缀。说明:所有输入只包含小写字母a-z。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/longest-common-prefix著作权归领扣网...

2020-05-26 11:22:03 237

原创 LeetCode-13-算法-罗马数字转整数(简单)

罗马数字包含以下七种字符:I,V,X,L,C,D和M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做II,即为两个并列的 1。12 写做XII,即为X+II。 27 写做XXVII, 即为XX+V+II。通常...

2020-05-26 10:45:39 493

原创 LeetCode-12-算法-整数转罗马数字(中等)

罗马数字包含以下七种字符:I,V,X,L,C,D和M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做II,即为两个并列的 1。12 写做XII,即为X+II。 27 写做XXVII, 即为XX+V+II。通常...

2020-05-25 10:59:43 217

原创 LeetCode-11-算法-盛最多水的容器(中等)

给你 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点(i,ai) 。在坐标内画 n 条垂直线,垂直线 i的两个端点分别为(i,ai) 和 (i, 0)。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且n的值至少为 2。图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为49。示例:输入:[1,8,6,2,5,4,8,3,7]输出:49来源:力...

2020-05-25 10:44:28 209 1

原创 LeetCode-10-算法-正则表达式匹配(困难)回溯

给你一个字符串s和一个字符规律p,请你来实现一个支持 '.'和'*'的正则表达式匹配。'.' 匹配任意单个字符'*' 匹配零个或多个前面的那一个元素所谓匹配,是要涵盖整个字符串s的,而不是部分字符串。说明:s可能为空,且只包含从a-z的小写字母。p可能为空,且只包含从a-z的小写字母,以及字符.和*。示例 1:输入:s = "aa"p = "a"输出: false解释: "a" 无法匹配 "aa" 整个字符串。示例 2:输入:s =...

2020-05-25 10:24:07 421

原创 LeetCode-9-算法-回文数(简单)

判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121输出: true示例2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入: 10输出: false解释: 从右向左读, 为 01 。因此它不是一个回文数。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/palindr.

2020-05-23 21:41:07 199

原创 LeetCode-8-算法- 字符串转换整数 (atoi)(中等)

请你来实现一个atoi函数,使其能将字符串转换成整数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。接下来的转化规则如下:如果第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字字符组合起来,形成一个有符号整数。假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成一个整数。该字符串在有效的整数部分之后也可能会存在多余的字符,那么这些字符可以被忽略,它们对函数不应该造成影响。注意:假如该字符串中的第一个非空格字符不是一个有效整..

2020-05-22 22:59:07 211

原创 LeetCode-7-算法- 整数反转(简单)

给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/reverse-integer著作权归领扣网络所有。商业转载请联系官方授权...

2020-05-04 21:05:03 206

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除