自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MySQL数据库与JDBC编程(四)

Java 7的RowSet RowSet接口继承了ResultSet接口,RowSet接口下包含JdbcRowSet、CachedRowSet、FilterRowSet、JoinRowSet和WebRowSet常用子接口。除了JdbcRowSet需要保持与数据库的连接之外,其余4个子接口都是离线的RowSet,无须保持与数据库的连接。与ResultSet相比,RowSet默认是可滚动、可更新、可序列化的结果集,而且作为JavaBean使用,因此能方便地在网络上传输,用于同步两端的数据。对于离线Ro

2020-06-29 18:56:26 241

原创 MySQL数据库与JDBC编程(三)

JDBC常用接口和类简介JDBC提供了独立于数据库的同一API,用以执行SQL命令。JDBC API由以下常用的接口和类组成。DriverManager用于管理JDBC驱动的服务类。程序中使用该类的主要功能是获取Connection对象,该类包含如下方法该方法获得url对应数据库的连接 public static Connection getConnection(String url, String user, String password) throws SQLExcep

2020-06-28 14:13:10 315

原创 MySQL数据库与JDBC编程(二)

多表连接查询多表连接查询有两种规范,较早的SQL 92规范支持如下几种多表连接查询。等值连接非等值连接外连接广义笛卡尔积SQL 99范围提供了可读性更好的多表连接语法,并提供了更多类型的连接查询。SQL 99支持如下几种多表连接查询交叉连接自然连接使用using子句的连接使用on子句的连接全外连接或者左、右连接SQL 92的连接查询SQL 92的多表连接语法比较简洁,这种语法把多个数据表都放在from之后,多个表之间以逗号隔开;连接条件放在where之后,与查询条件之间用a

2020-06-22 21:13:41 237

原创 MySQL数据库与JDBC编程(一)

JDBC基础JDBC的全称是Java Database Connectivity,即数据库连接,它是一种可以执行SQL语句的JavaAPI。程序可通过JDBC API连接到关系数据库,并使用结构化查询语言(SQL,数据库标准的查询语言)来完成对数据库的查询、更新。JDBC简介通过使用JDBC,就可以使用同一种API访问不同的数据库系统。JDBC驱动示意图正是通过JDBC驱动的转换,才使得使用相同JDBC API编写的程序,在不同的数据库系统上运行良好。Sun提供的JDBC可以完成以下三个基本工作

2020-06-17 20:37:34 643 1

原创 异常处理

概念异常机制可以使程序中的异常处理代码和正常业务代码分离,保证程序代码更加优雅,并可以提高程序的健壮性。Java将异常分为两种,Checked异常和Runtime异常,Java认为Checked异常都是可以在编译阶段被处理的异常,所以它强制程序处理所有的Checked异常;而Runtime异常则无须处理。异常处理机制Java的异常处理机制可以让程序具有极好的容错性,让程序更加健壮。当程序运行出现意外情形时额,系统会自动生成一个Exception对象来通知程序,从而实现将“业务功能实现代码”和“错误处

2020-06-15 17:28:04 400

原创 操作集合的工具类Collections

概述Java提供了一个操作Set、List和Map等集合的工具类:Collections,该工具类里提供了大量方法对集合元素进行排序、查询和修改等操作,还提供了将集合对象设置为不可变、对集合对象实现同步控制等方法。排序操作Collections提供了如下几个方法用于对List集合元素进行排序。...

2020-06-14 19:14:03 249

原创 Map

