自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 资源 (1)
  • 收藏
  • 关注

原创 【Java虚拟机】运行时数据区笔记

架构图线程共享数据区堆用于存放对象实例堆本身没有分区,所有的分区方法都只是逻辑分区,仅用于帮助理解,如:GC分为新生代、老年代、永久代、Eden等,线程可以有线程缓冲区堆内存在物理上可以是不连续的,逻辑上连续即可。方法区用于存储被虚拟机加载的类型信息、常量、静态变量、即时编译后的代码缓存等数据。方法区容易和“永久代”混淆老版本中,为了方便,用堆的永久代方法实现方法区java8中,完全舍弃永久代,用元空间实现方法区永久代的约束宽松不需要连续内存空间可以固定大小,也可以可扩展可

2020-12-04 08:54:30 96

原创 【Java虚拟机】垃圾回收-如何判断对象已死?

大家都知道java虚拟机中,内存回收是自动的,有垃圾收集器(GC)完成。那么垃圾收集器是如何判断哪些对象需要回收呢?这就引申出在java虚拟机中如何判断对象还是否有用。最常用的两种方法是引用计数法和可达性分析法,下面对这两种算法的原理做简单的额介绍。引用计数法实现步骤:给对象中添加一个引用计数器当有一个地方引用它时,计数器值就加1当引用失效时,计数器值就减1任何时刻计数器为0的对象就是不可能再被使用的,垃圾收集器就将其回收。优点:简单、效率高缺点:当出现循环引用时,计数器永远不为0,垃圾

2020-12-04 08:51:48 107

原创 JDK基础脚本工具总结

本文摘自《深入理解Java虚拟机 第三版》,如此书的作者所说,虽然现在已经有个各种可视化工具实现了对命令行工具的封装,方便且体验良好。但是不论JDK发展到什么版本,或者工具如何封装,这些底层实现的基本思想都不会过时,都值得广大开发人员学习。1 基础工具:用于支持基本的程序创建和运行名称主要作用appletviewer在不适用web浏览器的情况下运行和调试Applet ,JDK11中被移除excheck检查jar冲突的工具,JDK9中被移除jar创建和管理jar文件

2020-12-03 19:54:12 165

原创 【JAVA虚拟机】可视化监视与管理控制台-JConsole

