自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 Spring 如何解决循环依赖问题?

在关于Spring的面试中,我们经常会被问到一个问题,就是Spring是如何解决循环依赖的问题的。 这个问题算是关于Spring的一个高频面试题,因为如果不刻意研读,相信即使读过源码,面试者也不一定能够一下子思考出个中奥秘。 本文主要针对这个问题,从源码的角度对其实现原理进行讲解。 1 ...

2019-11-26 13:58:00 53 0

转载 Spring 常犯的十大错误,打死都不要犯!

1. 错误一:太过关注底层 我们正在解决这个常见错误,是因为 “非我所创” 综合症在软件开发领域很是常见。症状包括经常重写一些常见的代码,很多开发人员都有这种症状。 虽然理解特定库的内部结构及其实现,在很大程度上是好的并且很有必要的(也可以是一个很好的学习过程),但作为软件工程师,不断地处理相同...

2019-11-26 13:53:04 36 0

原创 史上最简单的 MySQL 教程

前 言 数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量...

2019-11-26 10:42:56 104 0

原创 从入门到放弃?零基础学java并不难,小白快速入门秘籍

很多同学在学Java前都会问这个问题:Java到底难不难学?本文小编就和大家唠唠这个事。 74%的人认为不难 有人曾经做过统计,询问500多已经参加工作的 Java开发者,“学习java是否困难?”有74%的人认为不难,说难学的仅占26%,那么这74%全部都是聪明人,智商比普通人高吗?显然不是的...

2019-11-26 10:36:42 41 0

转载 【Java基础内容总结】Java基础看这个就足够了

一、创建第一个工程 打开Eclipse,创建HelloWorld程序 打开Eclipse选择菜单 File --> New --> Java Project新建工程 填写工程名称为HelloWorld 右键工程名创建类 输入代码 public class HelloWorld ...

2019-11-25 10:54:38 30 0

原创 2019年IT人必看技能需求排名,Java第二,Python第三,第一竟是它

2019年IT人才必备十大技能,你知道吗?分别是云计算、HTML前端、Python、人工智能、大数据、区块链、网络安全、unity游戏开发、Java、全链路UI设计。在竞争激烈的今天,掌握紧俏技术,才是立于不败之地的制胜法宝。我国计算机行业岗位缺口巨大,北上广深等一线城市更是开出巨额薪资以此招揽优...

2019-11-22 10:11:37 387 0

原创 消灭 Java 代码的“坏味道”

阿里妹导读:代码中的"坏味道",如"私欲"如"灰尘",每天都在增加,一日不去清除,便会越累越多。如果用功去清除这些"坏味道",不仅能提高自己的编码水平,也能使代码变得"精白无一毫不彻"。这里,一直从...

2019-11-21 15:55:59 17 0

原创 设计模式(Java语言)- 简单工厂模式

简单工厂模式又称为静态工厂模式,属于设计模式中的创建型模式。简单工厂模式通过对外提供一个静态方法来统一为类创建实例。简单工厂模式的目的是实现类与类之间解耦,其次是客户端不需要知道这个对象是如何被创建出来的,只需要调用简单工厂模式的方法来统一创建就可以了,从而明确了各个类的职责。   一、创建简单...

2019-11-21 09:51:20 20 0

原创 Java八大优势,这就是你选择它的理由!

如今互联网蓬勃发展,继Java、C++、php后也不断涌现出了许多新的编程语言,例如Python、Google Go、Apple's Swift和Rust。 有许多可行且可靠的编程语言供你选择,每种语言都有各自的优点和缺点。特别是Python,因为简单易学的优势,大有后来居...

2019-11-20 14:30:15 70 0

转载 2019 Java发展趋势报告:Java老矣,Java正年轻

Java 已经是一门具有 20 多年历史的老牌语言,雄霸编程语言排行榜榜首多年的 Java 目前也面临着越来越大来自新兴语言的挑战和使用者们的批评。InfoQ 英文站的编辑们按照技术采用生命周期的理论对 Java 在 2019 的发展趋势做了分析,Java 老矣,Java 却仍年轻。 本文要点 近...

2019-11-20 14:23:01 50 0

转载 Java 9 逆天的十大新特性

