自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(58)
  • 资源 (2)
  • 收藏
  • 关注

原创 集合底层中的transient

看集合底层代码时,发现好多字段加了关键字transient,一直不知道为什么要加这个关键字,于是查阅了资料。首先需要知道transient关键字修饰的变量不会被序列化为字节流。那么什么是序列化呢?要知道对象是不能直接进行网络传输的,必须要转化为二进制字节流进行传输。序列化就是将对象转化为字节流的过程。同理,反序列化就是从字节流构建对象的过程。对于 Java 对象来说,如果使用 JDK 的序列化实现。对象只需要实现 java.io.Serializable 接口。只要这个...

2021-09-23 11:17:51 182

原创 Java中迭代的方式遍历集合

在List上用迭代器遍历: public static void main(String[] args) { List<String> listNames = new ArrayList<>(); listNames.add("qiuqiu"); listNames.add("kaka"); listNames.add("beibei"); listNames.add("hutu");

2021-09-08 17:41:25 178

原创 注解@RequestParam与@RequestBody

首先这两个注解都用于后台接收参数,但是用场景不同,如下:1、@RequestParam接收的参数是来自requestHeader中,即请求头。通常用于GET请求,比如常见的url:http://localhost:8081/spring-boot-study/novel/findByAuthorAndType?author=唐家三少&type=已完结 @RequestBody接收的参数是来自requestBody中,即请求体。通常用于POST方式进行提交。一般用于处理非 Conte...

2021-08-31 11:14:42 782 1

原创 maven依赖爆红

从git仓库拉一个项目,出现了依赖爆红,此处记录一下解决方法。如果缺jar包直接将所缺jar包加到仓库即可,此处记录不缺jar包的情况1、是否导入了本地仓库的依赖项目需要一个本地jar包依赖,所以需要将需要的本地工程的依赖 install 到本地仓库,然后出错项目重新导入本地仓库依赖即可(刷新一下)。如下图(我已经install好了,所以不爆红了)2、都没问题的话,删除仓库中原有jar包,重新导入依赖(点击maven刷新按钮即可)然后关闭项目,并重新打开项目,发现不爆红了.

2021-08-27 10:10:36 2065

原创 设计链表(Java版)

题目链接:LeetCode707.设计链表在原有代码的基础上加了一个反转链表。此处只提供了代码,具体讲解可参考代码随想录,此网站上有大佬总结的力扣刷题顺序,个人觉得很有参考意义。链表结构://链表结构public class ListNode { int val; ListNode next; public ListNode() {} public ListNode(int val) {this.val = val;} public ListNode(int val, Li..

2021-08-26 14:59:18 142

转载 Java小数点位数保留

第一种方法-使用DecimalFormat类举个例子,假如我们需要保留两位小数,我们可以这样写DecimalFormat df = new DecimalFormat("0.00");测试如下:double d = 0.200;DecimalFormat df = new DecimalFormat("0.00");System.out.println(df.format(d));输出结果为:0.20若double d=0.000;输出结果为0.00;若doubl

2021-08-20 18:10:50 548

转载 PO BO VO DTO POJO DAO DO

知乎链接:PO BO VO DTO POJO DAO DO这些Java中的概念分别指一些什么? - 知乎 (zhihu.com)作者:知乎用户链接:https://www.zhihu.com/question/39651928/answer/369889819来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。PO 是 Persistant Object 的缩写,用于表示数据库中的一条记录映射成的 java 对象。PO 仅仅用于表示数据,没有任何数据操作。通常遵守.

2021-08-17 15:33:51 112

转载 原码、反码和补码

一个正数,按照绝对值大小转换成的二进制数,即其原码。正数的原码、反码、补码一样。在计算机中,负数以原码的补码形式表达。 一个负数按照绝对值大小转换成的二进制数,然后最高位补1,称为负数的原码。 原码:将一个整数,转换成二进制,就是其原码。如单字节的5的原码为:0000 0101;-5的原码为1000 0101。 反码:正数的反码就是其原码;负数的反码是将原码中,除符号位以外,每一位取反。如单字节的5的反码为:0000 0101;-5的反码为1111 1010。 补码:正..

2021-08-17 09:56:16 2339

转载 Zookeeper的下载安装及遇到的问题

一、zookeeper下载下载地址:https://www.apache.org1、Project-->project list2、在ProjectList页面中找点Zookeeper链接,然后点击进入Zookeeper的主页,如下图:3、在Zookeeper主页的顶部点击菜单Project->Releases,进入Zookeeper发布版本信息页面,如下图:4、找到最新版的下载链接,如下图:也可下载稳定版的3.6.3点击之后,下载镜像二、zook

2021-04-29 09:59:22 712

转载 redeploy与restart

改Java代码:redeploy改配置:重启Tomcat即restart修改jsp:不需重启,刷新即可redeploy是把当前的一个项目重新部署到Tomcat服务器上(一个Web项目)restart是Tomcat服务器的重启,服务器上可以部署很多的项目;restart的一部分效果是:把服务器上部署的所有项目重新部署一次,所以这部分效果的本质就是重新部署所有的Web项目;还有一部分效果是对Tomcat的相关配置文件进行刷新。重启tomcat1)在tomcat为debug 模式下,修改当

