int和Integer的区别

相信每一个写java的人难免会对这个问题有疑惑,在java中存在有两个整型类,他们究竟有什么区别呢

https://www.cnblogs.com/guodongdidi/p/6953217.html

int和Integer的区别

1、Integer是int的包装类,int则是java的一种基本数据类型 
2、Integer变量必须实例化后才能使用,而int变量不需要 
3、Integer实际是对象的引用,当new一个Integer时,实际上是生成一个指针指向此对象;而int则是直接存储数据值 
4、Integer的默认值是null,int的默认值是0

延伸: 
关于Integer和int的比较 
1、由于Integer变量实际上是对一个Integer对象的引用,所以两个通过new生成的Integer变量永远是不相等的(因为new生成的是两个对象,其内存地址不同)。

Integer i = new Integer(100);Integer j = new Integer(100);System.out.print(i == j); //false

2、Integer变量和int变量比较时,只要两个变量的值是向等的,则结果为true(因为包装类Integer和基本数据类型int比较时,java会自动拆包装为int,然后进行比较,实际上就变为两个int变量的比较)

Integer i = new Integer(100);int j = 100;System.out.print(i == j); //true

3、非new生成的Integer变量和new Integer()生成的变量比较时,结果为false。(因为非new生成的Integer变量指向的是java常量池中的对象,而new Integer()生成的变量指向堆中新建的对象,两者在内存中的地址不同)

Integer i = new Integer(100);Integer j = 100;System.out.print(i == j); //false

4、对于两个非new生成的Integer对象,进行比较时,如果两个变量的值在区间-128到127之间,则比较结果为true,如果两个变量的值不在此区间,则比较结果为false

Integer i = 100;Integer j = 100;System.out.print(i == j); //true
Integer i = 128;Integer j = 128;System.out.print(i == j); //false

对于第4条的原因: 
java在编译Integer i = 100 ;时,会翻译成为Integer i = Integer.valueOf(100);,而java API中对Integer类型的valueOf的定义如下:

public static Integer valueOf(int i){    
assert IntegerCache.high >= 127;    
if (i >= IntegerCache.low && i <= IntegerCache.high){        return IntegerCache.cache[i + (-IntegerCache.low)];    
}    
return new Integer(i);
}

java对于-128到127之间的数,会进行缓存,Integer i = 127时,会将127进行缓存,下次再写Integer j = 127时,就会直接从缓存中取,就不会new了

如果有错误的地方,还请指正。

参考: 
http://blog.csdn.net/you23hai45/article/details/50734274 
http://www.cnblogs.com/liuling/archive/2013/05/05/intAndInteger.html

Javascript写入txt和读取txt文件示例

1. 写入 

FileSystemObject可以将文件翻译成文件流。 

var fso=new ActiveXObject(Scripting.FileSystemObject); 

创建一个可以将文件翻译成文件流的对象。 

第二步:用于创建一个textStream 对象 

括号里边有三个属性 

1. 文件的绝对路径 

2. 文件的常数 只读=1,只写=2 ,追加=8 等权限。(ForReading 、 ForWriting 或 ForAppending 。); 

3. 一个布尔值 允许新建则为true 相反为false; 

var f=fso.createtextfile(“C:\a.txt”,2,true); 

第三步:调用textStream的方法 

1. Write(不在写入数据末尾添加新换行符) 

2. WriteLine(要在最后添加一个新换行符) 

3. WriteBlankLines(增加一个或者多个空行) 

f.writeLine(“wo shi di yi hang”); 

第四步: 

关闭textStream 对象: 

例:f.close(); 

2. 读取 

var fso=new ActiveXObject(Scripting.FileSystemObject); 

创建一个可以将文件翻译成文件流的对象。 

第二步:用于创建一个textStream 对象 

括号里边有三个属性 

4. 文件的绝对路径 

