暂时未有相关云产品技术能力~
关注公众号【Java极客技术】回复eeee03,获取最新代码资源
回想十年前,我还是一名大学生,傻乎乎的对未来没有任何的规划。每天就知道混日子,打打游戏、谈谈恋爱。至于毕业后能不能找到一份工作,心里完全没个底。
在前面的文章集合系列中,我相信大部分朋友对 Java 容器整体架构都有了初步的了解,那么本文主要是想详细的介绍以下 List 接口实现类之间的区别!
在前面的文章集合系列中,我相信大部分朋友对 Java 容器整体架构都有了初步的了解,那么本文主要是想详细的介绍以下 List 接口实现类之间的区别!
看了这篇文章,你会对静态代理模式,JDK 动态代理模式和 CGLIB 动态代理模式有个很清晰的认识。
一篇文章,教你搞定 MySQL 主从复制。
我们知道应用停机时需要释放资源,关闭连接,而对于一些定时任务或者网络请求服务会使用线程池,当应用停机时我们需要正确安全的关闭线程池,如果处理不当,可能造成数据丢失,业务请求结果不正确等问题。
上篇文章我们分析了 HashMap 实现原理,这篇咱们了解一下红黑树的设计,相比 jdk1.7 的 HashMap 而言,jdk1.8 最重要的就是引入了红黑树的设计,当冲突的链表长度超过 8 个的时候,链表结构就会转为红黑树结构。
上篇文章我们分析了 HashMap 实现原理,这篇咱们了解一下红黑树的设计,相比 jdk1.7 的 HashMap 而言,jdk1.8 最重要的就是引入了红黑树的设计,当冲突的链表长度超过 8 个的时候,链表结构就会转为红黑树结构。
最近几天,一直在学习 HashMap 的底层实现,发现关于 HashMap 实现的博客文章还是很多的,对比了一些,都没有一个很全面的文章来做总结,本篇文章也断断续续结合源码写了一下,如果有理解不当之处,欢迎指正!
最近几天,一直在学习 HashMap 的底层实现,发现关于 HashMap 实现的博客文章还是很多的,对比了一些,都没有一个很全面的文章来做总结,本篇文章也断断续续结合源码写了一下,如果有理解不当之处,欢迎指正!
本篇文章的形式结构: 以一个总图开头,了解 Java 集合框架都包括哪些主要部件; 分别对各个部件进行大致的描述,描述其主要特征; 以总结的形式结尾,并给出各个部件的优劣性对比表格; 部分关于集合框架的面试题。
本篇文章的形式结构: 以一个总图开头,了解 Java 集合框架都包括哪些主要部件; 分别对各个部件进行大致的描述,描述其主要特征; 以总结的形式结尾,并给出各个部件的优劣性对比表格; 部分关于集合框架的面试题。
本篇文章的形式结构: 以一个总图开头,了解 Java 集合框架都包括哪些主要部件; 分别对各个部件进行大致的描述,描述其主要特征; 以总结的形式结尾,并给出各个部件的优劣性对比表格; 部分关于集合框架的面试题。
下面分享的是我在工作中遇到的一个问题。有关 mysql 索引失效的问题。 处于保密考虑,我拿一个类似的场景举例子。
大家好,我是本周的值班编辑 懿,本周将由我为大家排版并送出技术干货,大家可以在公众号后台回复“springboot”,获取最新版 Spring Boot2.1.6 视频教程试看。
说到 Nginx ,相信大家都不会陌生,最常用的莫过于:用它来与 Tomcat 搭配做负载均衡,起到灰度发布的作用,同时保证系统高可用!
说到 Nginx ,相信大家都不会陌生,最常用的莫过于:用它来与 Tomcat 搭配做负载均衡,起到灰度发布的作用,同时保证系统高可用!
今天十月一了,庆祝祖国七十周年,我们也为大家送上了直播链接,看完文章记得回头来看我们祖国的昌盛和繁荣,让我们共同为我们的祖国送上自己的祝福!
当你学习编程时,这一刻所有的事情都改变了。在 Firehose,我们习惯称之为编码的拐点。在这个阶段之后,你作为开发人员的编程能力将大不相同,建立起编码的拐点是非常重要的,到达拐点也就意味着你不再需要别人手把手的帮助,这是一个非常重要的过程,但是如果你达不到这个拐点的话,那么你就很难提高编程技能。
写作这件事,很多大佬都谈过,但我还是想从自己的角度去谈谈.
本文将分享从纯 Servlet 时代到 Spring 框架时代的过程中,关于请求分发的一些思考。 在讲请求分发之前先梳理一下一个Web请求的交互逻辑: 首先用户在客户端发送一个请求到服务器。 这个请求首先会经过操作系统的 TCP/IP 协议栈解析后发送至某一个端口 在该端口运行着一个 Web 应用服务器(假设是 Tomcat) 接着 Tomcat 会把请求根据请求路径传送给对应的 Servlet 处理 (要注意的是,Web 服务器本身是不处理请求的,比如说 Tomcat,它只负责分发请求)
线上某服务 A 调用服务 B 接口完成一次交易,一次晚上的生产变更之后,系统监控发现服务 B 接口频繁超时,后续甚至返回线程池耗尽错误 Thread pool is EXHAUSTED。因为服务 B 依赖外部接口,刚开始误以为外部接口延时导致,所以临时增加服务 B dubbo 线程池线程数量。配置变更之后,重启服务,服务恢复正常。一段时间之后,服务 B 再次返回线程池耗尽错误。这次深入排查问题之后,才发现 Kafka 异步发送消息阻塞了 dubbo 线程,从而导致调用超时。
当下 k8s 算是比较火的一个内容,那么它到底是什么呢,它为什么会这么火呢,它解决的是什么问题呢. 当我们谈 k8s 的时候,总是会想起来 Docker .是的,如果想要知道 k8s 解决的是什么问题,我们不可避免的再回到 Docker 上面,回到容器上面来.
在当今社会,人们似乎越努力越焦虑。许多人为此熬没了豪情,浮躁了心性,自叹自怜“怀才不遇”。 确实,生活节奏太快,知识迭代迅猛,潮流风口日新月异……人们害怕被时代抛弃,更怕岁数越大理想越远,所以不敢不努力。
这个文章来源灵感是公司的项目在安全检查的时候,发现了很多 SQL 注入的一些问题还有一些 XSS 攻击问题,SQL 注入我们都是比较了解的,那么什么是 XSS 攻击呢?测试反馈给我的时候我是一脸懵逼呀,现在我们就来说一下什么是 XSS 攻击,以及我们怎么防止它的出现。
废话不多说,就说一句:在 JFinal 中集成 EhCache,可以提高系统的并发访问速度。 可能有人会问 JFinal 是什么,EhCache 是什么,简单解释一下。 JFinal 是一个基于Java 语言的极速 Web 开发框架,用起来非常爽,谁用谁知道。EhCache 是一个纯 Java 的进程内缓存框架,具有快速、精干的特点,用起来非常爽,谁用谁知道。 JFinal 本身已经集成了 EhCache 这个缓存插件,但默认是没有启用的。那怎么启用呢? 请随我来。
上篇文章和小伙伴们聊了 realm 的简单操作,本文我们来继续深入这个话题。
前面跟大家分享的排序算法之快速排序,今天跟大家分享另外一个排序算法——插入排序。插入排序可能大家在平时真正用到地方不多,但是也会用到,而且有一个场景我想大家一定经历过,那就打扑克牌。想想我们在抓牌的时候,是不是随着拿到一张张的扑克牌,然后按照顺序插入我们左手呢(或者右手上)?这其实就是插入排序,通过依次比较前一个数字的大小,将需要排序的数字插到最适合的位置,下面我们一起看下吧。
引用参考第二条 - Arthas提醒您:诊断千万条,规范第一条,热更不规范,同事两行泪
面试相关的话题已经是一个老生常谈的问题了,不过网络是大部分的文章都是求职者的面试经历或者是一些面试题目汇总,站在面试官的角度的文章好像不多,所以今天我们就从面试官的角度来看一下面试这件事。 首先我们先思考一下,面试官在面试的时候主要看中的有哪些? 总的来说,我觉得可以简单总结为以下两点: 能力; 态度。
实际开发中,经常用到java的集合框架,比如ArrayList、LinkedList、HashMap、LinkedHashMap,几乎经常接触到,虽然用的多,但是对集合的整体框架,基础知识还是不够系统,今天想和大家一起来梳理一下!
实际开发中,经常用到java的集合框架,比如ArrayList、LinkedList、HashMap、LinkedHashMap,几乎经常接触到,虽然用的多,但是对集合的整体框架,基础知识还是不够系统,今天想和大家一起来梳理一下!
yaml 文件用在很多地方,但是这里以介绍在 Kubernetes 中的应用为主。
在学习一个新知识之前,要去想它为什么会出现,它的出现解决了什么问题.这样印象才会深刻一些. 在同一个主机下,两个进程间的通讯是很容易,直接把各种通讯细节交给操作系统去做就 OK 了.但是如果两个进程是处于不同主机下呢?该如何进行通讯呢?而且在实际的应用场景中,是很复杂的,有的使用 TCP 协议,有的使用 UDP 协议,那么当我们使用不同的协议进行通信时,是不是就要使用不同的接口?同时还要处理不同协议的各种通讯细节,这样一来,是不是就增加了开发的难度,同时软件不容易进行扩展.
通过上篇文章的学习,小伙伴们对 shiro 应该有了一个大致的了解了,本文我们就来通过一个简单的案例,先来看看 shiro 中登录操作的一个基本用法。
今天跟大家分享一个常用的排序算法——快速排序。我想大家在日常的工作或者面试的时候肯定经常会遇到很多排序算法,而且快速排序算法往往是这里面相对更好的排序算法,并且实现也非常简单。下面我们一起看下吧。
最近在学习极客时间上的一门课程<趣谈网络协议>,里面有涉及到虚拟机网络的一些东西.正好一直在接触,站在巨人的肩膀上,我也来写写.
上篇文章和小伙伴们仔细聊了聊 Shiro 中的登录操作,官方的 demo 中对登录操作也有很多英文注释,相信大家都能理解,但是对于整个登录的过程,可能小伙伴们还有一些疑惑,那么本篇文章我将和小伙伴们分享一下 Shiro 中的登录流程,顺便介绍一个重要的类--Realm。
使用 Java 阻塞 I/O 模型读取数据,将会导致线程阻塞,线程将会进入休眠,从而让出 CPU 的执行权,直到数据读取完成。这个期间如果使用 jstack 查看线程状态,却可以发现Java 线程状态是处于 RUNNABLE,这就和上面说的存在矛盾,为什么会这样? 上面的矛盾其实是混淆了操作系统线程状态与 Java 线程状态。这里说的线程阻塞进入休眠状态,其实是操作系统层面线程实际状态。而我们使用 jstack 查看的线程状态却是 JVM 中的线程状态。 线程是操作系统中一种概念,Java 对其进行了封装,Java 线程本质上就是操作系统的中线程,其状态与操作系统的状态大致相同,但还是存在
关于 Docker 的一些概念和操作,我争取这一篇博客说完。下面正文开始。
关于 Nginx 你还在背诵着培训班中教给你的内容么?面试的时候很多项目都说使用过 Nginx,但是当面试官问你 Nginx 的原理的时候,你还在手足无措么?如果有,那么这篇文章我送给大家,让你面试回答 Nginx 的的时候不再慌张,不需要再去背诵那些内容了,各位看官准备好了么?
Apache Shiro 是一个开源安全框架,提供身份验证、授权、密码学和会话管理。Shiro 框架具有直观、易用等特性,同时也能提供健壮的安全性,虽然它的功能不如 SpringSecurity 那么强大,但是在普通的项目中也够用了。
服务注册中心,当前用得比较多的就是 Eureka 跟 Zookeeper 了。 Eureka 是 SpringCloud 自带的组件,而 Zookeeper 则是 Dubbo 一般会选择的。我们以前在做服务这块其实是基于 Spring Cloud 技术栈来做的,没有选择Dubbo。所以,Eureka 也就作为了我们的服务注册中心首选。
分布式系统面试系列02-Spring Cloud 的底层架构原理,前面我们讲了 SpringCloud 的核心架构,了解了有要构建一套分布式系统我们需要哪些组件。今天以 SpringCloud 为例,讲解一下它的核心组件的原理。 前面我们讲了一个以Spring Cloud 技术栈实现的分布式系统,至少得包含 Eureka、Ribbon、Feign、Zuul 这么几个组件,你还能记得他们各自是干嘛的么。记不清了没关系,回去看一下这篇文章就好。
在每个覆盖了 equals 方法的类中,都必须覆盖 hashCode 方法。如果不这样做的话,就会违反 hashCode 的通用约定,从而导致该类无法结合所有的给予散列的集合一起正常运作。这类集合包括 HashSet、HashMap,下面是Object 的通用规范:
简单工厂模式(Simple Factory Pattern)是指由一个工厂对象决定创建出哪一种产品类的实例。简单工厂适用于工厂类负责创建的对象较少的场景,且客户端只需要传入工厂类的参数,对于如何创建对象的逻辑不需要关心。
简单工厂模式(Simple Factory Pattern)是指由一个工厂对象决定创建出哪一种产品类的实例。简单工厂适用于工厂类负责创建的对象较少的场景,且客户端只需要传入工厂类的参数,对于如何创建对象的逻辑不需要关心。
我们可以通过springProfile为不同的环境配置不同的日志输出规则,比如生产环境不开启console,级别为info等 下面来看看示例,
之前星球的好友就在说,关于日志的问题,我们是怎么来进行使用和分析的,因为如果日志使用的好,那么我们在程序出现BUG的时候,能够快速的定位,然后找到原因,并且解决,如果使用不好,那么你将无从下手。下面我就就来说说日志的那点事!
人生有涯,学海无涯 面试相关的话题已经是一个老生常谈的问题了,不过网络是大部分的文章都是求职者的面试经历或者是一些面试题目汇总,站在面试官的角度的文章好像不多,所以今天我们就从面试官的角度来看一下面试这件事。 首先我们先思考一下,面试官在面试的时候主要看中的有哪些? 总的来说,我觉得可以简单总结为以下两点: 能力; 态度。