自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 收藏
  • 关注

原创 no typehandler found for property ‘变量名‘

今天碰到的小坑百度查到的是数据库和字段名不对应,确实对,但是和我的情况不太一样,因为我在建表的时候数字类型使用的numeric,但是mysql数据库根据定义的数字长度创建表的时候自动给改成了Decimal类型,而我xml中的javaType使用的是NUMERIC,所以报这个错误,希望对你有帮助...

2021-12-31 14:58:24 722

原创 PG数据库,数据接收类型

在公司遇到一个问题,存到数据库的数据会被自动舍弃掉小数位,经过排查是因为在代码中使用的float类型的变量接收数据,但是pg数据库中的字段类型是numeric,将float变量改为bigdecimal类型就可以了。–记录一下...

2021-11-30 17:38:05 943

原创 String Date Timestamp 三种日期格式的转换

关于String Date Timestamp 三种日期格式的转换非常好的一篇文章,点击直接跳转

2021-03-07 14:10:29 316

原创 JavaWeb学习知识总结

1.自定义 servlet 的三种方式,及区别? 2.写出 Servlet 中的三大作用域,并分别说明各自的特点? 3.filter 和 servlet 在生命周期上的区别 4.表单提交的 2 种方式?及区别? 5.jsp 有哪些内置对象? 作用分别是什么? 6.谈谈你对 MVC 的理解 7.表单的 action 属性,method 属性,name 属性值有什么作 用?8.同步与异步的区别 9.JSP 请求是如何被处理的 10.说说你对 Cookie 与 Session 技术的理解?

2021-03-01 13:40:51 678

原创 JSON解析教程

