排序:
默认
按更新时间
按访问量

ThreadLocal的用法理解

其实很简单,就是创建一个对象,然后每个线程去访问时,访问的是这个对象的副本。即该对象会为每个线程拷贝出一个副本。 其实效果和local variable是一个效果。即在线程内初始化一个本地变量。 ThreadLocal<String> threadLocalOld = new Thre...

2018-01-08 16:46:51

阅读数:270

评论数:0

Synchronized的理解

互斥锁,锁住一块代码区。 提问:什么叫互斥锁? 互斥锁又叫排他锁,它作用于一块代码区,则同一个时刻,只允许有一个线程访问,不管是读还是写。 两种用法: 作用于方法内的一块代码区。 Synchronized(object){} 含义:object是Object类的一个实例(即除非基本类型外的任...

2018-01-03 15:41:23

阅读数:78

评论数:0

浅析聚集索引

“聚集索引决定了数据的物理顺序”—这是大家都知道的一句话,但是这句话到底是啥意思呢?这里好好说一说。   有一个例子非常形象: 聚集索引:一个汉语字典,我们希望查找“张”,我们可以直接翻到字典的最后,找到zh开头,然后找到张。因为字典内容本身是按照拼音排版的,所以字典内容本身就是一个聚集索引。 非...

2017-09-18 11:29:53

阅读数:1355

评论数:0

HashMap和ConcurrentHashMap的浅析

HashMap和ConcurrentHashMap的浅析   主要是说一下自己的理解。首先是HashMap的内部数据结构,以及ConcurrentHashMap线程安全的原因,缺点以及一些问题。

2017-09-13 17:39:42

阅读数:1267

评论数:0

一致性哈希的浅析

最近的工作涉及到了一致性哈希,就抽了点时间研究了一下,发现网上的一些文章其实理解的不够准备,这里说一下我自己的看法。希望对读者有所帮助

2017-05-24 18:06:00

阅读数:766

评论数:0

python中decorator的用法及原理(一)

0、 概念 什么叫装饰器,其实也可以叫做包装器。即对于一个既有的函数func(args),在调用它之前和之后,我们希望都做一些事情,把这个函数包装起来。 python中的装饰器分为两类:函数装饰器和类装饰器。 这里我们先讨论函数装饰器。 1. 不带参数的decorator (1) 基本用...

2016-04-05 16:03:55

阅读数:9759

评论数:0

python中的logging模块

最近在做一个flask的项目,其中需要使用logging模块以来记录日志信息。以下是自己的切身的体会和感悟,希望对读者有所帮助。 1. 基本用法 首先我们来看一下logging的基本语法。 import logging from logging.handlers import Rotat...

2016-03-30 10:33:19

阅读数:400

评论数:0

python的垃圾回收机制

python的垃圾回收机制一、 总述 在python中主要就是使用引用计数的方式来进行垃圾回收的。 但是引用计数存在两个问题:无法解决循环引用和效率比较低。 为此python中使用标记清除的方式来解决循环引用的问题,使用分代回收的方式来解决效率低的问题。 即Python 中垃圾回收机制: 引用计数...

2016-03-22 16:30:46

阅读数:334

评论数:0

Apache Thrift - 可伸缩的跨语言服务开发框架

前言: 目前流行的服务调用方式有很多种,例如基于 SOAP 消息格式的 Web Service,基于 JSON 消息格式的 RESTful 服务等。其中所用到的数据传输方式包括 XML,JSON 等,然而 XML 相对体积太大,传输效率低,JSON 体积较小,新颖,但还不够完善。本文将介绍由...

2015-12-29 09:29:27

阅读数:309

评论数:0

正向代理和反向代理的区别

正向代理 正向代理,也就是我们通常说的代理。 假如说我是一个用户,我访问不了某网站,但是我能访问一个代理服务器 这个代理服务器呢,他能访问那个我不能访问的网站 于是我先连上代理服务器,告诉他我需要那个无法访问网站的内容 代理服务器去取回来,然后返回给我。这就是正向代理。 反向代理 反...

2015-12-21 18:06:15

阅读数:302

评论数:0

epoll详解

什么是epoll epoll是什么?按照man手册的说法:是为处理大批量句柄而作了改进的poll。当然,这不是2.6内核才有的,它是在2.5.44内核中被引进的(epoll(4) is a new API introduced in Linux kernel 2.5.44),它几乎具备了...

2015-09-12 15:44:01

阅读数:437

评论数:0

Unix网络编程学习笔记之第12章 IPv4与IPv6的互操作性

一、 简介 假设我们本章讨论的主机都是支持双栈的,即支持IPv4地址,也支持Ipv6地址。 我们本次讨论的点:客户端与服务器端使用的是不同类型的地址。因为相同类型的地址没什么可讲的。   二、 IPv4客户端与IPv6服务器 即,客户端使用IPv4地址套接字来通信,服务器端使用IPv6地...

2015-07-09 17:23:47

阅读数:923

评论数:0

Unix网络编程学习笔记之第11章 名字与地址转换

一、 域名系统(DNS) 1. 简介 DNS主要用于主机名和IP地址之间的映射。 主机名可以是简单的名字ljm,也可以是全限定域名ljm.localdomainbaidu.com等。   2.资源记录 DNS中的条目称为资源记录(RR)。我们感兴趣的RR类型只有几个: A      ...

2015-07-09 17:19:42

阅读数:885

评论数:0

Unix网络编程学习笔记之第8章 基于UDP套接字编程

一、 UDP C/S的典型函数调用 UDP没有像TCP那样的连接,客户端直接sendto向某服务器发送数据,服务器端一直recvfrom阻塞,以接收任何客户端发送的数据。   二、 sendto和recvfrom函数 int sendto(int sockfd, const voi...

2015-07-09 17:06:08

阅读数:833

评论数:0

Unix网络编程学习笔记之第7章 套接字选项

一、获取/设置套接字选项的方法 一个套接字描述符相关联的套接字选项很多。获取/设置套接字选项的方法: 1.  getsockopt和setsockopt函数 2. fcntl函数 3. ioctl函数   二、 getsockopt和setsockopt函数 int getsocko...

2015-06-17 13:00:04

阅读数:879

评论数:0

Unix网络编程学习笔记之第6章 I/O复用:select和poll函数

一、I/O复用应用场合 1. 当客户处理多个描述符(既有标准输入,又有网络套接字)时,必须使用IO复用。 2. 一个客户同时处理多个套接字是可能的。 3. 如果一个服务器既要处理监听套接字,又要处理已连接套接字,一般就要使用I/O复用。 4. 如果一个服务器既要处理TCP,又要处理UDP,...

2015-06-01 14:00:30

阅读数:843

评论数:0

Unix网络编程学习笔记之第5章 TCP客户端/服务器程序示例

一、 一个简单TCP回射服务端程序 #include "unp.h" #define MAXLINE 1024 #define PORT 13 #define CONMAX 5 void err_sys(const char* s) { fprintf(stderr,...

2015-05-29 14:49:44

阅读数:800

评论数:0

Unix网络编程学习笔记之第4章 基于TCP套接字编程

1. socket函数 int socket(int family, int type,int protocol) 成返回一个套接字描述符。错误返回-1 其中family指定协议族,一般IPv4为AF_INET, IPv6为AF_INET6。 其中type指定套接字类型,字节流:SOCK_...

2015-05-27 16:51:45

阅读数:750

评论数:0

Unix网络编程学习笔记之第3章 套接字编程简介

1. 首先我们说一个IPv4的套接字地址结构: struct in_addr { in_addr_t s_addr;//! }; struct sockaddr_in{ uint8_t sin_len; sa_family_t sin_family;//!...

2015-05-25 15:14:39

阅读数:412

评论数:0

Unix网络编程学习笔记之第2章 TCP和UDP

TCP 1. TCP面向连接的协议,是一个字节流协议,没有任何记录边界。发送的是数据分组。 2. TCP提供了可靠性:确认重传和重组      (1) TCP每发送一份数据都会要求对端进行确认。如果超时,就会重传。TCP会估计往返时间RTT,以确定等待多长时间重传。 (2) 如果多次发送数...

2015-05-22 10:06:13

阅读数:678

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