自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 资源 (3)
  • 收藏
  • 关注

原创 Java Atomic总结

所谓 Atomic,翻译过来就是原子。原子被认为是操作中最小的单位,一段代码如果是原子的,则表示这段代码在执行过程中,要么执行成功,要么执行失败。原子操作一般都是底层通过 CPU 的指令来实现。而 atomic 包下的这些类,则可以让我们在多线程环境下,通过一种无锁的原子操作来实现线程安全。atomic 包下的类基本上都是借助 Unsafe 类,通过 CAS 操作来封装实现的。Unsafe 这...

2019-11-29 22:06:45 478

原创 程序员现在还用Select *嘛

应用程序慢如牛,原因多多,可能是网络的原因、可能是系统架构的原因,还有可能是数据库的原因。那么如何提高数据库SQL语句执行速度呢?有人会说性能调优是数据库管理员(DBA)的事,然而性能调优跟程序员们也有莫大的关系。程序中嵌入的一行行的SQL语句,如果使用了一些优化小技巧,定能达到事半功倍的效果。技巧1 比较运算符能用 “=”就不用“<>”“=”增加了索引的使用...

2019-11-28 21:56:55 94

原创 2017→2019 梗是怎么回事?Java 9→ Java 13的变化

距离 2019 年结束,只剩下 33天了。你做好准备迎接 2020 年了吗?一到年底,人就特别容易陷入回忆和比较之中,比如说这几天, 的对比挑战就火了!这个话题登上了微博的热搜榜,也刷爆了朋友圈,人们纷纷晒出自己2017和2019的照片对比。作为一个技术宅,我也做了一个对比:2017 年 9 月 21 日,Java 9 正式发布,并且在2017年8月,JCP...

2019-11-28 16:40:06 268

原创 Java知识点全面总结

总结内容过长,希望读者可以看到最后,希望对你们有帮助,小编在文末准备了彩蛋希望喜欢!!索引的实现方式1、B+树我们经常听到B+树就是这个概念,用这个树的目的和红黑树差不多,也是为了尽量保持树的平衡,当然红黑树是二叉树,但B+树就不是二叉树了,节点下面可以有多个子节点,数据库开发商会设置子节点数的一个最大值,这个值不会太小,所以B+树一般来说比较矮胖,而红黑树就比较瘦高了。关于B+树的插...

2019-11-27 22:50:59 153

原创 提升Java反射效率,解密原因

文章内容过长,小编在文末准备了彩蛋,希望读者喜欢!!!预备知识了解 Java 反射基本用法看完本文可以达到什么程度了解 Java 反射原理及 Java 反射效率低的原因文章概览我们在 Java 开发中,难免会接触到反射,而在一些框架中,反射的运用更是常见。我相信,每次提到反射,大家的第一反应一定是反射效率低,尽量少使用。但是反射的效率到底低多少?反射效率低的...

2019-11-27 22:08:51 202

原创 Docker基础与实战

docker 基础什么是DockerDocker使用Google公司推出的Go 语言进行开发实现,基于Linux内核的cgroup,namespace,以及AUFS类的Union FS等技术,对进程进行封装隔离,属于操作系统层面的虚拟化技术。由于隔离的进程独立于宿主和其它的隔离的进程,因此也称其为容器。Docker在容器的基础上,进行了进一步的封装,从文件系...

2019-11-26 21:25:12 133

原创 java可以对map的key排序吗

Map是键值对的集合接口,它的实现类主要包括:HashMap,TreeMap,Hashtable以及LinkedHashMap等。TreeMap:基于红黑树(Red-Black tree)的 NavigableMap 实现,该映射根据其键的自然顺序进行排序,或者根据创建映射时提供的 Comparator 进行排序,具体取决于使用的构造方法。Map.Entry返回Collections视图。...

2019-11-26 17:34:38 493

原创 旧文:年终盘点:Java今年的大事记都在这里!

在2017年即将结束之际,我们最好停下脚步来看看过去十二个月Java的发展情况。本文,笔者盘点了IT168企业级一年来对Java的跟踪报道。这一年对Java来说是不容易的,从Java 9一再延期备受争议,再到拿下所有权威排行榜的前三名,Java今年发生了太多事情,饱受了很多争论。image.png风平浪静的一月2017年开始之际,Jeff Luszcz解释了使用“免费”Java...