一、获取fastjson的jar包fastjson下载地址二、获取gson的jar包下载地址三、Gson引入jar包过程首先在项目中创建一个目录用来存放下载的jar包,然后按照图片中过程进行配置一下。举例中用到的实体类定义package com.java.demo2;import java.util.Objects;public class Book { private String id; private String name; private

2021-01-22 13:13:09 220

原创 线程的六种状态

线程状态。 线程可以处于以下状态之一:NEW尚未启动的线程处于此状态。RUNNABLE在Java虚拟机中执行的线程处于此状态。BLOCKED被阻塞等待(排队)监视器锁定的线程处于此状态。WAITING无限期等待另一个线程执行特定操作的线程处于此状态。TIMED_WAITING正在等待另一个线程执行最多指定等待时间的操作的线程处于此状态。TERMINATED已退出的线程处于此状态。线程在给定时间点只能处于一种状态。 这些状态是虚拟机状态,不反映任何操作系统线程状态。...

2021-01-22 10:02:13 60

原创 多线程通信:生产者与消费者问题

1、wait()、notify/notifyAll() 方法是Object的本地final方法,无法被重写。2、wait()使当前线程阻塞,前提是 必须先获得锁,一般配合synchronized 关键字使用,即,一般在synchronized 同步代码块里使用 wait()、notify/notifyAll() 方法。3、 由于 wait()、notify/notifyAll() 在synchronized 代码块执行,说明当前线程一定是获取了锁的。当线程执行wait()方法时候,会释放当前的锁,然后

2021-01-16 12:51:50 74

原创 线程的锁问题

1.公平锁与非公平锁公平锁:排队进行非公平锁:抢占式同步代码块、同步方法都属于非公平锁,显式锁Lock可以指定是否为公平锁 // true:公平锁,false:给公平锁,默认 private Lock l = new ReentrantLock(true);2.线程死锁在子线程中p调用c,主线程中c调用p,很容产生死锁,两者互相夺取资源僵持不下public class Demo11 { public static void main(String[] args) {

2021-01-16 12:04:20 113

原创 线程安全问题

线程安全问题举例、线程安全问题解决方法、同步代码快、同步方法、显式锁Lock

2021-01-16 11:19:28 99 1

原创 线程Thread类常用方法

常用构造方法、设置获取线程名字、线程休眠、线程阻塞、线程中断、守护线程:Daemon

2021-01-15 11:05:09 111

原创 线程概述

线程与进程线程调度同步与异步并发与并行线程创建的两种方式实现Runnable与继承Thread相比有如下优势线程创建的两种方式:继承Thread,实现Runnable接口线程的六种状态

2021-01-14 16:32:03 65

原创 Comparable和Comparator

使用Collections.sort();只能按照默认顺序进行排序import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;public class Test { public static void main(String[] args) { // 创建四个学生对象存储到集合中 ArrayList<Student> list = ne.

2021-01-08 17:08:20 98 1

原创 Java中的Collections类

这个类与 Collection 接口没有任何的关系。是一个单独存在的类。java.utils.Collections 是集合工具类,用来对集合进行操作。部分方法如下:public static boolean addAll(Collection c, T… elements) :往集合中添加一些元素。public static void shuffle(List<?> list) 打乱顺序 :打乱集合顺序。public static void sort(List list) :将集合

2021-01-08 16:36:52 113

原创 分析 equals、hashCode 与内存泄露(理解)

equals()equals 的作用: 比较两个对象的地址值是否相等,但是我们必需清楚,当 String 、Math、还有 Integer、Double。。。。等这些封装类在使用 equals()方法时,已经覆盖了 object 类的 equals()方法,不再是地址的比较而是内容的比较。注意:Java 语言对 equals()的要求如下,这些要求是必须遵循的:对称性:如果 x.equals(y)返回是“true”,那么 y.equals(x)也应该返回是“true”。反射性:x.equals(

2021-01-08 16:14:37 144

原创 Java集合总结

1. 类集就是一个动态的对象数组,可以向集合中加入任意多的内容。 2. List 接口中是允许有重复元素的,Set 接口中是不允许有重复元素。 3. 所有的重复元素依靠 hashCode()和 equals 进行区分 4. List 接口的常用子类:ArrayList、Vector 5. Set 接口的常用子类:HashSet、TreeSet 6. TreeSet 是可以排序,一个类的对象依靠 Comparable 接口排序 7. Map 接口中允许存放一对内容,key - value

2021-01-08 16:11:36 56

原创 java中map集合常用操作方法

1.map集合常用方法2.关于Map集合的输出3.HashMap 与 Hashtable 的区别4.TreeMap

2021-01-08 14:39:26 568

原创 关于map集合的遍历三种方法(keySet()、values()、entrySet())

三种方法:1. keySet() 对Map集合遍历,需要先调用keySet()方法将map集合的键转换为set集合,然后遍历set集合通过get()方法通过键找到对应的值

2021-01-08 13:41:22 716 3

原创 Set集合之TreeSet(排序的子类)

TreeSet存储系统定义类型(引用、直接)与 HashSet 不同的是,TreeSet 本身属于排序的子类:import java.util.TreeSet;public class TreeSetDemo { // 内部采用二叉树有序存储,此处的有序不是指按照存储顺序,而是指数据顺序 public static void main(String[] args) { TreeSet<String> treeSet = new TreeSet<>

2021-01-08 12:38:02 160

原创 Set集合之HashSet

在说HashSet集合之前先讲一讲Set集合        Set 接口也是 Collection 的子接口,与 List 接口最大的不同在于,Set 接口里面的内容是不允许重复的。        Set 接口并没有扩充任何的 Collection 接口中的内容,所以使用的方法全部都是 Collection 接口定义而来的。因为此接口没有 List 接口中定义 的 get(int index)方法,所以无法

2021-01-08 12:01:12 488

原创 关于java中Collection集合的遍历(Iterator迭代输出、ListIterator、Enumeration、foreach)

已经学习过了基本的集合操作,那么对于集合的输出本身也是有多种形式的,可以使用如下的几种方式: · *Iterator 迭代输出(90%)、ListIterator(5%)、Enumeration(1%)、foreach(4%)* 但是在讲解输出的时候一定要记住以下的原则:**“ 只要是碰到了集合,则输出的时候想都不想就使用 Iterator 进行输出 ”**

2021-01-08 10:51:15 234

原创 Java集合LinkedList(链表操作类)

LinkedList:使用的是双向链表结构,对于增加删除快,查找慢此类的使用几率是非常低的,仅作了解要求,此类继承了 AbstractList,所以是 List 的子类。但是此类也是 Queue 接口的子类,以下代码包含boolean add(E e)、E element()、boolean offer(E e)、E peek()、E poll()、E remove()几个Queen接口定义的方法package LinkedList;import java.util.LinkedList;pub

2021-01-08 09:45:38 103

原创 关于Java中Collection接口方法以及ArrayList方法使用代码举例

import java.util.ArrayList;import java.util.Iterator;import java.util.List;import java.util.ListIterator;public class ArrayListDemo { public static void main(String[] args) { /* ArrayLiat: 使用的是数组结构,对于增加删除慢,查找快,可以存储重复数据 传入泛型,准备在集合中存

2021-01-07 22:33:10 161

原创 Java实现二叉树节点的删除

二叉树节点的删除有三种情况叶子节点,可直接删除。只有左子树或右子树,只要将需要删除的节点的父节点指针指向待删除节点的子树。如果待删除节点有左右子树,我们需要找到这个节点的右子树中的最小节点,把它替换到要删除的节点上。然后再删除掉这个最小节点,因为最小节点肯定没有左子节点(如果有左子结点,那就不是最小节点了),所以,我们可以应用上面两条规则来删除这个最小节点。...

2021-01-07 21:41:36 528

原创 Java集合Vector

Vectorvector与ArrayList区别联系Vector是同步的。 如果不需要线程安全实现,建议使用ArrayList代替Vectorvector有四个构造方法,可以指定每次扩容时的容量大小

2021-01-07 21:17:59 152

原创 java面向对象封装的理解

封装是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。优点将变化隔离、便于使用、提高重用性、提高安全性封装原则:将不需要对外提供的内容都隐藏起来、把属性都隐藏,提供公共方法对其访问。常用之一:将成员变量私有化,对外提供对应的set ,get方法对其进行访问。提高对数据访问的安全性。私有仅仅是封装的一种体现。...

2020-12-31 11:19:26 86

原创 Java核心常用类库

一、泛型概念:泛型,即“参数化类型”。就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定 义成参数形式(可以称之为类型形参),然后在使用/调用时传入具体的类型(类型实参)。定义泛型所使用的字母有一些是特定的,比如E是element元素的意思,用来表示容积,后续会学习其他的特定字母。应用:泛型接口(实现接口时,可以选择指定泛型类型,也可以选择不指定)、泛型类(使用情况最多)、泛型方法作用:1、 提高代码复用率 2、 泛型中的类型在使用时指定,不需要强制类型转换(类型安全,编

2020-12-31 11:14:01 177

原创 eclipse&IDEA快捷键

eclipse快捷键积累Shift+Alt+S:在出来的列表中可以选择创建get/set方法,构造方法和toString方法等。Ctrl+Shift+F:将代码对其Alt+/:显示提示代码

2020-12-22 15:09:54 87

原创 Java基础第一节

Java发展史1.起源20 世纪 90 年代,单片式计算机系统诞生,SUN 公司为抢占市场先机,成立了由詹姆斯·高斯林领导的项目小组,目的是开发一种能够在各种消费性电子产品上运行的程序架构。当时C++较为有优势的,项目小组首先考虑采用它来编写程序,但 C++过于复杂和庞大,加上消费电子产品所采用的嵌入式处理器芯片的种类繁杂,需要让编写的程序跨平台运行,假如用 C++编写的话对程序的跨平台运行不友好。最后项目小组决定:既不用 C++编写,也不开发全新的编程语言,而是对 C++进行改造:去除了 C++复杂

2020-12-21 20:21:45 85

空空如也

空空如也

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

TA关注的人

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