5. 文件的常数 只读=1,只写=2 ,追加=8 等权限。(ForReading 、 ForWriting 或 ForAppending 。); 

6. 一个布尔值 允许新建则为true 相反为false; 

var f=fso.opentextfile(“C:\a.txt”,1,true); 

第三步:调用读取方法 

1. Read(用于读取文件中指定数量的字符) 

2. ReadLine(读取一整行,但不包括换行符) 

3. ReadAll(则读取文本文件的整个内容); 

判断是否读取到最后一行 

while (!f.AtEndOfStream) 
{ 
f.Readline(); 
} 

第四步: 

关闭textStream 对象: 

例:f.close(); 

下面是一个html打开txt文件的例子。 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>你好</title> 
</head> 

<body> 
<div id="aa"></div> 

<script language="javascript"> 
var fso, ts, s ; 
var ForReading = 1; 

fso = new ActiveXObject("Scripting.FileSystemObject"); 
ts = fso.OpenTextFile("d:\\testfile.txt", ForReading); 
s = ts.ReadLine(); 
document.getElementById("aa").innerHTML=s; 
</script> 

</body> 
</html> 

当年的大数据都遭遇了什么?为什么有段时间全体寂灭?大数据的前世今生

对于此次洗牌大潮,大多从业者表示,并非坏事。 劣币被驱逐,良币才能沐浴阳光,茁壮生长。 去芜存菁,正本清源,大数据行业的野蛮时代终于结束。

文 | 戈森 零和

6月1日,《网络安全法》落地实施已过去三个月,大数据行业结束野蛮时代,进入洗牌期。

此前有15家数据公司被调查,此后,名单扩大到30家;

多家公司的业务负责人被约谈,他们甚至相互打招呼的方式,都变成了“今天,你被抓了吗”;

大量数据接口关停,数据产品停售,导致部分公司开始裁员,一家被调查的公司,甚至将大数据业务完全下架,退出市场。

一些公司黯然退场,一些却高调入局——一些有独家数据源的公司,在最近宣布成立。

数据行业,正处于二八分流,冰火两重天。

01“你被抓了吗?”

2017年5月末,数据行业的清理行动开始。

据多位知情人透露,“数据堂”多人被警方调查,导致部分数据业务线停摆。

此后,数据堂发表声明称,因公司某一客户存在被公安机关调查的情形,公安机关为进一步了解具体情况,向公司个别业务人员及财务人员进行情况了解,不存在“公司高管被抓”的情形;公司业务运作正常。

目前,数据堂的官网可正常打开,但“数据定制—数据堂”的网站页面,却无法打开。

今年8月,数据堂发布股票停牌公告,称因存在“预计应披露的重大信息在披露前已难以保密或已经泄露,或公共媒体出现与公司有关传司,可能或已经对股票转让价格产生较大影响的”事项,2017年8月14日起暂停转让,预计股票恢复转让日期不晚于2017年11月13日。

“公司走了很多人,还有一些人准备拿完年终奖就走”,数据堂离职员工杨青称,“目前,精准营销线和大数据线基本暂停,现在仅靠人工智能一条业务线支撑”。

但杨青同时指出:“公司的海外客户,暂时没有受到影响。”

这只是大数据行业进入冰封时代的一个缩影。

一本财经曾独家报道,15家数据公司被调查,名单中不乏估值几十亿的大公司。据知情人透露,此后,调查范围则进一步扩大,“名单已有30家”。

行业一度风声鹤唳,传闻满天飞。

头部的大数据公司,都曾传出过CEO或高层被调查的“小道消息”。

网传聚信立的高管也被带去问话,业务呈收缩状态。

聚信立CEO罗皓不得不站出来辟谣,紧急接受媒体采访:“我敢否认,说明我们没有被约谈。”

“实际上,确实很多公司的业务负责人被约谈”,行业资深从业者罗锦江称,为了取证,通常电脑等存储设备也会被拿走。

