首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
java
订阅
落叶君
更多收藏集
微信扫码分享
微信
新浪微博
QQ
44篇文章 · 0订阅
万万没想到,JVM内存结构的面试题可以问的这么难?
在我的博客中,之前有很多文章介绍过JVM内存结构,相信很多看多我文章的朋友对这部分知识都有一定的了解了。 以上10道题,如果您可以全部准确无误的回答的话,那说明你真的很了解JVM的内存结构以及内存分配相关的知识了,如果有哪些知识点是不了解的,那么本文正好可以帮你答疑解惑。 Ja…
Java Object类的各个方法
这是一个native方法,并且是'final'的,也就是说这个方法不允许在子类中覆写。 getClass方法返回的是当前实例对应的Class类,也就是说不管一个类有多少个实例,每个实例的getClass返回的Class对象是一样的。请看下面的例子: 上面的代码运行结果为true…
朱晔的互联网架构实践心得S1E7:三十种架构设计模式(上)
设计模式是前人通过大量的实践总结出来的一些经验总结和最佳实践。在经过多年的软件开发实践之后,回过头来去看23种设计模式你会发现很多平时写代码的套路和OO的套路和设计模式里总结的类似,这也说明了你悟到的东西和别人悟到的一样,经过大量实践总能趋向性得出一些最佳实践的结论。架构设计也…
JVM类加载过程
(1) 数组类没有对应的字节流,它是由JVM根据元素类型和维度,创建的。 (2) 除了数组类,其他类都是JVM借助BootStrap ClassLoader、ClassLoader、ExtClassLoader、AppClassloader等类加载器来查找字节流并创建的。 (3…
大型互联网公司分布式ID方案总结
ID是数据的唯一标识,传统的做法是利用UUID和数据库的自增ID,在互联网企业中,大部分公司使用的都是Mysql,并且因为需要事务支持,所以通常会使用Innodb存储引擎,UUID太长以及无序,所以并不适合在Innodb中来作为主键,自增ID比较合适,但是随着公司的业务发展,数…
高效的序列化/反序列化数据方式 Protobuf
一. protocol buffers 序列化 上篇文章中其实已经讲过了 encode 的过程,这篇文章以 golang 为例,从代码实现的层面讲讲序列化和反序列化的过程。 举个 go 使用 protobuf 进行数据序列化和反序列化的例子,本篇文章从这个例子开始。 利用 pr…
Java单例模式与反射及序列化
单例模式相信大家都不陌生,我们不讨论单例模式的几种写法及其优劣。今天我们单独拎出单例的几种实现来看看如何有效的抵御反射及序列化的攻击。如果不了解反射和序列化的可以看这两篇文章。 相信大家对于这个单例的这种实现方式肯定不陌生,下面我们来看看通过反射来创建类实例会不会破坏单例模式。…
Java核心(五)深入理解BIO、NIO、AIO
导读:本文你将获取到:同/异步 + 阻/非阻塞的性能区别;BIO、NIO、AIO 的区别;理解和实现 NIO 操作 Socket 时的多路复用;同时掌握 IO 最底层最核心的操作技巧。 带着以上这几个问题,让我们一起进入IO的世界吧。 可能很多人看到这个问题和我一样一脸懵逼,I…
volatile关键字的作用、原理
在只有双重检查锁,没有volatile的懒加载单例模式中,由于指令重排序的问题,我确实不会拿到两个不同的单例了,但我会拿到“半个”单例。 而发挥神奇作用的volatile,可以当之无愧的被称为Java并发编程中“出现频率最高的关键字”,常用于保持内存可见性和防止指令重排序。 M…
死磕java底层(三)—反射、动态代理和注解
反射是指程序可以访问,检测,修改它本身状态或行为的一种能力。 java的反射机制是指在程序运行状态中,给定任意一个类,都可以获取到这个类的属性和方法;给定任意一个对象都可以调用这个对象的属性和方法,这种动态的获取类的信息和调用对象的方法的功能称之为java的反射机制。 一言以蔽…