Java
文章平均质量分 68
SvenJoe
这个作者很懒,什么都没留下…
展开
-
Java数字转换成汉字
Java数字转换成汉字处理小于一亿的数字输入输出10十100一百9999九千九百九十九public class DigitUtil { private static final Map<Integer, String> NUMBNER_MAP = new HashMap<>(); static { NUMBNER_MAP.put(0, "零"); NUMBNER_MAP.put(1,原创 2021-04-12 18:39:51 · 1459 阅读 · 0 评论 -
POI导出百万级Excel
POI导出百万级数据SXSSFWorkbook对象SXSSFWorkbook对象在生成Excel文件的过程中,会在磁盘中写入临时文件,有效得解决了生成大文件时对内存的开销。org.apache.poi.util.TempFile类中内部类DefaultTempFileCreationStrategy的createTempFile方法指定了生成临时文件的目录。PS:有兴趣的同学,可以在生成E...原创 2019-10-03 18:07:44 · 1053 阅读 · 0 评论 -
LinkedList源码分析整理
LinkedList源码分析整理转自:https://mp.weixin.qq.com/s/FcTVC7rcq1GXxXa5yySu9w对比ArrayList优点:1、不需要扩容和预留空间,空间效率高2、增删效率高缺点:1、随机访问效率低2、修改和查询效率低NodeNode是LinkedList中的一个内部类private static class Node&lt;E&gt;...转载 2019-03-12 21:54:38 · 146 阅读 · 0 评论 -
JVM类加载器
JVM类加载器对于任何一个类,都需要由加载它的类加载器和类本身一同确立在Java虚拟机中的唯一性,每一个类加载器,都拥有独立的类名称空间。因此比较两个类是否相等(instanceof),只有在两个类是由同一个类加载器加载的前提下才有意义;否则即使两个类来源同一个Class文件,被同一个虚拟机加载,只要加载它们的类加载器不同,那这两个类instanceof的结果必定是false。public c...转载 2019-03-07 16:40:02 · 164 阅读 · 0 评论 -
JVM类的加载过程
JVM类的加载过程分为加载、验证、准备、解析和初始化5步。加载①通过一个类的全限定名来获取定义此类的二进制字节流。②将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构。③在内存中生成一个代表这个类的java.lang.Class对象,作为方法区这个类的各种数据的访问入口。对于数组类,由Java虚拟机直接创建。但是数组类与类加载器仍然有很密切的关系,因为数字类的元素类型(Ele...转载 2019-03-07 16:19:17 · 132 阅读 · 0 评论 -
HashMap源码分析整理
HashMap源码分析整理转自:https://mp.weixin.qq.com/s/vRvMvNktoDSQKMMlnj5T0g结构Node是HashMap中一个静态内部类// Node是单向列表static class Node&amp;lt;K,V&amp;gt; implements Map.Entry&amp;lt;K,V&amp;gt; { final int hash; final K k.转载 2019-03-06 17:41:15 · 118 阅读 · 0 评论 -
ArrayList源码整理
ArrayList源码分析1、属性/** * 默认初始化容量 */private static final int DEFAULT_CAPACITY = 10;/** * 若自定义容量是0,则会默认用它来初始化ArrayList,或者用于空数组替换。 */private static final Object[] EMPTY_ELEMENTDATA = {};/** * ...转载 2019-02-26 10:59:59 · 147 阅读 · 0 评论 -
MyBatis分页插件——PageHelper源码分析
源码下载地址: https://github.com/pagehelper/Mybatis-PageHelper/tree/25e019186e025aab8b56cd568aea98f583b15fc8版本:3.7.5前言: 本文中,类名称和方法名称部分与源码中不同,例:源码:PageHelper(本文:PageUtil);查看代码时,请以源码为准。 内容如有错误或补充,请及时联系...原创 2018-07-25 09:45:33 · 621 阅读 · 0 评论 -
Shiro简介及SpringBoot整合Shiro
此文章作为自己学习总结用。请各位看官多多指正留言或发邮件给我。邮箱地址:594187062@qq.comShiro简介(仅仅是简介,只实现了用户登录认证、授权认证和用户权限缓存功能,可以满足小型项目的登录功能。如果想深入了解shiro,可以搜索《跟我学shiro》。)Shiro架构:1、Subject(org.apache.shiro.subject.Subject): 简称用户,但这个用户不一定...原创 2018-05-10 17:17:52 · 2739 阅读 · 2 评论 -
【Redis缓存】实现对缓存数据实现排序和分页功能
项目开发中往往会遇到一些查询逻辑较为复杂的报表,这些查询耗时动辄几十秒,甚至是几分钟,并且分页或排序时,往往是重新执行一遍SQL,效率低下。针对此情况,使用缓存能的解决例如排行榜和报表以及一些一致性要求不强的数据,并且对缓存数据结构的设计,可以实现对缓存数据的排序和分页功能,解决分页和排序时重新执行SQL的问题。 目的: 1)缓存SQL查询结果。 2)分页...原创 2018-03-28 17:32:41 · 23605 阅读 · 4 评论