原码补码异或与位运算移位知识点

异或,英文为exclusive OR,缩写成xor
异或(xor)是一个数学运算符。它应用于逻辑运算。异或的数学符号为“⊕”,计算机符号为“xor”。其运算法则为:
a⊕b = (¬a ∧ b) ∨ (a ∧¬b)
如果a、b两个值不相同,则异或结果为1。如果a、b两个值相同,异或结果为0。
异或也叫半加运算,其运算法则相当于不带进位的二进制加法:二进制下用1表示真,0表示假,则异或的运算法则为:0⊕0=0,1⊕0=1,0⊕1=1,1⊕1=0(同为0,异为1),这些法则与加法是相同的,只是不带进位,所以异或常被认作不进位加法。

  java科普

Java日志的正确使用方法

使用slf4j

  1. 使用门面模式的日志框架,有利于维护和各个类的日志处理方式统一。
  2. 实现方式统一使用: Logback框架
  java

Java容器集合

容器主要包括 Collection 和 Map 两种,Collection 存储着对象的集合,而 Map 存储着键值对(两个对象)的映射表。

  集合

Java BIO NIO AIO区别与使用

摘要
BIO 全称Block-IO 是一种同步且阻塞的通信模式。是一个比较传统的通信方式,模式简单,使用方便。但并发处理能力低,通信耗时,依赖网速。

  java

java注解Annotation说明实例

摘要
Java 注解是附加在代码中的一些元信息,用于一些工具在编译、运行时进行解析和使用,起到说明、配置的功能。注解不会也不能影响代码的实际逻辑,仅仅起到辅助性的作用。

  java

java基础-static关键字

static用法

staticfinal是两个我们必须掌握的关键字。不同于其他关键字,他们都有多种用法,而且在一定环境下使用,可以提高程序的运行性能,优化程序的结构。下面我们先来了解一下static关键字及其用法。

  java

java基础-final关键字

final 关键字

在java的关键字中,staticfinal是两个我们必须掌握的关键字。不同于其他关键字,他们都有多种用法,而且在一定环境下使用,可以提高程序的运行性能,优化程序的结构。下面我们来了解一下final关键字及其用法。

  java

java 8部分读书笔记

Lambda 表达式

  1. Lambda 表达式引用的是值,不是变量。

  2. Lambda 表达式中的变量只能是final类型,只能给变量赋值一次。

    1
    2
    3
    String name = getUserName();
    name = formatUesrName();
    button.addActionListener(event -> System.out.println("Hi" + name))

    如上代码将不会编译通过,name被赋值多次。

  java

Immutable Object(不可变对象)模式

多线程下,一个对象会被多个线程共享,存在多线程并发地修改对象的属性,需要做些同步访问控制,
如显示锁,CAS操作,会带来额外的开销和问题,如上下文切换、等待时间、ABA问题。Immutable Object
模式意图通过使用对外可见的状态不可变的对象,使得天生具有线程安全性。

  java
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×