在介绍 Java 9 之前,我们先来看看 Java 成立到现在的所有版本。 1990 年初,最初被命名为 Oak; 1995 年 5 月 23 日,Java 语言诞生; 1996 年 1 月,第一个 JDK-JDK 1.0 诞生; 1996 年 4 月,10 个最主要的操作系统供应商申明将在其产品...

2019-11-20 14:11:36 20 0

原创 Java 性能优化:教你提高代码运行的效率

作者:五月的仓颉 原文:cnblogs.com/xrq730/p/4865416.html 来源:博客园 我认为,代码优化的最重要的作用应该是:避免未知的错误。在代码上线运行的过程中,往往会出现很多我们意想不到的错误,因为线上环境和开发环境是非常不同的,错误定位到最后往往是一个非常小的原因。 然而...

2019-10-29 18:41:26 46 0

原创 MySQL 性能优化之骨灰级,高阶神技

作者 | 惨绿少年 链接 | https://clsn.io/clsn/lx287.html 一、前言 MySQL调优对于很多程序员而言,都是一个非常棘手的问题,多数情况都是因为对数据库出现问题的情况和处理思路不清晰。在进行MySQL的优化之前必须要了解的就是MySQL的查询过程,很多的查询优化...

2019-10-24 18:18:23 129 0

原创 Mybatis OGNL导致的并发安全问题

Mybatis是一个开源的轻量级半自动化ORM框架,使得面向对象应用程序与关系数据库的映射变得更加容易。MyBatis使用xml描述符或注解将对象与存储过程或SQL语句相结合。Mybatis最大优点是应用程序与Sql进行解耦,sql语句是写在Xml Mapper文件中。 OGNL表达式在Mybat...

2019-10-23 16:53:43 197 0

转载 编写高性能Java代码的最佳实践

作者:Eugen Paraschiv 翻译:雁惊寒 原文:https://dzone.com 声明:本文为二次转载,侵删 摘要:本文首先介绍了负载测试、基于APM工具的应用程序和服务器监控,随后介绍了编写高性能Java代码的一些最佳实践。最后研究了JVM特定的调优技巧、数据库端的优化和架构方面的...

2019-10-11 14:33:41 18 0

原创 收藏:问题汇总,如何反问面试官?

反向面试 大部分翻译自:https://github.com/viraptor/reverse-interview ,亦有其他网友补充。 下面列表里的问题对于参加技术面试的人来说可能有些用。列表里的问题并不一定适用于某个特定的职位或者工作类型, 也没有排序 最开始的时候这只是我自己的问题列表, 但...

2019-10-08 15:28:11 423 0

原创 MySQL大表优化方案

当MySQL单表记录数过大时,增删改查性能都会急剧下降,可以参考以下步骤来优化: 单表优化 除非单表数据未来会一直不断上涨,否则不要一开始就考虑拆分,拆分会带来逻辑、部署、运维的各种复杂度,一般以整型值为主的表在千万级以下,字符串为主的表在五百万以下是没有太大问题的。而事实上很多时候MySQL单表...

2019-09-29 18:11:45 17 0

原创 “你对薪资要求是多少?” 面试前做好这些细节,更容易被录取

周末的时候,我跟那位资深HR在一起喝茶。茶过三泡后,我好奇的问他,这么多年来面试了那么多人,有没有碰到什么比较奇葩的面试者? 他笑了笑说,那些奇葩心态的人压根就不会来参加面试的,自然也就不碰到那种特别奇葩的人。但是,有一大部分面试者,虽然面试前做了功课,但是有些重要的细节却没有做到位,结果还是被...

2019-09-29 17:01:37 129 0

原创 MySQL-分布式架构-MyCAT

1、MyCAT基础架构准备 MyCAT基础架构图 1.1 MyCAT基础架构准备 1.1.1 环境准备: 两台虚拟机 db01(10.0.0.51) db02(10.0.0.52) 每台创建四个mysql实例:3307 3308 3309 3310 1.1.2 删除历史环境: pkill mysq...

2019-09-29 15:46:20 33 0

原创 Redis 21问,你接得住不?

原文:https://www.cnblogs.com/Young111/p/11518346.html 作者:菜鸟小于 来源:博客园 1.什么是redis? Redis 是一个基于内存的高性能key-value数据库。 2.Reids的特点 Redis本质上是一个Key-Value类型的内存数据...

