spring
图灵学院诸葛
这个作者很懒,什么都没留下…
展开
-
JVM中的本机内存跟踪
1.概述 有没有想过为什么Java应用程序通过众所周知的-Xms和-Xmx调优标志消耗的内存比指定数量多得多?出于各种原因和可能的优化,JVM可以分配额外的本机内存。这些额外的分配最终会使消耗的内存超出-Xmx限制。 在本教程中,我们将列举JVM中的一些常见内存分配源,以及它们的大小调整标志,然后学习如何使用本机内存跟踪监视它们。 2.原生分配 堆通常是Java应用程序中最大的内存使用者,...原创 2019-07-23 21:20:31 · 123 阅读 · 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 评论 -
让JAVA开发头条的内存模型及结构
困惑?我该为堆内存设置多大空间呢?OutOfMemoryError的异常到底涉及到运行时数据的哪块区域?该怎么解决呢? Java内存模型 Java内存模型在JVM specification, Java SE 7 Edition, and mainly in the chapters “2.5 Runtime Data Areas” and “2.6 Frames”中有详细的说明。对象和类的数...原创 2019-08-08 15:18:13 · 81 阅读 · 0 评论 -
Java中ThreadLocal的设计与使用
ThreadLocal是什么 ThreadLocal是什么呢?其实ThreadLocal并非是一个线程的本地实现版本,它并不是一个Thread,而是thread local variable(线程局部变量)。也许把它命名为ThreadLocalVar更加合适。线程局部变量(ThreadLocal)其实的功用非常简单,就是为每一个使用该变量的线程都提供一个变量值的副本,是每一个线程都可以独立地改变...原创 2019-07-28 16:31:38 · 103 阅读 · 0 评论 -
Java面试题必须知道的知识之ThreadLocal
先列举下关于ThreadLocal常见的疑问,希望可以通过这篇学习笔记来解决这几个问题: ThreadLocal是用来解决什么问题的? 如何使用ThreadLocal? ThreadLocal的实现原理是什么? 可否举几个实际项目中使用ThreadLocal的案例? 基础知识 ThreadLocal是线程局部变量,和普通变量的不同在于:每个线程持有这个变量的一个副本,可以独立修改(set...原创 2019-07-23 15:24:45 · 134 阅读 · 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 评论 -
深入浅出Java中JVM内存管理
Java岗位面试,JVM是对程序员基本功考察,通常会问你对JVM了解吗? 可以分几部分回答这个问题,首先JVM内存划分 | JVM垃圾回收的含义 | 有哪些GC算法 以及年轻代和老年代各自特点等等 1) JVM内存划分: ① 方法区 (线程共享) 常量 静态变量 JIT(即时编译器)编译后代码也在方法区存放 ② 堆内存(线程共享) 垃圾回收的主要场地 ③ 程序计数器 当...原创 2019-07-23 14:46:16 · 87 阅读 · 0 评论 -
Java自定义Exception
这里总结一下Java的Exception,并实现一个自定义Exception类。 总结: Throwable对象分为两种类型:Error(表示编译时和系统错误);Exception(在Java类库、用户方法以及运行时故障中抛出的异常)。 Exception细分成两种异常:受检查异常(如,IOException, SQLException等。在编译时要被强制检查的异常,需要用try, catc...原创 2019-07-31 15:16:15 · 1174 阅读 · 0 评论 -
服务容错性Sentinel
服务容错 为什么需要服务容错? 服务之间存在调用关系,如果被调用服务down掉,处理不及时的话,就会造成雪崩效应,又称之为级联故障、级联失效(cascading failure)。 解决方案 超时处理 限流 仓壁模式(设置独立线程池,空间相对隔离) 断路器模式(监控+开关)出自于 :https://martinfowler.com/bliki/Ci...原创 2019-07-26 13:50:57 · 538 阅读 · 0 评论 -
Java秒杀系统实战系列~构建SpringBoot多模块项目
摘要:本篇博文是“Java秒杀系统实战系列文章”的第二篇,主要分享介绍如何采用IDEA,基于SpringBoot+SpringMVC+Mybatis+分布式中间件构建一个多模块的项目,即“秒杀系统”!。 内容:传统的基于IDEA构建SpringBoot的项目,是直接借助Spring Initializr插件进行构建,但是这种方式在大部分情况下,只能充当“单模块”的项目,并不能很好的做到“分工明确...原创 2019-07-26 13:45:48 · 129 阅读 · 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 评论 -
LinkedList源码分析:JDK源码分析系列
1.介绍 LinkedList 是线程不安全的,允许元素为null的双向链表。 2.继承结构 我们来看一下LinkedList的继承结构图:代码实现: public class LinkedList<E> extends AbstractSequentialList<E> implements List<E>, Deque<E...原创 2019-07-24 22:04:07 · 100 阅读 · 0 评论 -
Spring-Boot启动之前做了哪些事?
Spring Boot Jar文件探究 初始化一个Spring 应用,添加如下依赖 <?xml version="1.0" encoding="UTF-8"?> <project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0" ...原创 2019-07-24 21:50:44 · 677 阅读 · 0 评论 -
SpringBoot基于数据库实现简单的分布式锁
1.简介 分布式锁的方式有很多种,通常方案有: 基于mysql数据库 基于redis 基于ZooKeeper 网上的实现方式有很多,本文主要介绍的是如果使用mysql实现简单的分布式锁,加锁流程如下图: 其实大致思想如下: 1.根据一个值来获取锁(也就是我这里的tag),如果当前不存在锁,那么在数据库插入一条记录,然后进行处理业务,当结束,释放锁(删除锁)。 2.如果存在锁,判断...原创 2019-07-24 21:47:32 · 183 阅读 · 0 评论 -
为什么选择 Spring 作为 Java 框架?
1. 概述 在本文中,我们将讨论Spring作为最流行的 Java 框架之一的主要价值体现。 最重要的是,我们将尝试理解 Spring 成为我们选择框架的原因。Spring 的详细信息及其组成部分已在我们之前的教程中广泛介绍。 因此,我们将跳过介绍性的“如何”部分,并主要关注“为什么”。 2. 为什么使用任何框架? 在我们开始任何关于 Spring 的讨论之前,首先让我们了解为什么我...原创 2019-07-24 21:39:44 · 441 阅读 · 0 评论 -
win7中java编程工具安装 java环境变量设置
win7中java编程工具安装 java环境变量设置 Question:编译是显示'javac'不是内部或外部命令,也不是可运行的程序或批处理文件 解决: 在【系统变量】里编辑java_home、classpath、path环境变量 java_home的变量值为 C:\Program Files\Java\jdk1.6.0_26 classpath的变量值为 .;C:\Program Fil...原创 2019-07-29 21:07:55 · 132 阅读 · 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 评论