2019-11-25 22:07:57 214

原创 温故而知新:5个最难回答的Java面试题

这是我收集的5个最棘手的Java面试问题列表。这些问题主要来自 Java 核心部分 ,不涉及 Java EE 相关问题。你可能知道这些棘手的 Java 问题的答案,或者觉得这些不足以挑战你的 Java 知识,但这些问题都是容易在各种 Java 面试中被问到的,而且包括我的朋友和同事在内的许多程序员都觉得很难回答。一.为什么等待和通知是在 Object 类而不是 Thread 中声明的?一个...

2019-11-25 22:03:44 224

原创 SpringCloud面试必问,还不会你就out了

目录一、业务场景介绍二、Spring Cloud核心组件:Eureka三、Spring Cloud核心组件:Feign四、Spring Cloud核心组件:Ribbon五、Spring Cloud核心组件:Hystrix六、Spring Cloud核心组件:Zuul七、总结概述毫无疑问,Spring Cloud是目前微服务架构领域的翘楚,无数的书籍博客都在讲解这...

2019-11-25 21:58:18 515

原创 温故而知新:高级 Java 必须突破的 10 个知识点!

工作多少年了,还在传统公司写if / for等简单的代码?那你就真的要被社会淘汰了,工作多年其实你与初级工程师又有多少区别呢?那么作为一个高级Java攻城狮需要突破哪些知识点呢?1、Java基础技术体系、JVM内存分配、垃圾回收、类装载机制、性能优化、反射机制、多线程、网络编程、常用数据结构和相关算法。2、对面向对象的软件开发思想有清晰的认识、熟悉掌握常用的设计模式。...

2019-11-24 19:39:00 106

原创 分布式系统设计模式

概述这篇文章是对于【分布式系统设计模式】的个人理解和部分翻译。文章探讨了关于《基于容器化软件组件的微服务架构》。其实容器化编程的发展路径和面向对象编程有异曲同工之妙--都是将复杂的系统进行抽象、解耦,然后通过一定的方式组合起来。既然我们要组合,肯定会有面对不同情况的不同组合方式。所以,这些不同的组合方式也会有几个常用的固定模式。而这个正式我们要探讨的--分布式系统设计模式。...

2019-11-24 17:10:17 404

原创 插曲:Kafka的集群部署实践及运维相关

前言上一篇 Kafka 的文章 --- 插曲:大白话带你认识Kafka 中我们应该已经了解了一些关于基础角色和集群架构相关的问题,这时候我们应该很想了解一下如何构建生产中的Kafka集群或者一些相关的运维工具,所以就应运而生了下文,配图基本没有,一、Kafka的生产集群部署1.1 方案背景假设每天集群需要承载10亿数据。一天24小时,晚上12点到凌晨8点几乎没多少数据。使用二八...

2019-11-22 22:32:10 279

原创 Linux性能分析

