
Java进阶
文章平均质量分 87
Java大师兄-威哥
这个作者很懒,什么都没留下…
展开
-
大厂面试题丨你将遇到的百万级数据表分页查询
今天的话题,要给大家分享的是:百万级数据表分页查询,为什么不是千万,亿级呢,你想啊,单表千万上亿,你不是疯了吗,早就分表了,单表数据量通常都是控制在几百万左右,真正实际项目中,都是百万级数据,维恩老师今天要给大家讲的前提是,项目 redis 缓存策略,架构都搭完了,查询命中了数据库表来查询的情况,如何进行优化,所以我们要搞明白这三个问题: 没有百万级以上数据查询分页经验怎么办? 提升海量数据查询效率的关键因素? 三年工作经验了,如何突破晋升下一阶段? 互联网大厂关于海量数原创 2022-01-18 16:00:47 · 366 阅读 · 0 评论 -
打开Java美颜丨程序员如何帮对象完成整容级修图的?
跟一个学习视频的老铁聊天,问我Java能不能做AI人工智能的东西?当然可以,很多大厂都提供了AI人工智能的免费或付费服务,可以通过三方接口调用来完成,这是最简单的方式了,当然如果你对AI确实感兴趣,建议可以从神经网络、图像与视觉、OpenCV,机器学习的实现技术,俗话说得好,兴趣是最好的老湿,威哥带一起搞一个简单的AI美颜程序出来,体验一下,AI的魅力所在。 为了让老铁们可以快速上手撸代码,威哥采用百度AI的API来实现这个案例,放心,so eazy! 先上效果图: 一、程序启动后先加载默认图片原创 2022-01-18 15:52:28 · 447 阅读 · 0 评论 -
Java学习必备丨Java导出PDF样式详细解析(步骤+代码)
一、文章说明 此篇文章将解决itextpdf转PDF遇到的以下问题: 1、中文不显示问题 2、表格或者图片超宽问题 3、pdf样式问题 4、Markdown引用样式在PDF中正常显示 5、转换HTML为PDF过程中提示标签没有闭合的BUG解决 此篇文章包括的关键字(可能是你关心的内容): 1、HTML 2、Markdown 3、Java 4、blockquote 5、PDF 6、itextpdf 此篇文章中PDF样式说明: 本文中使用的PDF样式模仿Typora编辑原创 2022-01-06 15:27:52 · 1169 阅读 · 0 评论 -
Java十大经典排序算法图解(下)
6、快速排序(Quick Sort) 快速排序的基本思想:通过一趟排序将待排记录分隔成独立的两部分,其中一部分记录的关键字均比另一部分的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。 6.1 算法描述 快速排序使用分治法来把一个串(list)分为两个子串(sub-lists)。具体算法描述如下: 从数列中挑出一个元素,称为 “基准”(pivot); 重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面(相同的数可以到任一边)。在这个分区退出之原创 2022-01-05 14:16:33 · 336 阅读 · 0 评论 -
Java十大经典排序算法图解(上)
0、算法概述 0.1 算法分类 十种常见排序算法可以分为两大类: 比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序。 非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此也称为线性时间非比较类排序。 0.2 算法复杂度 0.3 相关概念 稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面。 不稳定:如果a原本在b的前面,而a=b,排序之后 a 可能原创 2022-01-05 14:06:38 · 360 阅读 · 0 评论 -
Java程序员编程性能优化必备的小技巧(下)
17.尽量避免使用二维数组 二维数据占用的内存空间比一维数组多得多,大概10倍以上。 18.尽量避免使用split 除非是必须的,否则应该避免使用split,split由于支持正则表达式,所以效率比较低,如果是频繁的几十,几百万的调用将会耗费大量资源,如果确实需要频繁的调用split,可以考虑使用apache的StringUtils.split(string,char),频繁split的可以缓存结果。 19.ArrayList & LinkedList 一个是线性表,一个是链表,一句话,随原创 2021-12-31 11:03:56 · 3039 阅读 · 0 评论 -
Java程序员编程性能优化必备的小技巧(上)
1.尽量在合适的场合使用单例 使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适用于以下三个方面: 控制资源的使用,通过线程同步来控制资源的并发访问; 控制实例的产生,以达到节约资源的目的; 控制数据共享,在不建立直接关联的条件下,让多个不相关的进程或线程之间实现通信。 2.尽量避免随意使用静态变量 要知道,当某个对象被定义为static变量所引用,那么GC通常是不会回收这个对象所占有的内存,如: 此时静态变量b的生命周期与A类同步,如原创 2021-12-31 10:57:16 · 233 阅读 · 0 评论 -
Java面试进大厂,千万级唯一ID是怎么生成的?
今天的话题,要给大家分享的大厂面试题是:千万级唯一ID如何生成?!看起来这是一个非常具体的问题,没错!分布式项目中,无法避免这个问题,但是我想说的是,面试官通过打开这个问题,是可以从这个角度了解面试者在分布式应用中是否有丰富经验的,分布式大型项目才会有这个问题吧,看似一个具体的问题,背后却是面试官密谋最佳人选的经验,今天威哥就来聊一聊这个话题。 为了让小伙伴们有身临其境的感觉,威哥会以场景化的面试方式来讲解,小伙伴们准备好了吗,马上开整。 首先来看一下互联网大厂必问题 : 做过分布式项目吗?原创 2021-12-29 10:28:21 · 414 阅读 · 1 评论