Servlet的多线程安全问题

Servlet的多线程安全问题

静态变量 i 是线程安全的,因为它是 final(不能被修改),否则它将不是安全的。请求和响应对象的作用域只在请求的生命周期,因此它们也是线程安全的。会话和 ServletContext 对象可以从多个线程访问,同时处理多个请求,因此它们不是线程安全的。但在本例中,同步了 ServletContext 对象,因此它只能由一个线程一次访问。obj 不是线程安全的,因为即使同步了 ServletContext 对象,它的属性也没有同步。它们需要另外进行同步。因此,选项 B 和 E 是不正确的,而选项 A、C、D 和 F 是正确的。

jedis多线程异常

jedis多线程异常

jedis并不是线程安全的,于是在程序中改为每个线程只使用一个jedis实例。

较好的解决办法是使用JedisPool,见官方文档:https://github.com/xetorthio/jedis/wiki/Getting-started

数据库索引

数据库索引

索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。

数据库索引好比是一本书前面的目录,能加快数据库的查询速度。

索引是对数据库表中一个或多个列(例如,employee 表的姓氏 (lname) 列)的值进行排序的结构。如果想按特定职员的姓来查找他或她,则与在表中搜索所有的行相比,索引有助于更快地获取信息。

例如这样一个查询:select * from table1 where id=10000。如果没有索引,必须遍历整个表,直到ID等于10000的这一行被找到为止;有了索引之后(必须是在ID这一列上建立的索引),在索引中查找,但索引是经过某种算法优化过的,查找次数要少的多的多。可见,索引是用来定位的。

谷歌票房预测模型 准确度高达94%

谷歌票房预测模型 准确度高达94%

谷歌公布了一项重要研究成果–电影票房预测模型。该模型能够提前一个月预测电影上映首周的票房收入,准确度高达94%。这在业内引起了强烈讨论,不少内人士认为该模型非常适合好莱坞电影公司通过预测票房来及时调整电影营销战略,但同时也有吐槽者暗示谷歌的票房预测模型别有用心,旨在鼓动电影公司购买其搜索引擎广告。

Hadoop的分块与分片

Hadoop的分块与分片

HDFS存储系统中,引入了文件系统的分块概念(block),块是存储的最小单位,HDFS定义其大小为64MB。与单磁盘文件系统相似,存储在HDFS上的文件均存储为多个块,不同的是,如果某文件大小没有到达64MB,该文件也不会占据整个块空间。在分布式的HDFS集群上,Hadoop系统保证一个块存储在一个datanode上。

linux swap命令

linux swap命令

linux swap命令
一般来说可以按照如下规则设置swap大小:

4G以内的物理内存,SWAP 设置为内存的2倍。

4-8G的物理内存,SWAP 等于内存大小。

8-64G 的物理内存,SWAP 设置为8G。

64-256G物理内存,SWAP 设置为16G。
系统中交换分区的大小并不取决于物理内存的量,而是取决于系统中内存的负荷,所以在安装系统时要根据具体的业务来设置SWAP的值。