zoukankan      html  css  js  c++  java
  • 位运算了解与复习多线程

    在说到位运算之前我们先说一下我们的进制,   我们的的10进制逢10进1,只有0-9.二进制逢2进1,只有0和1.。

    原码:原码是给我们看的,我们可以根据原码计算。

    反码:原码转换到补码需要的一个过程。

    补码:给计算机计算的,我们看的是原码。

    位运算需要注意的规则:

    整数的三个码都是一样的,不需要进行转换。

    负数的三个码不一样,需要进行转换。

    在计算机中参与计算的是补码。

    最左边的哪一位数字是最高的,也是符号位,符号位分为0 和 1 , 0为整数,1为负数。

    2-3 //计算2和-3     二进制 

    0 0 0 0 0 0 1 0 二的原码
    1 0 0 0 0 0 1 1 -3的原码

    1 1 1 1 1 1 0 0 -3的反码

    1 1 1 1 1 1 0 1 -3的补码
    -------------------------
    0 0 0 0 0 0 1 0 二的原码
    1 1 1 1 1 1 0 1 -3的补码
    1 1 1 1 1 1 1 1 补码的结果
    1 1 1 1 1 1 1 0 结果的反码
    1 0 0 0 0 0 0 1 结果的原码
    1乘2的0次方=1 原码的结果 -1

    算数右移和算数左移还有一个逻辑右移。没有逻辑左移。

    位运算

    1.按位与 &
    两位都为1,结果为1

    5&6

    0 0 0 0 0 1 0 1
    0 0 0 0 0 1 1 0
    ------------------
    0 0 0 0 0 1 0 0

    4&5
    0 0 0 0 0 1 0 0
    0 0 0 0 0 1 0 1
    ----------------
    0 0 0 0 0 1 0 0

    2.按位或 |
    两位有一位为1,结果为1

    5|6

    0 0 0 0 0 1 0 1
    0 0 0 0 0 1 1 0
    ------------------
    0 0 0 0 0 1 1 1


    4|5
    0 0 0 0 0 1 0 0
    0 0 0 0 0 1 0 1
    ----------------
    0 0 0 0 0 1 0 1

    3.按位异或 ^
    一位为0,一位为1,结果才是1

    5^6

    0 0 0 0 0 1 0 1
    0 0 0 0 0 1 1 0
    ------------------
    0 0 0 0 0 0 1 1


    4^5
    0 0 0 0 0 1 0 0
    0 0 0 0 0 1 0 1
    ----------------
    0 0 0 0 0 0 0 1

    4.按位取反 ~ 一元表达式

    ~3 正数按位取反=自身的负数-1
    ~-3 负数按位取反=自身的正数-1

    复习书上的多线程

    进程:

    进程是系统运行程序的基本单位。

    每一个进程都有自己独立的一块内存空间,一组系统资源。

    每个进程的内部数据和状态都是完成独立的。

    线程:

    线程是进程中执行运算的最小单位,可完成一个独立的顺序控制流程。每个进程中至少建立一个线程(这个线程称为主线程)。

    如果一个进程中同时运行多个线程,用来完成不同的工作,这就叫做多线程。

    多线程的好处:

    可以充分利用cpu的资源,提高了程序的性能。减少了造成响应过慢等现象,给用户带来良好的用户体验。

    在java中实现多线程:

    java提供了一个Thread类用于实现多线程。

     看一下thread底层:

    线程的状态:

    线程的状态有五种:创建--就绪--运行--堵塞--死亡

    堵塞状态也是分为有很多种情况。

    线程中的同步方法:

    synchronized修饰的方法可以实现线程同步。

      

  • 相关阅读:
    【实验吧】藏在图片中的秘密
    pwntools各使用模块简介
    【笔记】shellcode相关整理
    【pwnable】asm之write up
    【实验吧】转瞬即逝write up
    利用wireshark任意获取qq好友IP实施精准定位
    【实验吧】逆向1000
    【实验吧】逆向rev50
    pwnable.kr brainfuck之write up
    JavaScript获取后台C#变量以及调用后台方法
  • 原文地址:https://www.cnblogs.com/java-263/p/9792207.html
Copyright © 2011-2022 走看看