首页 文章 精选 留言 我的

精选列表

搜索[学习],共10000篇文章
优秀的个人博客,低调大师

新加坡总理鼓励学习中国无现金,蚂蚁金服把顶级金融科技峰会 ATEC 开到了新加坡

2017 年 8 月,新加坡总理李显龙在国庆群众大会的演讲中表达了对中国无现金支付普及程度的震撼,让这个早已成为亚洲门户的国家掀起了一场新的支付革命。 中国在电子支付、移动支付上的突飞猛进给包括新加坡总理李显龙和人力部长李瑞生在内的政府官员极大的震动。而背后最主要的推动者就是支付宝的母公司蚂蚁金服。 作为中国乃至全球金融科技创新的领导者,蚂蚁金服一直怀有这样的愿景:用科技为世界带来平等的机会。蚂蚁金服ATEC(Ant Technology Exploration Conference)科技大会是由蚂蚁金服举办的、面向全球合作伙伴与技术专业人群的前沿技术探索大会,致力于通过对先进的前沿技术探索与讨论,为世界带来平等的机会。继两个月前在美国硅谷举办首届海外 ATEC 后,它把这场面向全球合作伙伴、技术专业人群的前沿科技探索峰会搬到了新加坡

优秀的个人博客,低调大师

JavaScript高级编程第四章(变量,作用域,内存问题)的学习摘录 纯手打