2019-09-26 16:00:32 36 0

原创 高频面试题:Spring 如何解决循环依赖?

在关于Spring的面试中,我们经常会被问到一个问题:Spring是如何解决循环依赖的问题的。 这个问题算是关于Spring的一个高频面试题,因为如果不刻意研读,相信即使读过源码,面试者也不一定能够一下子思考出个中奥秘。 本文主要针对这个问题,从源码的角度对其实现原理进行讲解。 过程演示 关于S...

2019-09-26 14:12:38 69 0

原创 Java实现QQ登录和微博登录

原文:https://mp.weixin.qq.com/s/NBWuZTibK2vksUynRi1cTQ 作者:我是小茗同学 来源:微信公众号 1. 前言 这里是引用 个人网站最近增加了评论功能,为了方便用户不用注册就可以评论,对接了 QQ 和微博这 2 大常用软件的一键登录,总的来说其...

2019-09-26 11:48:48 79 0

原创 【面试】我是如何在面试别人Spring事务时“套路”对方的

原文:https://mp.weixin.qq.com/s/rHlfKmughNeI8-gafcW8VQ 作者:李新杰 来源:编程新说 与这个面试者聊了一会儿,咦,发现他水平还可以,我内心有点儿喜出望外,终于遇到一个“合格”的“陪聊者”了,我要用Spring事务“好好套路”他一下。 我:你在开发...

2019-09-26 10:50:55 28 0

原创 Java代码优化:使用构造函数和使用一个setter的效率差别

原文:https://zhuanlan.zhihu.com/p/84203355 来源:今日头条 作者 :java架构师cat 声明:本文为二次转载,原文不可查 在对Java代码进行优化的时候,想方设法的要提高整体的效率,使用JProfiler看代码的时间占比,然后,看看哪些部分是可以优化的,...

2019-09-26 09:56:22 32 0

原创 一千行MySQL命令

原文:https://shockerli.net/post/1000-line-mysql-note/ 作者:格物 声明:对本文做了简答排版,新增了目录,侵删 非常不错的总结,强烈建议保存下来,需要的时候看一看。 目录 基本操作 数据库操作 表的操作 数据操作 字符集编码 数...

2019-09-25 15:17:11 52 0

原创 关于 Docker 入门,这一篇就够了

原文:https://mp.weixin.qq.com/s/bCDCiAMwabsH0upKBNVzLQ 作者:郑璐璐 来源:微信公众号,java极客技术 关于 Docker 的一些概念和操作,我争取这一篇博客说完。下面正文开始。 Docker 镜像与容器 说到 Docker ,你会常遇到两个内...

2019-09-24 16:48:59 32 0

转载 Java工程师能力评估,看看你能做对几道?

1.下面有关JVM内存,说法错误的是? 程序计数器是一个比较小的内存区域,用于指示当前线程所执行的字节码执行到了第几行,是线程隔离的 虚拟机栈描述的是Java方法执行的内存模型,用于存储局部变量,操作数栈,动态链接,方法出口等信息,是线程隔离的 方法区用于存储JVM加载的类信息、常量、静态变...

2019-09-23 18:25:12 26 0

原创 面试BAT前先搞定这18道MySQL经典面试题(含答案解析)

一、MySQL的复制原理以及流程 (1)复制基本原理流程 1. 主:binlog线程——记录下所有改变了数据库数据的语句,放进master上的binlog中; 2. 从:io线程——在使用start slave 之后,负责从master上拉取 binlog 内容,放进 自己的relay lo...

2019-09-20 18:21:07 36 0

原创 一文带你掌握Lifecycle的原理

1.Lifecycle的生命周期状态事件和状态 Lifecycle使用两个枚举来跟踪其关联组件的生命周期状态,这两个枚举分别是Event和State。 State指的是Lifecycle的生命周期所处的状态。 Event代表Lifecycle生命周期对应的事件,这些事件会映射到Activity和F...

2019-09-20 17:19:44 141 0

原创 这几个错误的SQL写法,你不会还在用吧?

1、LIMIT 语句 分页查询是最常用的场景之一,但也通常也是最容易出问题的地方。比如对于下面简单的语句,一般 DBA 想到的办法是在 type, name, create_time 字段上加组合索引。这样条件排序都能有效的利用到索引,性能迅速提升。 SELECT * FROM operatio...

