<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[ispringmw的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/ispringmw</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; ispringmw]]></copyright><item><title><![CDATA[Postgres 数据库查询表锁，释放表锁]]></title><link>https://blog.youkuaiyun.com/ispringmw/article/details/133104539</link><guid>https://blog.youkuaiyun.com/ispringmw/article/details/133104539</guid><author>ispringmw</author><pubDate>Wed, 20 Sep 2023 22:33:09 +0800</pubDate><description><![CDATA[Postgres 数据库查询表锁，释放表锁]]></description><category></category></item><item><title><![CDATA[Java-System、Math、BigInteger、BigDecimal常用类的使用]]></title><link>https://blog.youkuaiyun.com/ispringmw/article/details/124832222</link><guid>https://blog.youkuaiyun.com/ispringmw/article/details/124832222</guid><author>ispringmw</author><pubDate>Tue, 17 May 2022 22:48:17 +0800</pubDate><description><![CDATA[Java-System、Math、BigInteger、BigDecimal常用类的使用
1.System类

System类代表系统，系统级的很多属性和控制方法都放置在该类的内部。该类位于java.lang包。
由于该类的构造器是private的，所以无法创建该类的对象，也就是无法实例化该类。其内部的成员变量和成员方法都是static的，所以也可以很方便的进行调用。
方法：

native long currentTimeMillis()
void exit(int status)
void gc()
S]]></description><category></category></item><item><title><![CDATA[Java-比较器]]></title><link>https://blog.youkuaiyun.com/ispringmw/article/details/124832207</link><guid>https://blog.youkuaiyun.com/ispringmw/article/details/124832207</guid><author>ispringmw</author><pubDate>Tue, 17 May 2022 22:47:46 +0800</pubDate><description><![CDATA[Java-比较器
1.概述
​	Java中的对象，正常情况下，只能进行比较：==  或  != 。不能使用 &gt; 或 &lt; 的，但是在开发场景中，我们需要对多个对象进行排序，言外之意，就需要比较对象的大小。
​	实现对象排序的两种方式：
​	实现两个接口中的任何一个：Comparable 或 Comparator
2.自然排序

像String、包装类等实现了Comparable接口，重写了compareTo(obj)方法，给出了比较两个对象大小的方式。
像String、包装类重写compareTo]]></description><category></category></item><item><title><![CDATA[Java-JDK8中的时间Api]]></title><link>https://blog.youkuaiyun.com/ispringmw/article/details/124832168</link><guid>https://blog.youkuaiyun.com/ispringmw/article/details/124832168</guid><author>ispringmw</author><pubDate>Tue, 17 May 2022 22:47:16 +0800</pubDate><description><![CDATA[Java-JDK8中的时间Api(java.time)

1. 本地日期、本地时间、本地日期时间的使用：LocalDate / LocalTime / LocalDateTime

package com.lmw.time;

import org.junit.Test;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;