第四章 变量,作用域和内存问题 JavaScript不允许直接访问内存的位置,也就是说不能直接操作对象的内存空间。在操作对象时,实际上是在操作对象的引用而不是实际的对象。为此,引用类型的值时按引用访问的。 动态的属性: 只有给引用类型的变量添加,修改,删除属性;如: var person=new Object(); person.name="sdf"; alert(person.name); //"sdf" 创建了一个对象保存在了变量person中然后为其添加了name属性 但是如果给基本类型的值添加属性就会失败 举例: var name=""sdf"; name.age=23; alert(name.age); //undefined 复制变量值: 基本变量值是重新创建了一个新的变量 引用变量值是 相当于指针,两个指向同一个对象 传递参数: 是值传递 相当于将外部的值复制给函数内部 如果是基本变量值 则内部修改不影响外部值 ,因为是复制过来的值 如果是引用变量值 则相当于将指针值复制给函数内部 ,函数内部如果对指针指向的内容进行操作,就会影响外部指针指向的内容 但是 如果内部的指针先给内存赋值操作,外部指针也可以访问被修改的内容,如果内部指针指向新的对象再进行操作 ,则不影响外部。 检测类型: var s="sdf"; var b=true; var i=22; var u; var n=null; var o=new Object(); alert(typeof s); //string alert(typeof b); //boolean alert(typeof i); //number alert(typeof u); //undefined alert(typeof n); //object alert(typeof o); //object 使用typeof检测函数时,该操作符会返回“function” 对正则表达式应用typeof 会返回“function”。在IE和Firefox中 会返回“object”; 检测基本数据类型时typeof是个好的助手,但是检测引用类型时用处不大。如果想要知道一个什么类型的对象。用instanceof操作符。举例: alert(person instanceof Object); 始终返回true alert(person instanceof Array); 变量person是Array? alert(person instanceof RegExp); 如果使用instanceof操作符检测基本类型的值,则操作符始终返回false,因为基本类型不是对象。 执行环境及作用域: 每个函数都有自己的执行环境 当一个代码在一个环境执行的时,会创建变量对象的一个作用域链:用途是保证对执行环境有权访问的所有变量和函数的有序访问。全局执行环境的变量对象始终都是作用于的最后一个对象。 例子: <script type="text/javascript"> var color = "blue"; function changeColor(){ if (color === "blue"){ color = "red"; } else { color = "blue"; } } changeColor(); alert("Color is now " + color); </script> 作用域的前端,始终时当前执行的代码所在环境的变量对象,然后一层层往外扩展,逐级向后回溯。 函数changeColor()的作用域链包涵两个对象:他自己的变量对象和全局环境的变量对象。可以在函数内部访问color,就是因为在这个作用域中找到了它。 举例: <script type="text/javascript"> var color = "blue"; function changeColor(){ var anotherColor = "red"; function swapColors(){ var tempColor = anotherColor; anotherColor = color; color = tempColor; color, anotherColor, and tempColor 都可以访问 } //color and anotherColor 可以访问, but not tempColor swapColors(); } changeColor(); //只能访问 color alert("Color is now " + color); </script> 以上代码共涉及了三个执行环境:全局环境,changeColor()的局部环境 和swapColors()的局部环境 意思就是说 内环境可以通过作用域链访问所有的外部环境,但是外部环境不能访问内部环境中的任何变量和函数。每个函数都是向上搜索作用域,以查询变量和函数名。 延长作用域链 try-catch语句的catch with语句 两个语句都会在作用域链的前端添加一个变量对象。 对with来说,会将指定的对象添加到作用域链中。对于catch来说,会创建一个新的变量对象,其中包涵了被抛出的错误对象的声明 举例: <script type="text/javascript"> function buildUrl() { var qs = "?debug=true"; with(location){ var url = href + qs; } return url; } var result = buildUrl(); alert(result); </script> with语句内 可以访问location中的属性和方法, 而且定义了一个url的变量,因而url就成了函数执行环境的一部分,所以可以作为i函数的值被返回。 重要:没有块级作用域: 在其他类c语言中 for循环和if判断句内的局部变量在代码结束后被销毁 但是在javascript中 不会 即使是在代码结束后,也依旧会存在与外部的执行环境 和普通的函数不同 ,因为在函数里面变量是局部的 得和for和if区分开例子: <script type="text/javascript"> if(true){ var color="blue"; } alert(color) //"blue" </script> 声明变量: 使用var声明变量会被自动添加到最接近的环境中。在函数内部最接近的环境就是函数的局部环境。在witch语句中,最接近的环境是函数环境。如果初始化变量时没有使用var声明,该变量会自动被添加到全局环境中: <script type="text/javascript"> function add(num1, num2) { sum = num1 + num2; return sum; } var result = add(10, 20); //30 alert(sum); //30 </script> sum 没有用var定义 所以它是全局变量 后面的代码依旧可以访问它。 重要提醒:建议在初始化变量前,一定要先声明,这样可以避免错误。 查询标识符: 举例: <script type="text/javascript"> var color = "blue"; function getColor(){ return color; } alert(getColor()); //"blue" </script> 为了确定变量color的值,它向上搜索,首先搜索getColor()的变量对象,查找是否有color的标识符。在没有找到的情况下,搜索继续道下一个变量对象(全局环境的变量对象)然后寻找color的标识符。是沿着作用域链向上搜索的,一直追溯到全局环境的变量对象中。 在搜索的过程中 如果局部环境中存在同名的标识符,就不会使用父环境中的标识符 访问局部变量要比访问全局变量更快,因为不用向上搜索作用域链。 举例: <script type="text/javascript"> var color = "blue"; function getColor(){ var color = "red"; return color; } alert(getColor()); //"red" </script> 垃圾收集; 1.有自动垃圾收集机制,找到那些不再继续使用的便利啊个,然后释放其占有的内存,为此垃圾收集器会按照固定的时间间隔周期性得执行这个操作。 最常用的垃圾收集方式是标记清除 2.引用计数:COM是基于引用计数的。如果有循环引用就无法销毁 因为引用次数不可能为0 引用循环是对象A包含了一个指向对象B的指针,对象B包涵了一个指向A的指针 解决方案是将两个指针指向null来断开原生JavaScript对象与DOM元素之间的连接。 性能问题 : 在有的浏览器中可以触发垃圾收集过程,但不建议这么做。 在IE中调用window.CollectGarbage()方法会立即执行垃圾回收。 在Opera7中及更高版本,调用window.pera.collect()也会启动垃圾收集例程。 管理内存 : 分配给Web浏览器的可用内存数量通常比分配给桌面应用程序的少,这样的目的是出于安全方面的考虑,防止运行JavaScript的网页耗尽全部系统内存而导致系统崩溃。 内存限制问题还影响变量的分配内存,调用栈以及在一个线程中能够同时执行的语句数量。一旦数据不再使用,最好将其设置为null来释放其引用,这一做法适合大多数的全局变量和全局对象的属性。局部变量会在他们离开执行环境时自动解除引用。不过解除一个值的引用不是意味着自动回收改制所占用的内存。接触引用的真正目的时让值脱离执行环境,以便垃圾收集器下次运行时将其回收。 基本类型和引用类型总结: 1.基本类型在内存中占固定大小的空间,因此被保存在栈内存中 2.从一个变量向另一个变量复制基本类型的值,会创建这个值的一个副本。 3.引用类型的值时对象,保存在堆内存 4.包含引用类型值的变量实际上包含的并不是对象本身,而是一个指向该对象的指针 5.从一个变量向另一个变量复制引用类型的值,复制的其实时指针,因此两个变量最终都指向同一个对象。 确定一个值是哪中基本类型可以使用typeof操作符,而确定一个值是哪种引用类型可以使用instanceof操作符 所有变量都存在与一个执行环境,这个执行环境决定了变量的生命周期,以及哪一部分代码可以访问其中的变量 以下是关于执行环境的总结: 1.执行环境有全局执行环境和函数执行环境之分 2.每次进入一个新的执行环境,都会创建一个用于搜索变量和函数的作用域链 3.函数的局部变量不仅有权访问函数作用域中的函数,而且有权访问其父环境,乃至全局环境 4.全局环境只能访问在全局环境中定义的变量和函数,而不能访问局部环境中的任何数据 5.变量的执行环境有助于确定应该何时释放内存 垃圾回收总结: 1.离开作用域的值江北自动标记为可以回收,因此将在垃圾收集期间被删除 2.“标记删除”是目前主流的垃圾收集算法,这种算法的思想是给当前不使用的变量的值加上标记,然后再回收其内存 3.另一种垃圾收集算法:“引用计数” 跟踪记录所有值被引用的次数 目前不再使用,但是在IE中访问非原生JavaScript(如DOM元素)时,这种算法任然可能会导致问题 4.当代码中存在循环引用现象时,“引用计数”算法就会导致问题 5.接触变量的引用不仅有助于消除循环引用现象,而且对垃圾收集也有好处。应该及时接触不再使用的全局对象,全局对象属性,以及循环引用变量的引用

