
Java
文章平均质量分 57
实战项目中用到的一些技术,希望可以帮到需要的人,有错或者更好的方法提出来,一起进步ヾ(◍°∇°◍)ノ゙
稀里糊涂的认真
自律→自由
展开
-
Java对象的内存布局
对象的内存布局原创 2022-09-05 17:10:32 · 267 阅读 · 0 评论 -
JAVA对象的创建
JAVA对象的创建原创 2022-09-05 14:47:35 · 245 阅读 · 0 评论 -
POJO属性定义包装类型还是基本类型
POJO属性定义包装类型还是基本类型原创 2022-09-04 16:39:02 · 302 阅读 · 0 评论 -
有关BigDecimal的一些问题
有关BigDecimal的一些问题原创 2022-06-10 11:25:14 · 313 阅读 · 0 评论 -
idea内存不足解决办法
idea内存不足处理原创 2022-06-04 11:50:27 · 5335 阅读 · 0 评论 -
java ---BigDecimal循环累加
使用BigDecimal循环累加时,要使用total = total .add(number);这种形式使用这种 total += number; total还会是初始值BigDecimal total = BigDecimal.ZERO;for (int i = 0; i < 5; i++) { BigDecimal number = new BigDecimal(1); total = total .add(number);}System.out.printl...原创 2021-11-19 15:40:01 · 14953 阅读 · 0 评论 -
Java虚拟机基础知识
如有错误之处还望指出1. Java 内存区域与内存溢出异常1.1 运行时数据区域根据《Java 虚拟机规范(Java SE 7 版)》规定,Java 虚拟机所管理的内存如下图所示。1.1.1 程序计数器内存空间小,线程私有。字节码解释器工作是就是通过改变这个计数器的值来选取下一条需要执行指令的字节码指令,分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖计数器完成如果线程正在执行一个 Java 方法,这个计数器记录的是正在执行的虚拟机字节码指令的地址;如..原创 2020-10-19 15:22:57 · 273 阅读 · 1 评论 -
Java8 中 IntStream,LongStream,DoubleStream
IntStream、LongStream和DoubleStream分别表示原始int流、 原始long流 和 原始double流。这三个原始流类提供了大量的方法用于操作流中的数据,同时提供了相应的静态方法来初始化它们自己。这三个原始流类都在java.util.stream命名空间下。IntStream 和 LongStream 方法一样 方法 说明 rangeClosed(a,b) 类似我们数学中[a,b] range(a,b) 类似我们数学中[...原创 2020-09-09 09:57:35 · 1560 阅读 · 0 评论 -
如何使用Git做分支管理
https://blog.youkuaiyun.com/shusheng0007/article/details/80791849转载 2020-08-28 11:15:29 · 152 阅读 · 0 评论 -
关于@Transactional注解的失效场景
https://baijiahao.baidu.com/s?id=1661565712893820457&wfr=spider&for=pc转载 2020-08-28 10:26:50 · 155 阅读 · 0 评论 -
Java二进制指令代码解析
Java二进制指令代码解析Java源码在运行之前都要编译成为字节码格式(如.class文件),然后由ClassLoader将字节码载入运行。在字节码文件中,指令代码只是其中的一部分,里面还记录了字节码文件的编译版本、常量池、访问权限、所有成员变量和成员方法等信息(详见Java字节码格式详解)。本文主要简单介绍不同Java指令的功能以及在代码中如何解析二进制指令。Java指令是基于栈的体系结构,大部分的指令默认的操作数在栈中。映像中ARM是基于寄存器的操作指令,而x86好像是混合寄存器和存储器的,发.转载 2020-08-24 15:49:39 · 332 阅读 · 0 评论 -
关于 InitializingBean时 Spring @Autowired Map 和 List
在开发的时候可能会看到@Autowired private Map<String, AnimalService> map;@Autowired private List<AnimalService> lsit;这是Spring的一个特殊的注入功能当注入一个Map的时候 ,value泛型为AnimalService,则注入后Spring会将实例化后的bean放入value ,key则为注入后bean的名字当注入一个List的时候,List的泛型为A原创 2020-07-17 11:20:14 · 606 阅读 · 0 评论 -
Java 1.8 中文API
链接:https://pan.baidu.com/s/1ILxcCxwyGGu1UB1zsdUdcg提取码:0fka原创 2020-07-09 09:59:11 · 351 阅读 · 0 评论 -
Java 8 stream 排序(排序属性值可能为null)
1.当排序属性值不为null时List<WellReservoirFormationInfo> voList = null;voList = voList.stream().sorted(Comparator.comparing(User::getUserName)) .collect(Collectors.toList());2.当排序属性值为null时/* 请注意,根据单属性name进行排序,若需要将name为null的对象也参与排序,则需要: ...原创 2020-07-07 10:00:06 · 14078 阅读 · 6 评论 -
关于Java 8处理日期时间
简介Java处理日期、日历和时间的不足之处:将 java.util.Date 设定为可变类型,以及 SimpleDateFormat 的非线程安全使其应用非常受限。java8 之后增加新的特性。全新API的众多好处之一就是,明确了日期时间概念,例如:瞬时(instant)、 长短(duration)、日期、时间、时区和周期。同时继承了Joda 库按人类语言和计算机各自解析的时间处理方式。不同于老版本,新API基于ISO标准日历系统,java.time包下的所有类都是不可变类型而且线程安全。.原创 2020-05-22 14:24:16 · 318 阅读 · 0 评论 -
这样了解状态模式
状态模式(State)核心思想就是:当对象的状态改变时,同时改变其行为,很好理解!就拿QQ来说,有几种状态,在线、隐身、忙碌等,每个状态对应不同的操作,而且你的好友也能看到你的状态,所以,状态模式就两点:1、可以通过改变状态来获得不同的行为。2、你的好友能同时看到你的变化。看图:State类是个状态类,Context类可以实现切换,我们来看看代码:package com.xtfg...原创 2020-05-14 15:55:01 · 127 阅读 · 0 评论 -
java关于list和set元素操作
import java.util.HashSet;import java.util.Set;public class Test { public static void main(String[] args) { Set<Integer> result = new HashSet<Integer>(); Set<Integer> set1 = new HashSet<Integer>(){{ .原创 2020-05-12 11:26:33 · 218 阅读 · 0 评论 -
关于@Autowired 和 @Resource注解的区别
1.都是bean的注入时使用,写在字段上,或写在setter方法,在接口仅有单一实现类时,两个注解的修饰效果相同,可以互相替换,不影响使用。2.@Autowired 属于Spring的注解 org.springframework.beans.factory.annotation.Autowired默认按类型装配 依赖对象必须存在,如果要允许null值,可以设置它的req...原创 2019-10-11 14:29:16 · 156 阅读 · 0 评论 -
Java 基于自定义注解实现简单的权限控制
有时候需要某个权限认证是去执行某个方法,在不使用框架的情况下,注解应该比较容易实现,不多说,直接上代码。不了解注解的可以先去看看自定义注解怎么回事,下边先定义注解@Target(ElementType.METHOD)@Retention(RetentionPolicy.RUNTIME)public @interface Authority {// String[] role(...原创 2019-11-25 09:09:24 · 855 阅读 · 0 评论 -
java获取指定日期前一天或者后一天时间
java获取指定日期前一天或者后一天时间public static String getDay(String time){ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Calendar calendar = Calendar.getInstance(); Date dat...原创 2019-12-26 14:29:56 · 2093 阅读 · 0 评论 -
Java 获取时间段里每一天
Java 获取时间段里每一天public List<String> getDaysList(String startDate, String endDate) throws Exception { boolean b = compareDate(endDate, startDate); if (b == true){ t...原创 2019-12-26 14:34:43 · 380 阅读 · 0 评论 -
关于JAVA8的Optional判断Null用法
我们在开发中经常碰到的NullPointerException.假设我们有两个类,他们的UML类图如下图所示在这种情况下,有如下代码user.getAddress().getProvince();这种写法,在user为null时,是有可能报NullPointerException异常的。为了解决这个问题,于是采用下面的写法if(user!=null){ Addres...原创 2020-03-04 13:18:43 · 1592 阅读 · 0 评论 -
Java8关于Stream和Collectors的用法
关于Stream和Collectors的用法一:简介java.util.Stream 表示能应用在一组元素上一次执行的操作序列。Stream 操作分为中间操作或者最终操作两种,最终操作返回一特定类型的计算结果,而中间操作返回Stream本身,这样就可以将多个操作依次串起来。Stream 的创建需要指定一个数据源,比如 java.util.Collection的子类,List或者Set, M...原创 2020-04-21 15:31:45 · 2177 阅读 · 0 评论 -
关于Java自定义注解
Java注解又称Java标注,是Java语言5.0版本开始支持加入源代码的特殊语法元数据。为我们在代码中添加信息提供了一种形式化的方法,使我们可以在稍后某个时刻非常方便的使用这些数据。Java语言中的类、方法、变量、参数和包等都可以被标注。和Javadoc不同,Java标注可以通过反射获取注解内容。在编译器生成类文件时,注解可以被嵌入到字节码中。Java虚拟机可以保留注解内容,在运行时可以获取到...原创 2020-05-04 15:00:35 · 365 阅读 · 0 评论 -
Java中对象命名中(POJO、PO、BO、VO、DTO、DAO)说明
1. POJO(Plain Ordinary Java Object)。简单而言,就是一个简单的对象,没有任何约束。 POJO 也会泛指用来做传输对象 Java bean (包括DTO、VO 、BO、PO等)。2. DTO(Data Transfer Object)数据传输对象,单纯用来数据传输的对象。3. PO(Persistant Object)持久化对象,是数据库中的表相映射的 ...原创 2020-04-30 17:40:13 · 860 阅读 · 0 评论 -
java8的lambda求map最大值的五种方法
Map<String,Integer> map = new HashMap<>(); map.put("张三", 1); map.put("李四", 2); map.put("王五", 3); //第一种方法 Optional<Map.Entry<String, Integer&g...原创 2020-05-12 10:51:41 · 11043 阅读 · 0 评论