2021-03-30 17:04:40 626

原创 添加用户失败

servlet读表格数据请求参数问题之前不知道为啥,添加用户的时候一只添加失败,提示输出添加的内容后发现都为空后来请教了一位大佬,大佬说把enctype=multipart-data删掉这个是针对文件上传的一般的带参数post请求不是这个值果然可以了,简直太不容易了,改了半天,结果只需要把这个去掉...

2020-11-30 15:55:11 326

原创 File类

什么是File类——File对象代表什么 File类代表一个特定的文件或者目录(文件夹),并提供了若干方法对该文件或目录(文件夹)进行操作。 File类构造方法——如何创建File对象 File(String pathname)——通过路径名创建一个新 File 实例对象package file;import java.io.File;public class Te...

2019-08-21 18:31:56 144

原创 详述反射中构造方法、普通方法和属性

构造方法的获取与使用 如何获取构造方法 借助Class类可以获取对应类中声明的构造方法实例对象,这些方法有:①Constructor[] getConstrutors():返回该Class对象表示类包含的所有public构造方法(不含继承)所对应Constructor对象数组。②Constructor getConstrutor(Class<?>... par...

2019-08-20 13:41:26 265

原创 如何获取Class类实例化对象

什么是反射 Java反射(Reflection)是一种新的操作类中成员变量、构造方法和普通方法的机制,为了实现对成员变量、构造方法和普通方法的操作,我们需要借助Java自身提供的java.lang包下的Class类和java.lang.reflect包下的反射API 。 什么是Class类 Class类是Java 反射机制的入口,封装了一个类或接口的运行时信息,通过调用Class...

2019-08-20 11:29:28 1697

原创 堆内存模型

Java 中的堆是 JVM 管理的最大的一块内存空间,主要用于存放Java类的实例对象,其被划分为两个不同的区域:新生代 ( Young )和老年代 ( Old ),其中新生代 ( Young ) 又被划分为:Eden、From Survivor和To Survivor三个区域,如下图所示:从JDK8开始,Metaspace(元空间)替代了永久代,如下图所示:无论哪个版本的JDK,...

2019-08-19 17:59:49 140

原创 事务隔离级别

问题同一个应用程序中的多个事务或不同应用程序中的多个事务在同一个数据集上并发执行时, 可能会出现许多意外的问题,这些问题可分为如下三种类型: 脏读(Drity Read): 已知有两个事务A和B, A读取了已经被B更新但还没有被提交的数据,之后,B回滚事务,A读取的数据就是脏数据。 场景:公司发工资了,领导把5000元打到Tom的账号上,但是该事务并未提交,而Tom正好去查看账户,发...

2019-08-17 17:35:11 167

原创 多表查询

为了更好地展示本章内容,先插一段代码#user_info表create table user_info( id int(2) primary key, user_name varchar(12) unique, password varchar(15) not null, real_name varchar(8) not null, ...

2019-08-17 17:07:23 90

原创 事务四大特性(ACID)

什么是事务当执行一组DML操作时,为了确保数据的完整性和一致性,避免数据库产生错误数据,就需要通过事务(Transaction)使该组DML操作同时成功或失败,例如:张三有两张银行卡,卡号分别是1234567890和0987654321,现从1234567890卡取出100块钱转到0987654321卡,则取出钱的卡需要减去100,转入卡需要增加100,现实生活中这两个update操作必须同时...

2019-08-15 19:14:17 147

原创 为什么需要外键

什么是外键 外键(foreign key)简称FK,外来的主键,值是另一个表中的主键。FK是用于建立和加强两个表数据之间的链接的一列或多列。通过将保存表中主键值的一列或多列添加到另一个表中,可创建两个表之间的链接。这个列就成为第二个表的外键。 为什么要使用外键 外键的作用是作为约束,用来保证数据的完整性。下面用三个例子来讲解为什么要用外键。现如今,有很多人网上购物...

2019-08-15 12:45:46 1394

原创 数据库工具类实战:实现简单的学生管理系统

package jdbc;import java.sql.ResultSet;import java.util.Scanner;import com.zzu.util.DBUtil;public class Student { public static void main(String[] args) { System.out.println("************...

2019-08-14 17:59:16 173

原创 数据库工具类

数据库是存储数据的仓库,本质是一个文件系统,数据按照特定的格式将数据存储起来,用户通过SQL语句对数据库中数据进行增加、删除、修改和查询等操作。 数据库工具类是一个用处很大的类,相当于一个工具。可以实现增、删、改、查等多种功能,在创建管理系统时,可以直接用来调用,充分利用的话,会使代码更简洁。先给出一个接口:接口的作用是为了能够让工具类出现多态,从而能够通过重写,实现对不同SQL语句做对应的结...

2019-08-14 17:30:18 912

原创 详述JDBC查询方法执行过程

JDBC是什么JDBC是Java DataBase Connection的缩写,也就是Java数据库连接。JDBC查询方法如何执行首先要知道Java数据库连接的过程,一共有六步:加载驱动类——获取连接——创建语句——执行语句——处理结果——释放资源数据库代码下面是我最开始写的代码错误示范1:package jdbc;import java.sql.Conn...

2019-08-13 20:17:55 299

原创 详述add底层代码

前面我们分析了equals和contains方法的底层代码,接下来分析add底层代码。看一段代码。情况一:package blog;import java.util.HashSet;public class Test { public static void main(String[] args) { HashSet<String> set =...

2019-08-11 18:52:28 553

原创 详述contains底层代码

首先看一段代码package blog;import java.util.ArrayList;public class Equals { public static void main(String[] args) { ArrayList<String> nameList = new ArrayList<>();//JDK7.0+ ...

2019-08-10 00:18:28 752

原创 详述equals底层代码

在讲这节内容之前,先复习一下创建String对象的内容,详情见博客(必须看,不然不好理解下面内容)创建String对象:https://blog.csdn.net/haoshangxia/article/details/98449794还要了解一下instanceof运算符:instanceof运算符用于判断该运算符前面引用类型变量指向的对象是否是后面类,或者其子类、接口实现类创建的对...

2019-08-09 21:15:55 1940 1

原创 HashMap中方法总结

昨天讲过Collection集合中ArrayList和HashSet方法总结。今天讲HashMap中方法总结首先了解一下HashMap结构。前面我们提到集合有两个分支,Collection集合和Map集合,Collection集合前面以分析,不再赘述,接下来分析Map集合结构。Map集合有三个分支(两个类:Hashtable,AbstractMap一个接口SortedMap),接口先不...

2019-08-09 13:31:50 169

原创 HashSet中方法总结

上一篇博客讲述的ArrayList中,提及到Collection集合有两个分支,List和Set。上节讲了List分支,接下来讲Set分支。Set下也有一个抽象类AbstractSet,抽象类下又有两个接口实现类:TreeSet和HashSet,HashSet下也有一个实现类LinkedHashSet,HashSet与LinkedHashSet直接实现了Set接口。接下来总结HashSet常用...

2019-08-08 18:06:34 225

原创 ArrayList常用方法总结

首先了解一下集合集合又称为容器,可以增加、删除、查找数据,集合有两大分支:Collection接口和Map接口下面讲一下Collection接口。Collection接口也有两个分支:List和Set.List下有一个抽象类AbstractList,抽象类下又有两个接口实现类:ArrayList和Vector,Vector下还有一个Stack类,Set下也有一个抽象类Abstrac...

2019-08-08 13:07:13 184

原创 详述throw与throws

在讲throw与throws之前,先讲一下封装首先看下面代码# Student类public class Student { public int age;}#Test类public class Test { public static void main(String[] args) { new Student().age = 1000; ...

2019-08-07 18:16:16 134

原创 详述try-catch-fianlly

1、什么叫异常下面来看一段代码public class Test { public static void main(String[] args) { System.out.println("111"); System.out.println(1/0); }}我们知道在分式中0不能做分母,但编译时代码并没有报错,运行时出现了这样的提示...

2019-08-07 14:26:55 143

原创 Lambda表达式

Java支持Lambda 表达式始于Java 8,它的出现简化了函数式接口匿名内部类的语法其表达式语法如下:([参数1], [参数2], [参数3],.... [参数n])->{代码块}(注意箭头是减号和大雨还)匿名内部类 ...

2019-08-06 18:50:50 118

原创 静态内部类与非静态内部类

1、定义:按照是否有static修饰分为静态内部类和非静态内部类,有static修饰的为静态内部类,没有static修饰的为非静态内部类,非静态内部类前面已经讲过,这里不再赘述。public class Body { public class Heart{ void work() { System.out.println("doing..."); } }//非静态有名内部类...

2019-08-06 18:35:28 131

原创 详述有名内部类与匿名内部类

1、定义:在一个外部类中定义的类称为内部类。可以是直接在类中定义的,也可以是在方法中或者是代码块中定义的2、内部类的分类: 内部类分为: 有名内部类和匿名内部类 静态内部类和非静态内部类 以下详述有名内部类和匿名内部类3、有名内部类和匿名内部类有名内部类(有类名):public class Body { class Heart{ voi...

2019-08-06 13:40:06 465

原创 Java中常用的几个方法

1、length():返回字符串中有多少个字符String name1 = "Tom"; System.out.println(name1.length());会输出: 32、equals():判断两个对象是否完全相同(至于怎么判断的??稍后会细细讲解)String name1 = "Tom";String name2 = "Tim"; System.out....

2019-08-05 15:58:44 142

原创 详述如何创建String对象

在讲如何创建String对象前,先讲解一下==。与C语言中一样,==是关系运算符,用来判断值是否相等(1)、如果在基本数据类型中,由于变量与值同在栈中,所以比较的是值是否相同(2)、如果为引用类型,因为变量中存的是对象的地址,所以==比较的是地址是否相同用图来解释会更加清晰易懂如何创建String对象字符串创建对象方式有两种:1、直接赋值: String...

2019-08-04 11:23:36 401

原创 继承中:父类构造方法对子类构造方法的影响

在没有有参构造方法时,所建类中是有一个默认无参构造方法的,所以子类Son中新创一个对象,执行结果会显示父类中的那个构造方法。那为什么会显示父类构造方法呢?原因如下把子类中那个默认的无参构造方法显示出来:右键——sources——Gene—Generate Constructors from superclass——enter,就会出现下图中的无参构造方法super()讲解1、...

2019-08-03 17:56:30 255

原创 详述接口

public interface IMammal {//注意没有class public abstract void move() ; public abstract void eat() ; }1、定义:如果一个抽象类中都是抽象方法,则可以将该抽象类定义成接口 interface注:接口一般以I开头,这样做使代码更加规范,增加了代码的可读性2、接口中的抽象方...

2019-08-02 17:52:24 156

原创 详述抽象类和接口

先复习一下上节内容——重写、多态1、重写Whale whale = new Whale();whale.move();//调用的是子类重写后的方法2、多态public static void main(String[] args) { // double price = 9; Mammal mammal = new Whale(); mammal...

2019-08-02 11:52:53 144

原创 包及封装

1、包的作用:有利于类的查找与管理。一个软件由很多类构成,这些类按其功能可分为vo类、dao类、工具类、service类、controller类等,将这些类按其功能分门别类地放在不同包中有利于类的查找与管理;解决了同名类命名冲突;有利于保护类中的成员变量及其方法:类中成员变量及其方法前面的访问控制符决定了该变量和方法的使用范围。2、包命名规则:包名全部由小写字母(多个单词也全部...

2019-08-01 23:41:42 252

原创 访问控制符

我们在写代码时,会写到public,那么public到底是什么呢?其实public就是一个访问控制符,访问控制符一共有四个,按权限大小分为:public > protected > friendly > private下面详细讲述一下访问控制符的适用范围1、public是最大的访问权限修饰符,其修饰的成员变量、构造方法和普通方法可在任何一个类中被操作或使用;...

2019-08-01 18:23:06 1466

空空如也

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

TA关注的人

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