JVM类加载机制
一、类加载器1、分类站在Java虚拟机的角度来讲,只存在两种不同的类加载器:1、启动类加载器:它使用C++实现(这里仅限于Hotspot,也就是JDK1.5之后默认的虚拟机,有很多其他的虚拟机是用Java语言实现的),是虚拟机自身的一部分。2、所有其他的类加载器:这些类加载器都由Java语言实现,独立于虚拟机之外,并且全部继承自抽象类java.lang.ClassLoader,这些类加载器需要由启
JVM内存模型不再是秘密
方法区很多小伙伴之前也了解过jvm的内存模型,知道有方法区这个东西,但可能了解的不是很详细。其实方法区是在JDK1.8以前的版本里存在的一块内存区域,主要就是存放从class文件里加载进来的类的,而且常量池也是在这块区域内的。但是在JDK1.8之后,这块区域摇身一变,换了名字,叫做“Metaspace”,翻译过来就是“元数据空间”的意思。当然它只是改了个名,实现的功能是没变的。 &nbs
深入理解golang:内存分配原理
一、Linux系统内存#在说明golang内存分配之前,先了解下Linux系统内存相关的基础知识,有助于理解golang内存分配原理。1.1 虚拟内存技术#在早期内存管理中,如果程序太大,超过了空闲内存容量,就没有办法把全部程序装入到内存,这时怎么办? 在许多年前,人们采用了一种叫做覆盖技术,这样一种解决方案。这是一种什么样的解决方案?就是把程序分为若干个部分,称为覆盖块(ov
Jedis操作
连接池帮助类:import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; import redis.clients.jedis.JedisPoolConfig; import java.io.IOException; import java.io.Inp
Java中"与"、"或"、"非"、"异或"
& 按位"与"操作符public class Demo { public static void main(String[] args) {
容器化 FRP 使用方案
最近在折腾过程中,使用到了 FRP 这款软件,碰巧作者在几天前更新的 v0.34.1 版本只发布了容器版本,并未像之前一样发布多种编译版本。距离上一次写 FRP 相关的内容,已经过去了两年。本文就基于官方容器版本,介绍该软件的简单使用方法吧。在容器中使用 FRP 服务端首先在服务端找一个合适的目录,创建 fr
JVM内存模型不再是秘密
方法区很多小伙伴之前也了解过jvm的内存模型,知道有方法区这个东西,但可能了解的不是很详细。其实方法区是在JDK1.8以前的版本里存在的一块内存区域,主要就是存放从class文件里加载进来的类的,而且常量池也是在这块区域内的。但是在JDK1.8之后,这块区域摇身一变,换了名字,叫做“Metaspace”,翻译过来就是“元数据空间”的意思。当然它只是改了个名,实现的功能是没变的。 &nbs
基本功 | Java即时编译器原理解析及实践
一、导读常见的编译型语言如C++,通常会把代码直接编译成CPU所能理解的机器码来运行。而Java为了实现“一次编译,处处运行”的特性,把编译的过程分成两部分,首先它会先由javac编译成通用的中间形式——字节码,然后再由解释器逐条将字节码解释为机器码来执行。所以在性能上,Java通常不如C++这类编译型语言。为了优化Java的性能 ,JVM在解释器之外引入了即时(Just In
面试必备之乐观锁与悲观锁(程序员必看)
何谓悲观锁与乐观锁乐观锁对应于生活中乐观的人总是想着事情往好的方向发展,悲观锁对应于生 活中悲观的人总是想着事情往坏的方向发展。这两种人各有优缺点,不能不以 场景而定说一种人好于另外一种人。悲观锁总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会.上锁,这样别人想拿这个数据就会阻塞直到它拿到锁(共享资 源每次只给一个线程使用,其它线程阻
JVM 第二篇:垃圾收集器以及算法
0. 引言一说到 JVM ,大多数人第一个想到的可能就是 GC ,今天我们就来聊一聊和 GC 关系最大的垃圾收集器以及垃圾收集算法,希望能通过本篇文章,让各位同学对 GC 有一个初步大体的认知。1. 运行时数据区JVM 在执行的时候会把它所管理的内存划分为几个不同的数据区域。这些区域有各自
DNS域名劫持,被恶意DNS域名劫持了需要了解这些
我们都知道在互联网上安全问题是一直存在的,比较常见的有DDOS攻击、域名劫持、木马控制主机、网页篡改、网络仿冒等,这这些当中域名劫持对于网站造成的影响和危害算是最大的。搜索引擎是我们日常进行网络信息检索的一个重要的工具,大家只需要输入关键词就可以检索到需要的信息了,这些信息其实都是搜索引擎对于网站的一个快照,而快照本身其实就存在安全问题,因此我们会发现有些网站的快照上面网站标题和描述其实和网站本身
一文了解Zookeeper
Zookeeper是Apache开源的一个分布式框架,它主要为分布式应用提供协调服务。Zookeeper主要负责存储和管理大家都关心的数据,一旦这些数据的状态发生变化,Zookeeper就会通知那些注册在Zookeeper上的服务。简单来讲就是zookeeper=文件系统+通知机制。一 Zookeeper的数据结构Zookeeper的数据结构与Unix文件系统很类似,整体上可以看作是一棵
浅谈NLP 文本分类/情感分析 任务中的文本预处理工作
浅谈NLP 文本分类/情感分析 任务中的文本预处理工作前言之所以心血来潮想写这篇博客,是因为最近在关注NLP文本分类这类任务中的文本预处理工作,想总结一下自己的所学所想,老规矩,本博文记载仅供备忘与参考,不具备学术价值,本文默认使用python3编程(代码能力是屎山级别的,请谅解),默认文本为英文,代码主要使用Pytorch(博主老笨蛋了,之前一直执迷不悟用Keras,现在刚刚开始用torch,怎
Apache Hudi助力nClouds加速数据交付
1. 概述在nClouds上,当客户的业务决策取决于对近实时数据的访问时,客户通常会向我们寻求有关数据和分析平台的解决方案。但随着每天创建和收集的数据量都在增加,这使得使用传统技术进行数据分析成为一项艰巨的任务。本文我们将讨论nClouds如何帮助您应对数据延迟,数据质量,系统可靠性和数据隐私合规性方面的挑战。Amazon EMR上的Apache Hudi是需要构建增
dns劫持,dns劫持是什么,该怎么去预防dns劫持
域名劫持就是在劫持的网络范围内拦截域名解析的请求,分析请求的域名,把审查范围以外的请求放行,否则直接返回假的IP地址或者什么也不做使得请求失去响应,其效果就是对特定的网址不能访问或访问的是假网址。域名劫持一方面可能影响用户的上网体验,用户被引到假冒的网站进而无法正常浏览网页,而用户量较大的网站域名被劫持后恶劣影响会不断扩大;另一方面用户可能被诱骗到冒牌网站进行登录等操作导致泄露隐私数据。IIS7网
winscp连接路由器拒绝,winscp连接路由器拒绝的三大原因
WinSCP是一款开源的SFTP客户端,运行于Windows系统下,遵照GPL发布。WinSCP除了SFTP,还支持SSH、SCP。IIS7服务器管理工具可以批量管理、定时上传下载、同步操作、数据备份、到期提醒、自动更新。IIS7服务器管理工具适用于Windows操作系统和liunx操作系统;支持Ftp客户端批量操作。iis7服务器管理工具使用截图 1、运行WinSCP工具,
关于大数据技术的一点思考
大数据技术在当下时代,已经不算是什么新鲜东西了。但绝大部分同学往往又是没机会接触大数据相关底层技术的,包括我自己。 不过,俗话说没吃过猪肉还没见过猪跑吗?哈哈,今天就来说说我对大数据技术的思考吧,希望会给部分同学解开一些迷惑! 1.什么是大数据? 我们不搞虚的:大数据就是数
C#数据结构-静态链表
对于双向链表中的节点,都包括一个向前、向后的属性器用于指向前后两个节点,对于引用类型,对象存储的是指向内存片段的内存指针,那么我们可以将其简化看作向前向后的两个指针。现在我们将引用类型替换为值类型int,将链用数组代替,向后的指针替换为数组的下标,那么此时的链我们称为静态链表(或者说是单向静态链表)。不多说,直接上代码(代码已做注解)public class Node<T
java安全编码指南之:敏感类的拷贝
简介一般来说class中如果包含了私有的或者敏感的数据的时候是不允许被拷贝的。如果一个class不想被拷贝,我们是不是不提供拷贝的方法就能保证class的安全了呢?一起来看看吧。一个简单的SensitiveObject假如我们有下面的一个SensitiveObject,它的作用就是存储一个password,并且提供了一个修改password的方法:public class SensitiveObj
一文了解Zookeeper
Zookeeper是Apache开源的一个分布式框架,它主要为分布式应用提供协调服务。Zookeeper主要负责存储和管理大家都关心的数据,一旦这些数据的状态发生变化,Zookeeper就会通知那些注册在Zookeeper上的服务。简单来讲就是zookeeper=文件系统+通知机制。一 Zookeeper的数据结构Zookeeper的数据结构与Unix文件系统很类似,整体上可以看作是一棵