摘要:
1.堆内存分配:JVM 初始分配的内存由**-Xms** 指定,默认是物理内存的 1/64;JVM 最大分配的内存由**-Xmx** 指定,默认是物理内存的 1/4;默认空余堆内存小于 40% 时,JVM 就会增大堆直到-Xmx 的最大限制;空余堆内存大于 70% 时,JVM 会减少堆直到 -Xms 阅读全文
posted @ 2019-03-21 21:58
白露~
阅读(1785)
评论(0)
推荐(0)
|
摘要:
1.堆内存分配:JVM 初始分配的内存由**-Xms** 指定,默认是物理内存的 1/64;JVM 最大分配的内存由**-Xmx** 指定,默认是物理内存的 1/4;默认空余堆内存小于 40% 时,JVM 就会增大堆直到-Xmx 的最大限制;空余堆内存大于 70% 时,JVM 会减少堆直到 -Xms 阅读全文
posted @ 2019-03-21 21:58
白露~
阅读(1785)
评论(0)
推荐(0)
摘要:
性能优化指标 性能优化指标 性能优化指标 性能优化指标 一、名词解释 RT = return time 响应时间 PV=page view 页面浏览数 TPS=transactions per second 每秒事务数 QPS=queries per second 每秒请求数 RPS=request 阅读全文
posted @ 2019-03-21 21:53
白露~
阅读(1460)
评论(0)
推荐(0)
摘要:
在并发编程中,多个线程之间采取什么机制进行通信(信息交换),什么机制进行数据的同步? 在Java语言中,采用的是共享内存模型来实现多线程之间的信息交换和数据同步的。 线程之间通过共享程序公共的状态,通过读-写内存中公共状态的方式来进行隐式的通信。 同步指的是程序在控制多个线程之间执行程序的相对顺序的 阅读全文
posted @ 2019-03-21 21:32
白露~
阅读(336)
评论(0)
推荐(0)
摘要:
1. 概述 某公司面试,总监大叔过来,问了图论及栈的最大深度,然后^_^ 一直记着,今天搞一下 2. 代码 package com.goodfan.test; public class JavaStackTest { private int count = 0; public void testSt 阅读全文
posted @ 2019-03-21 19:21
白露~
阅读(474)
评论(0)
推荐(1)
摘要:
编译简介 在谈到JIT前,还是需要对编译过程有一些简单的了解。 在编译原理中,把源代码翻译成机器指令,一般要经过以下几个重要步骤: 什么是JIT1、动态编译(dynamic compilation)指的是“在运行时进行编译”;与之相对的是事前编译(ahead-of-time compilation, 阅读全文
posted @ 2019-03-21 18:33
白露~
阅读(759)
评论(0)
推荐(1)
摘要:
最近考试出了一个很简单的题,看看他们对java常量,变量,静态变量的理解,代码如下: public class TestVar { /** * JAVA基础,常量,变量,静态变量 */ public static void main(String[] args) { // TODO Auto-gen 阅读全文
posted @ 2019-03-21 18:15
白露~
阅读(1916)
评论(0)
推荐(0)
摘要:
首先看个例子: package zm.demo; public class Demo { private int Id;//成员变量(字段)、实例变量(表示该Id变量既属于成员变量又属于实例变量) private String name;//成员变量(字段)、实例变量 public int age; 阅读全文
posted @ 2019-03-21 18:11
白露~
阅读(956)
评论(0)
推荐(0)
摘要:
常说的GC(Garbage Collector) roots,特指的是垃圾收集器(Garbage Collector)的对象,GC会收集那些不是GC roots且没有被GC roots引用的对象。 常说的GC(Garbage Collector) roots,特指的是垃圾收集器(Garbage Co 阅读全文
posted @ 2019-03-21 17:17
白露~
阅读(647)
评论(0)
推荐(0)
摘要:
JVM区域总体分两类,heap区和非heap区。heap区又分为: Eden Space(伊甸园)、 Survivor Space(幸存者区)、 Old Gen(老年代)。 非heap区又分: Code Cache(代码缓存区); Perm Gen(永久代); Jvm Stack(java虚拟机栈) 阅读全文
posted @ 2019-03-21 16:52
白露~
阅读(3863)
评论(0)
推荐(0)
摘要:
JAVA运行时数据区域 1、程序计数器:当前线程所执行的字节码的行号指示器。一个处理器只会执行一条线程中的指令,为了线程切换后能回复到正确的执行位置,所以每条线程都需要一个独立的计数器。各条线程之间互不影响,独立存储,属于‘线程私有’内存。 2、java虚拟机栈:描述的是JAVA方法执行的内存模型: 阅读全文
posted @ 2019-03-21 16:36
白露~
阅读(1219)
评论(0)
推荐(0)
摘要:
查找内存中不再使用的对象 引用计数法 引用计数法就是如果一个对象没有被任何引用指向,则可视之为垃圾。这种方法的缺点就是不能检测到环的存在。 2.根搜索算法 根搜索算法的基本思路就是通过一系列名为”GC Roots”的对象作为起始点,从这些节点开始向下搜索,搜索所走过的路径称为引用链(Referenc 阅读全文
posted @ 2019-03-21 16:35
白露~
阅读(1099)
评论(0)
推荐(1)
摘要:
1.跟搜索算法: JVM中对内存进行回收时,需要判断对象是否仍在使用中,可以通过GC Roots Tracing辨别。 定义: 通过一系列名为”GCRoots”的对象作为起始点,从这个节点向下搜索,搜索走过的路径称为ReferenceChain,当一个对象到GCRoots没有任何ReferenceC 阅读全文
posted @ 2019-03-21 16:34
白露~
阅读(784)
评论(0)
推荐(0)
摘要:
对于Java开发人员来说,了解垃圾回收机制(GC)有哪些好处呢? 首先可以满足作为一名软件工程师的求知欲, 其次,深入了解GC如何工作可以帮你写出更好的Java应用。 这仅仅代表我个人的意见,但我坚信一个精通GC的人往往是一个好的Java开发者。如果你对GC的处理过程感兴趣,说明你已经具备较大规模应 阅读全文
posted @ 2019-03-21 15:50
白露~
阅读(247)
评论(0)
推荐(0)
摘要:
1、简介 对于Java developer来说,了解JVM GC工作原理能够帮助我们开发出更优秀的应用,同时在处理JVM瓶颈时能够更加自由。在最近一年的应用开发中能体会到这些知识带来的好处,并且让我们的应用在较大规模的并发时能够良好的工作。 本文部分知识和图片来源于书籍《Java Performan 阅读全文
posted @ 2019-03-21 15:48
白露~
阅读(409)
评论(0)
推荐(0)
摘要:
版权声明:本文为博主原创文章,未经博主允许不得转载。 反射,当时经常听他们说,自己也看过一些资料,也可能在设计模式中使用过,但是感觉对它没有一个较深入的了解,这次重新学习了一下,感觉还行吧! 一,先看一下反射的概念: 主要是指程序可以访问,检测和修改它本身状态或行为的一种能力,并能根据自身行为的状态 阅读全文
posted @ 2019-03-21 15:41
白露~
阅读(356)
评论(0)
推荐(0)
摘要:
一. 反射机制概念 主要是指程序可以访问,检测和修改它本身状态或行为的一种能力,并能根据自身行为的状态和结果,调整或修改应用所描述行为的状态和相关的语义。在java中,只要给定类的名字, 那么就可以通过反射机制来获得类的所有信息。 反射是Java中一种强大的工具,能够使我们很方便的创建灵活的代码,这 阅读全文
posted @ 2019-03-21 15:31
白露~
阅读(1074)
评论(0)
推荐(0)
摘要:
一、什么是反射机制 简单的来说,反射机制指的是程序在运行时能够获取自身的信息。在java中,只要给定类的名字, 那么就可以通过反射机制来获得类的所有信息。 二、哪里用到反射机制 有些时候,我们用过一些知识,但是并不知道它的专业术语是什么,在刚刚学jdbc时用过一行代码, Class.forName( 阅读全文
posted @ 2019-03-21 15:30
白露~
阅读(281)
评论(0)
推荐(0)
摘要:
java反射效率到底如何,花了点时间,做了一个简单的测试.供大家参考.测试背景: 1. 测试简单Bean(int,Integer,String)的set方法2. loop 1亿次3. 测试代码尽可能避免对象的创建,复发方法的调用,仅仅测试set方法的耗时测试结果: 场景 本机测试结果(XP,双核,2 阅读全文
posted @ 2019-03-21 15:29
白露~
阅读(3472)
评论(0)
推荐(0)
摘要:
Java 虚拟机面试题全面解析(干货) JDK 是什么 JRE 是什么 Java历史版本的特性 Java Version SE 50 Java Version SE 6 Java Version SE 7 Java 8 运行时数据区域包括哪些 程序计数器线程私有 Java 虚拟机栈线程私有 本地方法 阅读全文
posted @ 2019-03-21 15:28
白露~
阅读(4057)
评论(0)
推荐(0)
摘要:
1: 详细解释Java中垃圾收集的主要流程。 垃圾收集主要有两种形式:手工、自动 自动会不定期进行回收,以释放无用的空间 手工调用的是System类中的gc()方法,此方法实际上调用的是Runtime类中的gc()方法,当一个对象被回收之前将调用类中的finlalize()方法,此方法为 Objec 阅读全文
posted @ 2019-03-21 15:27
白露~
阅读(6011)
评论(0)
推荐(0)
摘要:
面试题:“你能不能谈谈,java GC是在什么时候,对什么东西,做了什么事情?” 面试题目:地球人都知道,Java有个东西叫垃圾收集器,它让创建的对象不需要像c/cpp那样delete、free掉,你能不能谈谈: GC是在什么时候,对什么东西,做了什么事情? 以上算是三个问题,下面逐一分析: 问题一 阅读全文
posted @ 2019-03-21 15:23
白露~
阅读(2742)
评论(0)
推荐(2)
摘要:
Java 详解 JVM 工作原理和流程 作为一名Java使用者,掌握JVM的体系结构也是必须的。说起Java,人们首先想到的是Java编程语言,然而事实上,Java是一种技术,它由四方面组成:Java编程语言、Java类文件格式、Java虚拟机和Java应用程序接口(Java API)。它们的关系如 阅读全文
posted @ 2019-03-21 15:22
白露~
阅读(2316)
评论(0)
推荐(0)
摘要:
1. 内存模型以及分区,需要详细到每个区放什么。 2. 堆里面的分区:Eden,survival from to,老年代,各自的特点。 3. 对象创建方法,对象的内存分配,对象的访问定位。 4. GC的两种判定方法:引用计数与引用链。 5. GC的三种收集方法:标记清除、标记整理、复制算法的原理与特 阅读全文
posted @ 2019-03-21 15:20
白露~
阅读(469)
评论(0)
推荐(0)
摘要:
1. 内存模型以及分区,需要详细到每个区放什么。 2. 堆里面的分区:Eden,survival from to,老年代,各自的特点。 3. 对象创建方法,对象的内存分配,对象的访问定位。 4. GC的两种判定方法:引用计数与引用链。 5. GC的三种收集方法:标记清除、标记整理、复制算法的原理与特 阅读全文
posted @ 2019-03-21 15:19
白露~
阅读(439)
评论(0)
推荐(0)
摘要:
分布式事务 5种分布式事务解决方案优缺点对比 常用的分布式事务解决方案介绍有多少种? 分布式系统事务一致性解决方案 分布式事务精华总结篇,实打实的干货! 分布式事务,有解吗? 分布式事务不理解?一次给你讲清楚! 分布式事务科普(初识篇) 原创 | 分布式事务科普(终结篇) 分布式事务的概念及实现方案 阅读全文
posted @ 2019-03-21 15:08
白露~
阅读(191)
评论(0)
推荐(0)
摘要:
HTTP,TCP 关于HTTP协议,一篇就够了 HTTP与HTTPS的区别 HTTPS实现原理 公钥与私钥,通俗理解HTTPS详解 HTTP Keep-Alive模式 HTTP长连接和短连接 HTTP的长连接(持久连接)和短连接 HTTP的长连接和短连接 什么是长连接,什么是短连接?长连接和短连接的 阅读全文
posted @ 2019-03-21 15:07
白露~
阅读(313)
评论(0)
推荐(0)
摘要:
spring 整体了解 spring 入门demo Spring整体了解 spring梳理 Spring线程池的5个要素 spring的事务隔离级别以及传播性 事务4个隔离界别及脏读,不可重复读,幻读 事务、事务特性、事务隔离级别、spring事务传播特性 spring事务传播性与隔离级别 spri 阅读全文
posted @ 2019-03-21 15:02
白露~
阅读(267)
评论(0)
推荐(0)
摘要:
Java面试前需要做足各方面的准备工作,肯定都会浏览大量的面试题,本人也不例外,这是一些最新面试题,分享给大家。 Java基础 面向对象的特征:继承、封装和多态 int 和 Integer 有什么区别; Integer的值缓存范围 说说反射的用途及实现 Http 请求的 GET 和 POST 方式的 阅读全文
posted @ 2019-03-21 14:47
白露~
阅读(1093)
评论(0)
推荐(0)
摘要:
连接池用于创建和管理数据库连接的缓冲池技术,缓冲池中的连接可以被任何需要他们的线程使用。当一个线程需要用JDBC对一个数据库操作时,将从池中请求一个连接。当这个连接使用完毕后,将返回到连接池中,等待为其他的线程服务。 连接池的主要优点有以下三个方面。 第一、减少连接创建时间。连接池中的连接是已准备好 阅读全文
posted @ 2019-03-21 14:45
白露~
阅读(1346)
评论(0)
推荐(0)
摘要:
Java目前已经不仅仅是一门开发语言,而是一整套生态体系。 作为一个Java程序员,既是幸运的,也是不幸的。幸运的是我们有很多轮子可以拿过来用,不幸的是我们有太多的轮子需要学习。 但是,无论是日常工作还是面试问题,也都符合二八原则。即掌握20%的知识,就能解决80%的问题。 那么,Java程序员必须 阅读全文
posted @ 2019-03-21 14:44
白露~
阅读(510)
评论(0)
推荐(0)
摘要:
这篇文章主要介绍了Java引用和Threadlocal的那些事,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 1 背景 某一天在某一个群里面的某个群友突然提出了一个问题:"threadlocal的key是虚引用,那么在threadlocal.get()的时候,发生GC之 阅读全文
posted @ 2019-03-21 14:43
白露~
阅读(1236)
评论(0)
推荐(0)
摘要:
简介:请允许我当一回标题党。好了,言归正传,本篇主要内容便是介绍HashMap的男二号——TreeNode(男一号还是给Node吧,毕竟是TreeNode的爷爷,而且普通节点一般来说也比TreeNode要多),本篇主要从以下几个方面介绍:1. ... 简介:请允许我当一回标题党。好了,言归正传,本篇 阅读全文
posted @ 2019-03-21 14:41
白露~
阅读(2349)
评论(1)
推荐(0)
摘要:
在 HTTP 协议中有可能存在信息窃听或身份伪装等安全问题。使用 HTTPS 通信机制可以有效地防止这些问题。本文我们就了解一下 HTTPS。 一、什么是 HTTPS HTTPS,是以安全为目标的 HTTP 通道,简单讲是 HTTP 的安全版。即 HTTP 下加入 SSL 层,HTTPS 的安全基础 阅读全文
posted @ 2019-03-21 14:36
白露~
阅读(2337)
评论(0)
推荐(1)
摘要:
1. MySql+Memcached架构的问题 实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量的不断增加,和访问量的持续增长,我们遇到了很多问题: 1.MySQL需要不断进行拆库拆表,Memcach 阅读全文
posted @ 2019-03-21 14:33
白露~
阅读(407)
评论(0)
推荐(1)
|