/**
 * @author 
 * @version 1]]></description><category></category></item><item><title><![CDATA[Java-Calender日历类]]></title><link>https://blog.youkuaiyun.com/ispringmw/article/details/124832146</link><guid>https://blog.youkuaiyun.com/ispringmw/article/details/124832146</guid><author>ispringmw</author><pubDate>Tue, 17 May 2022 22:45:23 +0800</pubDate><description><![CDATA[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 ]]></description><category></category></item><item><title><![CDATA[Java-SimpleDateFormate类]]></title><link>https://blog.youkuaiyun.com/ispringmw/article/details/124832135</link><guid>https://blog.youkuaiyun.com/ispringmw/article/details/124832135</guid><author>ispringmw</author><pubDate>Tue, 17 May 2022 22:44:33 +0800</pubDate><description><![CDATA[Java-SimpleDateFormate类
SimpleDateFormat对日期Date类的格式化和解析
1.两个操作：
1.1 格式化：日期 —&gt;字符串
1.2 解析：格式化的逆过程，字符串 —&gt; 日期
package com.lmw.time;

import org.junit.Test;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 ]]></description><category></category></item><item><title><![CDATA[Java-获取时间戳、util.Date、sql.Date类的使用]]></title><link>https://blog.youkuaiyun.com/ispringmw/article/details/124832124</link><guid>https://blog.youkuaiyun.com/ispringmw/article/details/124832124</guid><author>ispringmw</author><pubDate>Tue, 17 May 2022 22:44:02 +0800</pubDate><description><![CDATA[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]]></description><category></category></item><item><title><![CDATA[Java-StringBuffer 和StringBuilder]]></title><link>https://blog.youkuaiyun.com/ispringmw/article/details/124790676</link><guid>https://blog.youkuaiyun.com/ispringmw/article/details/124790676</guid><author>ispringmw</author><pubDate>Sun, 15 May 2022 23:31:31 +0800</pubDate><description><![CDATA[Java-StringBuffer 和StringBuilder
1.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();]]></description><category></category></item><item><title><![CDATA[Java-String 和char[] 、byte[]之间的转换]]></title><link>https://blog.youkuaiyun.com/ispringmw/article/details/124790666</link><guid>https://blog.youkuaiyun.com/ispringmw/article/details/124790666</guid><author>ispringmw</author><pubDate>Sun, 15 May 2022 23:31:00 +0800</pubDate><description><![CDATA[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() {
 ]]></description><category></category></item><item><title><![CDATA[Java-String类的常用方法]]></title><link>https://blog.youkuaiyun.com/ispringmw/article/details/124790655</link><guid>https://blog.youkuaiyun.com/ispringmw/article/details/124790655</guid><author>ispringmw</author><pubDate>Sun, 15 May 2022 23:30:30 +0800</pubDate><description><![CDATA[Java-String类的常用方法
1.常用方法1

int length()：返回字符串的长度： return value.length
char charAt(int index)： 返回某索引处的字符return value[index]
boolean isEmpty()：判断是否是空字符串：return value.length == 0
String toLowerCase()：使用默认语言环境，将 String 中的所字符转换为小写
String toUpperCase()：使用默认语言环境，]]></description><category></category></item><item><title><![CDATA[Java-String类]]></title><link>https://blog.youkuaiyun.com/ispringmw/article/details/124790637</link><guid>https://blog.youkuaiyun.com/ispringmw/article/details/124790637</guid><author>ispringmw</author><pubDate>Sun, 15 May 2022 23:29:53 +0800</pubDate><description><![CDATA[Java-String类
1.概述
String:字符串，使用一对""引起来表示。

String声明为final的，不可被继承
String实现了Serializable接口：表示字符串是支持序列化的。
实现了Comparable接口：表示String可以比较大小
String内部定义了final char[] value用于存储字符串数据
通过字面量的方式（区别于new给一个字符串赋值，此时的字符串值声明在字符串常量池中)
字符串常量池中是不会存储相同内容(使用String类的equals()比较，返回]]></description><category></category></item><item><title><![CDATA[Java-使用线程池创建多线程]]></title><link>https://blog.youkuaiyun.com/ispringmw/article/details/124775675</link><guid>https://blog.youkuaiyun.com/ispringmw/article/details/124775675</guid><author>ispringmw</author><pubDate>Sat, 14 May 2022 22:39:24 +0800</pubDate><description><![CDATA[Java-使用线程池创建多线程
1.概念
提前创建好多个线程，放入线程池总，使用时直接获取，使用完后放入池中，可以避免频繁创建销毁，实现重复利用

corePoolSize：核心池的大小
maximumPoolSize：最大线程数
keepAliveTime：线程没任务时最多保持多长时间后会终止

2.好处

提高响应速度（减少了创建新线程的时间）
降低资源消耗（重复利用线程池中线程，不需要每次都创建）
便于线程管理

3.代码举例
package com.lmw.thread3;

import java]]></description><category></category></item><item><title><![CDATA[Java-实现Callable接口创建多线程]]></title><link>https://blog.youkuaiyun.com/ispringmw/article/details/124775661</link><guid>https://blog.youkuaiyun.com/ispringmw/article/details/124775661</guid><author>ispringmw</author><pubDate>Sat, 14 May 2022 22:38:04 +0800</pubDate><description><![CDATA[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]]></description><category></category></item><item><title><![CDATA[Java-线程通信]]></title><link>https://blog.youkuaiyun.com/ispringmw/article/details/124775648</link><guid>https://blog.youkuaiyun.com/ispringmw/article/details/124775648</guid><author>ispringmw</author><pubDate>Sat, 14 May 2022 22:37:27 +0800</pubDate><description><![CDATA[Java-线程通信
1.线程通信中的三个方法


wait()
一旦执行此方式，当前线程就进入阻塞状态，并释放线程锁。


notify()
一旦执行此方法，就会唤醒被wait的一个线程，如果有多个线程被wait,就唤醒优先级高的那个线程。


notifyAll()
一旦执行此方法，就会唤醒所有被wait的线程。
说明：

上述三个方法只能出现在带锁的同步代码块或者方法块中。
上述三个方法的调用者必须是同步代码块或者同步方法中的监视器。
上述三个方法时定义在java.Object.lang包中的。



]]></description><category></category></item><item><title><![CDATA[Java-线程同步]]></title><link>https://blog.youkuaiyun.com/ispringmw/article/details/124775637</link><guid>https://blog.youkuaiyun.com/ispringmw/article/details/124775637</guid><author>ispringmw</author><pubDate>Sat, 14 May 2022 22:36:54 +0800</pubDate><description><![CDATA[Java-线程同步
在Java中，我们通过同步机制，来解决线程的安全问题。
实现线程安全的三种方法：
1.同步代码块
synchronized（同步监视器）{
    //需要被同步的代码
}

说明：


操作共享数据的代码，即为需要被同步的代码。  --&gt;不能包含代码多了，也不能包含代码少了。


共享数据：多个线程共同操作的变量。比如：ticket就是共享数据。


同步监视器，俗称：锁。任何一个类的对象，都可以充当锁。要求：多个线程必须要共用同一把锁。
补充：在实现Runnable接口创建多线]]></description><category></category></item><item><title><![CDATA[线程的生命周期]]></title><link>https://blog.youkuaiyun.com/ispringmw/article/details/124775622</link><guid>https://blog.youkuaiyun.com/ispringmw/article/details/124775622</guid><author>ispringmw</author><pubDate>Sat, 14 May 2022 22:36:07 +0800</pubDate><description><![CDATA[线程的生命周期



]]></description><category></category></item><item><title><![CDATA[Java-多线程的创建]]></title><link>https://blog.youkuaiyun.com/ispringmw/article/details/124775562</link><guid>https://blog.youkuaiyun.com/ispringmw/article/details/124775562</guid><author>ispringmw</author><pubDate>Sat, 14 May 2022 22:35:17 +0800</pubDate><description><![CDATA[Java-多线程的创建
1.多线程创建的两种方法
方法1 ：继承于Thread 类


创建一个继承于Thread类的子类


重写Thread类的run()方法 ,将线程要执行的操作声明在run()方法中


通过子类的对象调用start()方法
code 举例： 遍历100以内的所有偶数:


package com.lmw.thred;

public class ThreadTest {
    public static void main(String[] args) {
        // ]]></description><category></category></item><item><title><![CDATA[Java -程序、进程、线程]]></title><link>https://blog.youkuaiyun.com/ispringmw/article/details/124775525</link><guid>https://blog.youkuaiyun.com/ispringmw/article/details/124775525</guid><author>ispringmw</author><pubDate>Sat, 14 May 2022 22:32:09 +0800</pubDate><description><![CDATA[Java -程序、进程、线程



]]></description><category></category></item><item><title><![CDATA[Java-用户自定义异常]]></title><link>https://blog.youkuaiyun.com/ispringmw/article/details/124422292</link><guid>https://blog.youkuaiyun.com/ispringmw/article/details/124422292</guid><author>ispringmw</author><pubDate>Tue, 26 Apr 2022 10:38:17 +0800</pubDate><description><![CDATA[Java-用户自定义异常
1.如何自定义异常

继承现有的异常父类：RuntimeException、Exception
提供全局常量：serialVersionUID
提供重载的构造器

2.code举例
定义：
package p8exception.p9;

public class MyException extends RuntimeException{
    static final long serialVersionUID = -7023444L;

    public MyExcept]]></description><category></category></item><item><title><![CDATA[Java-手动抛出异常]]></title><link>https://blog.youkuaiyun.com/ispringmw/article/details/124422275</link><guid>https://blog.youkuaiyun.com/ispringmw/article/details/124422275</guid><author>ispringmw</author><pubDate>Tue, 26 Apr 2022 10:37:46 +0800</pubDate><description><![CDATA[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);
      ]]></description><category></category></item></channel></rss>