
Java
perye
记录个人研发过程中的常用技术、应用场景、问题的解决方案,如有错误欢迎指正,如有侵权,请联系删除
展开
-
常用锁及其使用场景
常见锁及其使用场景原创 2022-06-01 09:56:51 · 525 阅读 · 0 评论 -
基本数据类型
基本数据类型原创 2022-06-01 09:55:11 · 124 阅读 · 0 评论 -
String、Long源码解析和面试题
我们常听人说,HashMap的key建议使用不可变类,比如说 String 这种不可变类。这里说的不可变指的是类值一旦被初始化,就不能再被改变了,如果被修改,将会是新的类,我们写个 demo 来演示一下。从代码上来看,s 的值好像被修改了,但从 debug 的日志来看,其实是 s 的内存地址已经被修改了,也就说 s =“world” 这个看似简单的赋值,其实已经把 s 的引用指向了新的 String,debug 的截图显示内存地址已经被修改原创 2022-06-01 09:44:50 · 199 阅读 · 0 评论 -
封装、继承、多态
多态分为动态多态和静态多态重写是一种动态多态,在运行时根据引用变量所指向的实际对象的类型来调用方法重载是一种静态多态,在编译期决定调用哪个方法重写的条件参数列表必须完全与被重写方法的相同;返回类型必须完全与被重写方法的返回类型相同;访问级别的限制性一定不能比被重写方法的强;访问级别的限制性可以比被重写方法的弱;重写方法一定不能抛出新的检查异常或比被重写的方法声明的检查异常更广泛的检查异常重写的方法能够抛出更少或更有限的异常(也就是说,被重写的方法声明了异常,但重写的方法可以什么也不声明)不能重写被标原创 2022-06-01 09:45:14 · 169 阅读 · 0 评论 -
Stream
流创建通过已有的集合来创建流List<String> strings = Arrays.asList("Hello", "World", "Hello1", "Hello2", "HelloWorld1", "HelloWorld2");Stream<String> stream = strings.stream();通过Stream创建流Stream<String> stream = Stream.of("Hello", "World", "Hello1",原创 2022-05-31 10:03:31 · 119 阅读 · 0 评论 -
Java8时间常用操作
常用方法总结获取当前时间// 当前日期:2020-09-27LocalDate date = LocalDate.now();// 当前时间:16:30:23.126LocalTime time = LocalTime.now();// 当前日期和时间:2020-09-27T16:30:23.126LocalDateTime dateTime = LocalDateTime.now();月份的第一天和最后一天LocalDate now = LocalDate.now();// 本月原创 2022-05-31 10:00:20 · 237 阅读 · 0 评论 -
HashMap
HashMap容量、扩容HashMap主要的成员变量size记录了Map中KV对的个数loadFactor装载因子,用来衡量HashMap满的程度。loadFactor的默认值为0.75f(static final float DEFAULT_LOAD_FACTOR = 0.75f;)capacity容量,默认容量16(static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // aka 16)threshold原创 2022-05-31 09:59:00 · 110 阅读 · 0 评论 -
final、static、this、super
final,static,this,super 关键字总结final 关键字final关键字主要用在三个地方:变量、方法、类。对于一个final变量,如果是基本数据类型的变量,则其数值一旦在初始化之后便不能更改;如果是引用类型的变量,则在对其初始化之后便不能再让其指向另一个对象。当用final修饰一个类时,表明这个类不能被继承。final类中的所有成员方法都会被隐式地指定为final方法。使用final方法的原因有两个。第一个原因是把方法锁定,以防任何继承类修改它的含义;第二个原因是效原创 2022-05-31 09:58:20 · 332 阅读 · 1 评论 -
CopyOnWriteArrayList
CopyOnWriteArrayList原创 2022-05-31 09:57:40 · 393 阅读 · 0 评论 -
Collections 工具类和 Arrays 工具类常见方法
Collections 工具类和 Arrays 工具类常见方法CollectionsCollections 工具类常用方法:排序查找,替换操作同步控制(不推荐,需要线程安全的集合类型时请考虑使用 JUC 包下的并发集合)排序操作void reverse(List list)//反转void shuffle(List list)//随机排序void sort(List list)//按自然排序的升序排序void sort(List list, Comparator c)//定制排序,由原创 2022-05-31 09:54:01 · 281 阅读 · 0 评论 -
java.math.BigDecimal cannot be cast to java.lang.Long
jpa原生sql查询出来的结果默认是BigDecimal ,想要转换为long int 类型,需要首先转换成string,然后使用Long.parseLong(String)原创 2021-03-04 14:09:30 · 843 阅读 · 1 评论