![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java基础
weixin_42956047
这个作者很懒,什么都没留下…
展开
-
【Java基础】如何正确重写hashcode方法
正确重写hashCode方法转载 2020-04-29 20:39:02 · 438 阅读 · 0 评论 -
【Java基础】BigDecimal 详解
引言借用《Effactive Java》这本书中的话,float和double类型的主要设计目标是为了科学计算和工程计算。他们执行二进制浮点运算,这是为了在广域数值范围上提供较为精确的快速近似计算而精心设计的。然而,它们没有提供完全精确的结果,所以不应该被用于要求精确结果的场合。但是,商业计算往往要求结果精确,这时候 BigDecimal 就派上大用场啦。BigDecimal简介BigDec...转载 2020-04-29 20:24:30 · 459 阅读 · 0 评论 -
java中继承、多接口实现——同名方法的问题
https://blog.csdn.net/pan11115111/article/details/70236308https://blog.csdn.net/xichengqc/article/details/78380244https://blog.csdn.net/qq_22339457/article/details/52664395子类继承父类,实现接口,父类和接口有同名方法...原创 2019-12-09 21:54:14 · 1855 阅读 · 1 评论 -
Java中使用什么数据类型来存储与金钱相关的数据类型?
今天看到这么一道面试题:存储金钱用什么数据类型?我的第一反应是很简单,使用float 或者double就可以了啊,而我们平常在练习或者在小公司的开发中也是这么用的。但是搜索了一下,发现这样是错误的做法,float、double数据类型在计算的时候会导致精度丢失,虽然其结果与真实值的误差可能是接近于0,但是在银行、财务相关的系统开发中,设计到的数据量很大,计算结果准确度要求极高的业务场景中,使用f...转载 2019-12-09 17:36:53 · 2739 阅读 · 0 评论 -
什么是 java OOM?举例说明哪些场景会出现OOM?如何分析及解决 OOM 问题?
1. 什么是OOM?OOM,全称“Out Of Memory”,翻译成中文就是“内存用完了”,来源于java.lang.OutOfMemoryError。看下关于的官方说明: Thrown when the Java Virtual Machine cannot allocate an object because it is out of memory, and no more memory...转载 2019-12-09 17:07:45 · 3009 阅读 · 0 评论 -
Java 如何有效地避免OOM:善于利用软引用和弱引用 +Java 四种引用
想必很多朋友对 OOM(OutOfMemory) 这个错误不会陌生,而当遇到这种错误如何有效地解决这个问题呢?今天我们就来说一下如何利用软引用和弱引用来有效地解决程序中出现的OOM问题。下面是本文的目录大纲:一、了解 强引用、软引用、弱引用、虚引用的概念二、进一步理解软引用和弱引用三、如何利用软引用和弱引用解决OOM问题如果有不正之处,希望谅解和批评指正,不胜感激。请尊重作者劳动成果,转...转载 2019-12-09 16:13:58 · 141 阅读 · 0 评论 -
Java的hashcode()详解 +应用场景
谈Java中的hashcode方法——本地方法哈希表这个数据结构想必大多数人都不陌生,而且在很多地方都会利用到hash表来提高查找效率。在Java的Object类中有一个方法:public native int hashCode();根据这个方法的声明可知,该方法返回一个int类型的数值,并且是本地方法,因此在Object类中并没有给出具体的实现。为何Object类需要这样一个方法?它有...转载 2019-12-09 15:15:52 · 1496 阅读 · 0 评论 -
转发:见过最棒的Java知识脑图
Java基础知识面向对象多线程集合IO流网络编程转载 2019-10-28 10:45:10 · 76 阅读 · 1 评论 -
Java学习总结—— 集合、队列、栈、数组集合转换
1. 集合——Collection所有的集合都实现了Collection接口,有两个常见的Collection接口的子接口:java.util.List:可重复集合,并且有序java.util.Set:不可重复集合(实际编程中用到的比较少,暂不介绍)2. List——Collection常见的子接口List有两个常见的实现类:java.util.ArrayList:使用数组实现,...转载 2019-10-17 21:53:20 · 884 阅读 · 0 评论 -
java list集合set集合和数组之间的转换总结
转载 2019-10-17 21:51:49 · 289 阅读 · 0 评论 -
转发:【Java基础】队列——queue详细分析
1.概述Queue基本上,一个队列就是一个先入先出(FIFO)的数据结构。Queue接口与List、Set同一级别,都是继承了Collection接口。LinkedList实现了Queue接口。通过上转型为Queue。1)Queue的提供的操作方法注意:<1> add()和remove()方法在失败的时候会抛出异常(不推荐)。分析:一些队列有大小限制,因...转载 2019-10-17 17:09:21 · 128 阅读 · 0 评论 -
Java实现队列——静态实现和动态实现
Java实现静态队列——数组实现队列通过数组实现队列和通过数组实现栈类似。代码实现如下:public class Queue { private Object[] data; private int front;//队列头 private int rear;//队列尾 private int size;//队列大小 public Queue(int...转载 2019-10-17 17:00:06 · 499 阅读 · 0 评论 -
serialVersionUID的作用
看了一些文章,我的理解就是,这个东西是用来serialization 的key,A和B相互之间传输信息,用seralize,但是相互之间把解包之后的文件进行了更改,如果你程序中不加这个,相互之间再传输,会因为这个key不一样,而失败。所以,在程序中定义,会使软件版本兼容,无论怎么改,都可以相互序列化和反序列化。Java中,如果class实现了序列化接口,你没有加这一行,eclipse会自动给wa...转载 2019-08-12 16:05:57 · 72 阅读 · 0 评论 -
【java多线程】为什么我们调用start()方法时会执行run()方法,为什么我们不能直接调用run()方法?他们之前有什么区别?
为什么我们调用start()方法时会执行run()方法,为什么我们不能直接调用run()方法?他们之前有什么区别?为什么我们调用start()方法时会执行run()方法?**因为类Thread中的start方法中,调用了Thread中的run方法。**顺便说下,类A继承了Tread类,在A中写run方法,就会覆盖掉Thread中的run方法,所以此时调用start方法后,实现的是自己的ru...原创 2019-07-18 15:49:19 · 5398 阅读 · 3 评论 -
volatile和synchronized的区别
volatile和synchronized特点首先需要理解线程安全的两个方面:执行控制和内存可见。执行控制的目的是控制代码执行(顺序)及是否可以并发执行。内存可见控制的是线程执行结果在内存中对其它线程的可见性。根据Java内存模型的实现,线程在具体执行时,会先拷贝主存数据到线程本地(CPU缓存),操作完成后再把结果从线程本地刷到主存。synchronizedsynchronized关键...转载 2019-05-14 19:50:43 · 60 阅读 · 0 评论 -
转发:Java中对List集合的常用操作
Java中对List集合的常用操作目录:list中添加,获取,删除元素;list中是否包含某个元素;list中根据索引将元素数值改变(替换);list中查看(判断)元素的索引;根据元素索引位置进行的判断;利用list中索引位置重新生成一个新的list(截取集合);对比两个list中的所有元素;判断list是否为空;返回Iterator集合对象;将集合转换为字符串;将集合转...转载 2019-03-03 15:20:12 · 149 阅读 · 0 评论 -
Java遍历Map总结
方式一 这是最常见的并且在大多数情况下也是最可取的遍历方式。在键值都需要时使用。Map<Integer, Integer> map = new HashMap<Integer, Integer>();for (Map.Entry<Integer, Integer> entry : map.entrySet()) { System.out.println(...转载 2019-03-09 17:26:02 · 54 阅读 · 0 评论 -
JDK 1.8 开发文档分享
JDK 1.8 开发文档免费分享链接: https://pan.baidu.com/s/1CoTwaIqwzdhw0g1Nig-YFQ 提取码: u8tu 复制这段内容后打开百度网盘手机App,操作更方便哦原创 2019-03-14 11:22:26 · 1098 阅读 · 0 评论 -
转发:深入理解Arrays.sort()函数
Arrays.sort(T[], Comparator < ? super T > c) 方法用于对象数组按用户自定义规则排序.官方Java文档只是简要描述此方法的作用,并未进行详细的介绍,本文将深入解析此方法。1. 简单示例sort方法的使用非常的简单明了,下面的例子中,先定义一个比较Dog大小的Comparator,然后将其实例对象作为参数传给sort方法,通过此示例,你应该...转载 2019-03-04 16:18:58 · 100 阅读 · 0 评论 -
Arrays.asList的用法
Arrays.asList 返回数组而非List。List的一个典型的特性就是其长度是可变的,我们可以很方便地对它进行插入和删除元素的操作,这是它与数组所存在的一个很大的区别,后者的长度是固定的,而且我们不能从数组中删除元素,只能修改元素的值。利用Arrays.asList(array)返回一个List,然而这个返回的是只读的List不支持add和remove的操作。JDK文档是这么说的:...转载 2019-03-12 17:15:37 · 128 阅读 · 0 评论 -
[SpringBoot]下载excel模板,postman测试接口
实际项目是前后端分离、微服务架构,后台需要为前端提供接口,实现在前端页面下载特定内容的excel模板,后台使用postman测试接口。为了保证controller层代码简洁,将业务逻辑实现写于service层,然后再service层调用下载excel模板的工具类(目前我写的工具类不是通用的,以后再修改)。本篇博客是在上一篇博客(https://blog.csdn.net/weixin_4295...原创 2019-04-10 10:28:10 · 3783 阅读 · 0 评论 -
高性能JSON框架之FastJson
1.前言在日志解析、前后端数据传输交互中,开发人员经常会遇到字符串(String)与json、XML等格式相互转换与解析,其中json以跨语言,跨前后端的优点使得json格式应用广泛,基本上可以说是标准的数据交换格式。通过查阅资料和博客,本文主要总结并记录了json和fastjson的用法。1.1 FastJson简介对于Json的处理工具也有很多。接下来就介绍一下阿里开源的一个高性能的JS...原创 2019-04-06 22:13:17 · 389 阅读 · 0 评论 -
Java - 数组拷贝的几种方式
目前在Java中数据拷贝提供了如下方式:cloneSystem.arraycopyArrays.copyOfArrays.copyOfRange下面分别介绍他们的用法1、clone 方法clone方法是从Object类继承过来的,基本数据类型(String ,boolean,char,byte,short,float ,double,long)都可以直接使用clone方法进行克隆...转载 2019-04-02 11:22:21 · 87 阅读 · 0 评论 -
Java实现港(澳)台大陆身份证校验(亲测有效)
由于项目需要,需要校验用户的身份证的有效性,并实现从身份证证中提取出出生日期,参考网友的代码,并加以修改,写成博客保存并分享给大家。验证澳门身份证号的正则表达式:^[1|5|7][0-9]{6}\(?[0-9A-Z]\)?$验证澳门身份证号的正则表达式:^[A-Z]{1,2}[0-9]{6}\(?[0-9A]\)?$目前满足项目需求的代码(根据项目需求会再次修改):public c...原创 2019-04-08 16:59:11 · 6846 阅读 · 3 评论 -
【springboot】上传并解析excel表,使用postman测试上传文件,解决excel版本报错问题
声明:博客代码只是实际项目的一部分,项目是前后端分离的,这篇博客中将记录如何使用工具类中提供的解析excel表格数据,并使用postman测试上传excel表的接口。在项目pom.xml文件中添加依赖(版本自选,注意不同的版本有可能会抱错,需根据自己的项目导入合适的版本):<!-- 解析excel --> <dependency> ...原创 2019-04-09 11:54:09 · 3192 阅读 · 0 评论 -
Quartz任务调度理论
一、Quartz概念Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合,也可以单独使用。quartz是开源且具有丰富特性的“任务调度库”,能够集成于任何的Java项目,小到独立的应用,大至电子商务系统。quartz能够创建亦简单亦复杂的调度,以自信上十、上百,甚至上万的任务。任务job被定义为标准的Java组...原创 2019-04-17 16:18:17 · 127 阅读 · 0 评论 -
Quartz定时框架——案例讲解
本篇博客紧接着上一篇Quartz理论部分七、使用Quartz1、入门案例创建项目(我是参加的是springboot项目),先导入依赖: <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz-j...原创 2019-04-17 17:23:06 · 261 阅读 · 0 评论 -
JavaWeb学习—思维导图
(尊重劳动成果,转载请注明出处:http://blog.csdn.net/qq_25827845/article/details/52894714冷血之心的博客原创 2019-02-27 21:25:31 · 944 阅读 · 0 评论