自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(89)
  • 资源 (1)
  • 收藏
  • 关注

转载 MySQL的binlog日志

binlog 基本认识    MySQL的二进制日志可以说是MySQL最重要的日志了,它记录了所有的DDL和DML(除了数据查询语句)语句,以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二进制日志是事务安全型的。    一般来说开启二进制日志大概会有1%的性能损耗(参见MySQL官方中文手册 5.1.24版)。二进制有两个最重要的使用场景:     其一:MySQL

2018-01-17 10:38:47 263 1

翻译 查询改写与二次评分

可以对任何多词项查询(前缀查询和通配符查询)使用rewrite参数来控制查询改写rewrite参数选项scoring_boolean:将每个生成的词项转化为布尔查询中的一个或从句(should clause)constant_score_boolean:与scoring_boolean类似,但是cpu消耗少constant_score_filter:top_tearm_N;top_

2018-01-13 13:56:57 381

原创 apache lucene默认的评分公式解释

查询相关性,文档对查询的得分是如何计算出来的,什么是文档得分?它是一个刻画文档与查询匹配程度的参数,lucene的默认评分机制:TF/IDF(词频/逆文档频率)算法1.1  何时文档被匹配上(文档得分的因子)文档权重(document boost):索引期赋予某个文档的权重值字段权重(field boost):查询期赋予某个字段的权重值协调因子(coord):基于文档中词项命中个数

2018-01-12 21:29:06 625

原创 elasticSearch简介

1.1  apache Lucene简介1.1.1  熟悉lucene         lucene的特点:成熟,高性能,可扩展,轻量级以及强大的功能1.1.2 lucene的总体架构   文档(decument):索引与搜索的主要数据载体,它包含一个或者多个字段,存放将要写入索引或将从索引搜索出来的数据   字段(field):文档的一个字段,它包含两个部分,字段的名称和内容

2018-01-12 20:49:09 216

原创 SQL优化

1.使用普通B树索引 2.小表(数据量小于5000条记录为标准,仅做参考)不需要创建索引 3.分区表尽量使用Local的分区索引 4.创建或重建索引时使用NOLOGGING子句,提高执行效率 5.如果是全局的分区索引必须包含分区列,分区列按序放置在分区索引的末尾 6.创建分区索引必须指定表空间,并且指定的表空间要与数据表空间分开 7.单个表上索引的个数不超过5个 8.将记录差别数最多的

2017-11-08 16:04:48 173

原创 java中Integer对象127之前的数缓冲