一位大数据行业的CEO听到传闻,另外一家公司的创始人被调查,他急忙在微信上询问:“你没事吧?”

对方回复没事,说是谣言。

结果第二天,CEO又听到消息,接着再问:“今天你被抓了吗?”

“今天你被抓了吗”,这句话一度成为大数据行业高层从业者的问候语。

02接口切断

几乎行业所有的人都明白,这次数据整顿,是为了6月1日新推出的《网络安全法》预热。

“这次是动真格了,毫无容情”,罗锦江称,5月底,很多公司主动将一些敏感业务线停掉。

“数据供应商突然间通知我们,业务暂停,但会支付违约金”,某信贷公司的商务负责人陈希称,最先被停掉的接口,就是“三要素”查询。

“所谓三要素,就是手机、姓名、身份证”,罗锦江称,以前的价格,“购买一条仅7毛、8毛”。

多位行业从业者称,三要素停了之后,大部分公司只提供两要素(身份证和姓名)的“验证”。

“把两个信息提供给数据方,对方只会反馈一个是与否的答案”,陈希称,如果符合,反馈“是”,如果不符合,反馈“否”。

陈希紧急修改了风控规则,让业务线可以勉强推进,但紧接着,更多的接口被切断。

以前一次查询2元的学历数据接口停掉,随后,车辆、住房、公积金等数据接口都全面切断。

“我们只能再次修改风控,让用户自己填写用户名和密码,授权我们去相应的页面爬取数据”,陈希称,如此操作大大提高了风控的成本和用户体验,“但合规了”。

紧接着,各项“特色”的数据产品也悄然撤下,或开始变得不稳定。

而某平台的风控总监郭飞透露发现:“今年年初,百融金服的产品收支等级,查询突然变得不太稳定,缺失率很高”。

所谓的收支等级,就是一个人信用卡和储蓄卡的入账和出账记录,并按照等级给出分数,数字远大,金额越大。

△ 收支等级产品说明

郭飞称,这项数据,是信贷中很有价值的数据,查询一次的价格是2-3元。

但至于如此隐秘的金融数据,百融金服是如何拿到的,在业内一直是一个谜团。

华道征信的业务员称:“自6月份后,不良信息的查询、资产类,目前我们是暂停服务”。

媒体报道,为了规避政策风险,在《网络安全法》实施前,同盾停掉了“失联人修复”服务;中国移动下属全资子公司中移在线,也停掉了“移动三要素”的查询。

一边是主动停止合作,一边是客户直接跑单。

贷后邦的商务负责人称:“部分客户已与我们达成合作意向,规定一出来他们很害怕,所有关于数据的业务都暂时不接,我手上有一两例违约客户。”

大量接口断了后,行业开始了裁员潮。

头部的大数据公司,都曾传出过裁员消息。

“主要裁掉的,是销售和一些敏感业务线的人”,罗锦江称,大量的乙方公司业务人员被裁掉后,就进入了甲方公司。

03艰难求生

2012年,马云在网商大会上震耳发聩地喊出:我们将进入大数据时代。

那一年,阿里巴巴集团设立了“首席数据官”一职,并推出大型数据分享平台“聚石塔”——这是中国大数据行业开始爆发的信号弹。

而大数据行业黄金年代的来临,是在2013年互联网金融崛起之后。

大数据和在线信贷相结合,激发了强烈的化学反应。

在黄金浪潮中,崛起了上万家的大数据供应商,他们采集数据,进行清洗加工,针对不同的应用场景,再输出不同的产品。

“早期,部分大数据公司的商业模式,极为简单,很多都是黑市采买数据后,简单打包,直接销售给客户”,罗锦江将其称为大数据的野蛮时代。

“在这里,就是大数据的天堂”,从美国回国创业的某CRO称,刚回国的时候,发现国内数据流通尺度之大,完全超乎想象。

