自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java 泛型

Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型。泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。假定我们有这样一个需求:写一个排序方法,能够对整型数组、字符串数组甚至其他任何类型的数组进行排序,该如何实现?答案是可以使用Java 泛型。使用 Java 泛型的概念,我们可以写一个泛型方法来对一个对象数组排序。然后,调用该泛型方法来对整型数组、浮点数数组、字符串数组等进行排.

2022-04-24 10:18:32 74

原创 Java 接口

接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。接口并不是类,编写接口的方式和类很相似,但是它们属于不同的概念。类描述对象的属性和方法。接口则包含类要实现的方法。除非实现接口的类是抽象类,否则该类要定义接口中的所有方法。接口无法被实例化,但是可以被实现。一个实现接口的类,必须实现接口内所描述的所有方法,否则就必须声明为抽象类。另外,在 Java 中,接口类型可用来声明一

2022-04-24 10:13:32 67

原创 Java 多态

多态是同一个行为具有多个不同表现形式或形态的能力。多态就是同一个接口,使用不同的实例而执行不同操作,如图所示:多态性是对象多种表现形式的体现。现实中,比如我们按下 F1 键这个动作:如果当前在 Flash 界面下弹出的就是 AS 3 的帮助文档; 如果当前在 Word 下弹出的就是 Word 帮助; 在 Windows 下弹出的就是 Windows 帮助和支持。同一个事件发生在不同的对象上会产生不同的结果。多态的优点1. 消除类型之间的耦合关系 2. 可替换性

2022-04-24 09:57:29 72

原创 Java 继承

继承的概念继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。生活中的继承:兔子和羊属于食草动物类,狮子和豹属于食肉动物类。食草动物和食肉动物又是属于动物类。所以继承需要符合的关系是:is-a,父类更通用,子类更具体。虽然食草动物和食肉动物都是属于动物,但是两者的属性和行为上有差别,所以子类会具有父类的一般特性也会具有自身的特性。

2022-04-22 14:23:06 106

原创 Java 封装

在面向对象程式设计方法中,封装(英语:Encapsulation)是指一种将抽象性函式接口的实现细节部分包装、隐藏起来的方法。封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问。要访问该类的代码和数据,必须通过严格的接口控制。封装最主要的功能在于我们能修改自己的实现代码,而不用修改那些调用我们代码的程序片段。适当的封装可以让程式码更容易理解与维护,也加强了程式码的安全性。封装的优点 1. 良好的封装能够减少耦合。 2. 类内部的结构可以自由修改。

2022-04-22 14:04:10 60

原创 Java 日期时间

java.util 包提供了 Date 类来封装当前的日期和时间。 Date 类提供两个构造函数来实例化 Date 对象。第一个构造函数使用当前日期和时间来初始化对象。Date( )第二个构造函数接收一个参数,该参数是从 1970 年 1 月 1 日起的毫秒数。Date(long millisec)Date 对象创建以后,可以调用下面的方法序号 方法和描述 1 boolean after(Date date) 若当调用此方法的Date对象在指定日期之后返回tru

2022-04-22 13:52:08 146

原创 Java 数组

数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同。Java 语言中提供的数组是用来存储固定大小的同类型元素。你可以声明一个数组变量,如 numbers[100] 来代替直接声明 100 个独立变量 number0,number1,....,number99。本教程将为大家介绍 Java 数组的声明、创建和初始化,并给出其对应的代码。声明数组变量首先必须声明数组变量,才能在程序中使用数组。下面是声明数组变量的语法:dataType[] arr

2022-04-22 13:42:43 70

原创 Java 条件语句

