- 博客(18)
- 资源 (14)
- 收藏
- 关注
原创 专家给出答案:天天熬夜加班,也能长命百岁的办法。
请问专家天天熬夜加班,也能长命百岁的办法是什么?专家: 没有!!!!!!!惊不惊喜,意不意外!爱惜身体,别成为那个暴毙之人!!!!!!!!!!!!!!!!!https://blog.csdn.net/fengzongfu/article/list/2?...
2019-11-30 12:22:10 410 2
原创 高质量编程视频下载!
相信不管是小白还是大佬,都会需要不停的学习来提升自己。方式特别多,买书,看编程视频,看技术文档。各有各的选择。有的人喜欢文字类的小说,有的就喜欢视频类的电视剧。这里我就只介绍下编程视频相关的,因为我就比较喜欢看视频。特别是刚入门的时候。看着文档就头大。而且还不能提取到重点。所以即使是现在还是比较喜欢直接看视频特别是那些技术大佬及讲师类的视频。我目前主要还是看市面上比较信的过的培训...
2019-11-26 22:56:31 1698 3
翻译 如何判断一个对象是否存活?(或者GC对象的判定方法)?
这个问题,面试被问到的概率还是很大的。以下关于如何判断一个对象是否存活的回答,完全参照《深入理解Java虚拟机》一书,有需要的可以看书学习。以下是题目解析判断对象是否存活的算法包括: 引用计数算法 可达性分析算法 问题的回答就是通过引用计数算法或者可达性分析算法去判断一个对象是否存活,下面开始具体描述这两种算法。引用计数算法(Reference Countin...
2019-11-30 18:20:37 2402
翻译 Redis缓存雪崩、缓存击穿、缓存穿透和常见的几种缓存模式
一、缓存雪崩1)、什么是缓存雪崩?如果缓存集中在一段时间内失效,发生大量的缓存穿透,所有的查询都落在数据库上,造成了缓存雪崩由于原有缓存失效,新缓存未到期间所有原本应该访问缓存的请求都去查询数据库了,而对数据库CPU和内存造成巨大压力,严重的会造成数据库宕机2)、有什么解决方案来防止缓存雪崩?1)加锁排队mutex互斥锁解决,Redis的SETNX去set一个mutex k...
2019-11-25 22:53:03 166
翻译 Java中最大的数据结构:LinkedHashMap了解一下?
前言Map 家族数量众多,其中 HashMap 和 ConcurrentHashMap 用的最多,而 LinkedHashMap 似乎则是不怎么用的,但是他却有着顺序。两种,一种是添加顺序,一种是访问顺序。详情LinkedHashMap 继承了 HashMap。那么如果是你,你怎么实现这两个顺序呢?如果实现添加顺序的话,我们可以在该类中,增加一个链表,每个节点对应 hash 表中的...
2019-11-21 22:17:15 206
翻译 分页场景(limit,offset)为什么会慢?
从一个问题说起五年前在腾讯的时候,发现分页场景下,mysql请求速度非常慢。数据量只有10w的情况下,select xx from 单机大概2,3秒。我就问我师父为什么,他反问“索引场景,mysql中获得第n大的数,时间复杂度是多少?”答案的追寻确认场景假设status上面有索引。select * from table where status = xx limit 10 of...
2019-11-21 22:12:12 678
翻译 Java中的BigDecimal类你真的了解吗?
前言我们都知道浮点型变量在进行计算的时候会出现丢失精度的问题。如下一段代码:System.out.println(0.05+0.01);System.out.println(1.0-0.42);System.out.println(4.015*100);System.out.println(123.3/100);输出:0.0600000000000000...
2019-11-20 20:54:31 230
翻译 为什么你学不会递归?告别递归,谈谈我的经验
可能很多人在大一的时候,就已经接触了递归了,不过,我敢保证很多人初学者刚开始接触递归的时候,是一脸懵逼的,我当初也是,给我的感觉就是,递归太神奇了!可能也有一大部分人知道递归,也能看的懂递归,但在实际做题过程中,却不知道怎么使用,有时候还容易被递归给搞晕。也有好几个人来问我有没有快速掌握递归的捷径啊。说实话,哪来那么多捷径啊,不过,我还是想写一篇文章,谈谈我的一些经验,或许,能够给你带来一些帮...
2019-11-18 22:03:57 304
翻译 Mybatis:颠覆你心中对事务的理解
1.说到数据库事务,人们脑海里自然不自然的就会浮现出事务的四大特性、四大隔离级别、七大传播特性。四大还好说,问题是七大传播特性是哪儿来的?是Spring在当前线程内,处理多个数据库操作方法事务时所做的一种事务应用策略。事务本身并不存在什么传播特性,不要混淆事务本身和Spring的事务应用策略。(当然,找工作面试时,还是可以巧妙的描述传播特性的)2.一说到事务,人们可能又会想起create、be...
2019-11-18 21:56:39 124
翻译 Java : 对象不再使用时,为什么要赋值为null?
前言许多Java开发者都曾听说过“不使用的对象应手动赋值为null“这句话,而且好多开发者一直信奉着这句话;问其原因,大都是回答“有利于GC更早回收内存,减少内存占用”,但再往深入问就回答不出来了。鉴于网上有太多关于此问题的误导,本文将通过实例,深入JVM剖析“对象不再使用时赋值为null”这一操作存在的意义,供君参考。本文尽量不使用专业术语,但仍需要你对JVM有一些概念。示例代码...
2019-11-17 20:00:20 367
翻译 快速上手: SpringBoot自定义请求参数校验
最近在工作中遇到写一些API,这些API的请求参数非常多,嵌套也非常复杂,如果参数的校验代码全部都手动去实现,写起来真的非常痛苦。正好Spring轮子里面有一个Validation,这里记录一下怎么使用,以及怎么自定义它的返回结果。一、Bean Validation基本概念Bean Validation是Java中的一项标准,它通过一些注解表达了对实体的限制规则。通过提出了一些API和扩展...
2019-11-17 19:57:25 903
翻译 Mybatis大揭秘:plugin插件设计原理
大多数框架,都支持插件,用户可通过编写插件来自行扩展功能,Mybatis也不例外。我们从插件配置、插件编写、插件运行原理、插件注册与执行拦截的时机、初始化插件、分页插件的原理等六个方面展开阐述。1. 插件配置Mybatis的插件配置在configuration内部,初始化时,会读取这些插件,保存于Configuration对象的InterceptorChain中。<?xml...
2019-11-17 19:54:26 318
翻译 ArrayList集合为什么不能使用foreach增加、删除、修改元素
编程过程中常常需要使用到集合,而ArrayList也是我们常常使用的,但是最近在一次删除和增加中出现了一些问题,分享记录下。请看下面两段代码,哪段代码会报错呢,或者都成功呢。List<String>arrayList1=newArrayList<String>();arrayList1.add("1");arrayList1.add("2");for...
2019-11-17 19:51:54 928
翻译 Java:如何更优雅的处理空值?
导语在笔者几年的开发经验中,经常看到项目中存在到处空值判断的情况,这些判断,会让人觉得摸不着头绪,它的出现很有可能和当前的业务逻辑并没有关系。但它会让你很头疼。有时候,更可怕的是系统因为这些空值的情况,会抛出空指针异常,导致业务系统发生问题。此篇文章,我总结了几种关于空值的处理手法,希望对读者有帮助。业务中的空值场景存在一个UserSearchService用来提供用户查询...
2019-11-02 19:22:05 321
原创 Git分支,你会了吗
Git 是目前最流行的源代码管理工具。为规范开发,保持代码提交记录以及 git 分支结构清晰,方便后续维护,现规范 git 的相关操作。分支管理分支命名master 分支 master 为主分支,也是用于部署生产环境的分支,确保master分支稳定性 master 分支一般由develop以及hotfix分支合并,任何时间都不能直接修改代码...
2019-11-02 12:42:57 102
翻译 Java : 如何更优雅的设计异常
导语异常处理是程序开发中必不可少操作之一,但如何正确优雅的对异常进行处理确是一门学问,笔者根据自己的开发经验来谈一谈我是如何对异常进行处理的。由于本文只作一些经验之谈,不涉及到基础知识部分,如果读者对异常的概念还很模糊,请先查看基础知识。前文:Java:如何更优雅的处理空值?如何选择异常类型异常的类别正如我们所知道的,java中的异常的超类是java.lang.Throwabl...
2019-11-02 10:55:27 321
翻译 SpringBoot 发送邮件和附件(实用版)
基础知识什么是SMTP?SMTP全称为Simple Mail Transfer Protocol(简单邮件传输协议),它是一组用于从源地址到目的地址传输邮件的规范,通过它来控制邮件的中转方式。SMTP认证要求必须提供账号和密码才能登陆服务器,其设计目的在于避免用户受到垃圾邮件的侵扰。什么是IMAP?IMAP全称为Internet Message Access Protocol(互联...
2019-11-02 10:47:46 541
翻译 程序员需要知道的内存知识(简约却不简单)
我们都知道,计算机是处理数据的设备,而数据的主要存储位置就是磁盘和内存,并且对于程序员来讲,CPU 和内存是我们必须了解的两个物理结构,它是你通向高阶程序员很重要的桥梁,那么本篇文章我们就来介绍一下基本的内存知识。什么是内存内存(Memory)是计算机中最重要的部件之一,它是程序与CPU进行沟通的桥梁。计算机中所有程序的运行都是在内存中进行的,因此内存对计算机的影响非常大,内存又被称为主存...
2019-11-02 10:42:48 837
it资源JAVA前端PYTHON人工智能登.docx
2019-07-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人