后端

第二章 性能瓶颈的分析和定位(5)

关于读时间戳计数器(Read Time-Stamp Counter)的注记         Intel处理器有一个内部保留的计数器,即时间戳计数器(TSC), 可以通过一条简单的读取时间戳计数器指令(RDTSC)读取。该计数器保存一个64位的从处理器开机开始的时钟周期计数。我曾看到过直接用这条指令实现性能测量的代码,如果你碰到这条指令,请不必惊奇——它的确非常快!然而,在现代流水线多核CPU上

每日一题-leetcode 365. 水壶问题

有两个水壶,容量分别为 jug1Capacity 和 jug2Capacity 升。水的供应是无限的。确定是否有可能使用这两个壶准确得到 targetCapacity 升。 如果可以得到 targetCapacity 升水,最后请用以上水壶中的一或两个来盛放取得的 targetCapacity 升水。 你可以: 装满任意一个水壶 清空任意一个水壶 从一个水壶向另外一个水壶倒水,直到装满或者倒空 示

设计模式之代理模式

1. 静态代理 Subject 抽象主题(接口) RealSubject 具体主题(目标对象) Proxy(代理对象) 缺点 目标对象和代理对象都实现接口的所有方法,随着接口方法的改变而改变 一个代理类只能代理一个目标对象 2. 动态代理 JDK动态代理 - 只能代理实现了接口的类 CGLIB 3. JDK 动态代理 需要实现 InvocationHandler public c

谁能救救我

家里的电脑,办公室的电脑,仿佛都在都和我做对。 打开自己每天要打卡的网站,无一例外的显示:啊呀,不好意思,网页丢失了,重新加载试试吧。 重新加载试试,重新加载试试,重新加载试试,我按鼠标的手都麻了,还是依然显示重新加载试试。 各种方法试尽,又找人帮忙,查不出来原因。 我要抓狂了。 同事建议,别耗时间,用手机操作吧。 眼下似乎只能如此。 平常只会用电脑,对常规的硬件不知道,想着有毛病,电脑公司会来处

新生代垃圾收集器

serial(串行化)垃圾收集器 1.1 使用复制算法,是单线程的垃圾回收器 1.2 回收时会暂停其他所有工作线程,只保留GC线程,知道垃圾回收结束。 ParNew(Serial+多线程)垃圾收集器 2.1 Serial的多线程版本,使用复制算法 2.2 进行回收时默认开启和CPU数量相同的线程数(可以通过参数:-XX ParallelGcThreads设置线程数)。 2.3 工作时暂停除GC

JavaScript从入门到精通 纯笔记(day03)--循环语句

一、循环         概念:重复执行一段代码(while、do while、for)                 注:1)、避免死循环    2)、提高效率(减少时间复杂度)         循环三要素:初始值、迭代量、条件 1、while(条件表达式返回true或false){             执行代码     }     var 初始值变量=值     while(条件){

Flutte选择Dart简介

说明 flutter采用的是dart语言,所以了解dart语言的基本语法就是必要的了。那为啥要采用这种语言了,其实现有的语言有很多多是满足要求的(如JavaScript)。下面就简单来说说Dart的优点。 1,开发效率高。, Dart 运行时和编译器支持 Flutter 的两个关键特性的组合: 基于 JIT 的快速开发周期:Flutter 在开发阶段采用,采用 JIT 模式,这样就避免了每

LeetCode-173-二叉搜索树迭代器

二叉搜索树迭代器 题目描述:实现一个二叉搜索树迭代器类BSTIterator ,表示一个按中序遍历二叉搜索树(BST)的迭代器: BSTIterator(TreeNode root) 初始化 BSTIterator 类的一个对象。BST 的根节点 root 会作为构造函数的一部分给出。指针应初始化为一个不存在于 BST 中的数字,且该数字小于 BST 中的任何元素。 boolean hasNe