11 我爱花落随

尚未进行身份认证

假如编程易懂得,那么程序员就不会热情地写出注释,也不会有得到编程的快乐。

等级
TA的排名 13w+

面试题整理(五)java 类的加载过程、反射、动态代理

1、有哪些JVM自带类加载器?根加载器bootstrap:加载虚拟机核心类库,C++代码编写扩展类加载器:负载加载jre/lib/ext目录下类系统类加载器:加载classpath下的类库2、类的实例化顺序1.父类静态成员和静态初始化块,按在代码中出现的顺序依次执行2.子类静态成员和静态初始化块,按在代码中出现的顺序依次执行3.父类实例成员和实例初始化块,按...

2019-08-14 15:00:49

常见面试题(四)java 字符串

1、String类能被继承吗,为什么?不可以,因为String类有final修饰符,而final修饰的类是不能被继承的,实现细节不允许改变。2、String,Stringbuffer,StringBuilder的区别。1).可变与不可变  String类中使用字符数组保存字符串,如下就是,因为有“final”修饰符,所以可以知道string对象是不可变的。    private...

2019-08-14 14:59:42

常见面试题(三)java基础

1、如何在父类中为子类自动完成所有的hashcode和equals实现?这么做有何优劣。在覆盖equals方法的时候,你必须要遵守它的通用约定。下面是约定的内容,来自Object的规范[JavaSE6]自反性。对于任何非null的引用值x,x.equals(x)必须返回true。对称性。对于任何非null的引用值x和y,当且仅当y.equals(x)返回true时,x.equals(y...

2019-08-14 14:58:18

常见面试题(一)java多线程

1、多线程的几种实现方式继承Thread、实现Runnable接口、创建有返回结果的线程(创建Callable线程,然后封装FutureTask任务,获取结果方法为阻塞)2、什么是线程安全在多线程环境下,执行程序始终能得到预期的正确结果3、volatile的原理,作用,能代替锁么1)作用:保持内存可见性和防止指令重排序2)原理:观察加入volatile关键字和没有加入...

2019-08-04 15:17:20

常见面试题(二)JVM与内存管理

1、什么情况下会产生栈内存溢出异常?如果线程请求分配的栈容量超过java虚拟机栈允许的最大容量的时候,java虚拟机将抛出一个StackOverFlowError异常,可通过-Xss参数适当调整大小。2、JVM内存结构,以及Eden和Survivor比例1)堆内存:最大的一块内存区域,线程共享,主要用于存放对象实例,分为一个Eden和两个Survivor,比例为8:1:12)方法区...

2019-08-04 11:05:52

AQS(AbstractQueuedSynchronizer)的实现原理

锁是用来控制多个线程访问共享资源的方式,一般来说,一个锁能够防止多个线程同时访问共享资源(但是有些锁可以允许多个线程并发的访问共享资源,比如读写锁)。在Lock接口出现之前,Java程序是靠synchronized关键字实现锁功能的,而JavaSE5之后,并发包中新增了Lock接口(以及相关实现类)用来实现锁功能,它提供了与synchronized关键字类似的同步功能,只是在使用时需要显式...

2019-06-28 09:35:26

Elasticsearch-基础介绍及索引原理分析

介绍Elasticsearch是一个分布式可扩展的实时搜索和分析引擎,一个建立在全文搜索引擎ApacheLucene(TM)基础上的搜索引擎.当然Elasticsearch并不仅仅是Lucene那么简单,它不仅包括了全文搜索功能,还可以进行以下工作:分布式实时文件存储,并将每一个字段都编入索引,使其可以被搜索。 实时分析的分布式搜索引擎。 可以扩展到上百台服务器,处理P...

2019-06-04 15:06:50

什么是一致性Hash算法

一致性Hash算法背景  一致性哈希算法在1997年由麻省理工学院的Karger等人在解决分布式Cache中提出的,设计目标是为了解决因特网中的热点(Hotspot)问题,初衷和CARP十分类似。一致性哈希修正了CARP使用的简单哈希算法带来的问题,使得DHT可以在P2P环境中真正得到应用。  但现在一致性hash算法在分布式系统中也得到了广泛应用,研究过memcached缓存数据库的人...

2019-06-03 16:43:48

复盘计划:详解JVM类加载器

详解JVM类加载器

2019-05-14 17:29:57

复盘计划:探究类的加载过程

探究类的加载过程

2019-05-14 17:29:10

复盘计划:线程池原理分析

线程池原理分析

2019-05-14 17:28:18

复盘计划:深入理解Thread构造函数

深入理解Thread构造函数

2019-05-09 16:37:46

复盘计划:带你快速认识Java线程

2019-05-08 16:46:52

复盘计划:Java IO 系统

通读《Thinkinjava》中JavaIO系统章节进行的梳理

2019-05-08 15:42:53

JDK11新特性

千呼万唤,JDK11于2018-09-25正式发布GA版本(GA即GeneralAvailability,也就是官方推荐可以广泛使用的版本),其中发布了包括ZGC、FlightRecorder等17个新特性,让我们一睹为快。一、JDK11新特性一览181:Nest-BasedAccessControl 309:DynamicClass-FileConstants 3...

2018-12-03 10:15:30

JDK10 新特性

虽然感觉JDK9发布才仅仅几周的时间,然而,随着新的OpenJDK的发布节奏,JDK10已经到达发布候选里程碑阶段。我看过各种关于JDK10新特性的博客,但是它们都倾向于关注通过 JEPS 定义的大方面。这篇博文,我将看看是否可以罗列出JDK10中已经发生变化的方方面面(包括新增的和剔除的)。有时候,我会做一些关于JavaSE的报告会。之前我在“JDK9的55...

2018-12-03 10:14:31

JDK9新特性

Java9的安装界面1Java平台模块化系统该特性是Java9最大的一个特性,Java9起初的代号就叫Jigsaw,最近被更改为Modularity,Modularity提供了类似于OSGI框架的功能,模块之间存在相互的依赖关系,可以导出一个公共的API,并且隐藏实现的细节,Java提供该功能的主要的动机在于,减少内存的开销,我们大家都知道,在JVM启动的时候,至少会有30~6...

2018-12-03 10:12:51

JDK8新特性

一、Java8Lambda表达式Lambda表达式,也可称为闭包,它是推动Java8发布的最重要新特性。Lambda允许把函数作为一个方法的参数(函数作为参数传递进方法中)。使用Lambda表达式可以使代码变的更加简洁紧凑。1.1语法lambda表达式的语法格式如下:(parameters)->expression或(parameters)-&...

2018-11-29 17:04:49

JDK7新特性

前言,这是大部分的特性,但另一些没有写进去,比方多核并行计算的支持加强forkjoin框架;这方面并没有真正写过和了解。也就不写进来了。 1.switch中添加对String类型的支持。 Java代码 publicStringgenerate(Stringname,Stringgender){Stringtitle="...

2018-11-29 17:03:36

JDK版本变迁史

记录Java版本的更新历史,主要是对以下文章的结合:《openjdk文档》 《Java-JCP、JSR等名词介绍》 《从java1到java9每个版本都有什么新特性?》 《Java9正式发布》 《JDK10本周将进入候选发布阶段,新特性抢先看》 《Java老矣,尚能饭否?》一些术语JCP是JavaCommunityProcess(Java社区进程)的简称,...

2018-11-29 15:48:02

查看更多

勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。