JVM探秘:四种引用、对象的生存与死亡
本系列笔记主要基于《深入理解Java虚拟机:JVM高级特性与最佳实践 第2版》,是这本书的读书笔记。 Java虚拟机的内存区域中,程序计数器、Java栈和本地方法栈是线程私有的,随线程而生随线程而灭,因此这几个区域的内存回收和分配都有确定性,所以主要探究的是Java堆和方法区的内存分配及回收。 Java堆 在Java堆中存放着所有的对象实例,垃圾收集器在对堆进行回收前,第一件事就是判断这些对象中哪些还存活,哪些已经死去(即不会再被使用到的对象)。 Java中的引用 在JDK1.2及之前,关于引
innerText内容中出现其他字符 什么鬼
、 经发现 innerHTML: "<i class="larry-icon undefined" data-icon="undefined"></i><cite>添加的2级菜单2020/1/1 17:41:38</cite><i class="layui-icon layui-unselect layui-tab-close" data-id="1">ဆ</i>" innerText: "添加的2级菜单2020/1/1 17:41:38ဆ"。
[WC2014]紫荆花之恋 - 动态点分治 + 平衡树
Task1 N<=1000 \(O(n^2)\)算法随便乱搞。 源代码 Task2 N<= 1e5 且为链 考虑新加入一个节点后,因为是链,所以每个节点到新加入的节点的距离的增量是相同的。 观察一下两个小精灵能够成为好朋友的条件: \[ dist(i,j)\le r_i + r_j \] 移个项: \[ dist(i,j) - r_j \le r_j \] 于是可以用平衡树维护每个点的\(dist(i,j)-r_j\),然后直接查询即可。 算法复杂度\(O(N\log N)\)。 源代码 Ta
大白话聊聊Java并发面试问题之Java 8如何优化CAS性能?
本文转载自石杉的架构笔记 一、前情回顾 上篇文章给大家聊了一下volatile的原理,具体参见:《大白话聊聊Java并发面试问题之volatile到底是什么?》。 这篇文章给大家聊一下java并发包下的CAS相关的原子操作,以及Java 8如何改进和优化CAS操作的性能。 因为Atomic系列的原子类,无论在并发编程、JDK源码、还是各种开源项目中,都经常用到。而且在Java并发面试中,这一块也属于比较高频的考点,所以还是值得给大家聊一聊。 二、场景引入,问题凸现 好,我们正式开始!假设多个线
IO java标准输入与输出
1.文件输出流 (java IO简介) /**
* java io 标准的输入与输出
* 使用java IO我们可以对外界设备已相同的方式进行
* 读写完成数据交换.
*
* java IO将"读"与"写"按照方向进行了划分:
* 输入:从外界到程序的方向,用于让程序获取外界数据因此输入是"读"数据的操作
* 输出:从程序到外界的方向,用于将数据"写"出的操作.
*
* java IO以"流"的形式表示读写功能
* java.io.InputStream 输入流,通过
【Docker】Docker启动 报 Get Permission Denied
问题描述: 在搭建个人博客时,使用Docker部署,启动Docker时报错,Get Permission Denied...... 原因docker进程使用Unix Socket而不是TCP端口。而默认情况下,Unix socket属于root用户,需要root权限才能访问。 经百度查到解决办法 解决方法1 使用sudo获取管理员权限,运行docker命令 解决方法2 docker守护进程启动的时候,会默认赋予名字为docker的用户组读写Unix socket的权限,因此只要创建docker
数组:数组中重复的数字
在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。 bool duplicate(int numbers[], int length, int* duplication) {
for(int i = 0; i < length; i++){
大白话聊聊Java并发面试问题之谈谈你对AQS的理解?
本文转载自石杉的架构笔记 一、写在前面 上一篇文章聊了一下java并发中常用的原子类的原理和Java 8的优化,具体请参见文章:《大白话聊聊Java并发面试问题之Java 8如何优化CAS性能?》。 这篇文章,我们来聊聊面试的时候比较有杀伤力的一个问题:聊聊你对AQS的理解? 之前有同学反馈,去互联网公司面试,面试官聊到并发时就问到了这个问题。当时那位同学内心估计受到了一万点伤害。。。 因为首先,很多人还真的连AQS是什么都不知道,可能听都没听说过。或者有的人听说过AQS这个名词,但是可能连具
Python栈溢出【新手必学】
python3.5.4 递归函数最恶心的时候莫非栈溢出(Stack overflow)。 PS:另外很多人在学习Python的过程中,往往因为没有好的教程或者没人指导从而导致自己容易放弃,为此我建了个Python交流.裙 :一久武其而而流一思(数字的谐音)转换下可以找到了,里面有最新Python教程项目可拿,不懂的问题多跟里面的人交流,都会解决哦! 如何解决? 人为设置递归深度 使用python写的递归程序如果递归太深, 那么极有可能因为超过系统默认的递归深度限制而出现错误。一般默认递归长度在
一元函数微分概念与计算(二)
微分及其误差 分段函数的导数 根据左导数 是否等于 右导数,判定 f '(x0) 例题,y = ln|x|,求y' 一阶微分形式不变 df(u) = f ' (u)du,用链式求导法则,求到底 常见的导数 (ln |x|)' = 1/x (ln |u(x)|)' = u'(x)/u(x) 反函数的导数 设y = f(x)可导,且f'(x)≠0,则 f'(x)必保号(恒正或者恒负),f(x)必单调 (单调递增或单调递减) 互为反函数的导数互为倒数 利用反函数求导数 参数方程二阶导 隐函数求导法
JSON 文件的存取
import json
data = {'Tom': {'Weight:': 65, 'Score': 90, 'Height': 170}}
# json.dumps 将字典转化为 JSON 编码的字符串
json_str = json.dumps(data)
print(type(json_str), json_str)
# json.loads 将 JSON 编码的字符串转化为字典
data_from_str = json.loads(json_str)
print(type(data
中小型企业级防火墙部署
防火墙 防火墙是由软件和硬件组成的系统,它处于安全的网络(通常是内部局域网)和不安全的网络(通常是Internet,但不局限于Internet)之间,根据由系统管理员设置的访问控制规则,对数据流进行过滤。 由于防火墙置于两个网络之间,因此从一个网络到另一个网络的所有数据流都要流经防火墙。根据安全策略,防火墙对数据流的处理方式有3种: (1)允许数据流通过;
(2)拒绝数据流通过;
(3)将这些数据流丢弃。 当数据流被拒绝时,防火墙要向发送者回复一条消息,提示发送者该数据流已被拒绝。当数据流
Dos窗口默认设置修改
1、Win + r 打开运行界面 2、输入cmd (command的缩写.即命令提示符(CMD)) 3、回车后就会进入DOS界面 4、在窗口处单击鼠标右键,选择默认值 5、在控制台属性里选择
vue-cli/Runtime-Compiler和Runtime-Only的区别
在使用vue init创建脚手架的时候会有如下的选择: Runtime + compiler Runtime only 1、区别一 通过这两种方法创建的脚手架,区别在于main.js(在src文件夹中) 在Vue实例中,runtime-compiler创建的项目中参数是: components和template runtime-only创建的项目中参数为: render函数 2、组件的渲染过程 组件是如何被渲染到页面中的? tem
请谈谈写入消息中间件的数据,如何保证不丢失?
本文转载自石杉的架构笔记 (1)背景引入 这篇文章,给大家聊一下写入Kafka的数据该如何保证其不丢失? 看过之前的文章《面试官:消息中间件如何实现每秒几十万的高并发写入》的同学,应该都知道写入Kafka的数据是会落地写入磁盘的。 我们暂且不考虑写磁盘的具体过程,先大致看看下面的图,这代表了Kafka的核心架构原理。 (2)Kafka分布式存储架构 那么现在问题来了,如果每天产生几十TB的数据,难道都写一台机器的磁盘上吗?这明显是不靠谱的啊! 所以说,这里就得考虑数据的分布式存储了,其实关于消
常见的HTTP状态码有哪些?
一、什么是HTTP状态码 ? 当用户在浏览网页的时候,浏览器会返回一个htttp状态码,主要是用来响应浏览器的请求。 二、常见的HTTP状态码有哪些 ? 200 OK 请求正常处理完毕 204 No Content 请求成功处理,没有实体的主体返回 301 Moved Permanently 永久重定向,资源已永久分配新URI 302 Found 临时重定向,资源已临时分配新URI 400 Bad Request 请求报文语法错误或参
jQuery笔记2——jquery选择器
jquery选择器语法 一.什么是选择器语法: 1.就是对DOM对象进行定位的条件,比如根据ID定位,根据标签类型名,根据标签采用样式选择器 2.jQuery中只有三种选择器 (一).基本选择器: 1.【定位条件】:可以根据ID定位,根据标签类型名,根据标签采用样式选择器 2.【使用】: 1).$("#id编号"):代替document.getElementById("id"); 根据ID编号定位对应的DOM对象。让DOM对象保存到一个数组中 并返回,返回这个数组就是【jQuery对象】 2)
今日推荐
周排行