「MoreThanJava」 宣扬的是 「学习,不止 CODE」. 如果觉得 「不错」 的朋友,欢迎 「关注 + 留言 + 分享」,文末有完整的获取链接,您的支持是我前进的最大的动力! 前言 ClassLoader 可以说是 Java 最为神秘的功能之一了,好像大家都知道怎么回事儿 (双亲委派模型好像都都能说得出来...),又都说不清楚具体是怎么一回事 (为什么需要需要有什么实际用途就很模糊了...). 今天,我们就来深度扒一扒,揭开它神秘的面纱! Part 1. 类加载是做什么的? 首先,我们…
相信大家都用过ATM取过money吧,但是有多少人真正是了解ATM的呢?相信除了ATM从业者外了解的人寥寥无几吧,鄙人作为一个从事ATM软件开发的伪专业人士就站在我的角度为大家揭开ATM的神秘面纱吧.以下纯属个人所知,如有错误概不负责.废话不多说,以下开扒: 1.ATM有没有可能出假钞?答:完全有可能,想必大家也从各种新闻上看到过有人从ATM取出假钱的报道吧,这种新闻对于我们ATM从业者来说早就不是啥新鲜事了.    要解释ATM为啥子会出假钞就要从ATM的分类开始了,广义的ATM一般分为三类:…
本月初微软官宣.NET 6 的RC1即将在11月正式发布,这意味着.NET6正式版跟我们见面的时间又近了一步.在之前的.NET6预览版本中,微软加入了大量新功能特性,而在最终版本中将不再额外加入新的内容,只对现在的内容进行进一步性能优化,以求系统更加稳定. 微软官方提供了.NET主题相关总览 从年初发布的预览1,到8月发布的预览7,许多新功能陆续进入大家的视线. 其中最受期待的,莫过于2020年5月微软推出的 .NET跨平台 UI 框架--MAUI(.NET Multi-platform App…
背景 在日常开发中,偶尔会遇到需要复制对象的情况,需要进行对象的复制. 由于现在流行标题党,所以,一文带你了解js数据储存及深复制(深拷贝)与浅复制(浅拷贝) 理解 首先就需要理解 js 中的数据类型了 js 数据类型包含 基础类型:String.Number. null.undefined.Boolean以及ES6引入的Symbol.es10中的BigInt 引用类型:Object 由于 js 对变量的储存是栈内存.堆内存完成的. 基础类型将数据保存在栈内存中 引用类型将数据保存在堆内存中 由…
一文带你了解elasticsearch cxf2102100人评论160人阅读2019-07-02 21:31:36   elasticsearch es基本概念 es术语介绍 文档Document 用户存储在es中的数据文档 索引Index 由具有相同字段的文档列表组成 节点node 一个Elasticsearch的运行实例,是集群的构成单元 集群Cluster 由一个或多个节点组成,对外提供服务 document介绍 json object,由字段(field)组成,常见数据类型如下: 字符…
一个执着于技术的公众号 前言 在前面的章节中,我们已经学习了nginx基础知识: 给小白的 Nginx 10分钟入门指南 Nginx编译安装及常用命令 完全卸载nginx的详细步骤 Nginx 配置文件详解 理解正向代理与反向代理的区别 今天我们通过两个实例,带大家读懂nginx反向代理 Nginx反向代理实例 1 1.实现效果 打开浏览器,在地址栏输入地址www.test.com,跳转到百度首页. 2.准备工作 (1)在Linux系统安装nginx 1)创建用于运行Nginx的用户 usera…
序言 Spring Data JPA作为Spring Data中对于关系型数据库支持的一种框架技术,属于ORM的一种,通过得当的使用,可以大大简化开发过程中对于数据操作的复杂度. 本文档隶属于<Spring Data JPA用法与技能探究>系列的第一篇.本系列文档规划对Spring Data JPA进行全方位的使用介绍,一共分为5篇文档,如果感兴趣,欢迎关注交流. <Spring Data JPA用法与技能探究>系列涵盖内容: 开篇介绍 -- <JDBC.ORM.JPA.Sp…
原标题:Istio是啥?一文带你彻底了解! " 如果你比较关注新兴技术的话,那么很可能在不同的地方听说过 Istio,并且知道它和 Service Mesh 有着牵扯. 这篇文章可以作为了解 Istio 的入门介绍,了解什么是 Istio,Istio 为什么最近这么火,以及 Istio 能给我们带来什么好处. 什么是 Istio? 官方对 Istio 的介绍浓缩成了一句话: An open platform to connect, secure, control and observe serv…
一文带您了解5G的价值与应用 5G最有趣的一点是:大多数产品都是先有明确应用场景而后千呼万唤始出来.而5G则不同,即将到来的5G不仅再一次印证了科学技术是第一生产力还给不少用户带来了迷茫——我们为什么需要5G?本文将带大家了解5G的价值. 1. 什么是5G? 5G之前还有4G.3G.2G.1G,每一次技术革对于生活都有显著的影响.1G时代只能打电话:2G时代网速虽然缓慢,但却衍生出了打电话之外的功能,这一步是从0到1的变革:3G时代能做的事情已经很多了,文字图片传输均不在话下:4G时代即现在,除…
Istio是啥?一文带你彻底了解! http://www.sohu.com/a/270131876_463994 原始位置来源: https://cizixs.com 如果你比较关注新兴技术的话,那么很可能在不同的地方听说过 Istio,并且知道它和 Service Mesh 有着牵扯. 这篇文章可以作为了解 Istio 的入门介绍,了解什么是 Istio,Istio 为什么最近这么火,以及 Istio 能给我们带来什么好处. 什么是 Istio? 官方对 Istio 的介绍浓缩成了一句话: A…
一文带你了解 C# DLR 的世界 在很久之前,我写了一片文章dynamic结合匿名类型 匿名对象传参,里面我以为DLR内部是用反射实现的.因为那时候是心中想当然的认为只有反射能够在运行时解析对象的成员信息并调用成员方法.后来也是因为其他的事一直都没有回过头来把这一节知识给补上,正所谓亡羊补牢,让我们现在来大致了解一下DLR吧. DLR 全称是 Dynamic Language Runtime(动态语言运行时).这很容易让我们想到同在C#中还有一个叫 CLR 的东西,它叫 Common Lang…
一文带你看清HTTP所有概念   上一篇文章我们大致讲解了一下 HTTP 的基本特征和使用,大家反响很不错,那么本篇文章我们就来深究一下 HTTP 的特性.我们接着上篇文章没有说完的 HTTP 标头继续来介绍(此篇文章会介绍所有标头的概念,但没有深入底层) HTTP 标头 先来回顾一下 HTTP1.1 标头都有哪几种 HTTP 1.1 的标头主要分为四种,通用标头.实体标头.请求标头.响应标头,现在我们来对这几种标头进行介绍 通用标头 HTTP 通用标头之所以这样命名,是因为与其他三个类别不同,…
概述 之所以会写这个,主要是因为最近做的一个项目碰到了一个移位的问题,因为位移操作溢出导致结果不准确,本来可以点到为止,问题也能很快解决,但是不痛不痒的感觉着实让人不爽,于是深扒了下个中细节,直到看到Intel的指令规约才算释然,希望这篇文章能引起大家共鸣. 本文或许看起来会比较枯燥,不过其实认真看挺有意思的,如果实在看不下去,告诉你一个极简路径,先看下下面的Demo,然后直接跳到后面的小结,如果懂了,别忘记顺便点个赞,请叫我雷锋,哈哈. Demo 还是从一个简单的例子说起 大家可以尝试做几个改…
以项目驱动学习,以实践检验真知 前言 关于认证和授权,R之前已经写了两篇文章: [项目实践]在用安全框架前,我想先让你手撸一个登陆认证 [项目实践]一文带你搞定页面权限.按钮权限以及数据权限 在这两篇文章中我们没有使用安全框架就搞定了认证和授权功能,并理解了其核心原理.R在之前就说过,核心原理掌握了,无论什么安全框架使用起来都会非常容易!那么本文就讲解如何使用主流的安全框架Spring Security来实现认证和授权功能. 当然,本文并不只是对框架的使用方法进行讲解,还会剖析Spring Se…
Java9 发布于 2017 年 9 月 21 日 .作为 Java8 之后 3 年半才发布的新版本,Java 9 带 来了很多重大的变化其中最重要的改动是 Java 平台模块系统的引入,其他还有诸如集合.Stream 流 Java 平台模块系统 Java 平台模块系统,也就是 Project Jigsaw,把模块化开发实践引入到了 Java 平台中.在引入了模块系统之后,JDK 被重新组织成 94 个模块.Java 应用可以通过新增的 jlink 工具,创建出只包含所依赖的 JDK 模块的自定…
目录 一.工具使用 语言使用:MarkDown 简介 使用原因 使用方法 软件使用:Typora 简介 环境设置搭建 1)搭建图床 2)配置PicGo 3)配置typora 4)测试 图片上传测试 平台兼容测试 BUG消除 Failed to fetch "success":false 一.工具使用 语言使用:MarkDown 简介 Markdown是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档,然后转换成有效的XHTML(或者HTML)文档. 由于Markdown的…
一个执着于技术的公众号 一.背景 随着云计算.虚拟化相关技术的发展,传统网络无法满足大规模.灵活性要求高的云数据中心的要求,于是便有了overlay网络的概念.overlay网络中被广泛应用的就是vxlan技术.首先我们了解下随着云计算的发展,传统网络面临哪些挑战. 1.虚拟机迁移范围受到网络架构限制 虚拟机迁移,顾名思义,就是将虚拟机从一个物理机迁移到另一个物理机,但是要求在迁移过程中业务不能中断.要做到这一点,需要保证虚拟机迁移前后,其IP地址.MAC地址等参数维持不变.这就决定了,虚拟机迁…
一个执着于技术的公众号 一.简述 在一群动物掌管的世界中,动物没有人类聪明的思想,为了保持动物世界的生态平衡,这时,动物管理员-zookeeper诞生了. 打开Apache zookeeper的官网,一句话定义zookeeper:Apache ZooKeeper致力于开发和维护可实现高度可靠的分布式协调的开源服务器. zookeeper是个服务,服务的对象我们都称为客户端,在大数据生态里面的客户,hadoop.hbase.hive-组件都是分布式部署,这些组件们利用zookeeper的服务做了一…
JavaScript基本知识点--带你逐步解开JS的神秘面纱 在我们前面的文章中已经深入学了HTML和CSS,在网页设计中我们已经有能力完成一个美观的网页框架 但仅仅是网页框架不足以展现出网页的魅力,JS由此而生! JavaScript概述 JavaScript是一门弱类型脚本语言,其源代码在发往客户端运行之前不需要进行翻译,而是将文本格式的字符代码发送给浏览器由浏览器进行解释编译. ECMAScript是一种由Ecma国际通过ECMA-262标准化的脚本程序设计语言,算是目前JS的一个标准.…
前言 今天带大家深入理解JVM,从入门到精通,希望大家能够喜欢~~~ 概念 JVM是可运行 Java 代码的假想计算机 ,包括一套字节码指令集.一组寄存器.一个栈.一个垃圾回收,堆 和 一个存储方法域.JVM 是运行在操作系统之上的,它与硬件没有直接的交互. 运行过程: 我们都知道 Java 源文件,通过编译器,能够生产相应的.Class 文件,也就是字节码文件,而字节码文件又通过 Java 虚拟机中的解释器,编译成特定机器上的机器码 . 也就是如下: ① Java 源文件—->编译器—->字…
前言 2019.10.7~9号,随着70周年国庆活动的顺利闭幕,Flink Forward 也照例在他们的发源地柏林举办了第五届大会.虽然还没有拿到具体的数据,不过从培训门票已经在会前销售一空的这样的现象来看,Flink Forward 大会还是继续保持了一个良好的势头.本届大会不管是从参会人数上,提交的议题,以及参加的公司数量来看都继续创了一个新高.当然,这要去掉去年 Flink Forward 北京站的数据 ;-).阿里巴巴这次共派出了包括笔者在内的3名讲师,总共参加了4场分享和2个问答环节…
前言 本文分为20多个问题,通过问题的方式,来逐渐理解jvm,由浅及深.希望帮助到大家. 1. Java类实例化时,JVM执行顺序? 正确的顺序如下: 1父类静态代码块 2父类静态变量 3子类静态代码块 3子类静态变量 4父类成员变量赋值 5父类构造方式开始执行 6子类成员变量赋值 7子类构造方式开始执行 需要注意的地方是静态变量和静态代码块谁在前面谁先执行. 看一段代码示例: package com.jdk.learn; /** * Created by ricky on 2017/8/25.…
Java IO 是一个庞大的知识体系,很多人学着学着就会学懵了,包括我在内也是如此,所以本文将会从 Java 的 BIO 开始,一步一步深入学习,引出 JDK1.4 之后出现的 NIO 技术,对比 NIO 与 BIO 的区别,然后对 NIO 中重要的三个组成部分进行讲解(缓冲区.通道.选择器),最后实现一个简易的客户端与服务器通信功能.…
看到题目,大家是不是认为根据上一篇(两万字长文50+张趣图带你领悟网络编程的内功心法)一样,其实不然,我们上一边介绍的是网络编程的基本功,有了这些基本功之后,我们就可以在此之上构建更加接近实际应用的web程序了.为了快速展示他们的层次关系,我用几本书叠了起来进行说明,顺便给大家推荐这几本基本算是这些领域比较权威的书籍.如下图,由下往上看: TCP/IP构成了网络编程的基础设施: Socket套接字编程为应用层提供了访问TCP/IP协议栈的接口: 在应用层上面,指定了面向Web编程的HTTP协议:…
作者:aCoder2013 https://github.com/aCoder2013/blog/issues/35 前言 假设你正在开发一个电商网站,那么这里会涉及到很多后端的微服务,比如会员.商品.推荐服务等等. 那么这里就会遇到一个问题,APP/Browser怎么去访问这些后端的服务? 如果业务比较简单的话,可以给每个业务都分配一个独立的域名(https://service.api.company.com),但这种方式会有几个问题: 每个业务都会需要鉴权.限流.权限校验等逻辑,如果每个业务…
一.什么是ClassLoader? 大家都知道,当我们写好一个Java程序之后,不是管是CS还是BS应用,都是由若干个.class文件组织而成的一个完整的Java应用程序,当程序在运行时,即会调用该程序的一个入口函数来调用系统的相关功能,而这些功能都被封装在不同的class文件当中,所以经常要从这个class文件中要调用另外一个class文件中的方法,如果另外一个文件不存在的,则会引发系统异常.而程序在启动的时候,并不会一次性加载程序所要用的所有class文件,而是根据程序的需要,通过Java的…
本文口味:爆炒鱿鱼   预计阅读:15分钟 一.说明 RabbitMQ是流行的开源消息队列系统,使用erlang语言开发,由于其社区活跃度高,维护更新较快,性能稳定,深得很多企业的欢心(当然,也包括我现在所在公司[手动滑稽]). 为了保证订单业务的消息数据不丢失,需要使用到RabbitMQ的死信队列机制,当消息消费发生异常时,将消息投入死信队列中.但由于对死信队列的概念及配置不熟悉,导致曾一度陷入百度的汪洋大海,无法自拔,很多文章都看起来可行,但是实际上却并不能帮我解决实际问题.最终,在官网文档…
欢迎关注笔者的公众号: 小哈学Java, 每日推送 Java 领域干货文章,关注即免费无套路附送 100G 海量学习.面试资源哟!! 个人网站: https://www.exception.site/essay/about-elasticsearch-index-manage 在 Elasticsearch 中,索引是一个非常重要的概念,它是具有相同结构的文档集合.类比关系型数据库,比如 Mysql, 你可以把它对标看成和库同级别的概念. 今天小哈将带着大家了解, 在 Elasticsearch…
Spring事务的基本原理 Spring事务的本质其实就是数据库对事务的支持,没有数据库的事务支持,spring是无法提供事务功能的.对于纯JDBC操作数据库,想要用到事务,可以按照以下步骤进行: 获取连接 Connection con = DriverManager.getConnection() 开启事务con.setAutoCommit(true/false); 执行CRUD 提交事务/回滚事务 con.commit() / con.rollback(); 关闭连接 conn.close(…
转自https://javadoop.com/post/design-pattern 行为型模式 策略模式 观察者模式 责任链模式 模板方法模式 状态模式 行为型模式总结 本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial 喜欢的话麻烦点下Star.fork哈 文章也将发表在我的个人博客,阅读体验更佳: www.how2playlife.com 本文是微信公众号[Java技术…