基本概念Map用于保存具有映射关系的数据,因此Map集合里保存着两组值,一组值用于保存Map里的key,另外一组值用于保存Map里的value,key和value都可以是任何引用类型的数据。Map的key不允许重复,即同一个Map对象的任何两个key通过equals方法比较总是返回falseMap接口中定义了如下常用的方法删除该Map对象中的所有key-value对void clear();查询Map中是否包含指定的key,如果包含则返回trueboolean containsKey(Obj

2020-06-13 18:30:34 205

原创 List集合

List集合代表一个元素有序、可重复的集合,集合中每个元素都有其对应的顺序索引。List接口和ListIterator接口List作为Collection接口的子接口,当然可以使用Collection接口里的全部方法。而且由于List是有序的集合,因此List集合里增加了一些根据索引来操作集合元素的方法。将元素element插入到List集合的index处void add(int index, E element);将集合c所包含的所有元素都插入到List集合的index处boolean ad

2020-06-12 17:06:03 158

原创 Set集合

Set集合Set集合与Collection基本上完全一样,它没有提供任何额外的方法。实际上Set就是Collection,只是行为略有不同(Set不允许包含重复元素)。Set集合不允许包含相同的元素,如果试图把两个相同的元素加入同一个Set集合中,则添加操作失败,add方法返回false,且新元素不会被加入。Set判断两个对象相同不是使用==运算符,而是根据equals方法。public class SetTest { public static void main(String[] ar

2020-06-11 16:32:18 14713 1

原创 Java集合

Java集合概述为了保存数量不确定的数据,以及保存具有映射关系的数据(也被称为关联数组),Java提供了集合类。集合类主要负责保存、盛装其他数据,因此集合类也被称为容器类。集合类和数组不一样,数组元素既可以是基本类型的值,也可以是对象(实际上保存的是对象的引用变量);而集合里只能保存对象。Java的集合类主要由两个接口派生而出:Collection和Map,Collection和Map是Java集合框架的根接口,这两个接口又包含了一些子接口或实现类。三种集合示意图我们可以把Java的所有集合分为

2020-06-11 09:25:33 117

原创 国际化与格式化

国际化国际化是指应用程序运行时,可根据客户端请求来自的国家/地区、语言的不同而显示不同的界面。例如,如果请求来自于中文操作系统的客户端,则应用程序中的各种提示信息错误和帮助等都使用中文文字;如果客户端使用英文操作系统,则应用程序能自动识别,并做出英文的响应。国际化的英文单词是Internationalization,因为这个单词太长了,有时也简称I18N,其中I是这个单词的第一个字母,18表示中间省略的字母个数,而N代表这个单词的最后一个字母。一个国际化支持很好的应用,在不同的区域使用时,会呈现出

2020-06-08 11:54:43 213

原创 折半查找法

概念折半查找也成为二分查找,是一种在有序数组中查找某一特定元素的搜索算法。搜索过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜索过程结束;如果要查找的元素key大于或者小于中间元素,则在数组大于或小于中间元素的那一半中查找,而且跟开始一样从中间元素开始比较。思路int min = 0;//数组最小索引int max = arr.length - 1;//数组最大索引int mid = (max + min)/2;//中间元素索引将中间元素mid与要查找的元素key比较1.若ar

2020-06-04 21:25:05 734

原创 正则表达式

正则表达式正则表达式是一个强大的字符串处理工具,可以对字符串进行查找、提取、分割、替换等操作。String类里也提供了如下几个特殊的方法。判断该字符串是否匹配指定的正则表达式 public boolean matches(String regex) { return Pattern.matches(regex, this); }将该字符串中所有匹配regex的子串替换成replacement public String replaceAll(String re

2020-06-04 16:22:41 780

原创 常用类

Object类Object类是所有类、数组、枚举类的父类,也就是说,Java允许把任何类型的对象赋给Object类型的变量。当定义一个类时没有使用extends关键字为它显式指定父类,则该类默认继承Object父类。hashCode方法public native int hashCode();返回该对象的hashCode值。在默认情况下,Object类的hashCode()方法根据该对象的地址来计算(即与System.identityHashCode(Object x)方法的计算结果相同)。但很多

2020-06-03 15:53:26 314

原创 与运行环境交互

运行Java程序的参数Java程序的入口——main方法的方法签名解析public static void main(String[] args) {}public修饰符:Java类由JVM调用,为了让JVM可以自由调用这个main方法,所以使用public修饰符把这个方法暴露出来。static修饰符:JVM调用这个主方法时,不会先创建该主类的对象,然后通过对象来调用该主方法。JVM直接通过该类来调用主方法,因此使用static修饰该主方法。void返回值:因为主方法被JVM调用,该方法的返回

2020-05-30 15:47:49 286

原创 使用JAR文件

什么是JAR文件JAR文件的全称是Java Archive File,意思就是Java档案文件。通常JAR文件是一种压缩文件,与我们常见的ZIP压缩文件兼容,通常也被称为JAR包。JAR文件与ZIP文件的区别就是在JAR文件中默认包含了一个名为META-INF/MANIFEST.MF的清单文件,这个清单文件是在生成JAR文件时由系统自动创建的。如下是rt.jar包的结构当开发了一个应用程序后,这个应用程序包含了很多类,如果需要把这个应用程序提供给别人使用,通常会将这些类文件打包成一个JAR文件,

2020-05-30 10:21:53 740

原创 修饰符的适用范围

Java修饰符适用范围总表strictfpstrictfp关键字的含义是精确浮点的意思。在Java虚拟机进行浮点运算时,如果没有指定strictfp关键字,Java的编译器和运行时环境在浮点运算上不一定令人满意。一旦使用了strictfp来修饰类、接口或者方法时,那么在所修饰的范围内Java的编译器和运行时环境会完全依照浮点规范IEEE-754来执行。因此,如果想让浮点运算更加精确,就可以使用strictfp关键字来修饰类、接口和方法。nativenative关键字主要用于修饰一个方法,使用nat

2020-05-28 20:04:44 531

原创 对象与垃圾回收

垃圾回收机制特征垃圾回收机制只负责回收堆内存中的对象,不会回收任何物理资源(例如数据库连接、网络IO等资源)。所以诸如数据库连接都是我们调用close方法去释放资源的程序无法精确控制垃圾回收的运行,垃圾回收会在合适的时候进行。当对象永久性地失去引用后,系统就会在合适的时候回收它所占的内存。也就是说用java是没法精确控制垃圾回收的在垃圾回收机制回收任何对象之前,总会先调用它的finalize()方法,该方法可能使该对象重新复活(让一个引用变量重新引用该对象),从而导致垃圾回收机制取消回收。对象在

2020-05-28 19:01:10 607

原创 关于不可变类,你真的了解了吗

提到不可变类,大家的第一反应一定就是String类了,没错,String类就是不可变类,可大家真的理解了不可变类意义了吗,还是说final class String 就代表了不可变类了?非也,今天我们就一起来看看何为不可变类概念不可变类的意思是创建该类的实例后,该实例的Field是不可改变的。也就是说是该类的实例Field不可变才说明该类是不可变类,并不是说final修饰的类就是不可变类,final修饰的类只保证了该类不可被继承而已java提供的8个包装类和java.lang.String类都是.

2020-05-25 15:20:07 363

原创 java访问控制符详解

使用访问控制符java提供了3个访问控制符:private、protected和public,分别代表3个访问控制级别,另外还有一个不加任何访问控制符的访问控制级别,提供了4个访问控制级别。访问权限由小到大:private——>default——>protected——>public注意没有default这个关键字,不写则默认代表此访问权限private(当前类访问权限)如果类里的一个成员(包括Field、方法和构造器等)使用private访问控制符来修饰,则这个成员只能在当前类

2020-05-21 20:54:41 1260

原创 【Java设计模式】抽象工厂模式

模式定义抽象工厂模式提供了一个接口,用于创建相关或者依赖对象的家族,而不需要指定具体的实现类

2020-05-20 21:15:06 160

原创 冒泡排序

概念它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样,故名“冒泡排序”。图解如上图所示,假如是升序,排序冒泡排序从数组index=0开始,与相邻数值相互比较,若左边数值大于右边数值,则两数值交换位置,依次类推,直到将最

2020-05-20 20:57:35 168

原创 选择排序

概念选择排序法是一种不稳定的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到全部待排序的数据元素排完。选择排序代码如下 public static void selectionSort(int[] arry){ int tmp; for (int i=0; i<arry.length-1; i++){

2020-05-20 18:30:21 239

原创 【Java基础】进制转换

前言众所周知,计算机存储数据和运算都要使用二进制表示,如010111001,1和0其实也是一种表示方式,用来表示计算机的高电平和低电平但是在java中如果数据都用0101011100这种来表示显然不直观,所以就引出了我们今天的主题,进制转换,那么计算机中有哪几种进制表示呢?答案是最基本的二进制和八进制、十进制、十六进制何为二进制?即逢二进一,所以二进制的表示全是有0、1组成,其余进制同理那么为何是八进制、十六进制呢?因为3位二进制数即可表示1位八进制数,4位二进制数即可表示1位十六进制数,纯粹是

2020-05-16 16:53:15 1580 1

原创 【Java基础】注解

何为注解从jdk5开始,java增加了对元数据的支持,也就是Annotation(注解)关于注解,其实就是代码里的特殊标记,这些标记可以在编译、类加载、运行时被读取,并执行相应的处理。通过使用Annotation,程序开发人员可以在不改变原有逻辑的情况下,在源文件中嵌入一下补充的信息。代码分析工具、开发工具和部署工具可以通过这些补充信息进行验证或者进行部署。Annotation提供了一种为程序元素设置元数据(元数据(Metadata),又称中介数据、中继数据,为描述数据的数据(data about

2020-05-14 21:05:59 151

转载 UML类图

Unified Modeling Language (UML)又称统一建模语言,类图是使用频率最高的UML图之一一、类在类图中的表示方式在UML类图中,类使用包含类名、属性(field) 和方法(method) 且带有分割线的矩形来表示,比如下图表示一个Employee类,它包含name,age和email这3个属性,以及modifyInfo()方法。对应代码:public class Employee { private String name; private int...

2020-05-12 17:35:22 421

原创 【Java设计模式】工厂方法模式

工厂方法模式定义工厂模式的英文原话是:Define an interface for creating an object,but let subclasses decide which class to instantiate.Factory Method lets a class defer instantiation to subclass.意思是:定义一个用于创建对象的接口,让子类决定实例化哪个类。工厂方法使一个类的实例化延迟到其子类。这段话大家都懂,但为什么要这样做呢?下面我用一个例子来讲

2020-05-10 12:33:57 345

原创 两行代码搞定根据参数名称的ASCII码表顺序升序排序

根据参数名称的ASCII码表顺序升序排序,那么首先要弄明白什么是ASCII码表ASCII ((American Standard Code for Information Interchange): 美国信息交换标准代码)先来看一下ASCII码表ASCII值控制字符0NUT1SOH48049197a98b也就是0在ASCII...

2020-05-07 11:11:38 8514

原创 【Java基础】反射

首先来看一下什么是反射?Java的反射(reflection)机制是指在程序的运行状态中,可以构造任意一个类的对象,可以了解任意一个对象所属的类,可以了解任意一个类的成员变量和方法,可以调用任意一个对象的属性和方法。这种动态获取程序信息以及动态调用对象的功能称为Java语言的反射机制。反射被视为动态语言的关键通俗点就是反射能操作一个类所拥有的任何东西,类的字段、方法、构造器、注解等。那么...

2020-05-05 17:43:43 217

原创 【Java基础】类加载机制

首先来看看相关概念系统可能在第一次使用某个类时加载该类,也可能采用预加载机制来加载某个类。当我们调用Java命令运行某个Java程序时,该命令将会启动一个Java虚拟机进程,不管该Java程序有多么复杂,该程序启动了多少个线程,它们都处于该Java虚拟机进程里。同一个JVM的所有线程、所有变量都处于同一个进程里,它们都使用该JVM进程的内存区。当程序主动使用某个类时,如果该类还未被加载到内存...

2020-05-03 10:04:00 230

原创 【Java基础】一看就懂的jdk环境变量配置

前言先解释下几个专用术语DOS:Disk Operating System,磁盘操作系统JRE:Java Runtime Environment,Java运行环境JDK:Java Development Kit,Java 语言的软件开发工具包JVM: Java Virtual Machine, Java虚拟机大家都知道java程序是运行在java虚拟机上的,所以JVM是必不可少的,J...

2020-05-01 13:56:42 388

原创 【Java设计模式】六大设计原则

目录1.单一职责原则2.里氏替换原则3.依赖倒置原则4.接口隔离原则5.迪米特法则6.开闭原则以下专业术语来自韩敬海主编设计模式(Java版)一书,每一种原则都会写上我自己的理解,如有不妥之处,欢迎各位指出,或者 把你的理解分享出来,大家共同学习单一职责原则单一职责原则的定义:一个类,应当只有一个引起它变化的原因;即一个类应该只有一个职责。我举一个通俗例子来说下我的理解...

2020-04-30 21:36:48 227

原创 【Java基础】泛型

什么是泛型?专业术语就不描述了,直接百度百科一下泛型有什么用呢在jdk1.5之前是没有泛型的,这时的List是这样的public class Demo1 { public static void main(String[] args) { List list = new ArrayList(); list .add(new Animal());...

2020-04-25 10:26:35 186

原创 【Java设计模式】单例模式

单例即单实例,一个普通类可以创建任意个对象,而单例模式原则上有一个实例对象存在,那么单例模式的作用是什么呢?减少不必要的对象创建,节约内存空间,既然一个对象就能搞定你要做的事情,干嘛要N个对象去做呢?就好比教室里的扫帚只有一把,而不需要每个学生都有一把,扫帚只有一把,谁需要用去拿就行了,这样就节约了资源!一般工具类会设置成单例模式,下面以EncryptUtil类为例既然是单例,那就要保证...

2020-04-20 18:00:57 160

原创 Java8 Supplier理解

public class Java8_Supplier { public static void main(String[] args) { //java7 写法 Supplier<Animal> animalSupplier = new Supplier<Animal>() { @Override ...

2020-03-24 11:11:56 575 1

原创 maven概念

Maven 是一个项目管理工具,可以对 Java 项目进行构建、依赖管理。Maven 提倡使用一个共同的标准目录结构,Maven 使用约定优于配置的原则POM( Project Object Model,项目对象模型 ) 是 Maven 工程的基本工作单元,是一个XML文件,包含了项目的基本信息,用于描述项目如何构建,声明项目依赖,等等。groupId:在创建 POM 之前,我们首先需...

2019-11-29 16:13:13 159

原创 java poi 生成excel demo

maven仓库地址搜索poi将maven依赖copy到项目pom文件中导入相关依赖jar之后就可以开始编写代码了,示例demo如下: //创建工作簿(等同于excel对象) HSSFWorkbook workbook = new HSSFWorkbook(); //创建sheet(也就是excel底部的sheet栏) ...

2019-11-18 16:13:05 262

原创 关于运行windows应用

众所周知,windows系统可执行文件是exe后缀文件,exe英文全称为executable,即为可执行的意思windows运行应用最简单的就是使用鼠标点击,一般是直接双击桌面上的应用或者单击左下角windows列表中的应用还可以在如下处输入应用名称,如搜索“远程”然后回车即可运行远程桌面连接应用再者就是逼格更高点的(其实都一样)在windows列表搜索栏输入mst...

2019-11-12 18:07:36 237

转载 一看就懂的 Spring Cloud 核心组件简介

原文链接:https://blog.csdn.n...

2019-11-06 14:06:40 148

原创 SpringBoot配置文件加载顺序

官方文档说明:https://docs.spring.io/spring-boot/docs/2.1.6.RELEASE/reference/htmlsingle/找到如下图所示位置Externalized Configuration(外部配置)翻译如下:1.当前目录下/config子目录中2.当前目录3.包中类路径/config目录中4.类路径下优先级 1 > ...

2019-11-01 19:18:47 920

空空如也

空空如也

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

TA关注的人

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