Java 条件语句 - if...else一个 if 语句包含一个布尔表达式和一条或多条语句。语法if(布尔表达式){ //如果布尔表达式为true将执行的语句}如果布尔表达式的值为 true,则执行 if 语句中的代码块,否则执行 if 语句块后面的代码例子:public static void main(String[] args) { int x = 10; if( x < 20 ){ System.out.prin

2022-04-22 12:00:21 85

原创 Java 循环结构 - for, while 及 do...while

顺序结构的程序语句只能被执行一次。如果您想要同样的操作执行多次,就需要使用循环结构。Java中有三种主要的循环结构:while循环 do…while循环 for循环在 Java5 中引入了一种主要用于数组的增强型 for 循环。while 循环while是最基本的循环,它的结构为while( 布尔表达式 ){//循环内容}例子:public static void main(String[] args) { int x...

2022-04-22 11:51:02 81

原创 Java 基本数据类型

Java 的两大数据类型:内置数据类型 引用数据类型内置数据类型Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。byte:byte 数据类型是8位、有符号的,以二进制补码表示的整数; 最小值是-128(-2^7); 最大值是127(2^7-1); 默认值是0; byte 类型用在大型数组中节约空间,主要代替整数,因为 byte 变量占用的空间只有 int 类型的四分之一; 例子:byte a = 100,byte ...

2022-04-22 11:38:50 108

原创 Java 对象和类

Java作为一种面向对象语言。支持以下基本概念:多态 继承 封装 抽象 类 对象 实例 方法 重载本节我们重点研究对象和类的概念。对象:对象是类的一个实例(对象不是找个女朋友),有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。 类:类是一个模板,它描述一类对象的行为和状态。下图中男孩(boy)、女孩(girl)为类(class),而具体的每个人为该类的对象(object):下图中汽车为类(class),而具体的每辆车为该..

2022-04-22 11:29:18 94

原创 Java 基础语法

一个 Java 程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作。下面简要介绍下类、对象、方法和实例变量的概念。对象:对象是类的一个实例,有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。 类:类是一个模板,它描述一类对象的行为和状态。 方法:方法就是行为,一个类可以有很多方法。逻辑运算、数据修改以及所有动作都是在方法中完成的。 实例变量:每个对象都有独特的实例变量,对象的状态由这些实例变量的值决定。第一个Java程序下面看一

2022-04-22 11:17:49 52

原创 Java 环境变量配置

系统安装java下载JDK首先我们需要下载 java 开发工具包 JDK,下载地址:Java Downloads | Oracle,在下载页面中根据自己的系统选择对应的版本,本文以 Window 64位系统为例:下载后 JDK 的安装根据提示进行,还有安装 JDK 的时候也会安装 JRE,一并安装就可以了。安装JDK,安装过程中可以自定义安装目录等信息,例如我们选择安装目录为C:\Program Files (x86)\Java\jdk1.8.0_91。配置环境变量1.安装完..

2022-04-22 09:55:28 215

原创 发送QQ邮件

一、工具类package com.thk.utils;import com.thk.domain.MailAccounts;import javax.activation.DataHandler;import javax.activation.FileDataSource;import javax.mail.*;import javax.mail.internet.*;import java.io.UnsupportedEncodingException;import java.ne

2022-04-20 15:36:49 594

原创 验证手机号码正则表达式

工具类package com.clg.base.dptAddress.utils;import org.springframework.stereotype.Component;import java.util.regex.Matcher;import java.util.regex.Pattern;@Componentpublic class PhoneUtiles { /** * 验证手机号码 * @param mobile * @return

2022-04-20 15:19:19 1602

原创 HashSet常用方法

一、介绍HashSet 基于 HashMap 来实现的,是一个不允许有重复元素的集合。HashSet 允许有 null 值。HashSet 是无序的,即不会记录插入的顺序。HashSet 不是线程安全的, 如果多个线程尝试同时修改 HashSet,则最终结果是不确定的。 您必须在多线程访问时显式同步对 HashSet 的并发访问。HashSet 实现了 Set 接口。二、添加元素方法:add()代码:public static void main(String[]

2022-04-20 14:56:45 2171

原创 LinkedList常用方法

一、介绍链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的地址。链表可分为单向链表和双向链表。LinkedList和ArrayList的区别Java LinkedList(链表) 类似于 ArrayList,是一种常用的数据容器。与 ArrayList 相比,LinkedList 的增加和删除的操作效率更高,而查找和修改的操作效率较低。以下情况使用 ArrayList :频繁访问列表中的某一个元素。

2022-04-20 14:35:31 1824

原创 HashMap常用方法

一、HashMap 是一个散列表,它存储的内容是键值对(key-value)映射。HashMap 实现了 Map 接口,根据键的 HashCode 值存储数据,具有很快的访问速度,最多允许一条记录的键为 null,不支持线程同步。HashMap 是无序的,即不会记录插入的顺序。HashMap 继承于AbstractMap,实现了 Map、Cloneable、java.io.Serializable 接口。HashMap 的 key 与 value 类型可以相同也可以不同,可以是字符串(Str

2022-04-20 14:02:25 1527

原创 分布式雪花算法获取id工具类

package com.thk;/** * 分布式唯一ID 雪花算法实现 */public class SnowFlake { /** * 起始的时间戳 2020-06-30 00:00:00 */ private final static long START_TIMESTAMP = 1593446400L; /** * 每一部分占用的位数 */ private final static long SEQUENCE_B.

2022-04-20 12:00:56 604

原创 String类常用方法

一、Java String 类字符串广泛应用 在 Java 编程中,在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串。二、创建字符串代码:public static void main(String[] args) { String str1 = "a,b,c,d"; String str2 = new String("e,f,g,h"); System.out.println(str1); System.out.

2022-04-20 11:31:37 405

原创 ArrayList常用方法

一、ArrayList 类是一个可以动态修改的数组,与普通数组的区别就是它是没有固定大小的限制,我们可以添加或删除元素。ArrayList 继承了 AbstractList ,并实现了 List 接口。二、添加元素ArrayList 类提供了很多有用的方法,添加元素到 ArrayList 可以使用 add() 方法代码如下:public class testList { public static void main(String[] args) { /

2022-04-20 10:30:22 5884

原创 JAVA 生成验证码工具类

一、工具类public class getVerificationCode { /** * 数字随机验证码 * @return */ public static String getNumber(){ String code = ""; for (int i = 0; i < 4; i++) { code = code + (int)(Math.random() * 9); }

2022-04-19 18:07:08 1028

原创 Java Springboot项目集成Redis

运行环境:jdk1.8,mysql5.5,redis5.0,idea2020,maven3.39一、安装Redis下载链接链接:https://pan.baidu.com/s/10-CICtYCry-fHLUeKcqLhA提取码:thk6下载解压,打开文件夹,双击redis-server.exe 或者 以管理员身份运行启动Redis服务Redis 端口默认6379(重要,等会需要配置)二、添加依赖<!-- springmvc的场景...

2022-04-19 10:04:26 370

原创 Java定时器

一、添加Maven依赖<!--定时任务--><dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> <version>2.3.2</version></dependency><dependency> <groupId&g

2022-04-18 17:03:42 510

原创 ip地址获取城市信息

先获取百度地图的ak,创建应用!!!https://lbsyun.baidu.com/apiconsole/key#/homepublic static void main(String[] args) throws IOException { HttpClient client = HttpClients.createDefault();// 创建默认http连接 HttpPost post = new HttpPost("http://api.map.baidu.com/.

2021-06-01 11:45:07 384

原创 根据ip地址查询城市信息

需要先购买商品https://apis.baidu.com/store/detail/31e507c6-caa1-4b25-8786-3af1543a79b9?track=qfcip&pageResource=qfcip开源免费的!!!!需要依赖<dependency> <groupId>com.baidubce</groupId> <artifactId>api-explorer-sdk</a...

2021-06-01 11:27:02 400

空空如也

空空如也

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

TA关注的人

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