JVM
图灵学院诸葛
这个作者很懒,什么都没留下…
展开
-
JVM中的本机内存跟踪
1.概述有没有想过为什么Java应用程序通过众所周知的-Xms和-Xmx调优标志消耗的内存比指定数量多得多?出于各种原因和可能的优化,JVM可以分配额外的本机内存。这些额外的分配最终会使消耗的内存超出-Xmx限制。在本教程中,我们将列举JVM中的一些常见内存分配源,以及它们的大小调整标志,然后学习如何使用本机内存跟踪监视它们。2.原生分配堆通常是Java应用程序中最大的内存使用者,...原创 2019-07-23 21:20:31 · 123 阅读 · 0 评论 -
Java面试题必须知道的知识之ThreadLocal
先列举下关于ThreadLocal常见的疑问,希望可以通过这篇学习笔记来解决这几个问题:ThreadLocal是用来解决什么问题的? 如何使用ThreadLocal? ThreadLocal的实现原理是什么? 可否举几个实际项目中使用ThreadLocal的案例?基础知识ThreadLocal是线程局部变量,和普通变量的不同在于:每个线程持有这个变量的一个副本,可以独立修改(set...原创 2019-07-23 15:24:45 · 134 阅读 · 0 评论 -
多个平台的 Java Launcher 脚本
通常对于服务来说,过长的命令往往让人感到厌烦,人们需要的只是简单的操作,并且能够支持复杂的功能,对于 Java 开发的服务来说更是如此。一个比较复杂的 Jar 服务使用Java启动,命令如下java -Xms512m -Xmx512m -jar fuck.jar --config config.server -port 10086实际上许多虚拟机的语言的 Host 命令格式也是类似的...原创 2019-08-05 22:09:51 · 179 阅读 · 0 评论 -
深度探讨Java字节代码的操纵方法
曾给大家介绍过Java字节码文件操作技巧。Java作为业界应用最为广泛的语言之一,深得众多软件厂商和开发者的推崇,更是被包括Oracle在内的众多JCP成员积极地推动发展。但是对于Java语言的深度理解和运用,毕竟是很少会有人涉及的话题。本文为IBM工程师成富编写的《Java深度历险》的第一部分Java字节代码的操纵,希望读者们喜欢。在一般的Java应用开发过程中,开发人员使用Java的方式比...原创 2019-08-02 14:09:22 · 192 阅读 · 0 评论 -
深入理解Java虚拟机笔记
深入理解Java虚拟机笔记---底层原理分析与性能优化文末彩蛋福利# 概念虚拟机:指以软件的方式模拟具有完整硬件系统功能、运行在一个完全隔离环境中的完整计算机系统 ,是物理机的软件实现。常用的虚拟机有VMWare,Visual Box,Java Virtual Machine(Java虚拟机,简称JVM)。Java虚拟机阵营:Sun HotSpot VM、BEA JRo...原创 2019-08-13 22:27:32 · 122 阅读 · 0 评论 -
Mac下Flutter 安装与配置
Mac下Flutter 安装与配置关于Flutter的安装其实超级简单,不想看此文的可以直接跳官网这篇主要是简单版的Flutter安装配置,写了:Flutter 安装 环境变量配置 Flutter vscode 配置 Flutter new Demo and runFlutter 安装准备:首先在你的Mac上必须还有700M的空间(下载的SDK有600M)、并且有一个She...原创 2019-08-13 22:33:57 · 863 阅读 · 0 评论 -
新手如何学JAVA呢
如果您是java的初学者,最想知道的莫过于如何才能学好java。以下是我的几点建议。1.奠定java的语法基础 学习java的第一步,就是学会使用java这个程序语言来编写程序,而学习程序语言的第一步就是熟悉其语法的使用。程序语言就是一门语言,所不同的是这 种语言是用来与计算机沟通的,所以若要熟悉语言,使用的方法莫过于多看别人写的程序,了解别人是如何使用java来解决问题的,然后针对同样的...原创 2019-08-19 14:32:30 · 135 阅读 · 0 评论 -
Kafka快速入门解析
参考官网:http://kafka.apache.org/quickstart一、下载Kafka官网下载地址http://kafka.apache.org/downloads截至2019年7月8日 最新版本为 2.3.0 2.12为编译的scala版本 2.3.0为kafka版本Scala 2.12 - kafka_2.12-2.3.0.tgz (asc, sha512)解压ta...原创 2019-08-14 16:01:36 · 333 阅读 · 0 评论 -
Mysql无法启动情况下,如何恢复数据呢?
本文适用于,mysql无法启动,但数据文件未丢失的情况。Mysql因意外情况,导致无法启动,数据库未做备份的情况下,如何将数据迁移至其他数据库中。原数据库地址:192.168.1.100(以下简称A服务器)新数据库地址:192.168.2.100(以下简称B服务器)数据恢复流程:进入A服务器,输入命令cat /etc/my.cnf(如文件不在当前位置,可使用find / -...原创 2019-08-14 16:12:38 · 1019 阅读 · 0 评论 -
什么是Kafka呢?
【前情提要】最近在gayhub上面得到一个开源项目,遂准备研究一下源码,当然第一步就是要把项目运行起来。然后看了一下技术栈,发现包管理工具是使用yarn,以前也听说过yarn但是也没有具体使用过,只知道是facebook发布的包管理程序。1、安装1.下载node.js,使用npm安装npm install -g yarn 查看版本:yarn --version2.安装node...原创 2019-08-15 16:51:01 · 105 阅读 · 0 评论 -
你真的懂 Java 的内存管理和引用类型优化吗?
对于 Java 程序员来说,在 Java 虚拟机自动内存管理机制的帮助下,不再需要为每一个 new 操作去写对应的 delete/free 代码,不容易出现内存泄露和内存溢出的问题。不过,也正是因为 Java 程序员把内存控制的权力交给了 Java 虚拟机,一旦出现内存泄露和内存溢出的问题,如果不了解虚拟机是怎样使用内存的,那么排查错误将会非常艰难。本文将会对 Java 的内存管理以及四种引用...原创 2019-08-15 21:50:03 · 91 阅读 · 0 评论 -
深入Java -JVM 内存管理
一.综述如果你学过C或者C++,那么你应该感受过它们对内存那种强大的掌控力。但是强大的能力往往需要更强大的控制力才能保证能力不被滥用,如果滥用C/C++的内存管理那么很容易出现指针满天飞的情况,不出问题还好,一出问题debug起来简直让人头疼得不要不要的。借用一句话,“指针一时爽,重构火葬场”。而对java程序员来说,则没有这样的烦恼,因为java直接将内存管理交由jvm来管理,这样程序员...原创 2019-08-12 22:02:07 · 94 阅读 · 0 评论 -
java的内存垃圾回收模型
一.java的内存模型介绍如下6个组成部分1.程序计数器:一块较小内存区域,指向当前所执行的字节码。如果线程正在执行一个Java方法,这个计数器记录正在执行的虚拟机字节码指令的地址,如果执行的是Native方法,这个计算器值为空。2.Java虚拟机栈:线程私有的,其生命周期和线程一致,每个方法执行时都会创建一个栈帧用于存储局部变量表、操作数栈、动态链接、方法出口等信息。3...原创 2019-07-23 15:16:45 · 173 阅读 · 0 评论 -
想做大牛,Java开发的必备技术点你理解了吗?
Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。1.Java的运行(基础必备)这条可能出看很简单,java程序的运行谁不会呢?不过很多时候, 我们只是单纯通过IDE去执行java程序,底层IDE又是如何执行java程...原创 2019-07-23 15:11:34 · 83 阅读 · 0 评论 -
你真的懂 Java 的内存管理和引用类型吗?
对于 Java 程序员来说,在 Java 虚拟机自动内存管理机制的帮助下,不再需要为每一个 new 操作去写对应的 delete/free 代码,不容易出现内存泄露和内存溢出的问题。不过,也正是因为 Java 程序员把内存控制的权力交给了 Java 虚拟机,一旦出现内存泄露和内存溢出的问题,如果不了解虚拟机是怎样使用内存的,那么排查错误将会非常艰难。本文将会对 Java 的内存管理以及四种引用...原创 2019-07-23 15:01:59 · 91 阅读 · 0 评论 -
JVM client模式和Server模式的区别
这里向大家描述一下JVMclient模式和Server模式两者的区别和联系,JVM如果不显式指定是-Server模式还是-client模式,JVM能够根据下列原则进行自动判断(适用于Java5版本或者Java以上版本)。JVM client模式和Server模式JVM Server模式与client模式启动,最主要的差别在于:-Server模式启动时,速度较慢,但是一旦运行起来后,性能将...原创 2019-07-29 20:57:29 · 157 阅读 · 0 评论 -
win7中java编程工具安装 java环境变量设置
win7中java编程工具安装 java环境变量设置Question:编译是显示'javac'不是内部或外部命令,也不是可运行的程序或批处理文件解决:在【系统变量】里编辑java_home、classpath、path环境变量java_home的变量值为 C:\Program Files\Java\jdk1.6.0_26classpath的变量值为 .;C:\Program Fil...原创 2019-07-29 21:07:55 · 132 阅读 · 0 评论 -
为什么选择 Spring 作为 Java 框架?
1. 概述在本文中,我们将讨论Spring作为最流行的 Java 框架之一的主要价值体现。最重要的是,我们将尝试理解 Spring 成为我们选择框架的原因。Spring 的详细信息及其组成部分已在我们之前的教程中广泛介绍。 因此,我们将跳过介绍性的“如何”部分,并主要关注“为什么”。2. 为什么使用任何框架?在我们开始任何关于 Spring 的讨论之前,首先让我们了解为什么我...原创 2019-07-24 21:39:44 · 441 阅读 · 0 评论 -
SpringBoot基于数据库实现简单的分布式锁
1.简介分布式锁的方式有很多种,通常方案有:基于mysql数据库 基于redis 基于ZooKeeper网上的实现方式有很多,本文主要介绍的是如果使用mysql实现简单的分布式锁,加锁流程如下图:其实大致思想如下:1.根据一个值来获取锁(也就是我这里的tag),如果当前不存在锁,那么在数据库插入一条记录,然后进行处理业务,当结束,释放锁(删除锁)。 2.如果存在锁,判断...原创 2019-07-24 21:47:32 · 183 阅读 · 0 评论 -
java第一次调用 Hadoop Java API
环境:Hadoop1.2.1例:直接使用FileSystem以标准输出格式显示Hadoop文件系统中的文件编写JAVA文件import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.FileSystem;import org.apache.hadoop.fs.Path;import org.apa...原创 2019-07-30 21:07:53 · 300 阅读 · 0 评论 -
服务容错性Sentinel
服务容错为什么需要服务容错?服务之间存在调用关系,如果被调用服务down掉,处理不及时的话,就会造成雪崩效应,又称之为级联故障、级联失效(cascading failure)。解决方案 超时处理 限流 仓壁模式(设置独立线程池,空间相对隔离) 断路器模式(监控+开关)出自于 :https://martinfowler.com/bliki/Ci...原创 2019-07-26 13:50:57 · 538 阅读 · 0 评论 -
Java垃圾回收算法
Java的堆是一个运行时数据区,类的实例(对象)从中分配空间。Java虚拟机(JVM)的堆中储存着正在运行的应用程序所建立的所有对象,这些对象通过new、newarray、anewarray和multianewarray等指令建立,但是它们不需要程序代码来显式地释放。一般来说,堆的是由垃圾回收 来负责的,尽管JVM规范并不要求特殊的垃圾回收技术,甚至根本就不需要垃圾回收,但是由于内存的有限性,JV...原创 2019-07-31 15:25:15 · 118 阅读 · 0 评论 -
Redis集群.note
Redis集群1、Redis集群方案比较哨兵模式在redis3.0以前的版本要实现集群一般是借助哨兵sentinel工具来监控master节点的状态,如果master节点异常,则会做主从切换,将某一台slave作为master,哨兵的配置略微复杂,并且性能和高可用性等各方面表现一般,特别是在主从切换的瞬间存在访问瞬断的情况,而且哨兵模式只有一个主节点对外提供服务,没法支持...原创 2019-07-26 16:42:54 · 196 阅读 · 0 评论 -
My java——JVM(java 虚拟机)
JVM是Java Virtual Machine(Java虚拟机)的缩写。一般我们在学习java中会用到很多缩写名称,如JRE、JDK、SDK、JAVA SE、JAVA EE、JAVA ME、JAVA FX、还有j2se、j2ee、javaee5,我勒个去!多得很。 有时连支持java的组织都很难搞明白,sun、oracle、openjdk三者的关系都搞不明白,taobao都有它的JVM可...原创 2019-07-26 16:56:37 · 194 阅读 · 0 评论 -
Java和PHP在Web开发方面的比较
比较PHP和JSP这两个Web开发技术,在目前的情况是其实是比较PHP和Java的Web开发。以下是我就几个主要方面进行的比较: 一、 语言比较 PHP是解释执行的服务器脚本语言,首先php有简单容易上手的特点。语法和c语言比较象,所以学过c语言的程序员可以很快的熟悉php的开发。而java需要先学好java的语法和熟悉一些核心的类库,懂得面向对象的程序设计方法。所以java不如php...原创 2019-07-31 20:53:49 · 201 阅读 · 0 评论 -
深入浅出Java中JVM内存管理
Java岗位面试,JVM是对程序员基本功考察,通常会问你对JVM了解吗? 可以分几部分回答这个问题,首先JVM内存划分 | JVM垃圾回收的含义 | 有哪些GC算法 以及年轻代和老年代各自特点等等1) JVM内存划分:① 方法区 (线程共享) 常量 静态变量 JIT(即时编译器)编译后代码也在方法区存放② 堆内存(线程共享) 垃圾回收的主要场地③ 程序计数器 当...原创 2019-07-23 14:46:16 · 87 阅读 · 0 评论 -
浅谈Java SE、Java EE、Java ME三者的区别
1. Java SE(Java Platform,Standard Edition)。Java SE 以前称为 J2SE。它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的 Java 应用程序。Java SE 包含了支持 Java Web 服务开发的类,并为 Java Platform,Enterprise Edition(Java EE)提供基础。2. Java EE(Java P...原创 2019-08-16 21:46:17 · 262 阅读 · 0 评论