自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Postgres 数据库查询表锁,释放表锁

Postgres 数据库查询表锁,释放表锁

2023-09-20 22:33:09 3052

原创 Java-System、Math、BigInteger、BigDecimal常用类的使用

Java-System、Math、BigInteger、BigDecimal常用类的使用1.System类System类代表系统,系统级的很多属性和控制方法都放置在该类的内部。该类位于java.lang包。由于该类的构造器是private的,所以无法创建该类的对象,也就是无法实例化该类。其内部的成员变量和成员方法都是static的,所以也可以很方便的进行调用。方法:native long currentTimeMillis()void exit(int status)void gc()S

2022-05-17 22:48:17 216 1

原创 Java-比较器

Java-比较器1.概述​ Java中的对象,正常情况下,只能进行比较:== 或 != 。不能使用 > 或 < 的,但是在开发场景中,我们需要对多个对象进行排序,言外之意,就需要比较对象的大小。​ 实现对象排序的两种方式:​ 实现两个接口中的任何一个:Comparable 或 Comparator2.自然排序像String、包装类等实现了Comparable接口,重写了compareTo(obj)方法,给出了比较两个对象大小的方式。像String、包装类重写compareTo

2022-05-17 22:47:46 222

原创 Java-JDK8中的时间Api

Java-JDK8中的时间Api(java.time)1. 本地日期、本地时间、本地日期时间的使用:LocalDate / LocalTime / LocalDateTimepackage com.lmw.time;import org.junit.Test;import java.time.LocalDate;import java.time.LocalDateTime;import java.time.LocalTime;/** * @author * @version 1

2022-05-17 22:47:16 259

原创 Java-Calender日历类

Java-Calender日历类package com.lmw.time;import org.junit.Test;import java.util.Calendar;import java.util.Date;/** * @author * @version 1.0.0 * @createTime 2022/5/17 15:34 * @description */public class CalenderTest { @Test public void

2022-05-17 22:45:23 212

原创 Java-SimpleDateFormate类

Java-SimpleDateFormate类SimpleDateFormat对日期Date类的格式化和解析1.两个操作:1.1 格式化:日期 —>字符串1.2 解析:格式化的逆过程,字符串 —> 日期package com.lmw.time;import org.junit.Test;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;/**

2022-05-17 22:44:33 163

原创 Java-获取时间戳、util.Date、sql.Date类的使用

Java-获取时间戳、util.Date、sql.Date类的使用1.获取时间戳获取系统当前时间:System类中的currentTimeMillis()package com.lmw.time;import org.junit.Test;import java.util.Date;/** * @author * @version 1.0.0 * @createTime 2022/5/16 22:55 * @description */public class timeTe

2022-05-17 22:44:02 487

原创 Java-StringBuffer 和StringBuilder

Java-StringBuffer 和StringBuilder1.StringBuffer、StringBuilder中的常用方法增:append(xxx)删:delete(int start,int end)改:setCharAt(int n ,char ch) / replace(int start, int end, String str) 把[sttart,)位置替换为str查:charAt(int n )插:insert(int offset, xxx)长度:length();

2022-05-15 23:31:31 86

原创 Java-String 和char[] 、byte[]之间的转换

Java-String 和char[] 、byte[]之间的转换1.String 和char[]之间的转换package com.lmw.classtest;import org.junit.Test;/** * @author * @version 1.0.0 * @createTime 2022/5/15 22:23 * @description */public class StringTest1 { @Test public void test() {

2022-05-15 23:31:00 522

原创 Java-String类的常用方法

Java-String类的常用方法1.常用方法1int length():返回字符串的长度: return value.lengthchar charAt(int index): 返回某索引处的字符return value[index]boolean isEmpty():判断是否是空字符串:return value.length == 0String toLowerCase():使用默认语言环境,将 String 中的所字符转换为小写String toUpperCase():使用默认语言环境,

2022-05-15 23:30:30 104

原创 Java-String类

Java-String类1.概述String:字符串,使用一对""引起来表示。String声明为final的,不可被继承String实现了Serializable接口:表示字符串是支持序列化的。实现了Comparable接口:表示String可以比较大小String内部定义了final char[] value用于存储字符串数据通过字面量的方式(区别于new给一个字符串赋值,此时的字符串值声明在字符串常量池中)字符串常量池中是不会存储相同内容(使用String类的equals()比较,返回

2022-05-15 23:29:53 81

原创 Java-使用线程池创建多线程

Java-使用线程池创建多线程1.概念提前创建好多个线程,放入线程池总,使用时直接获取,使用完后放入池中,可以避免频繁创建销毁,实现重复利用corePoolSize:核心池的大小maximumPoolSize:最大线程数keepAliveTime:线程没任务时最多保持多长时间后会终止2.好处提高响应速度(减少了创建新线程的时间)降低资源消耗(重复利用线程池中线程,不需要每次都创建)便于线程管理3.代码举例package com.lmw.thread3;import java

2022-05-14 22:39:24 1211

原创 Java-实现Callable接口创建多线程

Java-实现Callable接口创建多线程1.实现Callable接口和实现Runnable比较call方法可以有返回值call方法可以抛出异常,被外部操作捕获异常callable支持泛型2.代码举例实现Callable接口创建多线程分为6步,第6步根据实际需求来写package com.lmw.thread3;import java.util.concurrent.Callable;import java.util.concurrent.ExecutionException;i

2022-05-14 22:38:04 2296

原创 Java-线程通信

Java-线程通信1.线程通信中的三个方法wait()一旦执行此方式,当前线程就进入阻塞状态,并释放线程锁。notify()一旦执行此方法,就会唤醒被wait的一个线程,如果有多个线程被wait,就唤醒优先级高的那个线程。notifyAll()一旦执行此方法,就会唤醒所有被wait的线程。说明:上述三个方法只能出现在带锁的同步代码块或者方法块中。上述三个方法的调用者必须是同步代码块或者同步方法中的监视器。上述三个方法时定义在java.Object.lang包中的。

2022-05-14 22:37:27 109

原创 Java-线程同步

Java-线程同步在Java中,我们通过同步机制,来解决线程的安全问题。实现线程安全的三种方法:1.同步代码块synchronized(同步监视器){ //需要被同步的代码}说明:操作共享数据的代码,即为需要被同步的代码。 -->不能包含代码多了,也不能包含代码少了。共享数据:多个线程共同操作的变量。比如:ticket就是共享数据。同步监视器,俗称:锁。任何一个类的对象,都可以充当锁。要求:多个线程必须要共用同一把锁。补充:在实现Runnable接口创建多线

2022-05-14 22:36:54 90

原创 线程的生命周期

线程的生命周期

2022-05-14 22:36:07 63

原创 Java-多线程的创建

Java-多线程的创建1.多线程创建的两种方法方法1 :继承于Thread 类创建一个继承于Thread类的子类重写Thread类的run()方法 ,将线程要执行的操作声明在run()方法中通过子类的对象调用start()方法code 举例: 遍历100以内的所有偶数:package com.lmw.thred;public class ThreadTest { public static void main(String[] args) { //

2022-05-14 22:35:17 167

原创 Java -程序、进程、线程

Java -程序、进程、线程

2022-05-14 22:32:09 52

原创 Java-用户自定义异常

Java-用户自定义异常1.如何自定义异常继承现有的异常父类:RuntimeException、Exception提供全局常量:serialVersionUID提供重载的构造器2.code举例定义:package p8exception.p9;public class MyException extends RuntimeException{ static final long serialVersionUID = -7023444L; public MyExcept

2022-04-26 10:38:17 684

原创 Java-手动抛出异常

Java-手动抛出异常1.概念关于异常对象的产生系统自动生成的异常对象手动生成一个异常对象,并抛出(throw)2.code举例package p8exception.p9;public class StudentTest { public static void main(String[] args) { Student s = new Student(); try { s.regist(-1001);

2022-04-26 10:37:46 5367

原创 Java-异常的处理方式

Java-异常的处理方式try-catch-finall真正的将异常给处理掉了throws的方式只是将异常抛给了方法的调用者,并没有真正的将异常处理掉1.概念异常的处理:“抛” :程序在正常执行的过程中,一旦出现异常,就会在异常代码除生成一个对应的异常类的对象,并将此对象抛出,一旦抛出对象以后,其后的代码不在执行“抓” :可以理解为异常的处理方式:try-catch-finalltry{ 可能出现异常的代码}catch(异常类型1 变量名1){ }ca

2022-04-26 10:37:18 150

原创 Java-异常

Java-异常1.概念[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jKKlNPc3-1650940577153)(C:\Users\limingwei6\AppData\Roaming\Typora\typora-user-images\image-20220425160153898.png)]2.异常体系结构 * java.lang.Throwable * |-----java.lang.Error:一般不编写针对性的代码进行处理。 * |-----j

2022-04-26 10:36:36 73

原创 Java-异常

Java-异常1.概念2.异常体系结构 * java.lang.Throwable * |-----java.lang.Error:一般不编写针对性的代码进行处理。 * |-----java.lang.Exception:可以进行异常的处理 * |------编译时异常(checked) * |-----IOException * |-----FileNotFoundException * |-----ClassNotFoundExcepti

2022-04-25 16:51:47 84

原创 Java-匿名类和匿名对象

Java-匿名类和匿名对象以下代码段体现 非匿名类匿名对象、非匿名类匿名对象、匿名类匿名对象、匿名类非匿名对象4种组合package p5;public class UsbTest { public static void main(String[] args) { Computer c = new Computer(); // 创建了接口的非匿名实现类的非匿名对象 Flash flash = new Flash(); c.tr

2022-04-25 15:51:41 676

原创 Java-内部类

Java-内部类1.概念Java中允许将一个类A声明在另外一个类B中,则类A就是内部类,类B 就称为外部类内部类的分类:成员内部类一方面作为外部类的成员可以调用外部类的结构可以被static修饰可以被四种不同的权限修饰符(public、private…)修饰另一方面,作为一个类:类内可以定义属性、方法、构造器等可以被final修饰,表示此类不能被继承,言外之意不使用final就可以被继承可以被abstract修饰局部内部类(方法内,代码块内、构造器内)

2022-04-24 13:04:49 349

原创 Java-接口

Java-接口1.概念接口和类是平级的关系举例以下,学习就是一个接口:可以飞、攻击性都是接口2.接口的使用接口使用interface关键词来定义定义接口的结构:JDK1.7及以前,只能全局常量和抽象方法全局常量:public static final抽象方法:public abstractJDK8除定义全局常量和抽象方法之外,还可以定义静态方法、默认方法接口中定义的静态方法,只能通过接口来调用,不能通过实现接口的类的对象来调用。默认方法使用实现接口的类的

2022-04-23 20:56:24 377

原创 Java-模板方法设计模式

Java-模板方法设计模式1.概念2.code举例package p2;public class TemplateTest { public static void main(String[] args) { Template t = new SubTemplate(); t.spendTime(); }}abstract class Template { //计算某段代码执行花费的时间 public void spendT

2022-04-22 21:41:12 248

原创 Java-抽象类和抽象方法

Java-抽象类和抽象方法1.概念Abstract用来修饰类、方法修饰类:此类不能实例化抽象类中一定有构造器,便于子类实例化时的调用(设计子类对象实例化的全过程)开发中,都会提供抽象类的子类,让子类进行对象的实例化,完成相关操作修饰方法:抽象方法只有方法的声明,没有方法体包含抽象方法的类,一定是一个抽象类,反之,抽象类中可以没有抽象方法若子类重写了父类中的所有抽象方法,则子类可实例化若子类没有重写父类中的所有的抽象方法,则子类也是一个抽象类,否则就会报错2.code举

2022-04-22 21:38:37 417

原创 Java-Final关键字

Java-Final关键字1.概念final:最终的final可以修饰的结构类(最终的类,此类不能被其他类继承,比如String类、StringBuffer类)方法(最终的方法,此方法不能被重写,比如Object 类中的getClass())变量(最终的变量,变量是不能更改的,是一个常量)final修饰属性,可以考虑初始化值的位置有:显式初始化,代码块中初始化,构造器中初始化对象出生是常量就必须初始化上值,所以不能在方法中初始化值final修饰局部变量(尤其是使用final修饰形参是

2022-04-20 22:15:12 381

原创 Java-类中代码块的使用

Java-类中代码块的使用1.概念代码块(初始化块)代码块用来初始化类和对象代码块如果有修饰的话,只能使用static静态代码块和非静态代码块的区别静态:内部可以有输出语句随着类的加载而运行初始化类的属性一个类中定义了多个静态代码块,则按照声明的先后顺序执行静态代码块的执行优先与非静态代码块的执行静态代码块内只能调用静态的属性或者方法,不能调用非静态的属性或者方法非静态:随着对象的创建而调用每创建一个对象就执行一次可以在创建对象时对对象的属性进行初始化一个类中定

2022-04-20 21:10:29 279

原创 单例(Singleton)设计模式

单例(Singleton)设计模式1.概念某个类只能存在一个对象实例,并且该类只提供一个取得该对象实例的方法2.实现方式懒汉式// 这种写法线程不安全package com.lmwei.p20;import com.sun.org.apache.xpath.internal.operations.Or;public class SingletonTest { public static void main(String[] args) { Order o1

2022-04-20 00:21:52 99

原创 Java-static关键词的引入

Java-static关键词的引入栈:局部变量、堆:new出来的结构(对象、数组)、方法区(类的加载信息、静态域、常量池)1.相关概念静态的(公有的,不属于哪个对象)可以用来修饰:属性、方法、代码块、内部类当static修饰属性时:按照是否使用static修饰,有分为:(static)静态属性、非静态属性(类变量)实例变量:我们创建了类的多个对象,每个对象都读来的拥有一套类中的非静态属性。当修改其中一个对象中的非静态属性时,不会导致其他对象中同样的属性值的修改类变量:多个对象共享同

2022-04-20 00:20:50 102

原创 包装类的使用

包装类的使用1.相关概念java提供了8种基本数据类型对应的包装类,使得基本数据类型的变量具有类的特征需要掌握 基本数据类型、包装类、String三者之间的相互转换2.基本数据类型和包装类的互转基本数据类型转换包装类,调用包装类的构造器实现(实际开发中直接使用自动装箱)package com.lmwei.p16;import org.junit.Test;public class WrapperTest { @Test public void test1(

2022-04-10 10:06:53 427

原创 Java-单元测试方法

Java-单元测试方法1.相关概念创建一个java类进行单元测试此类是公共的此类要通过一个公共的无参构造器此类中声明单元测试方法方法的权限是public,没有返回值,没有形参此单元测试方法是哪个需要声明注解:@Test ,并在单元测试类中导入 import org.junit.Test;写好单元测试方法之后,就是单独执行单元测试方法2.code举例package com.lmwei.p16;import org.junit.Test;import java.uti

2022-04-10 10:05:33 1864 1

原创 Object 类中toString()的使用

Object 类中toString()的使用1.相关概念当我们输出一个对象的引用时,实际上就是调用当前对象的toString()方法Object类中toString方法的定义如下:public String toString() { return getClass().getName() + "@" + Integer.toHexString(hashCode());}像String、Date、File、包装类等都重写了Object类中的toString方法,使得在

2022-04-10 10:05:02 545

原创 Object类的使用

Object类的使用1.相关概念java.lang.Object 类是使用java类的根父类如果在类的声明中未使用extends关键词指明其父类,则默认其父类为java.lang.Object 类java.lang.Object 类中的功能(属性、方法)就具有通用性(因为是所有java类的父类)类中无属性类中的方法有equals()/toString/getClass()...[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1EgeJ49a-1

2022-04-10 10:04:26 175

原创 产生java.lang.NullPointerException报错的原因

产生java.lang.NullPointerException报错的原因/** * java.lang.NullPointerException 异常产生原因 */public class Test { public static void main(String[] args) { // 调用null的方法 String name = null; System.out.println(name.length()); //

2022-04-10 10:03:19 863

原创 Java-向下转型-instanceof 关键词

Java-向下转型-instanceof 关键词1.父类对象转型为子类package com.lmwei.p10;public class PersonTest { public static void main(String[] args) { // 多态 父类的引用指向子类的对象 Person p1 = new Man(); // 多态的使用:调用的是子类重写父类之后的方法(当调用子父类同名同参数的方法时,调用的是子类重写的方法)

2022-04-06 14:41:35 292

原创 Java-多态性

Java-多态性(虚拟方法的调用)1.概念可以理解为一个事务的多种形态父类的引用指向子类的对象(子类的对象赋给父类的引用)多态的使用,虚拟方法调用,有了对象的多态性以后,我们在编译期,只能调用父类中声明的方法,但在运行期,我们实际执行的是重写父类的方法。(编译=的左边,运行看右边)对象的多态性,只适用于方法,不适用于属性(属性在编译和运行的情况下都看左边)2.多态使用的前提类的继承关系方法的重写3.code 举例父类Animal类package com.lmwei.p12;

2022-04-05 20:12:53 516

原创 子类对象实例化全过程

子类对象实例化全过程1.概念从结果上看:(继承性):子类继承父类以后,就获取了父类中声明的属性或者方法创建子类的对象,在堆空间中,就回加载所有父类中声明的属性从过程上来看:当我们通过子类的构造器创建子类的对象时,我们一定会直接或间接的调用其父类的构造器…,直接调用了java.lang.Object类中的空参构造器为止,正因为加载过所有的父类的结构,所以才能看到内存中有父类中的结构,子类对象才可以考虑调用虽然创建子类对象时 ,调用了父类的构造器,但是自始至终就创建过一个对象,即为n

2022-04-05 11:32:34 1003

Kettle Redis input 插件

通过kettle-redis-input-plugin 插件实现kettle 可以查询redis中的数据,详细的使用方法见博客https://blog.csdn.net/ispringmw/article/details/108371012

2020-10-02

filemd5hash.jar

此jar包可使用Java 和js调用,唯一参数传入带路径的文件名即可将文件内容加密为md5 值返回,可用作文件传输过程中的文件内容是否丢失的校验(发送时在文件名中写入文件md5值),接收时根据文件内容再次加密为md5,比较两次md5是否相等,以此判断文件内容是否存在丢失,Java、js、Kettle使用此jar包的方法见博客 java(https://blog.csdn.net/ispringmw/article/details/108371646)Kettle、Js(https://blog.csdn.net/ispringmw/article/details/108371906)

2020-09-02

空空如也

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

TA关注的人

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