生产环境服务器变慢,诊断思路和性能评估整机:top代码public class JavaDemo2 { public static void main(String[] args) { while (true){ System.out.println(new java.util.Random().nextInt(77778888));...

2019-11-22 20:55:06 889

原创 这些java面试题都不会,凭什么拿高薪?

1. ArrayList 和 Vector 的区别  ArrayList和Vector底层实现原理都是一样得,都是使用数组方式存储数据  Vector是线程安全的,但是性能比ArrayList要低。  ArrayList,Vector主要区别为以下几点:   (1):Vector是线程安全的,源码中有很多的synchronized可以看出,而ArrayList不是。导致Vector...

2019-11-19 21:59:03 170

原创 Docker 构建脚本 Dockerfile 指令全解析

文末有彩蛋,看到最后哦!!1. 前言Dockerfile是用来构建自定义Docker镜像的文本文档。我们通过docker build 命令用于从Dockerfile文件构建镜像。 如果你要构建自定义镜像,Dockerfile是你必须学会的技能之一。2. Dockerfile 的基本结构Dockerfile一般分为:基础镜像、镜像元信息、镜像操作指令和容器启动时...

2019-11-19 17:56:08 106

原创 全面Java程序线上故障排查

文章内容过长,望读者见谅,小编在文末准备了彩蛋目录这篇文章是在公司做了不少的线上Java服务故障排查和优化之后的一个总结,可以作为一个工具清单,在分析问题的时候需要有整体思路:全局观,先从系统层面入手,大致定位方向(内存,cpu,磁盘,网络),然后再去分析具体的进程。一、Linux内存和cpu内存和cpu问题是出问题最多的一个点,因为有些命令如top同时可以观察到内存...

2019-11-19 17:07:50 1000

原创 Docker 构建脚本 Dockerfile 指令全解析

文末有彩蛋,看到最后哦!!1. 前言Dockerfile是用来构建自定义Docker镜像的文本文档。我们通过docker build 命令用于从Dockerfile文件构建镜像。 如果你要构建自定义镜像,Dockerfile是你必须学会的技能之一。2. Dockerfile 的基本结构Dockerfile一般分为:基础镜像、镜像元信息、镜像操作指令和容器启动时...

2019-11-18 22:23:58 159

原创 插曲:大白话带你认识Kafka

本文内容过长,文末小编准备了彩蛋!希望读者喜欢!前言应大部分的小伙伴的要求,在Yarn之前先来一个kafka的小插曲,轻松愉快。一、Kafka基础消息系统的作用应该大部份小伙伴都清楚,用机油装箱举个例子所以消息系统就是如上图我们所说的仓库,能在中间过程作为缓存,并且实现解耦合的作用。引入一个场景,我们知道中国移动,中国联通,中国电信的日志处理,是交给外包去做大...

2019-11-18 22:00:28 877 2

原创 Java 中常见的几个陷阱,你没有遇到几个?

文章内容过长,文末有彩蛋!希望大家多多关注java 中有很多,新手经常遇到的陷阱,本文主要包含:自动装箱与拆箱;不可变的String;内存泄漏;自增类型使用;使用 “==”进行对象比较;double 类型计算概述java 中有很多,新手经常遇到的陷阱,本文主要包含自动装箱与拆箱 不可变的String 内存泄漏 自增类型使用 使用 “==”进行对象比较 double 类...

2019-11-16 21:00:30 105

原创 你真的了解Jvm加载class文件吗?

文章内容过长,文末有彩蛋!希望大家多多关注在面试java工程师的时候,这道题经常被问到,故需特别注意。认真阅读本文后,方可做到心中有数,面试谈笑风生。1,JVM简介(简单了解) JVM 全称是Java Virtual Machine ,Java 虚拟机,也就是在计算机上再虚拟一个计算机,这和我们使用 VMWare不一样,那个虚拟的东西你是可以看到的,这个JVM...

2019-11-16 20:44:49 351

原创 聊一聊 SpringBoot 中 FatJar 启动原理

文章内容过长,文末有彩蛋!希望大家多多关注FatJar 解压之后的文件目录从 Spring 官网 或者通过 Idea 创建一个新的 SpringBoot 工程,方便起见,建议什么依赖都不加,默认带入的空的 SpringBoot 工程即可。通过 maven 命令进行打包,打包成功之后得到的构建产物截图如下:在前面的文章中有提到,jar 包是zip 包的一种变种,...

2019-11-16 20:31:15 2185

原创 一份无法拒绝的《Spring技术内幕》文档

由于细节内容太过于庞大,所以没法全部展示,希望理解。下面每个内容点都是有更加详细内容分析的。 Ps:最后文末还有大彩蛋本书共分为三个部分:第一部分 Spring 核心实现篇第二部分 Spring 组件实现篇第三部分 Spring 应用篇第一章 准备源代码环境第二章 IoC容器的实现第三章 Spring AOP的实现...

2019-11-14 22:14:59 159

原创 Mysql事务

事务定义一个事务会涉及大量的cpu操作和IO操作,这些操作会被打包成一个执行单元,要么同时完成,要么同时都不完成。事务是一组原子性的sql命令或者说是一个独立的工作单元,如果其中任何一条sql语句因为崩溃或者其他原因执行失败,那么该组所有的sql语句都不会执行。如果没有显示启动事务,数据库会根据autocommit的值,默认每条sql操作都会自动提交。事务的特性ACID原子性(A)...

2019-11-14 21:04:35 213

原创 不吹不黑,这个算法,你肯定不会

我们常用缓存提升数据查询速度,由于缓存容量有限,当缓存容量到达上限,就需要删除部分数据挪出空间,这样新数据才可以添加进来。缓存数据不能随机删除,一般情况下我们需要根据某种算法删除缓存数据。常用淘汰算法有 LRU,LFU,FIFO,这篇文章我们聊聊 LRU 算法01、前言我们常用缓存提升数据查询速度,由于缓存容量有限,当缓存容量到达上限,就需要删除部分数据挪出空间,这样新数据才可以添加进来。...

2019-11-13 14:36:00 75

原创 阿里大神教你:SpringCloud Ribbon带你从0到1

一、Ribbon在微服务中的作用1.什么是Ribbon​ 1.Ribbon是一个基于HTTP和TCP的客户端负载均衡工具,它是基于Netflix Ribbon实现的​ 2.它不像Spring Cloud服务注册中心、配置中心、API网关那样独立部署,但是它几乎存在于每一个Spring Cloud微服务中。包括Feign提供的声明式服务调用也是基于Ribbon实现的。​ 3.Rib...

2019-11-11 21:56:40 137

原创 架构实战篇:Spring、SpringBoot、SpringCloud、SpringMVC

Spring框架自诞生以来一直备受开发者青睐,今天在这里分享的是一套Spring面试专题集合。其中包括了Spring、SpringBoot、SpringCloud、SpringMVC四个面试专题文档,都是经过BAT面试实战精选过的重点内容。需要的朋友帮忙转发一下,个人主页有完整面试文档的领取方式Spring面试专题SpringBoot面试专题SpringClou...

2019-11-11 21:44:28 237

原创 为什么阿里巴巴要禁用Executors创建线程池?

写在前面首先感谢大家在盖楼的间隙阅读本篇文章,通过阅读本篇文章你将了解到:线程池的定义 Executors创建线程池的几种方式 ThreadPoolExecutor对象 线程池执行任务逻辑和线程池参数的关系 Executors创建返回ThreadPoolExecutor对象 OOM异常测试 如何定义线程池参数如果只想知道原因可以直接拉到总结那线程池的定义管理一组工作线...

2019-11-10 13:41:34 117

原创 带你了解阿里体系,阶层职位曝光

阿里是如何建立强大并领先的管理体系?P 和 M 序列的划分阿里的等级,简单的来说可以认为是 P 序列和 M 序列。因为阿里巴巴是从B2B发家的,那时候需要管理大量的销售,所以建立了强大并且领先的管理体系,这就是 M 序列。随着技术的重要性不断的提高,目前 M 序列已经不太对中下层员工开放了,所以一般都是走P 序列,也就是“技术”路线。这里的技术是泛技术、专业能力,不是指计算机...

2019-11-10 13:41:15 3053

原创 Redis基础你掌握多少了?来查漏补缺?

Redis 是什么Redis 是 开源,内存 中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。它支持多种类型的数据结构,如 字符串strings, 散列 hashes, 列表 lists, 集合 sets, 有序集合 sorted sets 与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径查询。Redis 还内置了 复制...

2019-11-08 17:29:04 151

原创 java 多线程里面经常提到原子性,那原子性到底是什么呢

上次主要说了一个结论就是volatile,线程安全可见性的问题,大部分情况下可见性都不需要管理的,但是多线程编程的代码中,我们会使用到volatile关键字,通过volatile关键字解决可见性问题,一个线程对共享变量的修改,能够及时的被其他线程看到。只要加了volatile关键字,所有对变量的读取立刻进行同步。volatile关键字的用途:禁止缓存;相关的变量不做重排序。...

2019-11-08 15:14:22 1053

原创 JavaScript 中的位运算和权限设计

1. 内容概要 2. JavaScript 位运算 2.1. Number 2.2. 位运算 3. 位运算在权限系统中的使用 3.1. 添加权限 3.2. 校验权限 3.3. 删除权限 4. 局限性和解决办法 5. 适用场景和问题 6. 其他方案1. 内容概要本文主要讨论以下两个问题:JavaScript 的位运算:先简单回顾下位运算,平时用的少,相信不...

2019-11-07 20:45:13 415

原创 一道网红面试题(腾讯、百度面试中都出现过)

在腾讯和百度的面试中,出现了这样一道面试题,,被大家亲切的称呼为网红面试题,这道面试题就是。['1', '2', '3'].map(parseInt)的输出结果是什么?['1', '2', '3'].fliter(parseInt)的输出结果是什么? 这个面试题,面试官可能不仅仅需要你说出他的结果,还需要你知道为什么会出现这样的结果。一、关键语法1、parseInt2、p...

2019-11-07 13:48:58 398

原创 Spring Cloud Security:Oauth2结合JWT使用

摘要Spring Cloud Security 为构建安全的SpringBoot应用提供了一系列解决方案,结合Oauth2还可以实现更多功能,比如使用JWT令牌存储信息,刷新令牌功能,本文将对其结合JWT使用进行详细介绍。JWT简介JWT是JSON WEB TOKEN的缩写,它是基于 RFC 7519 标准定义的一种可以安全传输的的JSON对象,由于使用了数字签名,所以是可信任和安全...

2019-11-06 22:59:49 719

原创 分享一个有趣的shell脚本--单词及字母去重排序案例

概述今天主要分享一个用shell脚本来实现单词及字母去重排序案例,下面一起来看下吧~需求1、按单词出现频率降序排序!2、按字母出现频率降序排序!相关文本:the squid project provides a number ofresources to assist users design implement and support squid installatio...

2019-11-05 20:44:10 373

原创 图解Redis RDB持久化、AOF持久化

1.持久化1.1 持久化简介持久化(Persistence),持久化是将程序数据在持久状态和瞬时状态间转换的机制,即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。1.2 redis持久化redis为内存数据库,为了防止服务器宕机以及服务器进程退出后,服务器数据丢失,Redis提供了持久化功能,即将Redis中内存数据持久化到磁盘中。Redis 提供了不同...

2019-11-05 16:19:25 291

原创 DocKer实战书籍,阿里架构师精细整理

《Docker实战》的宗旨是向开发人员、系统管理员和混合技能的其他计算机用户,介绍Docker项目和Linux容器的概念。Docker和Linux都是开源的项目,有丰富的在线文档,.但无论如何,入门仍是一项艰巨的任务。Docker是有史以来增长最快的开源项目之一,在其周围的生态系统也是以类似的速度不断发展。由于这些原因,本书的重点完全在于Docker 的工具集。这一范围限定不仅能使内容选材更精准...

2019-11-03 21:40:02 540

原创 Java中异常处理的实践

Java中的异常处理不是一个简单的主题。初学者发现它很难理解,甚至有经验的开发者也可以花几个小时讨论如何以及应该抛出或处理哪些异常。这就是为什么大多数开发团队都有自己的一套如何使用它们的规则。如果你是一个团队的新手,你可能会惊讶这些规则与你之前使用的规则有多么不同。尽管如此,大多数团队都使用了几种最佳实践。以下是帮助你入门或改进异常处理的9个最重要的内容。1.在finally块中清理资...

2019-11-03 15:34:54 308

原创 「JAVA」- 知识点小结

java面向对象编程面向对象(概念):三大特性: 封装: 封装,就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。一个类就是一个封装类了数据以及操作这些数据的代码的逻辑实体。在一个对象内部,某些代码或某些数据可以是私有的,不能被外界访问。通过这种方式,对象对内部数据提供了不同级别的保护,以防止程序中无关的部分意外的改...

2019-11-03 15:28:26 328

原创 一文带你学习SpringBoot

一、SpringBoot简介1.什么是SpringBoot​ 产生背景:Spring开发比较繁琐,配置文件很多,部署流程复杂,整合第三方框架难度大。这会降低开发效率​ SpringBoot是一个简化Spring应用创建和开发的框架​ 整合了整个Spring技术栈,是JavaEE开发一站式解决方案2.为什么使用SpringBoot优点:可以快速构架Spring项目,并与主...

2019-11-03 14:33:05 655

【软件测试高频面试题】

【软件测试高频面试题】

2022-02-25

金三银四软件测试面试真题

金三银四软件测试面试真题

2022-02-25

最新2020Java学习路线

从零基础开始学习,第一阶段:Java开篇,第二阶段:Java语言语法,第三阶段:集成开发工具的使用,第四阶段:面向对象,第五Javase进阶,第6阶段 :数据库+JDBC,第7阶段 :前端精讲,第8阶段 :算法篇,第9阶段 :JavaEE,第10阶段 :工具的使用,第11阶段 :Linux学习,第12阶段 :SSM框架的使用,第13阶段 :SpringBoot的使用,第14阶段 : 面试篇,第15阶段:微服务阶段,第16阶段:分布式 私信可免费,领取学习视频

2020-11-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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