Pyhon2跟Python3的区别

str和bytes

基本概念

  • 字节(Byte ):是计算机信息技术用于计量存储容量的一种计量单位,作为一个单位来处理的一个二进制数字串,是构成信息的一个小单位。最常用的字节是八位的字节,即它包含八位的二进制数;
  • 位(bit):是计算机 内部数据 储存的最小单位,11001100是一个八位二进制数;
  • 字节(byte):是计算机中 数据处理 的基本单位,习惯上用大写 B 来表示,1B(byte,字节)= 8bit(位);
  • 字符:指计算机中使用的字母、数字、字和符号,包括:1、2、3、A、B、C、~!·#¥%……—*()——+等等。
Read More

Python多线程

Python代码的执行由虚拟机来控制。Python再主循环中,同时只有一个线程再执行,就像单CPU的系统中运行多个进程那样,内存中可以存放多个程序,但任意时刻,只有一个程序再CPU中运行。

对Python虚拟机的访问由全局解释器锁(global interpreter lock)来控制,正是这个锁能保证同一时刻只有一个线程在运行。

参考

Read More

Synchronized与ReentrantLock的区别

底层原理区别

  • 底层实现上来说,synchronized 是JVM层面的锁,是Java关键字,通过monitor对象来完成(monitorenter与monitorexit),
    对象只有在同步块或同步方法中才能调用wait/notify方法,

  • ReentrantLock 是从jdk1.5以来(java.util.concurrent.locks.Lock)提供的API层面的锁。

Read More

Java笔试题收集

TCP、UDP区别
  1. TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接
  2. TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付
  3. TCP面向字节流,实际上是TCP把数据看成一连串无结构的字节流;UDP是面向报文的,UDP没有拥塞控制,因此网络出现拥塞不会使源主机的发送速率降低(对实时应用很有用,如IP电话,实时视频会议等)
  4. TCP首部开销20字节;UDP的首部开销小,只有8个字节
Read More