搜索到与相关的文章
Java

java中volatile关键字的含义

在java线程并发处理中,有一个关键字volatile的使用目前存在很大的混淆,以为使用这个关键字,在进行多线程并发处理的时候就可以万事大吉。Java语言是支持多线程的,为了解决线程并发的问题,在语言内部引入了同步块和volatile关键字机制。synchronized同步块大家都比较熟悉,通过synchronized关键字来实现,所有加上synchronized和块语句,在多线程访问的时候,同一时刻只能有一个线程能够用synchronized修饰的方法或

系统 2019-08-29 22:29:36 2544

Java

Java 虚拟机体系结构

众所周知,Java源代码被编译器编译成class文件。而并不是底层操作系统可以直接执行的二进制指令(比如WindowsOS的.exe文件)。因此,我们需要有一种平台可以解释class文件并运行它。而做到这一点的正是Java虚拟机(JVM)。实际上,JVM是一种解释执行class文件的规范技术。各个提供商都可以根据规范,在不同的底层平台上实现不同的JVM。下面是JVM实现的基本结构框图。其中类装载子系统、运行时数据区、执行引擎等是JVM的必须要解决的几大问题

系统 2019-08-29 22:18:58 2544

编程技术

推荐顶级色彩网站-灵感,调色板,工具和其他色

颜色是设计中最困难的一环,正确或者错误的颜色方案,可以使一个网站从生到死。资深的设计师们总结出一些伟大而常用的颜色组合,而其他的冒险者沉迷于对色彩的无线选择。无论你是精通色彩搭配,还是初尝设计,这里有一些大的网站,浏览前人的美妙灵感,参考他们的调色板,工具,资源,也许这些你都已经涉猎,但是还是值得添加进入你的收藏夹供日后使用。值得推荐的是:colourlovers,这个网站提供监测和浏览影响世界的颜色趋势。colourlovers里面使用的颜色组合,包括广

系统 2019-08-29 22:04:03 2544

编程技术

设计模式之工厂模式Factory

工厂模式:主要用来实例化有共同接口的类,工厂模式可以动态决定应该实例化那一个类。工厂模式主要用以下几种形态:简单工厂(SimpleFactory),工厂方法(FactoryMethod),抽象工厂(AbstractFactory)1.简单工厂模式(SimpleFactory)简单工厂又叫静态工厂,是工厂模式三中状态中结构最为简单的它主要有一个静态方法,用来接受参数,并根据参数来决定返回实现同一接口的不同类的实例。我们来看一个具体的例子:假设一家工厂,几生产

系统 2019-08-29 21:55:36 2544

编程技术

面试100题 题4

题目:输入一个整数和一棵二元树。从树的根结点开始往下访问一直到叶结点所经过的所有结点形成一条路径。打印出和与输入整数相等的所有路径。例如输入整数22和如下二元树10/\512/\47则打印出两条路径:10,12和10,5,7先弄清楚是什么遍历:这里给出的路径可以看出来,是先序遍历Java代码classNode{publicintval;publicNodeleft;publicNoderight;}publicFindRoad(Nodenode,intnu

系统 2019-08-12 09:30:20 2544

各行各业

统计英文文本中的词频

NLP的文本分类过程中,大多会统计文章的词频,这是分类的重要依据之一。词频是由一个pair组成的,word是keyfrequece是value。用什么方法统计最好,当然是map。用vector,list也可以实现,但是它们基于关键字的检索效率没有map高,map一般是用rb-Tree实现的,查找效率是O(log(n)),list,vector都是线性的,查找复杂度是O(n)。先上代码。header#ifndef_WORD_FREQUENCE_#define

系统 2019-08-12 09:27:06 2544

各行各业

luacom打开中文路径的Word文件

背景luacom是一个非常强大的模块,它使我们可以应用各种com组件,比如Word,但是,有一个问题,中文文件名它不识别。为什么呢?因为com内部是unicode的,于是luacom要求所有输入都是utf-8的,而且luacom的输出也是utf-8的。这可肿么办啊?iconvGNU有个libiconv库,要是有这个我们就不怕了!luaforge上搜索下,果然有lua-iconv,安装!luarocksinstalllua-iconv不好意思,出错啦!出错的

系统 2019-08-12 09:26:54 2544

SqlServer

了解SQL Server锁争用:NOLOCK 和 ROWLOCK 的秘

关系型数据库,如SQLServer,使用锁来避免多用户修改数据时的并发冲突。当一组数据被某个用户锁定时,除非第一个用户结束修改并释放锁,否则其他用户就无法修改该组数据。有些数据库,包括SQLServer,用锁来避免用户检索未递交的修改记录。在这些系统中,如果用户A在修改一组记录,则其他用户只有等用户A修改完毕了,才能检索。数据库在每个物理层上设置锁:记录行(rows),数据页(pages,上百万记录行),扩展页(extends,多个数据页),整个表,甚至整

系统 2019-08-12 01:55:36 2544

数据库相关

lua5.1 和 5.2 关于 sequence 的定义变化,对#t

引子环境lua5.2a={}fori=1,2doa[i]=i*3enda[4]=11;print(a[#a])---print11-----------------------------------a={}fori=1,3doa[i]=i*3enda[5]=11;print(a[#a])----print9---------------------------------#a第一个的值是4第二个的值是3依据我之前从书中看到的知识点来看的话#a第一个的值是

系统 2019-08-12 01:55:20 2544

数据库相关

greenplum窗口函数使用浅析

最近处于系统不活跃期,没怎么升级,因此有了时间可以对整个ETL系统在稳定的基础上进行优化。每天列出TOP10COSTTIMEJOB进行分析,其中TOP1COSTTIMEJOB采用了窗口函数first_value和last_value,结果SQL全部使用的是first_value,并且为了全部使用first_value,对窗口函数进行了二次排序。通过explain这段代码,可以发现两次sort消耗的时候大概是一次sort的1.7倍,把sort二次改进成一次,

系统 2019-08-12 01:54:29 2544