`
chenhua_1984
  • 浏览: 1253840 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论
文章列表
           对象的可达性是判断一个对象是否需要进行垃圾回收的依据,即Gc root 与对象之间是否具有可达的路径,如果没有,则表明这个对象可以进行回收,对象被放到F-Quence的一个队列里,JVM会启动一个优先级较低的线 ...
                       Java语言把内存的管理交给了JVM自己来做,向比较C++而言,一定程度上,简化了程序的开发,应为它的内存管理是JVM自己去主动做的,不需要程序员自己干预。然而,也正应为如此,一旦发生了 ...
      Sql注入攻击是一种比较常用的攻击手段,通常我们比较难以界定,所以,做防控也是比较困难的,开发的时候,需要考虑代码被Sql注入的可能,业界通用的做法是配置黑白名单或者规则库,这是一种解决方案,然而这种解决方案对于使用起来成本还是挺高的,特别对于不是特别懂的人难于配置。        我想,这样一种思路:一个系统内的Sql语句的数量是有限的,那么我们可以把所有的SQl都收集起来,形成白名单,这样一来就形成了一个完整的规则库,凡是没在这个库里面的语句我们都任务是攻击语句。         利用Oracle的VPD技术可以实现对Sql执行前的拦截和替换,那么我们根据这一点,是否 ...
            试想,一个省有100个处理节点需要监控,全国加起来有上1000,如果我们需要对这些节点进行监控,或则向他们发送处理莫个任务的指令,或者中断,或者定时执行,立即执行 需要怎么处理?      我们知道,如果我们直接这样做,指挥者说你去做任务A,当你还没结束时,指挥者又说你去做任务B,或者说任务C需要定时执行,这样的话,任务的执行者将会非常的忙碌,苦不堪言。   通过生产者与消费者模式,可以让程序更加的灵活,指挥者有一个任务,那么这个时候只需要将任务发布出去,任务的执行者有多个,哪个空闲哪个就去执行任务,还可以设定专用的任务执行者执行特殊的任务。 利用Active ...
JVM 64位平台与32位平台的差异  64位虚拟机需要由于指针的膨胀和变量的对其补白,需要比32为更加大的内存,一般为10%-30%;而且处理性能要比32位下降15%   但是由于有些平台需要大于4G的内存,这个时候他们需要64位虚拟机,那 ...
     假设有连个库,一个是生产库,一个是备份库,在一个特定的时间定,比较备份库与生产库的数据是否一致,用Java实现怎么样做效率比较高?      在单进程的情况下,原来做过这样的设计:利用conCurrentHashMap来实现比对。       一个线程负责从A库抽取数据,每行数据构造成一个Hash对,Key采用:主键+列相加的Hashcode,value采用key来做,线程B负责从B库抽取数据,每行数据构造成一个Hash对,Key采用:主键+列相加的Hashcode,value采用key来做,同时,B线程抽取出来的数据首先与HashMap A中的数据进行比对,假如在A容器中存在 ...
       通常,应用程序访问数据库,执行各种各样的业务SQL或者存储过程,都会对数据产生影响,为了使我们的数据库更加安全,都需要我们在对来访问的各种工具软件或者应用进行合理的管控或者授权,对他们所做的操作 ...
          通常,运维人员会在系统上安装杀毒软件,用来做病毒防护。其实病毒最基本的特征是对文件系统的部分或则全部做了改动,假如我们开发这样一个程序,定时对文件系统的改动进行计算,定期或不定期生成报告或发送告警信息,也一样可以实现防病毒功能,主要可以用来检测系统是否被改动过。           这个功能类似Linux系统上一款比较著名的软件tripwire ,用来检测Linux的文件系统是否被改动过,还可以定期生成报告         用Java来实现的话,首先想到的就是并行检测,那么肯定需要多个线程同时工作,提高检测效率,同时把完整的检测结果存档,加密,作为下一次的比对标准 ...
            我们都知道,编程语言在与数据库打交道的时候,中间需要一个Driver,这个驱动,一般由数据库厂商开发提供,根据不同的数据库版本而提供不同版本的驱动,Oracle数据库对Java的版本就有好几种:比如Ojdbc14.jar等,这些驱动,通常实现了有JSR定义好的接口规范,比如Java.sql.connection,java.sql.Driver;接口等。       public interface Connection extends Wrapper { Statement createStatement() throws SQLException; ...
          mongodb是NoSQl领域里非常流行的一款非关系型数据库,提供了强大的分片存储与查询功能,用来做历史数据(日志)存储与查询比较适合,本身也提供了mapreduce功能,但是并不是任何时候Mongodb的使用者都会使用分片功能,更大的可能是使用副本集的方式(有时候机器并不多),而Hadoop提供了HDFS和分布式计算的功能,我们可以利用hadoop的MapReduce来取代Mongodb的MapReduce,用Mongodb的副本集来取代Hadoop的HDFS,那么就有了Hadoop与Mongodb之间的连接器(adapter)mongo-hadoop-master项目( ...
hadoop 性能调优  1调优主要集中在另个方面   A 减少运算时间    B减少磁盘空间占用率   CIo方面的优化  2 Hadoop自身会将Task分配给正在空闲的节点去做,这样可以充分利用资源,并且会将Map任务分配给InputSplit所在的集群,以减少IO的开销,提升运算速度。  3我们知道,在编写MapReduce程序时,Map的中间输出结果可能会很多,很大,对其进行压缩可以减少网络上的数据传输量,同时也会减少数据写入HDFS的时间,缺点就是对数据读取产生一定的影响,需更具实际情况来权衡。  4默认的Hadoop配置不能很好的满足计算需要,默认为2个,需要对Config进行更改 ...
      搭建好了Eclipse的开发环境,接下来就是Helloword,hadoop 的HelloWord是一个Wordcount的例子,就是统计单词在不同的文档里出现的次数。        我这边准备了三个文档:(存入hdfs 的文件系统中)   [root@bigdata2 hadoop-1.0.1]# ./bin/hadoop fs -cat /user/root/in/helloword.txt Warning: $HADOOP_HOME is deprecated. Hello,Word! [root@bigdata2 hadoop-1.0.1]# ./bin/ ...
1 下载hadoop-eclipse-plugin插件 2 将hadoop-1.0.3-eclipse-plugin.jar复制到eclipse plugins 目录下面 3启动eclipse ,点击windows -引用,找到map reduce ,选择MapReduce的安装目录,这里选择主节点的安装目录 4 windows --show others ,配置hadoop 的hdfs 的端口和Mapreduce的端口 其中Map Reduce Master配置对应的是mapred-site.xml的端口,DFS master 对应的core-site.xml的端口 5配置完成后, ...
查看指令参数:   [root@bigdata2 bin]# ./hadoop fs --help [-lsr <path>] [-du <path>] [-dus <path>] [-count[-q] <path>] [-mv <src> <dst>] [-cp <src> <dst>] [-rm [-skipTrash] ...
     linux  eclipse 调式的一个错误 :ERROR: transport error 202: gethostbyname: unknown host       解决办法:     在本机的/etc/hosts中增加如下内容即可:     127.0.0.1       localhost.localdomain localhost
Global site tag (gtag.js) - Google Analytics