![](https://img-blog.csdnimg.cn/20200523092518779.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java
文章平均质量分 82
解析jdk源码,对java基础梳理研究
龙珠悟空
资深java工程师
展开
-
算法面试之排序算法(四)—— 选择排序、冒泡排序、插入排序、归并排序、随机快排
初识算法之排序排序算法选择排序冒泡排序插入排序归并排序随机快排堆排序桶排序排序算法选择排序冒泡排序插入排序归并排序随机快排堆排序桶排序原创 2021-07-27 14:36:04 · 214 阅读 · 0 评论 -
算法面试之数据结构(三)——二叉树、堆、tire树
算法面试之堆、器、tire树、二叉树堆算法实现二叉树二叉树分类tire树(前缀树)概念算法实现堆堆就是用数组实现的完全二叉树,所以它没有使用父指针或者子指针。堆根据“堆属性”来排序,“堆属性”决定了树中节点的位置。如果有一个关键码的集合K = {k0,k1, k2,…,kn-1},把它的所有元素按完全二叉树的顺序存储方式存储在一个一维数组中,并满足:Ki <= K2i+1 且 Ki<=K2i+2 ,则称为小堆(或大堆)。堆的分类大根堆:完全二叉树中如果每棵子树的最大值都在顶部小原创 2021-07-26 19:14:42 · 286 阅读 · 0 评论 -
算法面试之数据结构(二)——链表、栈和队列、哈希表
初识算法之数据结构链表哈希表栈队列堆器桶tire树二叉树图链表哈希表栈队列堆器桶tire树二叉树图原创 2021-07-26 16:33:24 · 280 阅读 · 0 评论 -
算法面试之基本概念(一)
评估算法优劣的核心指标是什么?时间复杂度(流程决定)额外空间复杂度(流程决定)常数项时间(实现细节决定)比拼算法最好的方式,不是分析复杂度,而是跑数据,实践为王。复杂度主要还是从算法所占用的「时间」和「空间」两个维度去考量。时间维度:是指执行当前算法所消耗的时间,我们通常用「时间复杂度」来描述。空间维度:是指执行当前算法需要占用多少内存空间,我们通常用「空间复杂度」来描述。时间复杂度时间复杂度的表达方式:「 大O符号表示法 」,即 T(n) = O(f(n))其中f(n) 表示原创 2021-07-26 11:16:09 · 137 阅读 · 0 评论 -
好像什么都来得及,又好像什么都来不及的IT普信男
好像什么都来得及,又好像什么都来不及一个普通而又自信的男人好像什么都来得及 又好像什么都来不及的年纪从不贩卖焦虑 只为打破未知致敬让我走下去的那个人普信男,普通而又自信得男人,当代所谓男权女斗争论下得概念,悟空本文不做论述,社会现象化得“仇男”、“仇女”心态,笔者觉得是个别群体在没有基于平等尊重原则得评判和思考,大多数人还是相互理解尊重看待男女关系和感情的。这里,悟空只是借用下普信男这个词,来谈下一名普通而又自信的男人,在一个好像什么都来得及又好像什么都来不及的年纪,所面临的彷徨和无知。一个普通原创 2021-04-06 10:29:11 · 1016 阅读 · 0 评论 -
QQ邮箱炸啦,我的附件名怎么乱码?解决javaMail发送QQ邮件,附件名乱码的问题
解决javaMail发送QQ邮件,附件名乱码的问题问题背景具体问题解决思路源码Debug解决方式问题背景项目里面使用javaMail发QQ邮件,日志显示我们这边传过去的附件名是正常的,个别名字会出现乱码。客户不断反馈,悟空面对这个问题在搞了两天无果后,只能求救于部门老大。老大看了看我可怜巴巴的眼神,拍着胸脯保证交给他了,结果在他debug过无数层源码,打开无数个百度页后,告诉不好解决,先延期吧。悟空没有办法,只能拿过来自己再一点一滴debug看下,期望能解出来这个问题。具体问题首先给大家看下原创 2021-04-02 20:23:11 · 1892 阅读 · 0 评论 -
深夜加班,我该怎么向领导邀功
钉钉机器人帮你发消息告诉领导,你在加班谁也别想甩锅给你,说你包打错啦原创 2021-04-02 18:24:10 · 354 阅读 · 2 评论 -
记录一个Linux shell jar启动脚本实现
记录一个Linux shell jar启动脚本实现应用背景配置方式使用方式应用背景手动启动jar服务,上传杀死进程删除日志启动项目,整个流程下来繁杂易错,所以在没有jenkins或者其他发布工具的情况下,我们可以考虑使用shell脚本启动项目配置方式在项目路劲下创建sh文件[root@localhost 项目路劲下] touch start.sh给sh文件赋予权限[root@localhost 项目路劲下] chmod 777 start.sh编辑sh文件并保存[roo原创 2021-04-02 14:23:43 · 95 阅读 · 0 评论 -
使用IDEA远程Debug线上服务
使用IDEA远程Debug线上服务应用背景配置过程IDEA配置服务启动配置应用方法注意事项应用背景通常情况下我们会遇到只有线上环境才能复现的bug,此时通过在代码里面加日志重新发布,反复定位对线上的客户体验极度不好,此时我们可以使用IDEA的远程Debug功能,对线上bug调试。配置过程该过程需要本地环境和线上环境至少保证指定端口互通,该端口指的是线上debug对项目的监听端口。IDEA配置首先在IDEA上进行配置,进入项目启动面板,Edit-config中设置点击"+“号选中"Remo原创 2021-03-30 13:30:53 · 905 阅读 · 0 评论 -
IDEA 配置GIT、MAVEN、jdk环境 ,并配置 Terminal 命令行
IDEA 配置GIT、MAVEN、jdk环境 ,并配置 Terminal 命令行应用背景配置过程配置系统环境变量IDEA配置GIT、MAVEN、jdk环境IDEA配置Terminal 命令行应用方法命令使用应用背景通过命令行对项目进行Git拉取代码,Maven打包,Java执行命令,一站化体验配置过程配置系统环境变量具体请看windows配置git,maven,jdk环境变量(待更)IDEA配置GIT、MAVEN、jdk环境IDEA配置JDKIDEA打开File—>Proje原创 2021-03-29 12:04:09 · 837 阅读 · 1 评论 -
MyBatis+MySQL批量UPDATE的三种实现方式
MyBatis+MySQL批量UPDATE的三种实现方式背景实现方式foreach标签实现trim 标签实现ON DUPLICATE KEY UPDATE实现性能对比技术选型附ON DUPLICATE KEY UPDATE实现原理背景 通常情况下,我们会遇到批量处理数据,对数据update的操作,如果数据量较大时在内存中进行for循环update,非常损耗性能,此时会尝试在数据库中对updateBatch操作。下面介绍三种批量修改的方法。实现方式fore原创 2021-03-26 15:05:57 · 3226 阅读 · 3 评论 -
解决时间格式导致的Hystrix circuit short-circuited and is OPEN问题
解决Hystrix circuit short-circuited and is OPEN问题问题描述解题思路&解题过程延申问题延申问题解题思路解题思考问题描述 使用Spring Cloud Fegin调用内部接口时报错:Hystrix circuit short-circuited and is OPEN(服务调用短路熔断)解题思路&解题过程 解题思路:该问题是由于服务之间Fegin接口调用,连续调用失败二十次以上导致的Hystri原创 2021-03-24 16:49:55 · 9017 阅读 · 0 评论 -
跟对人,原来java入门这么简单!
龙珠悟空,一个写故事的程序员《小白学java》第二章:初始java白月光,窥见java之美(一)序言:张爱玲在《红玫瑰与白玫瑰》中写道“也许每一个男子全都有过这样的两个女人,至少两个。娶了红玫瑰,久而久之,红的变了墙上的一抹蚊子血,白的还是"床前明月光";娶了白玫瑰,白的便是衣服上沾的一粒饭黏子,红的却是心口上一颗朱砂痣”。这大概就是人世最美也是最无奈的遗憾了吧,选择充满遗憾,但平淡才是生活,美好的大学和充满未知探险的java之路又何尝不是白月光和朱砂痣在我人生中的一次偶遇呢?PS:1...原创 2021-02-28 01:28:30 · 284 阅读 · 3 评论 -
什么?你还在花一两万学Java,快来看看小白学习java全路线吧
前言 java基础 java入门 数据类型与运算 控制语句 面向对象基础 面向对象进阶 数组 异常机制 常用类 容器 IO流 多线程 网络编程 XML 反射机制 前端编程 HTML5 CSS JavaScript Jquery 数据库 MySQL的安装和权限控制 MySQL的单表查询 MySQL的多表联查 MySQL的索引、约束、范式 MySQL的常见面试题 Web编程入门 JDBC Servle原创 2021-02-25 22:40:30 · 287 阅读 · 2 评论 -
eclipse创建执行SpringBoot项目安装STS步骤
由于最近在学习SpringBooot,用Eclipse创建SpringBoot项目比较不爽,听说STS插件能直接创建SpringBoot项目,就动手安装一下,希望能对像我一样的小白有所帮助。STS:官网 https://spring.io/tools/sts/上面有sts功能的详细描述,此处就做一下简介springTool Suite(sts)就是一个基于Ecli...原创 2019-04-25 13:08:52 · 593 阅读 · 0 评论 -
将外部引入的jar导入Maven版本库中【cmd命令】
引用外部jar包报错,第一步查看Maven仓库位置第二步,将jar包放入Maven仓库根目录第三步,再Maven仓库的磁盘目录下,运行命令(如我的在C盘)输入命令:如上图依次是jar位置,GIV三大坐标名称,类型jar原理是在Maven仓库中生成对应路径的pom文件:pom文件内容是:最后我们在项目pom里面将该GIV引入即可cmd命令导入...原创 2019-06-18 21:04:28 · 607 阅读 · 0 评论 -
slf4j网上资料整合+log4j2配置详解
日志技术框架一览JUL:JDK中的日志记录工具,也常称为JDKLog、jdk-logging。LOG4J1:一个具体的日志实现框架。LOG4J2:一个具体的日志实现框架,是LOG4J1的下一个版本。LOGBACK:一个具体的日志实现框架,但其性能更好。JCL:一个日志门面,提供统一的日志记录接口,也常称为commons-logging。SLF4J:一个日志门面,与JCL一样...转载 2019-12-25 10:47:14 · 608 阅读 · 0 评论