![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 80
王小小鸭
愿世间再无bug!
展开
-
java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowed【错误记录】
初步判断是驱动的问题,在pom.xml上设置版本号(很多都是5.7版本,现在大多是8.0版本)之前用的数据库是网络公共的,后来用的自己的数据库更改了相关配置,多加了东西,改正过来即可正常使用。再次启动依然报错,于是仔细查看后发现是application.yml的URL配置有误,原创 2023-07-18 10:24:42 · 388 阅读 · 0 评论 -
java试题1
这里的“可见性”指的是,当对一个变量修改后,新值对于其他线程是立即可见的,注意这里的立即可见,并不是说其他线程能监听到变量值修改,而是说修改后的值能立即同步到主内存中(稍后介绍Java内存模型),保证其他线程能读取到的一定是最新值。什么是指令重排优化呢,Java源代码最终会编译成计算机能识别的机器码指令,为了提高执行效率,编译器和处理器可能会对指令进行优化重新排序,导致实际上指令执行的顺序可能会和源代码中想表达的顺序不一致。正在执行的进程因等待某种事件发生而无法继续执行时,便从执行状态变成阻塞状态。原创 2023-07-06 21:09:09 · 421 阅读 · 0 评论 -
多表联查及mybatis中@Results,@ResultMap注解的应用
而在项目中的具体应用,如用户信息表采用多表联查,user用户表新增用户一进去就触发方法自动生成账号,账号会在后端进行查重验证,还以手动刷新,自动查询所有部门,选择部门后可查找对应职位展示出来供操作者选择,调用角色表查找所有角色可供选择,新增成功后会分页按时间倒序输出。一般查询语句都是针对一个表的,但是在关系型数据库中,表与表之间是有联系的,所以在实际应用中,经常使用。在 MySQL 中,多表查询主要有交叉连接、内连接、外连接、分组查询与子查询等5种。查询部门表、职位表、角色表。选择好部门会展示对应职位↓。原创 2023-05-17 10:49:27 · 1157 阅读 · 0 评论 -
spring1
1. spring概述1.1 Spring是什么(理解)Spring是分层的 Java SE/EE应用 full-stack(全栈,各层都有方案)轻量级开源框架,以 IoC(Inverse Of Control:反转控制)和 AOP(Aspect Oriented Programming:面向切面编程)为内核。(AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术)原创 2023-03-16 15:21:49 · 319 阅读 · 0 评论 -
JavaScript进阶
功能:控制html文档的内容* 获取页面标签(元素)对象:Element*通过元素的id获取元素对象* 操作Element对象:1. 修改属性值:1. 明确获取的对象是哪一个?2. 查看API文档,找其中有哪些属性可以设置2. 修改标签体内容:* 属性:innerHTML1. 获取元素对象2. 使用innerHTML属性修改标签体内容注:IE、edge和谷歌浏览器无法完全展示,切换火狐浏览器可以。原创 2022-11-18 10:38:32 · 174 阅读 · 0 评论 -
Bootstrap & xml
1. 概念:,Bootstrap,来自 Twitter,是目前很受欢迎的前端框架。Bootstrap 是基于 HTML、CSS、JavaScript 的,它简洁灵活,使得 Web 开发更加快捷。* 框架:一个半成品软件,开发人员可以在框架基础上,在进行开发,简化编码。* 好处:1. 定义了很多的css样式和js插件。我们开发人员直接可以使用这些样式和插件得到丰富的页面效果。(开发简洁)2. 响应式布局。* 同一套页面可以兼容不同分辨率的设备。原创 2022-11-18 10:59:26 · 202 阅读 · 0 评论 -
从装饰模式和职责链模式看链式结构模式
异同同点:最低层都是封装继承和多态的运用装饰者模式在创建对象时是父类身份 子类对象,职责链模式在创建对象时是父类身份 父类对象,但最后穿进来都是子类对象,二者本质上并无不同职责链模式实现了请求者和处理者的松耦合。动态组合职责。比状态模式耦合度更低,更加灵活。可以随时地增加或修改处理一个请求地结构。增强了给对象指派职责地灵活性。原创 2022-11-08 17:04:03 · 426 阅读 · 0 评论 -
HTML进阶&CSS
label的for属性一般会和 input 的 id属性值 对应。设置盒子的属性,让width和height就是最终盒子的大小。1. id选择器:选择具体的id属性值的元素.建议在一个html页面中。placeholder:指定输入框的提示信息,当输入框的内容发生变化,会自动清空提示信息。* 语法: 元素名称[属性名="属性值"]{}3. 类选择器:选择具有相同的class属性值的元素。* hidden:隐藏域,用于提交一些信息。5. 属性选择器:选择元素名称,属性名=属性值的元素。原创 2022-11-08 11:05:05 · 168 阅读 · 0 评论 -
遇到的一些问题及解决方法
问题一:Cannot resolve method 'query(java.sql.Connection, java.lang.String,无法解析方法的查询。原创 2022-11-01 14:18:04 · 2099 阅读 · 0 评论 -
实践项目三: 校园兼职平台(合作重构版)
首先从架构开始,厘清架构很重要,之前吃过架构不清晰、推翻重做的亏,一个项目的实现先从一个清晰合理的架构做起。要说区别,之前是通过反射和I/O流进行数据的传递,现在则通过JDBC进行数据库数据的传递先从数据访问层(DAL)开始,明确自己所需的数据,创建好所需的数据库表然后是对应的实体类(Entity),属性和数据库字段名要一一对应业务逻辑层(BLL)负责逻辑判断和要实现的增删改查(CRUD)及相关功能表现层(UI)是要向用户展示的页面,尽可能简洁美观原创 2022-11-01 14:18:21 · 201 阅读 · 0 评论 -
判断List集合是否为空为什么要同时 if (list!=null && !list.isEmpty())
/所以我们在判断集合不为空的时候常采用:**if(list!list.isEmpty())**的方法去取list里面的值。//isEmpty() 和(list.size() == 0)都是判断List内容是否为空。//null判断是判断有没有对list集合分配内存空间,而不是list里面内容是否为空。查找发布兼职人员需要遍历用户list集合,遍历前先判断集合是否为空,原创 2022-10-27 22:41:03 · 561 阅读 · 0 评论 -
如何规避键盘输入跳出红色信息提示
用于验证查询 报错不提示(不加会在日期提示后面加一堆红色信息 )信息: {dataSource-1} inited。采用了日志打印机制,并非报错。原创 2022-10-20 10:27:28 · 302 阅读 · 1 评论 -
DButils的使用和应用实例
DbUtils :提供如关闭连接、装载JDBC驱动程序等常规工作的工具类,里面的所有方法都是静态的。: DbUtils类提供了三个重载的关闭方法。这些方法检查所提供的参数是不是NULL,如果不是的话,它们就关闭Connection、Statement和ResultSet。public static void closeQuietly(…): 这一类方法不仅能在Connection、Statement和ResultSet为NULL情况下避免关闭,还能隐藏一些在程序中抛出的SQLEeception。原创 2022-10-17 10:09:48 · 195 阅读 · 0 评论 -
JDBC3
commons-dbutils 是 Apache 组织提供的一个开源 JDBC工具类库,它是对JDBC的简单封装,学习成本极低,并且使用dbutils能极大简化jdbc编码的工作量,同时也不会影响程序的性能。API介绍:工具类:org.apache.commons.dbutils.DbUtilsAPI包说明:总结@Testtry {//1.获取连接的操作(//① 手写的连接:JDBCUtils.getConnection();//② 使用数据库连接池:C3P0;DBCP;Druid。原创 2022-09-27 09:31:20 · 88 阅读 · 0 评论 -
JDBC2
事务:一组逻辑操作单元,使数据从一种状态变换到另一种状态。保证所有事务都作为一个工作单元来执行,即使出现了故障,都不能改变这种执行方式。当在一个事务中执行多个操作时,要么所有的事务都被提交(commit),那么这些修改就永久地保存下来;要么数据库管理系统将放弃所作的所有修改,整个事务回滚(rollback)到最初状态。为确保数据库中数据的一致性。原创 2022-09-26 00:44:13 · 84 阅读 · 0 评论 -
向数据表中插入大数据Blob类型实例及两种查看方式
插入前: 插入成功: 插入后: 可以看到图片插入是插入了,但是无法直接查看,需要在查询窗口手动输入查询语句:代码:从数据表中读取大数据类型 这样就不会压缩画质啦,而且图片自适应以上就是两种查看数据表中插入大数据Blob类型的方法。原创 2022-09-26 00:12:24 · 3674 阅读 · 0 评论 -
JDBC1
Java数据库连接(Java Database Connectivity,简称JDBC)是一个独立于特定数据库管理系统、 通用的SQL数据库存取和操作的公共接口(一组API),定义了用来访问数据库的标准Java类库,()使用这些类库可以以一种标准的方法、方便地访问数据库资源。JDBC为访问不同的数据库提供了一种统一的途径,为开发者屏蔽了一些细节问题。JDBC的目标是使Java程序员使用JDBC可以连接任何提供了JDBC驱动程序。原创 2022-09-22 20:13:57 · 111 阅读 · 0 评论 -
利用JDBC实现增、删、改、查实例
java.lang.classCastException: java.util.Date cannot be cast to java.sql.Date Java.lang.classCastException:java.util.Date不能转换为java.sql.Date。类型转换有歧义,出现了两个Date,一个java.util.Date,一个java.sql.Date,所以会报错,解决方法也很简单,将第一个Date取消指定类型,第二个Date指定java.sql.Date即可。原创 2022-09-22 19:16:30 · 1330 阅读 · 0 评论 -
版本4校园兼职软件遇到的问题和解决方法
ConcurrentModificationException 当不允许这样的修改时,可以通过检测到对象的并发修改的方法来抛出此异常。成了但好像没完全成,之前if……逻辑结构好像没理清,还有输出错误。因为暂存的temp对象被定义为全局变量,所以每次进去都被刷新为新对象,将其。每次只能保存一位用户信息,后面输入用户信息前面的用户信息会被覆盖。好消息是正则表达式成功啦,约束工作完成时间只能在工作开始时间之后。重新整理一下代码逻辑和顺序,成啦!重新编写了一下申请兼职工作的方法。明明有内容确未查询到。...原创 2022-09-01 16:29:53 · 290 阅读 · 0 评论 -
校园兼职项目遇到的问题及解决(版本1-3)
在UserService中用户信息修改方法modify,一开始一切都还好,直到遍历集合,出现报红和提示翻译过来是:Non-static方法'getUid()' cannot be referenced from a static context 不能从静态上下文引用非静态方法‘getUid()’静态方法的使用:在一个类中调用另一个static类中方法或变量时要使用类名.方法名或者类名.属性名;如果调用的是非静态的方法或属性则要用类的对象去调用,即对象方法或对象属性。...原创 2022-08-26 09:44:11 · 98 阅读 · 0 评论 -
代码运行出现了堆栈溢出错误及解决方法
将对象预先创建并初始化后放入对象池中,对象提供者就能利用已有的对象来处理请求,减少频繁创建对象所占用的内存空间和初始化时间。创建了一个对象池模式(Object Pool Pattern),是。使用时直接从对象池中调用即可,这样就不会出现堆栈溢出的错误啦!形成了一个完整的闭环,不停地循环,超出了堆栈空间,造成了溢出。原创 2022-08-22 08:56:23 · 3243 阅读 · 0 评论 -
比较方法equals( )、==、===以及CompareTo
equals() 方法和==运算符执行的是两个不同的操作。equals() 方法比较字符串对象中的字符==运算符比较两个对象引用看它们是否引用相同的实例变量 s1 指向由“Hello World”创建的字符串实例。s2 所指的的对象是以 s1 作为初始化而创建的,存放地址不同。因此这两个字符串对象的内容是一样,但它们是不同的对象,这就意味着 s1 和 s2 没有指向同一的对象,因此它们是不==的。因此,千万不要使用==运算符测试字符串的相等性,以免在程序中出现糟糕的 bug。...原创 2022-08-05 11:26:25 · 2351 阅读 · 0 评论 -
反射常见提问及记录
例如,一个Java类中用一个Class类的对象来表示,一个类中的组成部分成员变量,方法,构造方法,包等等信息也用一个个的Java类来表示,就像汽车是一个类,汽车中的发动机,变速箱等等也是一个个的类。表示Java类的Class类显示要提供一系列的方法,来获得其中的变量,方法,构造方法,修饰符,包等信息,这些信息就是用相应类的实例对象来表示,它们是Field、Method、Contructor、Package等等。创建带有main方法ReflectTest的类,利用Class类得到私有的name属性。...原创 2022-08-01 02:18:43 · 241 阅读 · 0 评论 -
特殊流&Properties属性集实例遇到的问题及解决方法
解题思路:1.编写一个小程序类,就以猜数字为例,在1-100之间随机生成一个任意自然数,依次输入数字比对生成数字,答对退出,即为一次;2.创建数据源目录File对象,路径是Temp\\applet.txt,判断文件是否存在,不存在则自己创建;3.创建好以后applet.txt文件以后记得往里面写入初始化对象count=0(一定要记得!!!)4.从文件中读取数据到Properties集合,用lo写代码看似简单却又不简单,很多时候看似不起眼的小细节往往能决定成败,吾生有涯而学无涯,一起努力加油呀!.原创 2022-07-28 15:17:38 · 430 阅读 · 0 评论 -
字符流问答小程序解题过程及拓展
基本实现我们想要的效果,但是当我输出小写字母的答案时,找不到与之相匹配的值,所以即便我答案正确也不得分,所以可以写一个输出错误语句。java中“==”的使用回顾:因为在Java中,如果是基本数据类型,则 == 比较的是值;如果是对象类型,则 == 比较的是对象的地址。......原创 2022-07-28 20:44:00 · 277 阅读 · 1 评论 -
字符流相关
一个小于127的字符的意义与原来相同,但两个大于127的字符连在一起时,就表示一个汉字,这样大约可以组合了包含7000多个简体汉字,此外数学符号、罗马希腊的字母、日文的假名等都编进去了,连在ASCII里本来就有的数字、标点、字母都统统重新编了两个字节长的编码,这就是常说的"全角"字符,而原来在127号以下的那些就叫"半角"字符。最为常用的UTF-8编码。转换流的名字比较长,而我们常见的操作都是按照本地默认编码实现的,所以,为了简化书写,转换流提供了对应的子类FileReader用于读取字符文件的便捷类。..原创 2022-07-26 21:37:50 · 266 阅读 · 0 评论 -
Map函数统计字符出现的次数
我们可以把结果分成几个部分来看: a(5),b(4),c(3),d(2),e(1)每一个部分可以看成是:字符和字符对应的次数组成这样的数据,我们可以通过HashMap集合来存储,键是字符,值是字符出现的次数注意:键是字符,类型应该是Character;值是字符出现的次数,类型应该是Integer思路:键盘录入一个字符串创建HashMap集合,键是Character,值是Integer遍历字符串,得到每一个字符拿得到的每一个字符作为键到HashMap集合中去找对应的值,看其返回值 ..原创 2022-07-26 09:52:41 · 758 阅读 · 0 评论 -
字节流实现文本文件/图片/视频文件的复制效率比较
明明视频只有短短3秒,占用内存1.25MB,但是字节流复制视频的时常计算方法二(一次读写一个字节数组)却用了7854毫秒,有蹊跷,分别使用字节流和字节缓冲流,实现文本文件/图片/视频文件的复制。并比较二者在数据复制方面的效率(提示日期类。复制视频的时常计算(一次读写一个字节。复制视频的时常计算(一次读写一个。......原创 2022-07-25 23:38:29 · 527 阅读 · 0 评论 -
字节流相关
IO流介绍IO输入/输出(Input/Output)流是一种抽象概念,是对数据传输的总称。也就是说数据在设备间的传输称为流,流的本质是数据传输IO流就是用来处理设备间数据传输问题的。常见的应用文件复制;文件上传;文件下载IO流的分类按照数据的流向输入流读数据输出流写数据按照数据类型来分(默认分类)字节流字节输入流字节输出流字符流字符输入流字符输出流IO流的使用场景如果操作的是纯文本文件(可以读懂),优先使用字符流如果操作的是图片、视频、音频等二进制文件。优先使用。......原创 2022-07-25 16:57:31 · 65 阅读 · 0 评论 -
File类的学习过程中出现的问题及解决方法
1.利用File构造器,new一个文件目录file1)在其中创建多个文件和目录,测试自己学过的File类的方法2)手动编写方法,实现删除file中指定文件的操作2.判断指定目录下是否有后缀名为.jpg的文件,如果有,就输出该文件名称3.遍历指定目录所有文件名称,包括子文件目录中的文件(注意这句话,经典递归方法,不知道思路的直接问)。4.创建一个与a.txt文件同目录下的另外一个文件b.txt5.操作D盘下的my.txt文件1)判断my.txt文件是否存在。...原创 2022-07-25 10:08:55 · 725 阅读 · 1 评论 -
File&递归14.1
File类介绍它是文件和目录路径名的抽象表示文件和目录是可以通过File封装成对象的对于File而言,其封装的并不是一个真正存在的文件,仅仅是一个路径名而已。它可以是存在的,也可以是不存在的。将来是要通过具体的操作把这个路径的内容转换为具体存在的File类的构造方法方法名说明通过将给定的路径名字符串转换为抽象路径名来创建新的File实例从父路径名字符串和子路径名字符串创建新的File实例从父抽象路径名和子路径名字符串创建新的File实例示例代码//1File类概述和构造方法。............原创 2022-07-26 14:41:50 · 154 阅读 · 0 评论 -
容器中的简答题
ArrayList,LinkedList,Vector三者的相同点与不同点?(“Vector”可百度)【面试题】相同点三个类都实现了List接口,存储数据的形式特点相同,都是存储可重复的有序的数据。不同点1.List接口存储的都是有序可重复的数据,但是细分又可以划分出ArrayList,LinkedList,Vector三个类。2.ArrayList类主要是实现类,虽然效率高,但是线程不安全。底层用的是Object[]数组存储。从查找的时间复杂度来说它属于O(1)。删除元素的时间复杂度O(原创 2022-07-21 08:52:49 · 96 阅读 · 0 评论 -
集合相关知识点和拓展补充
ArrayList的最大容量根据ArrayList源码,ArrayList的最大容量为Integer.MAX_VALUE-8也就是2147483639。为什么不是Integer.MAX_VALUE呢?因为有些虚拟机在数组中保留一些headerwords,所以预留了8来防止越界。转载 2022-07-20 16:08:48 · 165 阅读 · 1 评论 -
多种方式Map集合遍历
4)遍历Map,输出所有的老师及老师教授的课程(用Set、Setget(key)都可)1、分析首先应准备牌完成数字与纸牌的映射关系使用双列Map(HashMap)集合,完成一个数字与字符串纸牌的对应关系。看牌通过Map集合找到对应字符展示。通过查询纸牌与数字的对应关系,由数字转成纸牌字符串再进行展示。1)使用一个Map,以老师的名字作为键,以老师教授的课程名作为值,表示上述课程安排。5)利用Map,输出所有教JSP的老师。......原创 2022-07-21 08:43:56 · 1503 阅读 · 0 评论 -
set集合中的唯一性和排序问题
在某次考试中,学生的成绩信息如下(公有属性)姓名(String)年龄(int)成绩(int)Tom2090;Kevin2290请分别用Comparable和Comparator两个接口对以上同学的成绩做降序排序,如果成绩一样,那在成绩排序的基础上按照年龄由小到大排序,成绩和年龄都一样,则按照姓名的字典顺序排序。现有若干图书信息(包含名称title、作者author、定价price)需要存储到set集合中,保证集合中无重复元素,并遍历查看。可以认为所有信息都相同的图书为重复数据。...原创 2022-07-20 10:06:37 · 513 阅读 · 0 评论 -
Map集合
Map集合概述键的类型;V值的类型Map集合的特点键值对映射关系一个键对应一个值键不能重复,值可以重复元素存取无序创建Map集合的对象多态的方式具体的实现类HashMapMap集合的基本使用map.put("18160062","今夜鸣风");//同键第一次出现是添加map.put("18160062","总攻大人");//同键第二次出现是替换//创建集合对象//Vput(Kkey,Vvalue)将指定的值与该映射中的指定键相关联方法名。......原创 2022-07-19 19:35:41 · 164 阅读 · 0 评论 -
Set集合
Set集合的特点元素存取无序没有索引(所以无法使用普通for循环遍历)、只能通过迭代器或增强for循环遍历不能存储重复元素Set集合的基本使用//创建集合对象//添加元素//不包含重复元素的集合//遍历set){}}}worldjavahello进程已结束,退出代码0HashSet集合的特点(Set接口的实现类)底层数据结构是哈希表对集合的迭代顺序不作任何保证,也就是说不保证存储和取出的元素顺序一致//HashSet集合的基本使用。......原创 2022-07-18 19:09:52 · 100 阅读 · 0 评论 -
反向输出字符串的多种方法
说干就干,我首先想到的是迭代器ListIterator遍历方法配合hasPrevious以及previous完成反向输出;但是编写运行时ListIterator反向遍历始终无法输出,通过查阅资料发现之前也有前辈遇到同样的问题,但在编写程序时发现。做一道list反向输出字符串练习题时我就在想能不能也用不同的方式输出呢?reverse函数功能是逆序(或反转),多用于字符串、数组、容器。最后reverse反向输出,刚好三种方法,可以和正向输出对应上。//reverse函数逆序反转。//新建一个列表list2。..原创 2022-07-15 16:34:20 · 4755 阅读 · 3 评论 -
Collection & List
集合类的特点提供一种存储空间可变的存储模型,存储的数据容量可以随时发生改变集合类的体系图 1.2Collection集合概述和基本使用【应用】Collection集合概述是单例集合的顶层接口,它表示一组对象,这些对象也称为Collection的元素JDK 不提供此接口的任何直接实现,它提供更具体的子接口(如Set和List)实现Collection集合基本使用需要导入Colection的包 //创建Collection集合的对象 Collection c = new Arra........原创 2022-07-14 17:13:33 · 219 阅读 · 0 评论 -
优化方案及实现
测试人员在测试过后提出要求:当前代码无限制,注册会出现无限长的用户名和密码的问题,要添加限制条件使其合理化。改进方法:通过引入方法工具类TSUtility中的readKeyBoard方法,limit限制长度 成功!原因:While语句位置错误,放到if(s == '2' || s=='3')外面,导致输入匹配失败后(此时s=4)不会跳出该if语句进入下一个if语句匹配解决方法:将while语句放到该if语句里面,这样就能在匹配完if(s == '2' || s=='3')发现匹配失败退出该语句进入if( s原创 2022-07-11 08:58:43 · 97 阅读 · 0 评论