package com.afan.test;public class Test { static class SynAddRunable implements Runnable{ int a,b; public SynAddRunable(int a,int b){ this.a = a; this.b = b;

2017-10-31 20:55:25 243

原创 对象死后自救

package com.afan.test;public class FinalizeEscapeGC { public static FinalizeEscapeGC SAVE_HOOK = null; public void isAlive(){ System.out.println("yes i am still alive!"); } @Overri

2017-10-31 17:06:07 263

原创 ORACLE

1.ORDER BY order by 语句必须在其他所有字句执行完之后按照指定的顺序对最终结果进行排序,需要排序的数据量的大小是很重要的,较小的排序会完全在内存中来实现,而较大的排序不得不使用临时磁盘空间来完成2.oracle高速缓冲区 1.v$sql视图查看当前存放在库高速缓冲中的语句 2.绑定变量可以避免硬解析,提高sql执行的性能 3.锁存器可以保护库高速缓冲避免被两个

2017-10-31 17:05:19 169

原创 序列化

1.java本身提供的序列化的缺点 1.无法跨语言 2.序列化后的码流太大 3.序列化性能太低2.市场上流行的几种序列化框架 1.Protobuf 2.Thrift 3.JBOSS Marshallling

2017-10-22 15:08:48 210

原创 netty解决TCP网络传输中的拆包与粘包问题

1.netty中提供的一些api可以解决拆包与粘包问题 2.lineBasedFrameDecoder 3.StringDecoder 4.DeLimiterBasedFrameDecoder:可以自动完成以分隔符做结束标志的消息的解码 5.FixedLengthFrameDecoder:可以自动完成对定长消息的解码

2017-10-22 14:53:14 242

原创 AIO

1.NIO2.0引入了新的异步通道的概念,真正实现了异步非阻塞I/O,对应于UNIX网络编程的事件驱动I/O,它不使用多路复用器selector对注册的通道进行轮询操作即可实现异步读写,简化了NIO的编程模型 AIO例子: 1.TimeServerpackage com.afan.aio;public class TimeServer { public static void main(S

2017-10-22 13:49:35 321

原创 NIO编程

1.NIO弥补了原来同步阻塞I/O的不足,它在标准java代码中提供了高速的,面向块的I/O 2.NIO的几个特性 缓冲区(buffer),通道(channel);多路复用器(selector) 3.一个多路复用器selector可以同时轮循多个Channel,JDK使用epoll()代替传统的select实现,因此它并没有最大连接句柄1024的限制,这个意味着只需要一个线程负责selec

2017-10-21 21:00:07 188

原创 伪异步I/O

1.伪异步I/O通信是采用线程池和任务队列实现的一种通信框架,当有新的客户端接入时,将客户端的Socket封装成一个task投递到后端的线程池中进行处理,JDK的线程池维护一个消息队列和N个活跃线程,对消息队列中的任务进行处理,由于线程池可以设置消息队列的大小和最大线程数,因此,它的资源占用是可控的,无论多少个客户端并发访问,都不会导致医院的耗尽和宕机 伪异步i/o代码 1.serverTime

2017-10-21 18:53:52 425

原创 同步阻塞式I/O编程

1.BIO主要的问题在于每当有一个新的客户端请求接入时,服务器必须创建一个新的线程处理新接入的客户端链路,一个线程只可以处理一个客户端连接,在高性能服务器应用领域,往往需要面向成千上万个客户端的并发连接,这种模型显然无法满足高性能,高并发接入的场合 代码例子: 1.server端代码package com.afan.bio;import java.io.IOException;import j

2017-10-21 18:20:28 201

原创 redis事务

1.为什么redis没有实现典型的加锁功能呢?因为加锁有可能会造成长时间的等待,所以redis为了尽可能减少客户端的等待时间,并不会在执行watch命令时对数据进行加锁,相反的,redis会再数据被其他客户端抢先修改了的情况下,通知执行watch命令的客户端,这种做法叫做乐观锁,而关系型数据库中实际加锁的操作叫做悲观锁

2017-10-13 17:01:23 156

原创 Redis学习笔记1

1.Redis是一个远程内存数据库,redis是一个速度非常快的非关系型数据库, 2.redis的特点: 复制:可以扩展读性能 持久化:可以将存储在内存中的键值对数据持久化到磁盘上 客户端分片 3.redis的使用场景 a.根据不同的条件对数据进行搜索,对数据信息进行排序 b.使用redis管理用户登录会话 4.redis与memcach

2017-10-12 17:18:18 218

原创 Redis主备复制环境的搭建

采取主从复制(Replication)的方式来搭建一个master-slave环境 3台机子: 192.168.103.32 master 192.168.103.31 slave(32的slave) 192.168.103.33 slave(31的slave) 1主2备 3.Redis环境搭建的步骤 1.在redis

2017-09-26 18:14:16 419

原创 oracle中的connect by函数的使用

1。项目中遇到了父子层级关系的问题,刚开始的处理办法是:先将数据从数据库中查处理,然后再在代码中遍历,这样做,代码写的比较臃肿,再加上还有其他的业务要处理,比较麻烦,后来就查找了一些资料,发现oracle中有个函数connect by可以解决这个问题,写起来,代码也比较简洁 这个就写个例子来说明一下这个问题: 1首先创建一张表create table text_cen ( id

2017-09-19 16:15:33 3347

转载 删除主键的时候,索引是否删除

问题:删除主键时是否会同时自动删除索引? 答案:是否删除索引取决于索引是创建主键时自动创建的,还是创建主键前手工创建的。 如果期望删除主键时,同时删除索引,安全的做法是增加drop index选项。另外,如果为了防止因存在外键引用而删除失败,可以增加cascade选项。 以下内容在PLSQLDeveloper中亲测,为了代码便于阅读放到eclipse中做了格式调整。 测试无drop inde

2017-09-18 16:37:10 2011

原创 打印hadoop的配置文件的信息

public class ConfigurationPrinter extends Configured implements Tool{ static{ Configuration.addDefaultResource("hdfs-default.xml"); Configuration.addDefaultResource("hdfs-site.xml");

2017-09-17 13:21:59 397

转载 OLAP与OLTP系统

OLTP与OLAP的介绍数据处理大致可以分成两大类:联机事务处理OLTP(on-line transaction processing)、联机分析处理OLAP(On-Line Analytical Processing)。OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。

2017-09-14 17:38:37 571

原创 hadoop学习7

将本地文件上传为hdfs文件 String localSrc = ""; String dst = ""; InputStream in = new BufferedInputStream(new FileInputStream(new File(localSrc))); Configuration conf = new Configuration()

2017-09-13 21:20:33 132

原创 HADOOP学习6

java简单的访问HDFS文件InputStream in = null; try{ byte[] bytes = new byte[1024]; in = new URL("这里写hdfs文件的路径").openStream(); while(in.read(bytes) > 0){

2017-09-13 20:32:36 231

原创 hadoop学习5

利用SequenceFile对文件进行读写 1.文件的写操作import java.io.IOException;import java.net.URI;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.FileSystem;import org.apache.hadoop.fs.Path;im

2017-09-12 20:38:48 181

原创 hadoop学习4

利用mapreduce进行排序import java.io.IOException;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.Path;import org.apache.hadoop.io.IntWritable;import org.apache.hadoop.io.Text;impo

2017-09-11 19:40:23 155

原创 hadoop学习3

1.文件按照行来去重import java.io.IOException;import org.apache.hadoop.fs.Path;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.io.Text;import org.apache.hadoop.mapreduce.Job;import org

2017-09-11 19:14:04 161

原创 hadoop学习3

1.优化hadoop执行的性能问题 1.输入的文件尽量采用大文件,避免使用小文件,也就是要对大量的小文件进行预处理,使得其编程小量的大文件 2.可以借用hadoop中的CombineFileInputFormat,将多个文件打包到一个输入单元中,从而使得每次的map操作处理更多的数据 3.考虑压缩文件:对map的输出进行压缩,可以减少存储文件的空间,加快数据在网络上的传输速度,

2017-09-10 20:46:12 165

原创 hadoop学习2

1.利用java.net.URL来访问hdfs文件package com.afan;import java.io.IOException;import java.io.InputStream;import java.net.MalformedURLException;import java.net.URL;import org.apache.hadoop.fs.FsUrlStreamHandl

2017-09-10 13:55:41 189

原创 hadoop项目1

1.mapper类package com.afan;import java.io.IOException;import org.apache.hadoop.io.IntWritable;import org.apache.hadoop.io.LongWritable;import org.apache.hadoop.io.Text;import org.apache.hadoop.mapred

2017-09-09 20:04:56 207

原创 java并发编程2

1.java集合的遍历与改变同时存在的话,可能产生问题,下面的方法可以简单的防止,也就是采用客户端加锁的机制 第一种: public static Object getLast(Vector list){ synchronized(list){ int lastIndex = list.size() - 1; return li

2017-09-07 15:49:21 172

原创 JAVA并发编程1

1.java监视器模式 public class PrivateLock{ private final Object obj = new Object(); Widget widget; void someMethod(){ synchronized(obj ){ //访问或者修改widge

2017-09-07 15:15:28 160

转载 awr报告比较全面的讲解

https://wenku.baidu.com/view/2e82d35771fe910ef02df8c5.html###,这篇文章写的较全面

2017-08-29 11:08:00 325

原创 Ubuntu 系统linux常见的命令

1.安装ssh命令 sudo apt-get install openssh-server 2.查看ssh服务是否已经启动命令 sudo ps -e|grep ssh 3.启动ssh服务的命令 sudo service ssh start 4.安装iftables的命令 sudo apt install net-tools 5.在线安装jdk 1)安装Python

2017-08-20 15:05:17 270

原创 hadoop的使用场合与不使用场合

1.在web中页面的快速响应中不适合用hadoop(响应时间在ms级别)2.大量的小文件处理不使用用hadoop(元数据较多,而且元数据是存储在namenode中的,内存占用大)3.HDFS中的block:一个block只是可以存储一个文件;但是一个文件可以由多个块组成,默认情况下一个block有2个副本(为了安全,可以手动配置),hadoop中默认的block大小是64MB4.各个节点的功能

2017-08-20 14:24:39 367

原创 hadoop体系结构

1.hadoop的两大核心:hdfs 和mapReduce hdfs:实现对分布式存储的底层支持 mapReduce:实现对分布式并行任务的程序支持 2.hdfs的体系结构 一个hdfs集群是由一个namenode 和若干个datanode组成的 namenode:作为主服务器,管理文件系统的命名空间和客户端对文件的访问操作 datanode

2017-08-19 16:20:25 1143

原创 oracle中常见的工具sql

1.查看一张表是不是分区表 select * from user_part_tables where table_name = '' 或者是 SELECT * FROM useR_TAB_PARTITIONS WHERE TABLE_NAME='表名'2.ORACLE中创建分区的方法有范围分区,散列分区,列表分区,复合分区, 范围分区的语法 partition by ran

2017-07-31 17:08:29 351

原创 sql优化

1.数据库性能影响的因素 查询结果数据:分页 每条记录的宽度:不要用*,要什么字段就查什么 表扫描:建index

2017-07-29 19:03:44 163

原创 oracle 块结构

1.块基本语法 首先输出命令: set serveroutput on;为了可以让输出从窗口中输出来 基本语法:declare v_width integer; v_height integer := 2; v_area integer := 6;begin --set the width equal to the area divided by the h

2017-07-29 14:54:17 384

原创 oracle sql优化

1.oracle的优化器共有2种方式 a.RBO:优化器在分析sql语句时候,所遵循的是oracle内部预订的一些规则 b.CBO:是看语句的代价(cost),这里的代价主要指cpu和内存,优化器在判断是否用这种方式时,主要参照的是表及索引的统计信息,oracle8及以后的版本,oracle推荐使用CBO2.oracle中sql优化的目的 1).去掉不必要的大型表的全表扫描

2017-07-27 13:22:59 190

转载 查询Oracle正在执行和执行过的SQL语句

–查询Oracle正在执行的sql语句及执行该语句的用户SELECT b.sid oracleID, b.username 登录Oracle用户名, b.serial#, spid 操作系统ID, paddr, sql_text 正在执行的SQL, b.machine 计算机名 FROM vproces

2017-07-26 17:29:22 738

Java并发编程实战_9404483.pdf

java并发编程是一本关于java多线程 与锁的相关知识的书 要实现java并发编程的 程序员可下载观看

2016-01-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除