LeetCode 191th 汉明重量

1.Subject

编写一个函数,输入是一个无符号整数,返回其二进制表达式中数字位数为 ‘1’ 的个数(也被称为汉明重量)。

  • 输入:11111111111111111111111111111101
  • 输出:31
  • 解释:输入的二进制串 11111111111111111111111111111101 中,共有 31 位为 ‘1’。

阅读全文

进程与线程

为了有效地管理CPU,操作系统引入了线程的概念,即以进程为基本单位来实现CPU的分配与执行。随着并行处理技术的发展,为了进一步提高系统的并行性,实现进程内部的并发执行,操作系统又引入了线程的概念。这样,CPU的管理最终归结于对进程和线程的管理。
进程与线程

阅读全文

LeetCode 20th 有效的括号

1.Subject

给定一个只包括 (){}[,] 的字符串,判断字符串是否有效。
有效字符串需满足:

  • 左括号必须用相同类型的右括号闭合。
  • 左括号必须以正确的顺序闭合。

阅读全文

LeetCode 13th 罗马数字转整型

1.Subject

  • 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M
    1
    2
    3
    4
    5
    6
    7
    8
    字符          数值
    I 1
    V 5
    X 10
    L 50
    C 100
    D 500
    M 1000

阅读全文

LeetCode 26th 删除排序数组中的重复项

1.Subject

  • 给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。
  • 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。

阅读全文

JVM学习笔记(四)——Java内存模型和线程安全

由于计算机的运算能力十分强大而且和计算机的存储和通信子系统的的速度差距过大,大量时间都花费在I/O、网络通信和数据库访问上,因此让计算机同时处理几项任务是最容易而且也更有效的“压榨”计算机运算能力的手段。

Java内存模型和线程安全

阅读全文

【转载】不可不说的Java“锁”事

Java提供了种类丰富的锁,每种锁因其特性的不同,在适当的场景下能够展现出非常高的效率。本文旨在对锁相关源码(本文中的源码来自JDK 8)、使用场景进行举例,为读者介绍主流锁的知识点,以及不同的锁的适用场景。

Java中往往是按照是否含有某一特性来定义锁,我们通过特性将锁进行分组归类,再使用对比的方式进行介绍,帮助大家更快捷的理解相关知识。下面给出本文内容的总体分类目录:
java主流锁

阅读全文

单例模式

单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。

单例模式

阅读全文