javaSE
文章平均质量分 64
javaSE相关知识,包括java8新特性等
不会打字314
程序员一枚,在职做java后端开发,没事喜欢学习计算机软件相关的知识,下班和闲暇时间喜欢写博客
展开
-
java生成标签图片
【代码】java生成标签图片。原创 2023-03-18 22:30:00 · 387 阅读 · 0 评论 -
枚举 k-v 根据 k 获取 v
【代码】枚举 k-v 根据 k 获取 v。原创 2022-09-18 23:03:01 · 135 阅读 · 0 评论 -
java8类型推断
java8类型推断说明最近看 java编程思想 , 看了前面的十章 , 结合之前的了解, 熟悉了一些专业名词 , 这些名词比较官方 , 面试时候说出来也是加分项最近记看了记忆比较深的名词就是匿名内部类协变类型类型推断…今天大概说下 类型推断 以及注意事项类型推断定义这个名词摘自 java编程思想 第十二章随着类型变得越来越复杂,这种重复产生的代码非常混乱且难以阅读。程序员发现所有类型信息都可以从左侧获得,因此,编译器没有理由强迫右侧再重复这些。虽然类型推断(type infere原创 2022-03-23 22:14:02 · 717 阅读 · 0 评论 -
lombok和内部类引出的思考
lombok和内部类引出的思考起因最近看 java编程思想 内部类这篇相关的内容, 感觉之前对内部类的了解比较少之前使用 lombok , 知道一些注解 , 包括 @Data @AllArgsConstructor @NoArgsConstructor , 还有就是 @Builer 和@Accessors(chain = true)之前了解过 @Builder 的原理是 内部类 + builer 模式实践新建springboot项目 , 导入 lombok 依赖 <dep原创 2022-03-17 20:59:47 · 1495 阅读 · 0 评论 -
java方法使用final修饰参数的作用
java方法使用final修饰参数的作用参考网址:https://blog.csdn.net/qing_mei_xiu/article/details/79557767?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522163184453616780366581551%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id原创 2021-09-25 14:20:11 · 232 阅读 · 0 评论 -
java写一个死锁案例
面试题:使用java写一个死锁案例参考网址:https://mp.weixin.qq.com/s/rpgZ_NosiNRjeHk6ivFQPg说明:这篇帖子就很干脆,直接上代码,不多bbpackage com.shaoming;/** * @ClassName: DeadLockExample * @Author: 邵明 * @Date: 2021/9/13 10:25 * @Description: */public class DeadLockExample {原创 2021-09-14 23:40:56 · 189 阅读 · 0 评论 -
object类的方法
object类的方法参考网址:https://mp.weixin.qq.com/s?__biz=MzUxNzg2ODQ1Mw==&mid=2247487438&idx=1&sn=fe1969af95a351246026ba07924932a9&chksm=f990d104cee758121aa95121ce0b6b746d307a4eadb9390b8729132da33805802c54cfad3e44&scene=21#wechat_redirect今天原创 2021-09-12 14:30:57 · 127 阅读 · 0 评论 -
list元素修改属性返回新list
list元素属性操作后返回新list说明:本机一定要装java8环境,这里面使用了jdk1.8的新特性,stream流准备工作java8环境新建一个实体类Emp.javapackage com.shaoming;/** * @ClassName: Emp * @Author: 邵明 * @Date: 2021/9/12 01:14 * @Description: */public class Emp { private Integer id; private原创 2021-09-12 02:05:58 · 1873 阅读 · 0 评论 -
arraylist和linkedlist区别
arraylist和linkedlist区别参考网址:https://mp.weixin.qq.com/s?__biz=MzUxNzg2ODQ1Mw==&mid=2247487517&idx=1&sn=c7437569a3a799335795c2454280bfba&chksm=f990ced7cee747c143820183e4eed4f578568a9a19ed01bda6f106484db9446a54afc91cd109&scene=21#wechat_转载 2021-09-11 22:52:01 · 92 阅读 · 0 评论 -
hashmap的key规范
hashmap的key规范参考文章:https://mp.weixin.qq.com/s/FYBCLl9aaV0VE4JpMMWmsg说明:这篇文章写的非常好,介绍了hashcode和equals方法,面试中按照这个答即可。文章目录hashmap的key规范前置知识*hashcode()和equals方法**hashcode()equals(Object obj)**用Object做hashMap的Key时需要做什么?**前置知识我们知道java所有类终极父类都是Object,如果定义原创 2021-09-10 00:09:35 · 1679 阅读 · 0 评论 -
阿里java开发手册最新版-嵩山版(md版)
阿里java开发手册最新版-嵩山版(md版)前言《Java 开发手册》是阿里巴巴集团技术团队的集体智慧结晶和经验总结,经历了多次大规模一线实战的检验及不断完善,公开到业界后,众多社区开发者踊跃参与,共同打磨完善,系统化地整理成册,当前的版本是嵩山版。现代软件行业的高速发展对开发者的综合素质要求越来越高,因为不仅是编程知识点,其它维度的知识点也会影响到软件的最终交付质量。比如:五花八门的错误码人为地增加排查问题的难度;数据库的表结构和索引设计缺陷带来的系统架构缺陷或性能风险;工程结构混乱导致后续项目维护艰原创 2021-08-29 20:44:12 · 854 阅读 · 0 评论 -
java命名规范(参照整理总结)
java命名规范(参照整理总结)参考网址:https://mp.weixin.qq.com/s/J3AWxzZ-P4gY2pFviMPp5w说明:java命名规范看似一个小问题,但是我之前工作中发现命名规范影响阅读代码的效率,比如employeeList有人命名为list,这样很容易引起歧义,导致还要看看之前list是怎么声明的,所以与其这样,我们不如遵守一个规范,让代码更加简单易懂,我参考的这篇帖子介绍的比较全面,收藏转发一波,没事可以看看作者建议收藏转发文章目录java命名规范(参照原创 2021-08-29 20:32:52 · 528 阅读 · 0 评论 -
java常见代码规范事项
java常见代码规范事项参考网址:https://mp.weixin.qq.com/s?__biz=MzU4NjQ1NDkyNQ==&mid=2247495793&idx=2&sn=186ce123fcafa2b7d3c28f0b17ca07a9&chksm=fdf9b293ca8e3b859b087dcd15fc60f6253887b5d4387d606f9b2f2c2ffba9e16ab7da68a24d&mpshare=1&scene=24&原创 2021-08-26 09:59:26 · 151 阅读 · 0 评论 -
集合中元素属性添加到另一个集合优化
集合中元素属性添加到另一个集合优化代码在线最近看项目代码看到如下的代码,准备对代码从可读性进行优化List<CustomerMappingVo> handleList(List<CustomerMappingVo> list){ List<String> inventoryClassList = Lists.newArrayList(); list.forEach(vo -> inventoryClassList.add(vo.getInvCl原创 2021-08-20 10:56:43 · 542 阅读 · 0 评论 -
for循环优化方式
for循环优化方式参考网址:使用for循环注意方式https://mp.weixin.qq.com/s?__biz=MzI2NzUxNjIyOA==&mid=2247486056&idx=1&sn=4155e00a298ec02c3cc3e292f21a6c24&chksm=eafcea43dd8b6355fdee2abf34c6c8b13e40ee1bd12cf7b69c261432f1ecc348dc41cad83dff&mpshare=1&sce转载 2021-08-20 10:13:35 · 383 阅读 · 0 评论 -
工具类中屏蔽构造函数
工具类中屏蔽构造函数参考网址:https://mp.weixin.qq.com/s/LG92rkjY3o2pqx3QdaXBVw错误示例代码public class PasswordUtils { //工具类构造函数反例 private static final Logger LOG = LoggerFactory.getLogger(PasswordUtils.class); public static final String DEFAULT_CRYPT_ALGO = "PB原创 2021-07-31 21:42:22 · 660 阅读 · 0 评论 -
Java双亲委派机制
Java双亲委派机制参考网址https://mp.weixin.qq.com/s/fJ_eSVsafPw0yb_vRvVNIA前置知识在介绍双亲委派机制的时候,不得不提ClassLoader。说ClassLoader之前,我们得先了解下Java的基本知识。Java是运行在Java的虚拟机(JVM)中的,但是它是怎么就运行在JVM中了呢?我们在IDE中编写的Java源代码被编译器编译成**.class**的字节码文件。然后由我们得ClassLoader负责将这些class问价加载到JVM中去执行转载 2021-06-24 00:19:59 · 114 阅读 · 0 评论 -
Long包装类型采坑记录
Long包装类型采坑记录说明:一般面试中会问到基本类型和包装类型的区别,还有就是Integer的在java8中的缓存值得范围是哪里到哪里公布答案吧,-128~127,这是面试基本都会问到的,可以搜索一下关于这个特性的解答,很容易问道情景再现最近在网上看到一篇贴子封装的是redis工具类,判断redis过期时间或者删除是否成功,redis操作的返回值都是数值类型所以需要进行判断代码如下 /** * 删除指定key */ @Test public void原创 2021-06-06 03:06:20 · 218 阅读 · 0 评论 -
java对象和json转换三种工具类汇总
java对象和json转换三种工具类汇总说明:去年的时候就像总结json工具类的,不然每次用到都需要百度,好麻烦,这次总结了三种工具类详细的用法准备工作1.准备springboot工程2.引入依赖jackson是springboot默认json转换方式的工具类Gson,是google的json工具类,我们需要自己引入FastJson是阿里的json工具类,需要问哦们手动引入<?xml version="1.0" encoding="UTF-8"?><project原创 2021-04-25 16:43:04 · 1862 阅读 · 0 评论 -
Arrays.asList、ArrayList的subList使用注意事项
Arrays.asList、ArrayList的subList使用注意事项参考网址:https://mp.weixin.qq.com/s/as5BOVU0CsYXosF7ACHnJw1. 使用Arrays.asList的注意事项1.1 可能会踩的坑先来看下Arrays.asList的使用:@Test public void test1() { List<Integer> statusList = Arrays.asList(1, 2); System.out.print原创 2021-04-24 16:09:30 · 180 阅读 · 0 评论 -
String判空工具类总结
String判空工具类总结说明:StringUtils类似的工具类有很多,包括Spring支持的,apche的,还有自定义的,接下来我总结下我日常遇到过的StringUtils,还有这些api我特别容易搞混,所以这次整理记录一下直接上代码package com.example.demo;import cn.hutool.core.util.StrUtil;import org.junit.jupiter.api.Test;import org.springframework.boot.t原创 2021-04-23 17:28:18 · 1012 阅读 · 0 评论 -
stream进行分页
stream进行分页说明:最近看了一篇关于java8的StreamAPI使用的文章,正好看到一个和分页查询相关的api,由此写一个demo,加深对StreamAPI的印象模拟dao层从数据库获取数据实体类 User@Data@AllArgsConstructor@NoArgsConstructorpublic class User { private Integer id; private String name; private String address;原创 2021-04-19 17:08:40 · 8221 阅读 · 2 评论 -
java8新特性Stream学习(4)
java8新特性Stream学习(四)参考网址:https://mp.weixin.qq.com/s/Vu5LMjlBMXtmdFk2QfnFtw一、介绍我们都知道,从 Java8 开始,jdk 新增加了一个 Stream 类,用来补充集合类,它的强大,相信用过它的朋友,能明显的感受到,不用使用for循环就能对集合作出很好的操作。采用 Stream API 可以极大提高 Java 程序员的生产力,让程序员写出高效率、干净、简洁的代码。二、遍历操作2.1、遍历集合日常开发中,我们经常需要需转载 2021-04-19 15:20:48 · 280 阅读 · 0 评论 -
常用正则表达式最强整理(速查手册)
常用正则表达式最强整理(速查手册)参考网址:https://mp.weixin.qq.com/s/6_coN4LozGnbsDNko-whRg一、校验数字的表达式数字:^[0-9]*$n位的数字:^\d{n}$至少n位的数字:^\d{n,}$m-n位的数字:^\d{m,n}$零和非零开头的数字:^(0|[1-9][0-9]*)$非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$带1-2位小数的正数或负数:^(\-)?\d+(\.\d{1转载 2021-04-19 13:41:19 · 111 阅读 · 0 评论 -
java基础之System类获取系统属性
java基础之System类获取系统属性直接上代码public class App { public static void main(String[] args) { // TODO Auto-generated method stub //获取当前系统的属性 Properties p=System.getProperties(); System.out.println("Java的运行环境版本:"+p.getProperty("jav原创 2021-04-10 23:59:49 · 518 阅读 · 0 评论 -
hashMap和treeMap区别
hashMap和treeMap区别参考网址:https://mp.weixin.qq.com/s/tHaw9w8h8buyjRx21XzB8g提出问题如何决定使用 HashMap 还是 TreeMap?hashMap和treeMap简介TreeMap<K,V>的Key值是要求实现java.lang.Comparable,所以迭代的时候TreeMap默认是按照Key值升序排序的;TreeMap的实现是基于红黑树结构。适用于按自然顺序或自定义顺序遍历键(key)。HashMap&l转载 2021-03-28 14:51:29 · 364 阅读 · 0 评论 -
java中比较器Comparable和Comparator的区别
java中比较器Comparable和Comparator的区别参考网址:https://mp.weixin.qq.com/s/SvPOOQBMzdBlgrYLWkl38gComparableComparable可以认为是一个内比较器,实现了Comparable接口的类有一个特点,就是这些类是可以和自己比较的,至于具体和另一个实现了Comparable接口的类如何比较,则依赖compareTo方法的实现。如果add进入一个Collection的对象想要Collections的sort方法帮你转载 2021-03-28 13:13:30 · 105 阅读 · 0 评论 -
equals方法左边的空指针问题
equals方法左边的空指针问题问题在线示例代码public class App { public static void main(String[] args) { String str = null; if (str.equals("strValue")) { System.out.println("输出正确"); } }}控制台输出控制正异常Exception in thread “main”原创 2021-03-12 17:02:22 · 295 阅读 · 0 评论 -
复习static 关键字
复习static 关键字参考网址:https://mp.weixin.qq.com/s/lxQsB069V5LJFrzpPKVtVQ01、静态变量“如果在声明变量的时候使用了 static 关键字,那么这个变量就被称为静态变量。静态变量只在类加载的时候获取一次内存空间,这使得静态变量很节省内存空间。public class Student { String name; int age; String school = "郑州大学";}假如实例化的每个对象的scho原创 2021-02-25 20:00:49 · 178 阅读 · 0 评论 -
Java8日期处理常用API
Java8日期处理常用API参考网址:https://mp.weixin.qq.com/s/wgLCEhAonXreQ7Ge69nZPgJava 8 推出了全新的日期时间API,在教程中我们将通过一些简单的实例来学习如何使用新API。Java处理日期、日历和时间的方式一直为社区所诟病,将 java.util.Date设定为可变类型,以及SimpleDateFormat的非线程安全使其应用非常受限。新API基于ISO标准日历系统,java.time包下的所有类都是不可变类型而且线程安全。**转载 2021-02-05 17:34:17 · 301 阅读 · 1 评论 -
java8的stream流学习(2)
java8的stream流学习(2)***前言***之前也写过两三篇关于Stream相关的帖子,当然了,也是参考的.我感觉java8的新特性还是要深刻掌握的,因为这几个新特性的确能帮助我们让代码变得健壮,不说了,直接写案例,撸代码参考网址:https://mp.weixin.qq.com/s/IHkpqdRLeEPAgdPbOnxsKw准备测试数据实体类package com.shaoming.stream3;import java.util.Objects;/** * @原创 2021-01-24 16:06:12 · 122 阅读 · 1 评论 -
equals和hashcode踩坑记录
equals和hashcode踩坑记录准备环境测试实体类生成get/set , toString,无参数构造器,全参数构造器,并生成hashcode和equals方法import lombok.Data;@Data //lombok注解@AllArgsConstructo //生成全参数构造器,生成全参数构造器,就要生成无参数构造器@NoArgsConstructor//生成无参构造器public class Student { private Integer id; pr原创 2021-01-23 23:13:56 · 172 阅读 · 0 评论 -
Lombok的@Data踩坑记录
Lombok的@Data踩坑记录前言面试问你@Data注解的作用,一般人回答就是生成get/set/toString真是这样吗?其实不然,其实@Data注解作用是1.get/set2.toString3.hashcode and equals@Data会自动生成hashcode和equals方法,一般人会把这点忘了证明idea使用alt+6查看类的具体属性和方法以上说明@Data注解生成:set/gettoStringequals/gettoStringequals原创 2021-01-23 22:31:37 · 840 阅读 · 0 评论 -
代码重构技巧
代码重构技巧参考网址https://mp.weixin.qq.com/s/1-TN5YMqImQojXLfcHuY1A作者语录本次我们抛开 JAVA 虚拟机源码这些相对底层的东西,LZ 来与各位探讨一下几个代码重构的小技巧,这些内容部分来自于书籍当中,部分来自于 LZ 维护项目当中的一些实践经验。如果猿友们曾经用过这种手法,也不妨参与到文章的留言当中,将你的小心得、小体会共享与他人,也可以拿来冲击 LZ 自己定义的排行榜,LZ 不甚欢迎。1.重复代码的提炼class BadExample转载 2021-01-23 14:04:42 · 108 阅读 · 0 评论 -
JVM, JRE, JDK三者之间的关系
JVM, JRE, JDK关系参考网址:https://blog.csdn.net/stpeace/article/details/78598614?utm_source=app说明:其实刚入门的时候对于jvm,jre,jdk什么关系,不清楚,现在稍微清楚了,但是往底层挖掘还不是很懂再者这也是面试可能问到的面试题1.JVM, JRE, JDK的概念2.java的一次编译,到处运行.java的一次编译,到处运行...原创 2020-12-31 10:14:56 · 83 阅读 · 0 评论 -
IO流读相关(6种)操作
IO流读相关(6种)操作参考网址:https://mp.weixin.qq.com/s?__biz=MzU1Nzg4NjgyMw==&mid=2247488550&idx=2&sn=f89d89cc1763fe20e9f1be472bdc8667&chksm=fc2fa82ecb5821386e1a61d96ab945ae670003dfba35bb6b494afb2a6cb95e5b3808b6c7f794&mpshare=1&scene=23&转载 2020-12-30 21:55:47 · 80 阅读 · 0 评论 -
switch-case语句小结
switch-case语句小结参考网址:http://mp.weixin.qq.com/s?__biz=MzI0NjYxMDQ4OQ==&mid=2247498189&idx=3&sn=57f4f64ed62b635de7ef0ee46849f148&chksm=e9be169bdec99f8de1fd16bbc3b61bd10e082895f69abbae6a374314d3e6e9efd698d9295135&mpshare=1&scene=23&a原创 2020-12-29 18:19:17 · 366 阅读 · 0 评论 -
if-else逻辑大坑
if-else逻辑大坑前言if-else逻辑判断错的案例,我在刚开始学习javaSE的时候就遇到过,但是时间好久,昨天又遇到,所以些if-else的时候一点要注意逻辑的重要性,把逻辑梳理好,在书写代码,最后再去想着简化代码demo示例步骤1.需求根据学生成绩判断学生等级score==100 满分90<score<100 非常优秀80<score<90 优秀60<score<80 良好原创 2020-11-29 21:35:51 · 336 阅读 · 0 评论 -
String常用API整理
String常用API整理参考网址:https://mp.weixin.qq.com/s?__biz=MzAwNTA5MzMxMw==&mid=2650642537&idx=2&sn=05908d738d3cbf6d6f42f9c383dc7605&chksm=8328dac7b45f53d15060c17ef61d36b0a04c255cdd182180bec058f2f15e3a19d2256da24cf8&mpshare=1&scene=23&am原创 2020-11-27 15:52:19 · 453 阅读 · 0 评论 -
if-esle的细节
if-esle的细节参考网址:前言在平时的项目中需要基本每天都会用到if-else,但是过多的if-else对于看代码的人来说就有点晦涩难懂,而且if-else中还有一些小坑,正好今天写了一大窜的if-else,这个时候正好整理一下主要两点(自己终结,可能不到位)1.if-else的坑2.if-esle的简化为啥要简化if-else参考文献阿里开发规范-嵩山版如果非使用 if()...else if()...else...方式表达逻辑,避免后续代码维护困难,请勿超过 3 层。超过原创 2020-11-27 00:11:30 · 311 阅读 · 0 评论