在美国,很多并不敏感的数据,都无法用在信贷领域,比如,性别、人种颜色、年龄段,都不可随意参考,不然,就可能涉及“歧视女性、黑人或老人”。

滥用的用户数据,让大家就如裸泳一般,毫无隐私可言。

持续数年的数据之乱,终于在“徐玉玉”案之后,将行业推到了众矢之的的深渊。

这似乎成了诸多行业宿命,总是在鼎盛狂欢中,在利益催化之下,出现浮华泡沫。随后,巨大行业负面爆发,监管如期而至,洗牌来临。

校园贷和大数据行业,都是同样的轨迹。

行业正在挣扎中自救。

曾经很多大力宣传自己是专注大数据的公司,如今,对外的传播口径完全变动。

“行业污名化,不想和大数据扯上关系,外面现在都称自己是人工智能公司”,一位从业者称。

南京一家大数据公司也在被调查的30家名单中,目前,公司已将大数据业务全部关停,正在谋求转型。

“连我们业务员都需要加班加点看项目”,一家数据公司的商务称,公司甚至让他们去找项目,寻找出路。

大部分的数据提供商,正在寻找第一条自救之路:数据的脱敏、加密。

最常见的方式,就是查询结果的输出上,采取打分制,比如,如果完全匹配,就是100分,如果只有一半匹配,就是50分。

而查询不良则是用信息比对,输入名字身份证,输出命中与否。

还有一些公司,尝试用技术,保护用户隐私。如拨打催收电话,直接进行加密,只能看到一个加密号码拨出。

行业想到第二条自救之路:联合建模。

双方开发一套系统,直接放在客户公司的内部,双方共享数据,系统最终输出一个分数或结果。

“联合建模,确实解决了合规问题,能够使双方共享数据”,小赢科技首席风控官成少勇指出,从长远角度来说,这肯定是未来趋势,但目前,推进的过程依然困难重重。

今年8月,郭飞的公司和一家数据公司合作,对方提出了联合建模,但公司内部引发了争论。

“对于我们来说,增加了很大的工作量,我们不可能针对每家数据源都要去做建模,且联合建模的费用是十万”,郭飞称。

“实际上,现在大部分的联合建模,数据公司只是沦为一个技术提供商,这个模式太重,”大数据公司CEO林欣称,如果一家数据公司有20个客户,就得有20个建模师。

对于双方来说,这个模式重,成本高,为了合规都要付出代价。

04行业洗牌

《网络安全法》出台后,要获取、使用用户的数据,都需要用户授权。

而第三方的数据公司,很难再用这种方式获取数据。

林欣认为,这样的公司,无非只有两个命运:要么在原有的老数据基础上,挖掘建模,但这样的产品,很快就会过时;

要么就变成技术提供商和咨询商,比如联合建模。但这个命运,也不能让人愉悦。

如果变成技术提供商,很难和大的公司合作。因为,大的公司数据和风控,都视为核心部门,很少外包;其次,大的公司对数据提供商也百般挑剔。

因此,数据公司几乎只能给小的公司提供技术服务。

“大的公司,从6月之后,都要求数据提供商签一个承诺书,确保使用的数据,都是经过用户授权的”,罗锦江称,基本没几家公司敢签字。

行业的最终命运如何?

“行业90%的公司将被淘汰”,多位行业从业者都下了如此的判断。

有意思的是,一边是死亡,一边又是生长。

就在9月25日,联通大数据公司成立。

“未来,有一类大数据公司能活得不错,就是拥有稀缺数据源的公司”,林欣称。

而成少勇也是同样的观点,只有独家、且不断更新的数据公司,才有竞争力,“二八格局已非常明显”。

对于此次洗牌大潮,大多从业者表示,并非坏事。

劣币被驱逐,良币才能沐浴阳光,茁壮生长。

去芜存菁,正本清源,大数据行业的野蛮时代终于结束。

(应受访者要求,文中部分人名为化名)