2019-09-20 15:29:00 65 0

原创 删库别急着跑路,这几步神恢复!

日常工作中,总会有因手抖、写错条件、写错表名、错连生产库造成的误删库表和数据的事情发生,那么,如果连数据都恢复不了,还要什么 DBA。 1.前言 数据恢复的前提的做好备份,且开启 binlog, 格式为 row。如果没有备份文件,那么删掉库表后就真的删掉了,lsof 中还有记录的话,有可能恢复...

2019-09-20 14:48:27 18 0

原创 为什么ConcurrentHashMap的读操作不需要加锁?

我们知道,ConcurrentHashmap(1.8)这个并发集合框架是线程安全的,当你看到源码的get操作时,会发现get操作全程是没有加任何锁的,这也是这篇博文讨论的问题——为什么它不需要加锁呢? ConcurrentHashMap的简介 我想有基础的同学知道在jdk1.7中是采用Segmen...

2019-09-20 11:53:06 19 0

原创 GoF之装饰模式遇见王者荣耀、刺激战场

装饰(Decorator Pattern)模式 在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。就增加功能来说,装饰模式比生成子类更为灵活。 使用场景: 需要扩展一个类的功能,或给一个类添加附加职责。 需要动态的给一个对...

2019-09-19 14:30:53 29 0

原创 IntelliJ IDEA 快捷键终极大全,速度收藏

自动代码 常用的有fori/sout/psvm+Tab即可生成循环、System.out、main方法等boilerplate样板代码 。 例如要输入for(User user : users)只需输入user.for+Tab ; 再比如,要输入Date birthday = user.getBi...

2019-09-18 18:22:08 36 0

原创 Redis最常被问到知识点总结

1.什么是redis? Redis 是一个基于内存的高性能key-value数据库。 2.Reids的特点 Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。因为是...

2019-09-18 17:54:21 18 0

原创 如何优雅的导出Excel

前言 公司项目最近有一个需要:报表导出。整个系统下来,起码超过一百张报表需要导出。这个时候如何优雅的实现报表导出,释放生产力就显得很重要了。下面主要给大家分享一下该工具类的使用方法与实现思路。 实现的功能点 对于每个报表都相同的操作,我们很自然的会抽离出来,这个很简单。而最重要的是:如何把那些每个...

2019-09-17 17:49:41 26 0

原创 到底如何设置 Java 线程池的大小?

在我们日常业务开发过程中,或多或少都会用到并发的功能。那么在用到并发功能的过程中,就肯定会碰到下面这个问题 并发线程池到底设置多大呢? 通常有点年纪的程序员或许都听说这样一个说法 (其中 N 代表 CPU 的个数) CPU 密集型应用,线程池大小设置为 N + 1 IO 密集型应用,线程池大小设置...

2019-09-17 16:38:00 26 0

原创 这代码写的,狗屎一样 (下)

上文背景 标题是交流群中读者对接手代码的吐槽,代码质量对于系统维护、提升系统生命力非常重要,上文已经总结了一套与Java函数相关的编码规则,旨在给广大Java程序员一些编码建议,有助于大家编写出更优雅、更高质、更高效的代码。这篇文章继续分享编码规则,如果有不错的建议可以留言区留言。 上文链接:这代...

2019-09-17 15:46:42 73 0

原创 消灭 Java 代码的“坏味道”

导读 明代王阳明先生在《传习录》谈为学之道时说: 私欲日生,如地上尘,一日不扫,便又有一层。着实用功,便见道无终穷,愈探愈深,必使精白无一毫不彻方可。 代码中的"坏味道",如"私欲"如"灰尘",每天都在增加,一日不去清除,...

2019-09-16 18:35:48 70 1

原创 这样讲 SpringBoot 自动配置原理,你应该能明白了吧

前言 小伙伴们是否想起曾经被 SSM 整合支配的恐惧?相信很多小伙伴都是有过这样的经历的,一大堆配置问题,各种排除扫描,导入一个新的依赖又得添加新的配置。自从有了 SpringBoot 之后,咱们就起飞了!各种零配置开箱即用,而我们之所以开发起来能够这么爽,自动配置的功劳少不了,今天我们就一起来讨...

2019-09-16 18:25:45 37 0

提示
确定要删除当前文章?
取消 删除