优秀的个人博客,低调大师

【案例学习】葛兰素史克公司如何通过Docker EE 实现高效的药物研究工作

写在前面 葛兰素史克(GlaxoSmithKline)是一家全球制药公司,总部设在英国。葛兰素史克公司的使命是“帮助人们做到更多,感觉更舒适,生活更长久,改善人们的生活质量”。他们正在利用数据科学这种方法来研发可以提高人们生活质量的新药物配方。 在DockerCon 欧洲大会上,大数据解决方案总监Ranjith Raghunath和葛兰素史克公司呼吸系统数据科学总监 Lindsay Edwards一同分享了Docker 企业版(EE)是如何帮助他们公司通过一个名为“Edge Node”的项目来促进新药研发的速度。 如何利用数据科学提高产出? 制药研究面临的最大挑战是需要创造出数百种药物配方,而其中仅有3%的药物配方能真正的制成药物并流通上市。Lindsay Edwards 领导的数据科学小组专注于研究如慢性阻塞性肺病 ( COPD ) 和

优秀的个人博客,低调大师

《从零开始学Swift》学习笔记(Day 64)——Cocoa Touch设计模式及应用之目标与动作

目标(Target)与动作(Action)是iOS和OS X应用开发的中事件处理机制。 问题提出 如图所示是一个ButtonLabelSample案例设计原型图,其中包含一个标签和一个按钮,当点击按钮的时候,标签文本会从初始的Label替换为HelloWorld。 ButtonLabelSample案例首先要解决的问题是:按钮点击事件后有谁负责响应事件?谁进行事件处理?要答这个问题,可以打开ButtonLabelSample案例故事板文件Main.storyboard,如图所示,OK按钮是在故事板文件Main.storyboard定义的,响应事件以及处理事件应该是在程序代码ViewController.swift实现的。那么如何将OK按钮点击事件与ViewController.swift中的事件处理代码关联起来?不同的计算机语言实现的方式不同,在iOS和OS X应用开发中是通过目标和动作机制实现事件处理的。 解决方案 按钮等控件是继承自UIControl类,具有一些高级事件,目标和动作机制就是将特地的控件事件与视图控制器(或视图)中方法关联起来,这个过程称为“定义动作事件”。“目标”是响应事件对象,为了方便访问其他的控件状态,这个对象一般是视图控制器(或视图)。“动作”是控件的事件。 ButtonLabelSample案例中按钮是在故事板文件(或Xib文件)中定义的,响应按钮点击事件(动作)是在视图控制器(目标)的方法中定义的,如下图所示,通过定义动作事件方式把目标与动作连接起来。 要实现目标与动作的连接有两种方式:InterfaceBuilder连线实现和编程实现。 1. Interface Builder连线实现 InterfaceBuilder连线实现就是故事板或Xib文件中,通过连线而现实。 2.编程实现 编程实现是通过UIControl类addTarget(_:action:forControlEvents:)方法实现的,主要代码如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 class ViewController:UIViewController{ overridefuncviewDidLoad(){ super .viewDidLoad() self.view.backgroundColor=UIColor.whiteColor() letscreen=UIScreen.mainScreen().bounds; letlabelWidth:CGFloat= 90 letlabelHeight:CGFloat= 20 letlabelTopView:CGFloat= 150 letlabel=UILabel(frame:CGRectMake((screen.size.width -labelWidth)/ 2 ,labelTopView,labelWidth,labelHeight)) label.text= "Label" //字体左右剧中 label.textAlignment=.Center self.view.addSubview(label) letbutton=UIButton(type:UIButtonType.System) //创建UIButton对象 button.setTitle( "OK" ,forState:UIControlState.Normal) letbuttonWidth:CGFloat= 60 letbuttonHeight:CGFloat= 20 letbuttonTopView:CGFloat= 240 button.frame=CGRectMake((screen.size.width -buttonWidth)/ 2 ,buttonTopView,buttonWidth,buttonHeight) button.addTarget(self,action: "onClick:" , forControlEvents:UIControlEvents.TouchUpInside) self.view.addSubview(button) } funconClick(sender:AnyObject){ NSLog( "OKButtononClick." ) } ... } 上述代码中创建并设置UIButton对象,其中创建UIButton对象,参数type是设置按钮的样式,UIButton样式: Custom。自定义类型。如果不喜欢圆角按钮,可以使用该类型。 System。系统默认属性,表示该按钮没有边框,在iOS 7之前按钮默认为圆角矩形。 Detail Disclosure。细节展示按钮,主要用于表视图中的细节展示。 Info Light和Info Dark。这两个是信息按钮,样式上与细节展示按钮一样,表示有一些信息需要展示,或有可以设置的内容。 Add Contact。添加联系人按钮。 代码调用addTarget(_:action:forControlEvents:)方法,方法第一个参数是target,即事件处理对象,本例中是self;方法第二个参数是action,即事件处理对象中的方法, 代码中是"onClick:",方法第三个参数是事件,TouchUpInside事件是按钮的触摸点击事件。 如果调用如下无参数方法: 1 2 funconClick(){ } 调用代码如下: 1 2 button.addTarget(self,action: "onClick" , forControlEvents:UIControlEvents.TouchUpInside) 区别在于action参数"onClick"方法名不同,action参数方法名的冒号暗示了方法名应该具有几个参数。如果要调用的方法是如下3个参数形式: 1 2 funconClick(sender:AnyObject,forEventevent:UIEvent){ } 那么调用代码如下: 1 2 button.addTarget(self,action: "onClick:forEvent:" , forControlEvents:UIControlEvents.TouchUpInside) 其中"onClick:forEvent:"是调用方法名,onClick表示方法名也是,forEvent表示第二个参数的外部参数名。 本文转自 tony关东升 51CTO博客,原文链接:http://blog.51cto.com/tonyguan/1748673,如需转载请自行联系原作者

优秀的个人博客,低调大师

《从零开始学Swift》学习笔记(Day 65)——Cocoa Touch设计模式及应用之选择器

实现目标与动作关联使用UIControl类addTarget(_:action:forControlEvents:)方法,示例代码如下: 1 2 button.addTarget(self,action: "onClick:" , forControlEvents:UIControlEvents.TouchUpInside) 其中的action参数"onClick:"事实上就是选择器(Selector)。 问题提出 任何能够将方法调用的绑定推迟到运行期,在编译时方法调用者不需要知道要调用的方法是什么,这个可以降低调用者与被调用者之间的耦合度,这样就语言就很灵活。在C语言在提供一种函数指针技术,Objective-C和Swift语言都提供选择器(Selector)类型,它是C语言函数指针的面向对象替代技术。 选择器在Cocoa和Cocoa Touch中的目标动作、通知和委托等模式中方法的调用实现的关键。 解决方案 Objective-C中选择器是SEL数据类型,使用@selector()语句调用,调用onClick:方法的Objective-C示例代码如下: 1 2 3 SELselector= @selector (onClick:); [buttonaddTarget:selfaction:selector forControlEvents:UIControlEventTouchUpInside]; Swift中虽然没有提供SEL数据类型,而是提供了Selector结构体,通过方法名字符串构建Selector实例,示例代码如下: 1 2 button.addTarget(self,action:Selector( "onClick:" ), forControlEvents:UIControlEvents.TouchUpInside) 通过选择器调用方法,关键是方法名字,它有一定规律的。穷其根本是源自于Objective-C多重参数方法命名规律。方法名的冒号暗示了方法名应该具有几个参数,下面我们看几个示例: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 //选择器为"onClick:" funconClick(sender:AnyObject){ NSLog( "onClick:" ) } //选择器为"onClick:forEvent:" funconClick(sender:AnyObject,forEventevent:UIEvent){ NSLog( "onClick:forEvent:" ) } //选择器为"onClickWithExtSender:forEvent:" funconClick(extSendersender:AnyObject,forEventevent:UIEvent){ NSLog( "onClickWithExtSender:forEvent:" ) } 出于数据封装的需要,我们会在方法前面加private,使其变为私有方法,代码如下。 1 2 3 private funconClick(sender:AnyObject){ NSLog( "onClick:" ) } 但是这样方法在调用时候会出现如下错误: 1 unrecognizedselectorsenttoinstance 0x7f7f81499b10 ' 这个错误的意思是没有找到选择器所指定的方法,也就是没有找到onClick:方法。正确的做法是在方法前面添加@objc属性注释,这说明选择器是在objc runtime运行环境下调用的。 1 2 3 4 //选择器为"onClick:" @objc private funconClick(sender:AnyObject){ NSLog( "onClick:" ) } 本文转自 tony关东升 51CTO博客,原文链接:http://blog.51cto.com/tonyguan/1748676,如需转载请自行联系原作者

优秀的个人博客,低调大师

《从零开始学Swift》学习笔记(Day58)—— Swift编码规范之变量或常量声明规范

声明是在声明变量、常量、属性、方法或函数和自定义类型时候需要遵守的规范。 首先变量或常量时每行声明变量或常量的数量推荐一行一个,因为这样以利于写注释。示例代码如下。 推荐使用: 1 2 letlevel= 0 varsize= 10 不推荐使用: 1 letlevel= 0 ;varsize= 10 变量或常量的数据类型,如果有可能应尽可能采用类型推断,这样代码很简洁。示例代码如下。 推荐使用: 1 2 letlevel= 0 varsize= 10 不推荐使用: 1 2 letlevel:Int= 0 varsize:Int= 10 如果不是默认数据类型,需要明确声明变量或常量的数据类型。示例代码如下。 1 2 letlevel:Int8= 0 varsize:Int64= 10 在指定数据类型时候需要使用冒号(:),size与冒号之间没有空格,冒号和数据类型之间要有一个空格。示例代码如下。 推荐使用: 1 2 letlevel:Int8= 0 varsize:Int64= 10 不推荐使用: 1 2 letlevel:Int8= 0 varsize:Int64= 10 使用数据类型时尽可能使用Swift本身数据类型,例如: 推荐使用: 1 2 3 4 letwidth= 120.0 letwidthString= "Hello." vardeviceModels:[String] varemployees:[Int:String] 不推荐使用: 1 2 3 4 letwidth:NSNumber= 120.0 letwidthString:NSString= "Hello." vardeviceModels:NSArray varemployees:NSDictionary 属性声明 属性包括存储属性和计算属性,如果是存储属性的声明规范与变量或常量声明的规范是一样的。如果是计算属性类似于代码块,在使用只读计算属性时候,如果可能要省略get语句。示例代码如下。 推荐使用: 1 2 3 varfullName:String{ return firstName+ "." +lastName } 不推荐使用: 1 2 3 4 5 varfullName:String{ get{ return firstName+ "." +lastName } } 本文转自 tony关东升 51CTO博客,原文链接:http://blog.51cto.com/tonyguan/1748344,如需转载请自行联系原作者

优秀的个人博客,低调大师

Hadoop HBase概念学习系列之HBase里的宽表设计概念(表设计)(二十七)

HBASE宽表应用很多 比如BBS,可以用帖子的URL地址作为ROWKEY保存,而后面的每一个回复,作为单独的COLUMNS,回复越多,COLUMNS就越多,表就变宽了。 COLUMNS的qualifier名称设计很简单 假设你的表FC="_0" qualifier={"_0:_00000001","_0:_00000002","_0:_00000003",.....,"_0:_0XXXXXXX"} 对于每个ROW的数据,qualifier也是按字典排序的,所以qualifier的左边需要补"0"。 还有一种设计方法,假设BBS每一页显示100行 qualifier={"_0:_0000100","_0:_0000101","_0:_0000102"...."_0:_0000200","_0:_0000201"....,"_0:_0XXXXXXX"} 用页数编号加每一页的行数来定义qualifier 。 VALUE中放每一行的具体内容。 网站性能指标采集 id表示服务器的编号,type表示监控的指标,时间表示监控的时间点。 本文转自大数据躺过的坑博客园博客,原文链接:http://www.cnblogs.com/zlslch/p/6160078.html,如需转载请自行联系原作者

优秀的个人博客,低调大师

《从零开始学Swift》学习笔记(Day 63)——Cocoa Touch设计模式及应用之单例模式

什么是设计模式。设计模式是在特定场景下对特定问题的解决方案,这些解决方案是经过反复论证和测试总结出来的。实际上,除了软件设计,设计模式也被广泛应用于其他领域,比如UI设计和建筑设计等。 下面来介绍Cocoa Touch框架中的设计模式中的单例模式。 单例模式 单例模式的作用是解决“应用中只有一个实例”的一类问题。在Cocoa Touch框架中,有UIApplication、NSUserDefaults和NSNotificationCenter等单例类。另外,NSFileManager和NSBundle类虽然属于Cocoa框架的内容,但也可以在Cocoa Touch框架中使用(Cocoa框架中的单例类有NSFileManager、NSWorkspace和NSApplication等)。 问题提出 在一个应用程序的生命周期中,有时候只需要某个类的一个实例。例如:当iOS应用程序启动时,应用的状态由UIApplication类的一个实例维护,这个实例代表了整个“应用程序对象”,它只能是一个实例,其作用是共享应用程序中的一些资源、控制应用程序的访问,以及保持应用程序的状态等。 解决方案 单例模式的实现有很多方案,苹果公司在《UsingSwift with Cocoa and Objective-C》官方文档中给出了一种单例模式的实现。最简单形式代码如下: 1 2 3 class Singleton{ static letsharedInstance=Singleton() } 上述代码采用static的类属性实现单例模式,这种类属性只被延迟加载执行一次,即便是在多线程情况下也只是执行一次,并且保证是线程安全的。 如果需要进行一些初始化,可以使用如下带有闭包形式代码: 1 2 3 4 5 6 7 class Singleton{ static letsharedInstance:Singleton={ letinstance=Singleton() //初始化处理 returninstance }() } 单例模式除了上述苹果官方给出的实现外,还有很多种实现方式。 本文转自 tony关东升 51CTO博客,原文链接:http://blog.51cto.com/tonyguan/1748670,如需转载请自行联系原作者

优秀的个人博客,低调大师

Hadoop概念学习系列之搭建(windows)Eclipse/MyEclipse远程操作(Linux上)hadoop2.2.0/hadoo...

问题1:在DFS Lcation 上不能多文件进行操作: 在Hadoop上的每个节点上修改该文件 conf/mapred-site.xml 增加: <property> <name>dfs.permissions</name> <value>false</value> </property> 关闭权限验证 问题2 log4j:WARN No appenders could be foundfor logger (org.apache.hadoop.metrics2.lib.MutableMetricsFactory). log4j:WARN Please initialize the log4jsystem properly. log4j:WARN Seehttp://logging.apache.org/log4j/1.2/faq.html#noconfig for more info. 在src文件夹下创建以log4j.properties命名的文件 文件内容如下 log4j.rootLogger=WARN, stdout log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d%p [%c] - %m%n 问题3 Java.io.IOException: Could not locateexecutable null/bin/winutils.exe in the Hadoop binaries. 缺少winutils.exe下载一个添加进去就行 下载地址 http://download.csdn.net/detail/u010106732/9630094 问题4 Exceptionin thread "main" java.lang.UnsatisfiedLinkError:org.apache.hadoop.util.NativeCrc32.nativeComputeChunkedSumsByteArray(II[BI[BIILjava/lang/String;JZ)V 这是由于hadoop.dll 版本问题,2.2之前的和之后的需要的不一样 需要选择正确的版本并且在 Hadoop/bin和 C:\windows\system32 上将其替换 问题5 Exception in thread "main"java.lang.UnsatisfiedLinkError:org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z atorg.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Native Method) at org.apache.hadoop.io.nativeio.NativeIO$Windows.access(NativeIO.java:557) 目前未找到解决方法,只能修改源代码 源代码下载 http://pan.baidu.com/s/1jGJzVSy 将源代码放入 工程的src目录下并创建同样的包名,然后修改源代码 源代码 未修改前 publicstaticbooleanaccess(String path, AccessRight desiredAccess) throwsIOException { returnaccess0(path,desiredAccess.accessRight()); } 源代码 修改后 publicstaticbooleanaccess(String path, AccessRight desiredAccess) throwsIOException { return ture; //returnaccess0(path,desiredAccess.accessRight()); } 修改后编译成功,但是看不到软件运行时候的信息反馈。 本文转自大数据躺过的坑博客园博客,原文链接:http://www.cnblogs.com/zlslch/p/6053970.html,如需转载请自行联系原作者

优秀的个人博客,低调大师

《从零开始学Swift》学习笔记(Day 69)——Swift与Objective-C混合编程之语言

在Swift语言出现之前,开发iOS或OS X应用主要使用Objective-C语言,此外还可以使用C和C++语言,但是UI部分只能使用Objective-C语言。 选择语言 Swift语言出现后,苹果公司给程序员提供了更多的选择,让这两种语言并存。既然是并存,我们就有4种方式可以选择: 采用纯Swift的改革派方式; 采用纯Objective-C的保守派方式; 采用Swift调用Objective-C的左倾改良派方式; 采用Objective-C调用Swift的右倾改良派方式。 文件扩展名 在Xcode等工具开发iOS或OS X应用可以编写多种形式的源文件,原本就可以使用Objective-C、C和C++语言,Swift语言出现后源文件的形式更加多样。可能的文件扩展名说明: 本文转自 tony关东升 51CTO博客,原文链接:http://blog.51cto.com/tonyguan/1749105,如需转载请自行联系原作者

优秀的个人博客,低调大师

Hadoop HBase概念学习系列之HBase里的高表设计概念(表设计)(二十八)

在不同场景,结合使用到底是高表还是宽表。 高表有高表的好处,宽表有宽表的优势。 起始行键是1001,结束行键是10010,则可查出如下图框出部分结果。 当然,也可以根据其他的查询条件,来查询。 本文转自大数据躺过的坑博客园博客,原文链接:http://www.cnblogs.com/zlslch/p/6160077.html,如需转载请自行联系原作者

优秀的个人博客,低调大师

Hadoop MapReduce概念学习系列之MyEclipse和Hadoop上都出现中文乱码问题(二十四)

出现中文乱码问题情况,详细如下! 在MyEclipse里 在Hadoop里 那么,如果是这样情况,说明是要改编码。 解决的办法? 1 、windows -> preferences 2、将Text file encoding的other部分,改为UTF-8。 3、hadoop项目,右键,prpperties,然后出现以下界面。就是配置好了,即hadoop项目的消除中文乱码问题解决。 将Inherited from container(UTF-8)的Other改为UTF-8。 4、刷新,重新即可。将之前的salary.txt重新上传。 即,本地的MyEclipse中已经解决了乱码问题。 5、现在,需要到hadoop集群上去成功运行,这该怎么做呢? Hadoop -> Export -> Export, Java -> JAR file -> next 6、 因为,在hadoop里,这些依赖的架包是存在的,所以我们就不需要再多此一举再打包了。 为架包取一个名称,为SalaryCount.jar,先在D盘新建文件夹JAR,存放在D:\JAR\SalaryCount.jar 在D盘的JAR目录下,查看sc.jar 7、接下来,用xshell来连接CentOS6.5。 8、rz,打开D:\JAR\sc.jar ,上传至CentOS6.5 9、通过rz命令上传sc.jar包 10、 执行命令 hadoop jar sc.jarcom.dajiangtai.hadoop.test.SalaryCount /salary/ /salary/out/ 11 查看结果 hadoop fs -text /salary/out/part-r-00000 即,与在本地的MyEclipse的结果是一样的。 本文转自大数据躺过的坑博客园博客,原文链接:http://www.cnblogs.com/zlslch/p/5077864.html,如需转载请自行联系原作者

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

用户登录
用户注册