JVM快速扫盲篇】的更多相关文章

JVM虚拟机基础 JVM虚拟机结构 vm的整体结构大致如下: 类加载器:类加载器用来加载Java类到JVM虚拟机中,源代码程序.java文件在经过编译器编译之后就被转换成字节代码.class文件,类加载器负责读取字节代码,并转换成java.lang.Class类的一个实例. 运行时数据区 元数据区:JDK1.8开始的说法,之前称为方法区Method-Area,存储已被虚拟机加载的类信息.常量.静态变量.即时编译器编译后的代码等数据. 堆区:所有线程共享的一块内存区域,虚拟机启动时被创建用来存放对…
本博客参考<深入理解Java虚拟机>这本书 视频及电子书详见:https://shimo.im/docs/HP6qqHx38xCJwcv9/ 一.快速扫盲 1. JVM是什么   JVM是Java Virtual Machine的缩写,即咱们经常提到的Java虚拟机.虚拟机是一种抽象化的计算机,有着自己完善的硬件架构,如处理器.堆栈等,具体有什么咱们不做了解.目前我们只需要知道想要运行Java文件,必须先通过一个叫javac的编译器,将代码编译成class文件,然后通过JVM把class文件解…
分布式协调服务Zookeeper扫盲篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 身为运维工程师对kubernetes(k8s)可能比较熟,那么etcd(go语言实现)分布式协调服务应该也有一定的了解吧.在大数据领域中,也有一个分布式协调工具基本上可以和zookeeper分庭抗礼,他就是我们今天要说的zookeeper. 在分布式系统中,服务(或组件)之间的协调是非常重要的,它构成了分布式系统的基础.分布式系统中的leader选举,分布式锁,分布式队列等,均需要通过协调服…
MySQL数据库扫盲篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.   一.MySQL概述 1>.什么是MySQL MySQL是瑞典的MySQL AB公司开发的一个可用于各种流行操作系统平台的关系数据库系统,它具有客户机/服务器体系结构的分布式数据库管理系统. MySQL是一种开放源代码的关系型数据库管理系统(RDBMS), MySQL数据库系统使用最常用的数据库管理语言,即结构化查询语言(SQL)进行数据库管理. MySQL 完全适用于网络,用其建造的数据库可在因特网上的…
一下文章摘自:http://www.jellythink.com/archives/636 MySQL扫盲篇 2014-09-15 分类:MySQL / 数据库 阅读(1412) 评论(1)  为什么总结MySQL? 说实话,MySQL也用了一段时间了,从大学阶段开始就使用了,但是从来都没有系统的学习过,只是用,用的很糊涂,很多东西都用的糊里糊涂的,说实话,这种感觉是很空旷的,总是让人不踏实:而数据库有是一个IT人必备的技能,所以,从这篇文章起,我就选择以MySQL作为突破点,开始从最基本的开始…
HTTP/2协议–特性扫盲篇 随着web技术的飞速发展,1999年制定的HTTP 1.1已经无法满足大家对性能的要求,Google推出协议SPDY,旨在解决HTTP 1.1中广为人知的性能问题.SPDY得到了Chrome.Firefox和Opera的支持,很多大型网站(如谷歌.Twitter.Facebook.淘宝)都对兼容客户端使用SPDY.SPDY在被行业采用并证明能够大幅提升性能之后,已经具备了成为一个标准的条件. HTTP工作组采用了SPDY v2草案作为制定HTTP 2.0标准的起点,…
私有仓库GitLab快速入门篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 安装文档请参考官网:https://about.gitlab.com/installation/#centos-7.当然根据本篇博客的步骤走也是可以成功部署GitLab的哟. 一.GitLab简介 1>.什么是GitLab GitLab 是一个用于仓库管理系统的开源项目.使用Git作为代码管理工具,并在此基础上搭建起来的web服务.可通过Web界面进行访问公开的或者私人项目.它拥有与Github类似…
Hadoop生态圈-大数据生态体系快速入门篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.大数据概念 1>.什么是大数据 大数据(big data):是指无法在一定时间范围内用常规软件进行捕捉,管理和处理的数据集合,是需要新处理模式才能具有更强的决策力,洞察发现力和流程优化能力的海量,高增长率和多样化的信息资产. 大数据技术主要解决两个问题,即海量的存储和海量的数据的分析计算. 2>.数据存储单位介绍 按照顺序给出数据存储单位如:Bit,Byte,KB,MB,GB,T…
高级Linux运维工程师必备技能(扫盲篇) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在了解文件系统之前,我们要学习一下磁盘存储数据的方式,大家都知道文件从内存若要持久化存储的话就得把它存到硬盘上,想毕都知道文件存入磁盘都是二进制存取的.那么硬盘是如何存储的呢?我们现在标配基本上都是1T呢,现在都是2017了,500G的硬盘都已经遭嫌弃了. 1.生活小知识. 上面是一幅图可以看到,有磁头,而且这个磁头是悬浮在盘面上的,如果这个盘面有震动,很可能直接滑到盘面,导致上面写的数…
Java基础-SSM之Spring快速入门篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.    Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来.它是为了解决企业应用开发的复杂性而创建的.Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情.然而,Sprin…
Java基础-SSM之mybatis快速入门篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 其实你可能会问什么是SSM,简单的说就是spring mvc + Spring + mybatis.本篇博客主要介绍mybatis的使用方法,配置起来相对简单!mybatis是一种持久化技术,它内部封装JDBC,将SQL语句外部化,换句话说,就是讲SQL语句提前定义在文件中.官网文档也是相当的友好:http://www.mybatis.org/mybatis-3/zh/getting…
C语言扫盲篇 作者:尹正杰 版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接. 一.什么是C语言 C 语言是一种通用的高级语言,最初是由丹尼斯·里奇在贝尔实验室为开发 UNIX 操作系统而设计的.C 语言最开始是于 1972 年在 DEC PDP-11 计算机上被首次实现.在 1978 年,布莱恩·柯林汉(Brian Kernighan)和丹尼斯·里奇(Dennis Ritchie)制作了 C 的第一个公开可用的描述,现在被称为 K…
Hadoop生态圈-Hive快速入门篇之HQL的基础语法 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客的重点是介绍Hive中常见的数据类型,DDL数据定义,DML数据操作以及常用的查询操作.如果你没有hive的安装环境的话,可以参考我之前分析搭建hive的笔记:https://www.cnblogs.com/yinzhengjie/p/9154324.html 一.Hive常见的属性配置 1>.Hive数据仓库位置配置 >.Default数据仓库的最原始位置在“h…
Hadoop生态圈-Hive快速入门篇之Hive环境搭建 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.数据仓库(理论性知识大多摘自百度百科) 1>.什么是数据仓库 数据仓库,英文名称为Data Warehouse,可简写为DW或DWH.数据仓库,是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合.它是单个数据存储,出于分析性报告和决策支持目的而创建. 为需要业务智能的企业,提供指导业务流程改进.监视时间.成本.质量以及控制. 2>.数据仓库的特点 第一:数…
Qt扫盲篇 1.What is Qt 一个跨平台应用程序和UI开发框架,主要偏向于UI框架方面,由诺基亚公司开发维护. 使用 Qt 只需一次性开发应用程序,无须重新编写源代码,便可跨不同桌面和嵌入式操作系统部署这些应用程序,Qt 支持以下平台: 直观的 C++跨平台类库(封装,SDK) 跨桌面和嵌入式操作系统的移植性(跨平台) 具有跨平台 IDE 的集成开发工具(Qt Creator) 在嵌入式系统上的高运行时间性能,占用资源少(手机MeeGo,N9) 2.Use Qt 下载Qt SDK(htt…
Httpd服务入门知识-http协议版本,工作机制及http服务器应用扫盲篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Internet与中国 Internet最早来源于美国国防部高级研究计划局ARPA建立的ARPANet,1969年投入运行.1983年,ARPAnet分裂为两部分:ARPAnet和纯军事用的MILNET.当年1月,ARPA把TCP/IP协议作为ARPAnet的标准协议,这个以ARPAnet为主干网的网际互联网便被称为Internet.1986年,美国…
Springboot快速入门篇,图文并茂 文章已托管到GitHub,大家可以去GitHub查看阅读,欢迎老板们前来Star!搜索关注微信公众号 [码出Offer] 领取各种学习资料! image-20200809125922162 一.Springboot概述 1.1 Springboot简介 SpringBoot是由Pivotal团队研发的,SpringBoot并不是一门新技术,只是将之前常用的Spring,SpringMVC,data-jpa等常用的框架封装到了一起,帮助你隐藏这些框架的整合…
一.基础定义 老王想找老张的老婆出去耍,但是一看,老张还在厨房煮饭.于是老王就对老张隔壁的淑芬说:"等下老张吃完饭出去喝茶,你就把前门晒的苞谷收了,老张从左门出,你就收右边的苞谷,我就知道从鸡舍进来.老张从右门出,你就收左墙的苞谷,我就从侧屋翻墙进来". 在这个过程中, 事件就是:"老张吃完饭去喝茶" 委托就是:"把前门的苞谷收了" 回调函数就是:"找老张的老婆去耍" sender就是:老张 事件句柄就是: 淑芬 EventA…
关于async,await,task的用法和解释这里就不要说明了,网上一查一大堆.至于为啥还要写这篇文章,主要是其他文章水分太多,不适合新手学习和理解.以下内容纯属个人理解,如果有误,请高手指正.本文只对以下这段代码包含的异步编程写法作说明: using System; using System.Threading.Tasks; using System.Threading; namespace ConsoleTest { class Program { static void Main(str…
前言 根据狂神说的JVM快速入门做了以下笔记,讲的很好的一个博主,给小伙伴们附上视频链接狂神说JVM快速入门    接下来我按照他所讲的内容给大家记录一些重点! 一.JVM体系结构 .java经由javac变为class字节码文件,再通过类加载器加载.对于类加载器我根据南淮北安博主的文章进行了总结. 1.类加载器    我们都知道java程序写好以后是以.java(文本文件)的文件存在磁盘上,然后,我们通过(bin/javac.exe)编译命令把.java文件编译成.class文件(字节码文件)…
JVM学习第一篇思考:一个Java代码是怎么运行起来的-上篇 作为一个使用Java语言开发的程序员,我们都知道,要想运行Java程序至少需要安装JRE(安装JDK也没问题).我们也知道我们Java程序员编写的程序代码文件是*.java的,而JRE运行的是*.class的文件.所以,我们需要将java文件编译成class文件然后才可以.那么,你有没有想过,一个java文件是怎么运行起来的呢?中间都经历了哪些环节呢?我们都知道JVM是Java虚拟机,那么,有没有思考过JVM的内存模型是什么呢?我们n…
halcon视觉入门扫盲篇 前言     在公司让我研究视觉的时候,我是两眼一抹黑的.之前完全没有接触过视觉.综合权衡后选择了Halcon,使用的是HDevelop 13 (64-bit).     下载地址 官方下载     破解有点麻烦,我使用的是文件替换破解.一个exe文件一个dll文件,替换即可. 假设以上环境搭建没有问题,现在开始了解视觉识别的套路 基础知识 既然是做视觉,就需要图像,不管这个图像是从摄像头读过来的还是从文件中读取的.图片有一些基础信息,比如: 通道:一张图片一般有3个…
Java是一门可以跨平台的语言,但是Java本身是不可以实现跨平台的,需要JVM实现跨平台.javac编译好后的class文件,在Windows.Linux.Mac等系统上,只要该系统安装对应的Java虚拟机,class文件都可以运行.达到”一次编译,到处运行”的效果. 一.JVM是什么? 而JVM到底是什么呢?引用百度百科对JVM的介绍: JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿…
简介 Java是一门可以跨平台的语言,但是Java本身是不可以实现跨平台的,需要JVM实现跨平台.javac编译好后的class文件,在Windows.Linux.Mac等系统上,只要该系统安装对应的Java虚拟机,class文件都可以运行.达到 "一次编译,到处运行" 的效果. 什么是JVM JVM是可以运行在Java代码的虚拟的计算机,既然是虚拟的计算机,当然也包含自己的CPU.字节码指令集.寄存器.栈.垃圾回收.堆和存储方法域,我们可以理解成JVM自己就是一套操作系统. Java…
概要 近期这几天開始进入java的学习,接触到了好多不是非常了解的概念,像JDK.JRE.JVM.GC等等这些,放到这里来进行下扫盲. java java是一种面向对象程序设计语言和java平台的总称,即java包含java语言和java平台. java语言 java语言跟我们曾经接触过的C#.C++语言一样都是面向对象的语言,拥有面向对象语言的基本特点,java语言也有它自身的特点.比如添加了垃圾回收的一些特点. 同一时候java语言的编程风格跟C#.C++也特别的相似,全部java语言是比較…
学Java,掌握一些基本的概念是第一步,本文简单为大家介绍一些扫盲级别的内容,希望帮助小白快速入门. 一.基本概念 JVM:java虚拟机,负责将编译产生的字节码转换为特定机器代码,实现一次编译多处执行: JRE:java运行时环境,包含了java虚拟机jvm,java基础类库.是使用java语言编写的程序运行所需要的软件环境: JDK:java开发工具包,是编写java程序所需的开发工具.JDK包含了JRE,同时还包含了编译器javac,调试和分析工具,JavaDoc. 二.Java是如何编译…
注:一下内容主要结合<深入理解JVM>3th总结而来. 接上一篇,我们来说说G1,G1作为现在的主要的JVM GC,被作为各大互联网主要使用的垃圾回收器,了解G1回回收原理和回收过程,才能帮组我们更好的定位问题,解决问题. -XX:+UseG1GC开启G1 GC G1内存划分 G1看起来和CMS比较类似,但是实现上有很大的不同. 传统分代GC将整体内存分为几个大的区域,比如Eden,S0,S1,Tenured等. 而G1将内存区域分为了n个不连续的,大小相同的Region,Region具体的大…
现在敏捷开发是越来越火了,人人都在谈敏捷,人人都在学习Scrum和XP...      为了不落后他人,于是我也开始学习Scrum,今天主要是对我最近阅读的相关资料,根据自己的理解,用自己的话来讲述Scrum中的各个环节,主要目的有两个,一个是进行知识的总结,另外一个是觉得网上很多学习资料的讲述方式让初学者不太容易理解:所以我决定写一篇扫盲性的博文,同时试着也与园内的朋友一起分享交流一下,希望对初学者有帮助. 什么是敏捷开发?敏捷开发(Agile Development)是一种以人为核心.迭代.…
现在敏捷开发是越来越火了,人人都在谈敏捷,人人都在学习Scrum和XP... 为了不落后他人,于是我也开始学习Scrum,今天主要是对我最近阅读的相关资料,根据自己的理解,用自己的话来讲述Scrum中的各个环节,主要目的有两个,一个是进行知识的总结,另外一个是觉得网上很多学习资料的讲述方式让初学者不太容易理解:所以我决定写一篇扫盲性的博文,同时试着也与园内的朋友一起分享交流一下,希望对初学者有帮助.  什么是敏捷开发? 敏捷开发(Agile Development)是一种以人为核心.迭代.循序渐…
最近开始了全面的JAVA生态环境学习,因此,JVM的学习是必不可少的一个环节.和.NET的CLR一样,一起的JAVA应用均跑在JVM虚拟机上,不过相对我们只能干看看的CLR,JVM有很大的灵活性,可以通过配置优化JVM的性能,同时针对JVM相关的监控软件也非常丰富.这部分知识有一些晦涩,为了成为一名合格的JAVA程序员,再硬的骨头也要啃下来,由于自身对这部分没有特别多的心得,将借鉴参考资料中标注的文章进行学习. 首先通过数据类型来引入一个高级语言的核心概念,堆和栈.JAVA的基本类型包括:byt…