1 什么是JConsoleJava开发者为了方便广大研发人员在开发过程中,对jvm性能情况进行实时监控与查看,开发了一整套完整的性能监控系统,包括命令行脚本与可视化页面,其中,命令行脚本的使用方式可以查看文章:【java虚拟机】JDK的命令行工具详解 。但是,虽然命令行工具的功能完备且强大,但是由于使用复杂,可视化程度低,不利于研发人员的使用,所以jdk也同时内置了可视化监控工具JConsole,在jdk的bin目录下既可以找到。JConsole(Java Monitoring and Manage

2020-12-03 17:43:35 206

原创 【java虚拟机】JDK的命令行工具详解

一、概述JDK的命令行工具指的是jdk的bin目录中的一些可执行工具,除了常用的java、javac之外,还有很多其他可执行工具,主要包括用于监视虚拟机和故障处理的工具。这些故障处理工具被Sun公司作为“礼物”附赠给JDK的使用者。主要的工具和功能如下:名称中文名全拼主要作用jps虚拟机进程状况工具JVM ProcessStatus Tool显示指定系统内所有虚拟机进程jstat虚拟机统计信息监视工具JVM Statistics Monitoring Tool

2020-12-02 17:31:55 402

原创 【JAVA虚拟机】垃圾收集算法详解

JVM虚拟机在判断哪些对象需要回收之后,接下来就是如何回收这些对象的内存。可以把系统内存想象成一个个小方格,jvm使用到的内存和需要收集到内存都散乱分布。如何将需要回收的内存回收,并尽可能提高效率和剩余内存的规整?标记-清除算法这个是最基础的算法,顾名思义,这个算法分为两步:首先标记出所有需要回收的对象在标记完成后统一回收所有被标记的对象。标记-清除算法的缺点:效率问题,标记和清除两个过程的效率都不高空间问题,标记清除之后会产生大量不连续的内存碎片,空间碎片太多可能会导致以后在程序运行

2020-12-02 08:51:21 75

原创 Java操作HDFS示例

1. 环境准备大数据集群一套,没有的可以自己本地搭建一套(参考地址:https://www.jianshu.com/p/2c2ae6490fa0)本地安装JDK本地安装IDEA或者Eclipse2. 创建Maven项目在IDEA工具中创建一个maven项目,并在pom.xml中添加以下依赖:<dependencies> <dependency> <groupId>junit</groupId> <artifactId&gt

2020-05-08 19:44:25 148

原创 HDFS的shell命令行操作

hdfs集群上的文件,在实际操作过程中和linux命令非常相似,只需要在前面写[hadoop fs]命令后面再加上想要对集群做的文件操作即可,下面是一些用的操作命令和示例。参数含义举例-help输出这个命令参数hadoop fs -help rm-ls显示目录信息hadoop fs -ls /-mkdir在HDFS上创建目录hadoop fs -mkdir -p /sanguo/shuguo-moveFromLocal从本地剪切粘贴到HDFShado

2020-05-08 19:43:35 186

原创 Hadoop伪分布式环境配置与启动

1. 环境准备在一台linux机器上,安装好hadoop运行环境,安装方式请查看:HADOOP运行环境搭建2. 启动HDFS并运行MapReduce程序2.1. 配置集群1. 配置:hadoop-env.shLinux系统中获取JDK的安装路径:[root@ hadoop101 ~]# echo $JAVA_HOME/opt/module/jdk1.8.0_144编辑hadoop-env.sh,修改hadoop-env.sh中的JAVA_HOME 路径:export JAVA_HOME=

2020-05-08 19:42:57 566

原创 Hadoop的单机模式和官方示例

一、 单机模式说明单机模式是Hadoop的默认模式。又称本地模式、独立模式等。因为不需要与其他节点交互,单机模式就不使用HDFS,也不加载任何Hadoop的守护进程。该模式主要用于开发调试MapReduce程序的应用逻辑。1. 环境准备在一台linux机器上,安装好hadoop运行环境,安装方式请查看:HADOOP运行环境搭建2. 配置说明首先说明,单机模式在安装之后不需要修改任何配置,配置文件为空即可!之所以单机模式不需要任何配置文件,是因为配置文件不配置时,系统默认值即为单机模式所

2020-05-08 19:40:57 445

原创 Hadoop的配置文件与三种运行模式

1. 配置文件简介首先,在hadoop官网中可以看到,hadoop有四个核心模块,如下图:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-M6lRJqqU-1588937978531)(https://user-gold-cdn.xitu.io/2020/2/21/17066df88c0a2c75?w=1240&h=455&f=png&s=317971)]四个核心模块分别是:Hadoop Common (公共的工具,为其他模块提供支撑)

2020-05-08 19:40:02 202

原创 Hadoop运行环境搭建教程

1. 环境准备:一台linux机器,可以是本地VMware安装的虚拟机,或者一台真实的linux机器都可以。如果是本地安装的虚拟机,需要预先配置好以下几点:配置机器静态IP(防止重启时IP变动)修改主机名(方便配置)关闭防火墙(防止端口被禁用)2. 安装包准备jdk安装包下载地址:https://www.oracle.com/java/technologies/javas...

2020-05-08 15:54:39 155

原创 linux常用命令及用法示例

一、 帮助命令##1. 常用快捷键快捷键功能ctrl + c停止进程ctrl+l清屏;彻底清屏是:resetctrl + q退出tab键提示(更重要的是可以防止敲错)上下键查找执行过的命令ctrl +alt虚拟机linux和Windows之间切换2. man 获得帮助信息基本语法man [命令或配置文件] (功能描述:...

2020-05-08 15:53:47 151

原创 Linux各类常用命令总结

1. 常用快捷键快捷键功能ctrl + c停止进程ctrl+l清屏;彻底清屏是:resetctrl + q退出tab键提示(更重要的是可以防止敲错)上下键查找执行过的命令ctrl +alt虚拟机linux和Windows之间切换2. 帮助命令命令作用用法示例man [命令或配置文件]获得帮助信息man...

2020-05-08 15:50:12 120

原创 VI和VIM的用法

一、VI和VIM的关系VIM是VI的增强版,VIM与VI编辑器完全兼容。Vi和Vim的区别为:搜索不同、脚本语言不同、共享不同。VIM是从vi发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能丰富,在程序员中被广泛使用,和Emacs并列成为类Unix系统用户最喜欢的文本编辑器。搜索不同:Vi不支持正则表达式的搜索;Vim支持正则表达式的搜索。脚本语言不同:Vi没有自己...

2020-05-08 15:48:29 409

原创 如何创建spring-boot的web项目

第一步:新建一个maven项目新建项目,选择maven填写GroupId和ArtifactId下一步默认即可,直接点击finish创建完成后项目结构如下第二步: 配置pom.xml在pom.xml中添加如下代码: <parent> <groupId>org.springframework.boot</groupId&gt...

2020-05-08 15:45:07 254

lancerdai-spring-security-demo-master.zip

使用SpringBoot + SpringSecurity + Thymeleaf + Mybatis + Mysql8框架, 实现了SpringSecurity的数据库登录验证和权限控制的小demo 可供新手学习使用 文件包含前后端源码及数据库脚本

2020-08-27

空空如也

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

TA关注的人

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