![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
大秦樗里疾
樗里疾,能打仗能外交。小码农,能写代码能写文章。
展开
-
Java String.format 保留小数点后几位
【代码】Java String.format 保留小数点后几位。原创 2023-12-27 10:59:27 · 1594 阅读 · 0 评论 -
Java 使用 Integer 实现进制转换
十进制的 200 ,转换为二进制是 11001000 ,转换为十六进制是 c8。可以很方便的实现进制转换。原创 2023-12-27 10:41:42 · 933 阅读 · 0 评论 -
Java 正则表达式分组匹配
有些时候电话号码是以 123-4567-8899 这样显示的,我们要判断某个字符串是这种形式的并分别提起三段数字。前几篇文章都是简单判断是否满足匹配规则,当需要提取匹配结果时就用到。分组匹配 可以判断是否满足正则表达式,然后提取出子串。注意这两种写法是不同的,原创 2023-11-04 17:44:29 · 594 阅读 · 0 评论 -
Java 正则表达式或规则匹配
连接的两个正则规则表示满足其中一个规则即可,例如,Java|PHP|C 表示可以匹配 Java 或 PHP 或 C。原创 2023-11-04 17:08:45 · 318 阅读 · 0 评论 -
Java 正则表达式匹配开头和结尾
匹配 D 开头,9 结尾,中间是任意个数字的字符,原创 2023-11-04 17:07:56 · 1277 阅读 · 0 评论 -
Java 正则表达式重复匹配篇
{n}{n,m}原创 2023-11-04 17:06:54 · 521 阅读 · 0 评论 -
Java 正则表达式空格篇
【代码】Java 正则表达式空格篇。原创 2023-11-04 17:06:23 · 389 阅读 · 0 评论 -
Java 正则表达式字符篇
精确匹配字符串 abc ,原创 2023-11-04 17:05:11 · 282 阅读 · 0 评论 -
Java 正则表达式字母篇
用[a-z]可以匹配一位 a-z 的小写字母,原创 2023-11-04 17:04:31 · 714 阅读 · 0 评论 -
Java 正则表达式数字篇
如果需要根据特定的规则来表示一组字符串,则用正则表达式。Java 提供了标准库。如果正则表达式有特殊字符,那就需要用转义,后续会提到。原创 2023-11-04 15:43:16 · 403 阅读 · 0 评论 -
Java Calendar类的使用
Java Calendar 类用来处理日历。原创 2023-09-23 14:29:04 · 138 阅读 · 0 评论 -
Java SimpleDateFormat格式化日期时间
【代码】Java SimpleDateFormat格式化日期时间。原创 2023-09-21 18:22:44 · 264 阅读 · 0 评论 -
Java 格式化之使用 %02X 格式化mac地址
记录下使用 %02X 格式化mac地址的方法。传入 %XYX 的意思,拆解如下,以 %X,%2X, %02X 为例,可以同时格式化多个,原创 2023-09-21 16:57:48 · 2183 阅读 · 1 评论 -
Java 格式化之DecimalFormat
如题,格式化时保留小数点后2位是0省略,此类需求可以使用。初始化 DecimalFormat 时传 pattern ,根据 pattern 来格式化,原创 2023-09-16 17:11:33 · 328 阅读 · 0 评论 -
Java Math方法记录
Java 提供 java.lang.Math 类,很方便的进行数学运算。Math 类是基于浮点数的运算,可能导致精度损失,不适用于高精度计算。记录如下,原创 2023-08-28 18:54:23 · 562 阅读 · 0 评论 -
重学Java之线程同步
线程同步主要是为了防止多线程情况下,资源访问冲突。举个栗子,卖票,还有 2 张票,A B 两个线程同时操作,A 线程把剩余的2张票都卖了,此时 B 线程已经执行完判断是否有票的逻辑,B 也卖了 2 张票。这显然是不对的。多线程情况下,在对数据操作时要确保线程安全。于是有了线程同步机制,用来解决资源共享问题。线程同步机制 就是在给定范围内给资源加上一把锁,只允许一个线程访问资源。1.线程不安全以卖票(奶茶)为例,总数固定,每次减1 ,3个线程同时操作,public class TestSynch原创 2021-08-04 10:11:24 · 100 阅读 · 0 评论 -
重学Java之线程的中断
开启线程都知道了,怎么中断一个线程呢?这里的中断也叫终止、停止,意思都是停止一个正在运行的线程。1.设置中断标志位在线程的执行逻辑中添加标志位判断,需要中断线程时,修改该标志位,让线程执行逻辑结束。public class StopThreadTest { public static void main(String[] args) throws InterruptedException { FThread fThread = new FThread();原创 2021-08-03 19:45:25 · 125 阅读 · 0 评论 -
重学Java之线程的 join 方法
线程的 join 方法 API 说明,Waits for this thread to die.An invocation of this method behaves in exactly the same way as the invocationjoin(0)Throws:InterruptedException – if any thread has interrupted the current thread. The interrupted status of the current原创 2021-08-03 17:02:51 · 132 阅读 · 0 评论 -
重学Java之创建线程
创建线程有 3 种方法:继承Thread实现 Runnable 接口使用 Callable 和 FutureTask继承Thread编写一个 MyThread 类,继承 Thread ,重写 run() 方法,run() 方法就是具体要执行的任务。调用 start() 方法来执行线程。public class TestThread { public static void main(String[] args) throws InterruptedException {原创 2021-08-03 11:05:32 · 87 阅读 · 0 评论 -
Java 中for循环中break、continue的区别
for 循环都知道,条件判断中用 break ,就终止整个循环。这都知道。某天碰到了 for 循环中用 continue ,平常基本不用,有点懵。记录下他们的差别。for 循环中用 break ,终止整个 for 循环 。for 循环中用 continue ,终止本次循环,执行下一次循环。package com.lah.testcondition;public class TestFor { public static void main(String[] args) {原创 2021-07-27 16:01:34 · 4179 阅读 · 0 评论 -
Java 格式化之 %d,%2d, %02d 的差异
Java 中由 int 型返回字符串时,经常用 String.format 方法,传入 %d,%2d, %02d 类似参数,记录下这些参数的含义。String.format 传入 %XYd 的意思,拆解如下,%d :正常输出十进制数 。%Yd:十进制数,输出 Y 位。如果本身大于 Y 位,正常输出。%XYd:十进制数,输出 Y 位,不足 Y 位就补 X 。如果本身大于 Y 位,正常输出。以 %d,%2d, %02d 为例,%d:十进制数正常输出 。%2d:十进制数,输出 2 位。如果本身原创 2021-07-26 16:59:29 · 11492 阅读 · 4 评论 -
jni打怪第二篇--Java jni 开发
学习下 Java 开发环境下 jni 的使用。1.新建一个类新建一个类,就用它来测试。package com.lah.studyjni;public class HelloJni { static { System.loadLibrary("HelloJni");//注释1 } public native void setParam(String param);//注释2 public native String getJniParam();//原创 2021-07-14 20:45:12 · 146 阅读 · 1 评论 -
重学Java之反射
反射 就是把Java类中的各个成分映射成一个个的Java对象。即在运行状态中,对于任意一个类,都能够知道它的所有属性和方法;对于任意一个对象,都能调用它的任意一个方法和属性。最常见的场景就是访问某个类的私有属性、私有方法。1.新建一个类新建一个类 Avenger ,关注它的 私有属性、私有构造方法、私有方法。package com.lah.reflect;public class Avenger { //私有属性 private static final String TAG =原创 2021-07-14 15:39:09 · 92 阅读 · 0 评论 -
Java -- File方法整理
整理下 File 相关的方法,忘了的话方便查询。package file;import java.io.File;public class TestFile { public static void main(String[] args) { File file = new File("E:/javatestdirectory", "test.java"); if (file != null && file.exists()){原创 2021-06-02 16:25:20 · 89 阅读 · 0 评论 -
Java Collections交换Arraylist元素位置
Arraylist 可以很方便的 add 、remove 其中的元素。如果需要交换元素位置,该怎么操作呢?可以把要交换的两个元素先按照需要的顺序 add 进来,再 remove 掉。但是,这样看着很别扭。有没有好一点的方法呢? 有的,用 Collections 。package container;import java.util.ArrayList;import java.util.Collections;public class SwapArrayList { public原创 2021-04-07 11:20:35 · 5163 阅读 · 1 评论 -
重学Java之单例模式--枚举
接上篇重学Java之单例模式–DCL懒汉式_南国樗里疾的博客-CSDN博客https://blog.csdn.net/weixin_44021334/article/details/114881148 ,DCL懒汉式单例,容易被反射破坏,看下 Constructor.newInstance 方法,提示如果枚举则抛出异常 "Cannot reflectively create enum objects",@CallerSensitive public T newInstance(Object原创 2021-03-16 16:18:45 · 209 阅读 · 0 评论 -
重学Java之单例模式--DCL懒汉式
接前篇 重学Java之单例模式–懒汉式_南国樗里疾的博客-CSDN博客https://blog.csdn.net/weixin_44021334/article/details/114880800 ,说到懒汉式多线程不安全,改进办法是 双重锁模式,也就是 双重锁定(Double-Check Locking) ,简称 DCL 。1.简单加锁对外提供获取实例的方法加上锁,package single;import java.lang.reflect.Constructor;import jav原创 2021-03-16 15:13:20 · 843 阅读 · 1 评论 -
重学Java之单例模式--懒汉式
懒汉式:需要时才创建实例。简单理解:很懒,叫他他才干活。好处:需要时才创建,节约资源。不足:单线程安全,多线程不安全;会被反射破坏示例,package single;public class LazyMan { private static LazyMan lazyMan; private LazyMan(){ System.out.println(Thread.currentThread().getName() + ", " + toString());原创 2021-03-16 14:37:30 · 123 阅读 · 0 评论 -
重学Java之单例模式--饿汉式
单例模式的典型特征:构造器私有,禁止外部直接使用 new 来创建对象;对外提供获取实例的方法;饿汉式单例:类一创建就直接 new 一个对象。简单理解就是,很饿,食物一做好就吃。好处:立即创建,线程安全。不足:占用内存。package single;import java.util.Arrays;//饿汉式单例public class Hungary { /** * 饿汉式,类加载的时候就直接 new 一个, * 占用内存空间 * */原创 2021-03-16 14:17:49 · 137 阅读 · 1 评论