就因为没看这篇文章面试失败了 编程技术

就因为没看这篇文章面试失败了

前言 熬夜整理了一份java基础面试题,希望大家支持,如果文中有错误希望大家指正; 公众号:知识追寻者 知识追寻者(Inheriting the spirit of open source, Spreading technology knowledge;) 一 java基础面试 1.1面向对象和面向过程的区别 面向过程: 优点: 性能比面向对象高 ,因为...
阅读全文
要看HashMap源码,先来看看它的设计思想 编程技术

要看HashMap源码,先来看看它的设计思想

HashMap 是日常开发中,用的最多的集合类之一,也是面试中经常被问到的 Java 类之一。同时,HashMap 在实现方式上面又有十分典型的范例。不管是从哪一方面来看,学习 HashMap 都可以说是有利无害的。 分析 HashMap 的源码的文章在网上面已经数不胜数了,本文就另辟蹊径来分析 HashMap 的设计思想。 底层数据结构 说到 HashMap 的数据库,我们需要从两...
阅读全文
HashMap与HashTable 编程技术

HashMap与HashTable

二、HashMap和Hashtable的区别 1.区别: 两者最主要的区别在于Hashtable是线程安全,而HashMap则非线程安全。 Hashtable 是不允许键或值为 null 的,HashMap 的键值则都可以为 null。 Hashtable在我们put 空值的时候会直接抛空指针异常,但是HashMap却做了特殊处理。 static final int h...
阅读全文
高性能 Netty 之编解码技术 编程技术

高性能 Netty 之编解码技术

什么是编解码技术?我们先来看一下关于这个词的简单描述。 编码是信息从一种形式或格式转换为另一种形式的过程也称为计算机编程语言的代码简称编码。而解码指的是编码的逆过程。 从描述我们可以知道,其实编解码技术是一个泛指。你可以认为是密码学里面的加密和解密,也可以认为是 Java 里面的序列化技术(对象->二进制/二进制->对象),或等等。所以说编解码技术其实应用非常的广泛。 而...
阅读全文
使用Go语言实现Attach到目标JVM进程 编程技术

使用Go语言实现Attach到目标JVM进程

0x00 Java Attach API的基本使用 在JVM运行时加载一个Agent的jar包是Java agent的一种更加灵活的实现方式,因为动态Attach时不需要停止目标JVM进程,这个特性给Java Agent 的部署带来极大的便利。通常我们使用如下API将Agent的jar包Attach到目标JVM上。 import com.sun.tools.attach.*; import j...
阅读全文
一篇文章带你完全了解JAVA线程池,再也不用担心被面试官问了 Java

一篇文章带你完全了解JAVA线程池,再也不用担心被面试官问了

1.什么是线程池 线程(thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位,我们的程序最终都是由线程进行运作。在Java中,创建和销毁线程的动作是很消耗资源的,因此就出现了所谓“池化资源”技术。线程池是池化资源技术的一个应用,所谓线程池,顾名思义就是预先按某个规定创建若干个可执行线程放入一个容器中(线程池),需要使用的时候从线程池中去取,用完之后不销毁...
阅读全文
译|深入理解Metaspace 编程技术

译|深入理解Metaspace

文章目录 什么是 Metaspace? 何时分配 Metaspace? 何时释放 Metaspace? Metaspace 体系结构 匿名类的元空间释放 对象内存布局 压缩指针 压缩对象指针 压缩类指针 压缩指针开启 元空间配置 参考 ...
阅读全文
Service Mesh 实践(九):为什么 Golang 更适合 Service Mesh 编程技术

Service Mesh 实践(九):为什么 Golang 更适合 Service Mesh

Service Mesh 架构下 API 会慢多少 不可否认,当你把一个单体程序拆成微服务后,单次请求的延迟也必定会增加。 然后再做 Service Mesh 改造后,每个服务外层还要再加一层 Proxy,那延迟又要增加了。 如果是一个复杂点的接口,内部产生 10 次远程调用是很常见的。Service Mesh 的核心 Sidecar 可以认为是一层反向代理。在这种情况下你数数一个请求经过了...
阅读全文
基于Kubernetes的业务自动化BPMN流程工具:Kogito Java

基于Kubernetes的业务自动化BPMN流程工具:Kogito

Kogito是一种全新设计的BPMN工具,可在云基础架构上大规模运行。通过利用最新技术(Quarkus,knative等),您可以在Kubernetes等编排平台上获得惊人的快速启动时间和即时扩展。 Kogito是下一代业务自动化工具包,它源自著名的开源项目Drools(用于业务规则)和jBPM(用于业务流程)。Kogito旨在提供另一种业务自动化方法,其主要信息是以特定领域的方式公开您的业务...
阅读全文
那些想要替代 C 与 Java 们的后浪,如今混得怎么样? 编程技术

那些想要替代 C 与 Java 们的后浪,如今混得怎么样?

近日,TIOBE 公布了 2020 年 5 月的编程语言排行榜,C 语言时隔 5 年重返榜首,Java 和 Python 分列二、三位。 前段时间,B 站推出的青年节演讲视频《后浪》在朋友圈刷屏,看着“后浪”们丰富多彩的生活,同事们纷纷自嘲自己就是被拍在沙滩上的那一个,被生活疯狂蹂躏。然而在编程语言界,“后浪”们掀起的波澜则十分有限。与近年来陆续涌现的新兴编程语言...
阅读全文
Loading...