JavaSE
文章平均质量分 53
JavaSE
梁云亮
电 话:13264494458
微 信:13264494458
扣 扣:369950806
展开
-
解决 执行 jar 命令 控制台乱码
Springboot项目,编码为utf8。原创 2024-06-19 13:24:12 · 704 阅读 · 0 评论 -
Java关键字之 assert
如果为false,则程序抛出java.lang.AssertionError,并输入<错误信息表达式>。如果为false,则程序抛出AssertionError,并终止执行。如果<boolean表达式>为true,则程序继续执行。如果<boolean表达式>为true,则程序继续执行。原创 2024-03-28 11:59:21 · 414 阅读 · 0 评论 -
【精品】递归查询数据库 获取树形结构数据 通用方法
【代码】【精品】递归查询数据库 获取树形结构数据 通用方法。原创 2024-03-18 20:57:04 · 268 阅读 · 0 评论 -
【精品】集合list去重
【代码】【精品】集合list去重。原创 2024-02-29 20:01:44 · 594 阅读 · 0 评论 -
【精品】关于枚举的高级用法
【代码】【精品】关于枚举的高级用法。原创 2024-02-16 12:04:44 · 711 阅读 · 0 评论 -
获取类泛型的类型
【代码】获取类泛型的类型。原创 2024-02-13 21:13:56 · 246 阅读 · 0 评论 -
【精品】matcher.find()与matcher.matches()区别
matcher.find()和matcher.matches()是Java中Matcher类的两个方法,它们用于在一个字符串中进行正则表达式的匹配操作,但它们之间有一些区别。matcher.find():用于在字符串中查找任何匹配的子序列,可以进行多次调用以查找所有匹配项。matcher.matches():用于判断整个字符串是否完全匹配正则表达式。区别:matcher.find()在字符串中查找匹配的子序列,而matcher.matches()对整个字符串进行匹配判断。原创 2023-11-03 15:43:24 · 590 阅读 · 0 评论 -
获取泛型的类型
【代码】获取泛型的类型。原创 2023-10-08 08:52:47 · 292 阅读 · 0 评论 -
反射获取类及其父类的所有字段
【代码】反射获取类及其父类的所有字段。原创 2023-09-21 17:36:07 · 453 阅读 · 0 评论 -
冒泡排序(Bubble Sort)
在 bubbleSort 方法中,我们使用两个嵌套的循环来遍历并比较相邻的元素,并根据需要进行交换。它重复地遍历要排序的列表,比较每对相邻的元素,并按照顺序交换它们,直到整个列表排序完成。这个算法的名称由于排序过程中较小的元素会逐渐"浮"到列表的顶部,而得名。尽管冒泡排序是一种简单的排序算法,但对于较大的列表来说,它的性能相对较差。因此,在实际应用中,通常会选择更高效的排序算法来进行排序操作。冒泡排序的基本思想是通过相邻元素的比较和交换,将较大的元素逐渐从底部移动到顶部,从而实现排序。原创 2023-09-04 15:50:01 · 911 阅读 · 0 评论 -
【精品】list 元素 分组
在开发过程中,经常会遇到把一个List集合中的对象按照某个属性进行分组,然后对分组后的结果进行处理的这种情况。两种方式效果完全一致。原创 2023-03-10 11:28:24 · 249 阅读 · 1 评论 -
【精品】Lombok中@SuperBuilder出错解决方案
假设具体的查询类:SpuQuery.java具体查询方法:测试:运行程序,出错。问题应该是MyBatisPlus和Lombok不兼容。注意:这种方式弊端也很明显:原创 2022-07-14 15:45:17 · 1584 阅读 · 1 评论 -
采用反射技术实现对象间的赋值
【代码】采用反制技术实现对象间的赋值。原创 2022-09-23 13:38:33 · 165 阅读 · 0 评论 -
Unable to make public int java.util.Arrays$ArrayList.size() accessible: module java.base does not “o
【代码】Unable to make public int java.util.Arrays$ArrayList.size() accessible: module java.base does not "o。原创 2022-09-14 19:43:48 · 4240 阅读 · 2 评论 -
【精品】仿京东/淘宝 递归实现电商类别菜单
程序效果实现一类别实体类Category.java@Getter@Setter@NoArgsConstructor@AllArgsConstructor@ToStringpublicclass Category { private Integer id; private String name; private Integer pid; private Integer sort; private List<Category> chil原创 2021-12-10 00:03:36 · 544 阅读 · 9 评论 -
仿红包算法
思路为了不让最终生成的红包值多少相差太悬殊,先得到红包平均值,然后具体的红包值在这个平均值上下浮动,具体浮动多少由系统指定,注意该值范围在[0,平均数之间)具体实现:根据用户输入的总金额、总人数、浮动范围,求得红包上限和下限先给每个红包中塞入平均值金额,并求得剩余金额产生随机的红包值,范围在[0,上限)当剩余金额-随机的红包值>=0时:随机往一个红包里面塞入随机的红包值,当原红包值+随机的红包值不大于上限里放进去,大于上限时往下一下红包里面放当剩余金额-随机的红包值<0时:随原创 2021-04-06 13:27:37 · 221 阅读 · 0 评论 -
二分法查找(Java版本)
二分法查找示例:public class BinarySearchDemo { public static void main(String[] args) { int[] array = { 1, 3, 4, 5, 17, 18, 31, 33 }; int binarySearch = binarySearch(array, 17); System.out.println(...原创 2019-10-16 12:42:27 · 374 阅读 · 1 评论 -
数组排序算法(Java版本)
数组排序冒泡排序public class BubbleSort { private static void sort(int[] array) { int temp = 0; for (int i = 0; i < array.length - 1; i++) { // 冒泡排序的主要逻辑 for (int j = ...原创 2019-10-16 12:34:56 · 417 阅读 · 0 评论 -
内省 Introspector详解
概念JavaBean属性是私有的;有无参的public构造方法;对私有属性提供public的getXxx方法和setXxx方法;符合这些特征的类,被称为JavaBean;而JDK提供了一套API用来访问某个属性的getter/setter方法,这些API存放在java.beans中,这就是内省。内省与反射的关系一个类有两种状态(编译和运行),通常我们是在编译状态来获取类的信息,也就是new一个实例出来,然后通过该实例来获取类内部的信息。若需要在类运行时动态的获取类的信息,则需要用到反射原创 2022-04-15 16:02:00 · 842 阅读 · 3 评论 -
Map转JavaBean
待测试的JavaBean类Dept类@Getter@Setter@NoArgsConstructor@AllArgsConstructor@Builder@ToStringpublic class Dept { /** * 部门编号 */ private Integer deptno; /** * 部门名称 */ private String dname; /** * 部门地址 */ private原创 2022-04-10 08:26:35 · 1936 阅读 · 1 评论 -
Java 定时器Timer
简介Timer是Java提供的原生Scheduler(任务调度)工具类,用来在一个后台线程计划执行指定任务。利用Timer可以安排任务“执行一次”或者定期“执行多次”。Timer类提供了以下方法:schedule(TimerTask task, Date time)安排在 “指定的时间” 执行 指定的任务(只执行一次)schedule(TimerTask task, Date firstTime , long period)安排指定的任务在 "指定的时间 " 开始进行 “重复” 的固定延迟执原创 2022-04-06 13:58:15 · 4536 阅读 · 3 评论 -
【精品】ThreadLocal
ThreadLocal简介ThreadLocal通过为每个线程提供一个独立的变量副本解决了变量并发访问的冲突问题,它为解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以很简洁地编写出优美的多线程程序。ThreadLocal提供了线程内存储变量的能力,利用它可以在指定线程内存储数据,数据存储以后,只有指定线程可以得到存储数据。ThreadLocal采用采用空间来换取时间的方式,解...原创 2019-11-12 15:34:27 · 891 阅读 · 1 评论 -
【精品】随机对象生成器
简介在项目实践过程,尤其是测试时,经常需要生成大量的对象实例的情况。如果手动一个个的new对象,太麻烦了,下面我们写一个工具,以期最终能够使用这个工具能够简便的生成各种类(JavaBean、实体类)的对象。实现1、引入随机数工具类参考博客:随机工具类2、自定义注解用来生成的对象的类上的注解,用来限制对象属性的值的类型or范围……@Target({ElementType.FIELD})@Retention(RetentionPolicy.RUNTIME)public @interface O原创 2022-03-29 12:06:18 · 892 阅读 · 0 评论 -
RandomAccessFile 随机读写文件
简介RandomAccessFile既可以读取文件内容,也可以向文件输出数据。同时,RandomAccessFile支持“随机访问”的方式,程序快可以直接跳转到文件的任意地方来读写数据。由于RandomAccessFile可以自由访问文件的任意位置,所以如果需要访问文件的部分内容,而不是把文件从头读到尾,使用RandomAccessFile将是更好的选择。与OutputStream、Writer等输出流不同的是,RandomAccessFile允许自由定义文件记录指针,RandomAccessFile原创 2022-03-26 14:03:43 · 2467 阅读 · 3 评论 -
Java 二维码及条形码处理
Maven依赖<dependency> <groupId>com.google.zxing</groupId> <artifactId>javase</artifactId> <version>3.4.1</version></dependency>二维码生成二维码import java.io.FileOutputStream;import java.util.HashMap;import原创 2022-03-15 14:45:51 · 3696 阅读 · 1 评论 -
第十四章 注解与反射
14.1 注解User.javaenum User{ LISI,JACK,MARY,ANDY,WANGWU}javac User.java User.classclass javainterface javaenum javaannotation javamodule-info.javaclass<T> User{ public void save(T t){ }}User<Book> u = new User<B原创 2022-03-08 17:54:57 · 2067 阅读 · 1 评论 -
第十二章 多线程编程
12.1 多线程相关的概念什么是程序?一个程序可以有多个进程程序是一段静态的代码,它是应用程序执行的蓝本。什么是进程?一个进程可以有多线程进程是指一种正在运行的程序,有自己的地址空间。作为蓝本的程序可以被多次加载到系统的不同内存区域分别执行,形成不同的进程。基于进程的特点是允许计算机同时运行两个或更多的程序。什么是线程?线程是进程内部单一的一个顺序控制流。 一个进程在执行过程中,可以产生多个线程。每个线程也有自己产生、存在和消亡的过程。并发当有多个线程在操作时,如果系统只有一个CPU,原创 2022-03-08 09:42:37 · 408 阅读 · 0 评论 -
第十一章 网络编程
网络编程是指编写运行在多个设备(计算机)的程序,这些设备都通过网络连接起来。java.net 包中 JavaSE 的 API 包含有类和接口,它们提供低层次的通信细节。你可以直接使用这些类和接口,来专注于解决问题,而不用关注通信细节。java.net 包中提供了两种常见的网络协议的支持:TCP:TCP 是传输控制协议的缩写,它保障了两个应用程序之间的可靠通信。通常用于互联网协议,被称 TCP / IP。UDP:UDP 是用户数据报协议的缩写,一个无连接的协议。提供了应用程序之间要发送的数据的数据包.原创 2022-03-08 09:41:33 · 1613 阅读 · 1 评论 -
第九章 IO操作
9.1 目录操作package cn.webrx;import java.io.File;public class Dir1 { public static void main(String[] args) { //判断目录是否存在 File f = new File("user"); if(f.exists()) { System.out.println("user目录存在"); }else { f.mkdir();//建立一级目录 System.out.p原创 2022-03-07 13:22:47 · 2532 阅读 · 1 评论 -
第八章 集合泛型
8.1 Collection List SetArrayListpackage cn.webrx;import java.util.ArrayList;import java.util.Arrays;import java.util.Collection;import java.util.Date;import java.util.List;public class List1 { public static void main(String[] args) { //实例化.原创 2022-03-07 13:21:10 · 413 阅读 · 3 评论 -
第七章 异常处理
7.1 包装器Java中的基本数据类型不是对象型(引用类型)。但是在程序中有时需要对对象而不是基本数据类型进行操作。因此,java里提供了一种叫做包装类(wrapper),它能够把基本数据类型包装成对象类型。Java中的包装器类有两个主要的作用1.提供一种机制,将基本值“包装”到对象中,从而使基本值能够包含在为对象而保留的操作中,或者从带对象返回值的方法中返回。注意,java5增加了自动装箱和拆箱,程序员过去需手工执行的许多包装操作,现在可以由java自动处理了。2.为基本值提供分类功能。这些功能大原创 2022-03-07 13:19:13 · 391 阅读 · 6 评论 -
第五章 面向对象
面向对象技术利用对现实世界中对象的抽象和对象之间相互关联及相互作用的描述来对现实世界进行模拟,并且使其映射到目标系统中。其以基本对象模型为单位,将对象内部处理细节封装在模型内部,重视对象模块间的接口联系和对象与外部环境间的联系,能层次清晰地表示对象模型。面向对象的特点主要概括为抽象性、继承性、封装性和多态性。抽象继承封装多态5.1 对象特征用来描述客观事物的一个实体,由一组属性和方法构成属性方法package cn;public class User { //属性.原创 2022-03-07 13:18:11 · 1188 阅读 · 8 评论 -
第四章 数组
4.1 概念数组是一个变量,存储相同数据类型的一组数据,java中数组是长度是固定的,下标是从0开始的,数组会自动初始。package cn;public class Arr1 { public static void main(String[] args) { int[] ns = new int[3];//0 1 2 ns[ns.length-1] = 10;//异常 下标越界 System.out.println(ns[0]);//0 System.out.print原创 2022-03-07 13:17:04 · 483 阅读 · 14 评论 -
第三章 java流程控制
3.1 eclipse项目导入导出eclipse新建项目关闭项目导出项目项目导入3.2 java程序输入方式 Scanner s = new Scanner(System.in); long n = s.nextLong(); System.out.println(n); Console c = System.console(); System.out.print("请输入账号:"); String a = c.readLine();原创 2022-03-07 13:16:05 · 298 阅读 · 14 评论 -
第二章 java基本语法
2.1 java程序构成2.2 程序注释// 单行注释/* 多行注释 *//** * 文档注释,文件注释,类注释,方法注释,属性注释,语句代码行相关注释 * */package org;import java.util.Date;/** * @author Administrator alt+shift+j文档注释 ctrl + /行注释 ctrl+shift+/ 块注释 * */public class Demo { /** * &l原创 2022-03-07 13:14:41 · 552 阅读 · 15 评论 -
第一章 java简介及环境搭建
1.1 java简介詹姆斯·高斯林 (James Gosling)是一名软件专家,1955年5月19日出生于加拿大,Java编程语言的共同创始人之一,一般公认他为“Java之父”。1.2 sun公司sun 在2008收购 10亿 mysql 在2009被oracle收购1.3 java发展历史1990年初,最初被命名为Oak;1995年5月23日,Java语言诞生;1996年1月,第一个JDK-JDK1.0诞生;1996年4月,10个最主要的操作系统供应商申明将在其产品中嵌入Java原创 2022-03-07 13:13:31 · 218 阅读 · 18 评论 -
第六章 字符串、正则表达式
6.1 String不可变的字符串对象,尽量少使用+=操作字符串转换符号为 \一.常见的转义字符转移字符对应的英文是escape character , 转义字符串(Escape Sequence)字母前面加上捺斜线""来表示常见的那些不能显示的ASCII字符.称为转义字符.如\0,\t,\n等,就称为转义字符,因为后面的字符,都不是它本来的ASCII字符意思了。所有的转义字符和所对应的意义:转义字符意义ASCII码值(十进制)\b退格(BS原创 2022-03-07 13:08:36 · 257 阅读 · 0 评论 -
Java 方法参数
Java方法传递参数大概分为传值和传址两种情况,下面分别通过具体的救命讲解。传值:基本数据类型、String传址:引用数据类型传值测试代码public class DemoTest{ public static void fun(int a) { System.out.println("fun1 " + a); a = 88; System.out.println("fun2 " + a); } public static void main(String[] ar原创 2022-03-03 15:51:44 · 2500 阅读 · 1 评论 -
StringJoiner 字符串拼接
简介StringJoiner是java8新增的工具类,StringJoiner是依赖StringBuilder实现,性能和StringBuilder差不多,也是非线程安全的。示例public static void main(String[] args) { String res1 = String.join("-", "2020","11","11"); System.out.println(res1); //2020-11-11 String res2 = String.join("*"原创 2022-03-03 08:52:33 · 419 阅读 · 3 评论 -
任意地方 创建内部类的对象
类定义public class AA { class BB{ }}创建内部类的对象public class DemoTest { public static void main(String[] args) { AA aa = new AA(); AA.BB bb = new AA().new BB(); }}原创 2021-12-27 14:00:39 · 146 阅读 · 0 评论