- 博客(156)
- 收藏
- 关注
原创 Gerrit落后分支同步
背景:Git在使用过程中,默认是有同步到Gerrit(Gerrit未正式启用前的状态),但是同事本地Git提交的一个分支没有推送到远端仓库,直接做合并操作,导致Gerrit同步失败,Gerrit分支处于落后,问过一个同事,可以在Gerrit上不要冲突的重复提交。另一个同事直接说可以通过推送达到效果,问过后,他给了个新的方案。方案:通过Gerrit本地副本更新到最新Git分支文件的内容,...
2019-05-05 20:37:46
2464
原创 Spring Jpa "No property xxx found for type xxx" 方法名被认为是属性
结论先行:在继承JpaRepository的接口中,其方法名不能与实现类有所差异,即使是包装类型的也不行。重现过程:1、定义接口public interface LatentUserRepository extends JpaRepository<LatentUser, Integer> { List<LatentStatusStat> statS...
2018-12-07 21:27:04
10210
原创 IDEA Scala 错误: 找不到或无法加载主类
IDEA 运行Scala HelloWorld1、安装Scala程序https://www.scala-lang.org/download/2、设置Scala SDK3、下载或安装 IDEA Scala插件https://plugins.jetbrains.com/plugin/1347-scala4、新建scala文件5、右键 Run HelloworldJdk 需要是1.8.0_172 -&...
2018-06-09 12:49:34
16355
原创 Mongo 利用副本集在写入时自动选择主库
假定集群有三台机器,分别位于m1.xx.com, m2.xx.com, m3.xx.com上,我们不能在连接串中直接写死主库的机器,因为主库的机器在集群中随时有可能通过故障切换而转移而变化。所以希望能够自动感知主库的信息,具体方法是在连接时指定replicaSet参数。这样驱动可以帮我们寻找可写的那台机子。mongodb://username:password@m1.xx.com:34001,m2...
2018-06-08 14:29:20
1125
原创 Hive insert overwrite table xxx 与 insert into table xxx 区别
INSERT OVERWRITE will overwrite any existing data in the table or partitionINSERT INTO will append to the table or partition, keeping the existing data intact(完整无缺的). 也就是说 overwrite会覆盖现有的数据,而into是直...
2018-06-08 14:16:56
5309
原创 Fiddler另存下载的文件及Chrome添加自定义header的方式
1、Fiddler另存附件2、Chrome添加自定义header的方式https://chrome.google.com/webstore/detail/modheader/idgpnmonknjnojddfkpgkljpfnnfcklj安装完,配置下这样请求,就能带上了
2018-01-31 13:06:47
1006
原创 IDEA 数据库表转 JavaBean
1、访问 https://www.bejson.com/othertools/sql2pojo/,将数据库建表语句(不需要key和索引部分描述)转换成属性描述,有一点不够智能的是char类型,要自己改成String,datetime/timestamp需要手动改成Date2、IDEA 安装CamelCase插件,安装完重启IDEA3、IDEA在java目录新建类,加入1步的属性描述4、
2018-01-20 15:07:13
4218
原创 23种设计模式意图汇总
工厂方法定义一个用于创建对象的接口,让子类决定实例化哪一个类。FactoryMethod使一个类的实例化延迟到其子类。抽象工厂提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。建造者模式将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。单例模式保证一个类仅有一个实例,并提供一个访问它的全局访问点。原型模式
2018-01-09 22:42:35
936
原创 Mysql优化常用经验总结
适当使用查询缓存当查询结果确定不大于1行时,使用limit 1列有固定可选值时,使用enum而不是varchar为搜索字段建索引join表使用相同的类型,并建立索引使用Explain来优化语句避免select *永远为每张表设置id尽可能使用notnullprepared statements不用使用 order by rand()固定长度的表/越小的列
2018-01-07 16:47:53
374
原创 Mysql 索引的几个问题
1.B树与B+树的区别?B+树中只有叶子节点会带有指向记录的指针(ROWID),而B树则所有节点都带有,在内部节点出现的索引项不会再出现在叶子节点中。B+树中所有叶子节点都是通过指针连接在一起,而B树不会。2.MySQL中HASH索引和B+树索引的区别?哈希索引就是采用一定的哈希算法,把键值换算成新的哈希值,检索时不需要类似B+树那样从根节点到叶子节点逐级查找,只需一次哈希算法即可
2017-12-17 16:54:45
361
原创 Hadoop MR程序学习笔记
1 在客户端程序必须要显示设置 myJob.setMapOutputKeyClass(LongWritable.class); myJob.setMapOutputValueClass(Text.class);不然map任务会没结果输出2 hdfs访问文件 String url = HDFS_URL +PATH+ "/part-r-
2017-12-17 00:52:13
385
原创 Mysql Explain 解析之Type
explain 的结果中,每行共有这么几列:id、select_type、table、type、possible_keys、key、key_len、ref、rows、extra。一一来做分析。其中type表示了执行计划这步用到的搜索类型。type可以分为typedefineallFull Table Scan,全表扫描indexFul
2017-12-11 22:35:05
353
原创 byte/short相加得到是int
举个例子public class Test { public static void main(String[] args) { short a, b, c; // line 1 a = 1; // line 2 b = 2; // line 3 a += 2; // line 4 a = a
2017-12-11 20:34:19
1422
原创 编译Hadoop 2.9.0 提示 Could not find artifact com.amazonaws:DynamoDBLocal
编译Hadoop 2.9.0 提示 DynamoDBLocal包找不到,到maven仓库也查不到com.amazonaws下的DynamoDBLocal,只能查到com.jcabi下的。无奈找找看,发现在文章http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DynamoDBLocal.html#DynamoDBL
2017-12-10 21:50:37
2452
2
原创 解决CentOS搭建DNS服务器无法解析外网地址的问题
问题描述:搭建了DNS服务器来解析自定义的域名,但是在遇到非自定义的域名时,不会去自动解析。使用nslookup 会提示 ** server can't find xxxx: NXDOMAIN问题解决:网上找了说要配置DNS转发,在/etc/named.conf中配置 forward 和 forwarders,但是配完以后,确没有和想象的一样,自动拿到转发的服务器解析。最后快要
2017-12-10 17:02:11
8715
3
原创 Hadoop 搭建高可用完全分布式集群
部署规划主机用途IPrm01.hadoop.comResourceManager01192.168.137.11nn01.hadoop.comNameNode01、DFSZKFailoverController192.168.137.12
2017-12-09 21:20:20
576
原创 解决Hadoop命令方式运行WordCount异常Class WordCount$XXXMapper not found
WordCount.java 注意把job.setJarByClass(WordCount.class);改成job.setJar("wc.jar");,解决类找不到的问题import java.io.IOException;import java.util.StringTokenizer;import org.apache.hadoop.conf.Configuration;im
2017-12-09 15:22:17
3912
1
原创 IDEA 运行 Hadoop WordCount示例
1、在本地解压hadoop安装包,然后修改系统变量,增加HADOOP_HOME及HADOOP_USER_NAME,HADOOP_USER_NAME为实际集群运行用户2、修改项目的Pom文件 org.apache.hadoop hadoop-common 2.9.0
2017-12-05 19:37:05
1235
原创 Spring AOP报错 error at ::0 name binding only allowed in target, this, and args pcds
早上写了一个切面,定义大致如下:@Component@Aspectpublic class QuestionAspect { @AfterReturning(value = "execution(* com.xxx.service.SrviceImpl.create(vo)) && args(vo)") public void createQuestion(Questio
2017-11-28 12:14:51
3393
原创 VMWare HostOnly不能上网解决
VMWare HostOnly模式下,使用的是VMnet1适配器,默认我们的网络是没有共享给HostOnly的子网的,如果需要,就需要在网络连接中进行设置,选中本地连接,右键属性,切到共享页,勾选允许访问这个时候,会提示,需要将网段变更为192.168.137.0,点击确定。然后到虚拟机中进行设置更改网段这个配置完,我们在虚拟机中也设置到同一个网段,加上
2017-11-26 23:47:25
4966
1
原创 XShell连接CentOS显示完整终端名
显示完整主机名,编辑/etc/bashrc,将原先HOSTNAME%%.* 变更为 HOSTNAME如果想把终端内显示的也变更了,可以把这段后面的也编辑下从改为
2017-11-26 22:43:05
2021
原创 vmware eth0找不到的问题
刚安装完Vmware的时候,只有一个环回的网卡起作用,而eth0默认是未启动,需要修改,重新启动。修改/etc/sysconfig/network-scripts/ifcfg-eth0,将ONBOOT=no改为ONBOOT=yes
2017-11-26 16:55:57
715
原创 SSH原理
SSH的原理是使用了RSA算法(利用了因式分解时间上的不对称性),RSA能生成公钥和对应的私钥,这两种密钥地位相同,只从一方无法推断出另一方,并且一方加密的内容只能由另一方来界面。SSH连接有两种情形,一种需要密码,一种不需要密码。下面依次进行分析:1)需要密码①Client请求Server,Server将他的公钥返回给Client②Client将公钥加密密码,并且发给Sever,Se
2017-11-26 00:06:15
589
原创 Mockito 2.1.0 Mock Fianl类的原理
Mockito 从2.1.0后开始支持对final类型的mock,默认是未开启的,如果需要开启支持,需要在test的resource目录下新建mockito-extensions文件夹,并且在里面放一个名为org.mockito.plugins.MockMaker的文件,文件内容是mock-maker-inline。那么Mockitor是怎么实现对final类型的mock的呢?我们来看下官方提示的
2017-11-15 00:55:25
3423
原创 Mysqlsla慢查询报告的指标说明
总查询次数 (queries total), 去重后的sql数量 (unique)输出报表的内容排序(sorted by)最重大的慢sql统计信息, 包括 平均执行时间, 等待锁时间, 结果行的总数, 扫描的行总数.Count, sql的执行次数及占总的slow log数量的百分比.Time, 执行时间, 包括总时间, 平均时间, 最小, 最大时间, 时间占到总慢sql时间的百分比
2017-11-10 11:50:32
643
原创 Collections.sort 依据多个字段排序
今天有个需求,需要根据用户报名的课程进行排序。排序的规则包含了4个方面:有直播优先;当前专题优先;有直播的,按直播时间正序;无直播的,按最后学习时间倒序。在使用Collections.sort,最后写出来的效果,利用多个字段,对列表进行排序Collections.sort(result, new Comparator() { @Override public int compa
2017-11-01 22:28:00
17650
2
原创 too many connections 分析
站点服务一早出现too many connections的异常,导致全站访问缓慢,甚至页面出不来。这个异常是从mysql那边获取不到连接导致,换句话说,连接已经被使用光了。赶紧找DBA看下。DBA使用 show processlist 查看,配置的max_connections 3000接近已经使用满了。接着分析发现:1、有慢查询占用着连接;2、有表损坏查不出数据于是针对这2种情况:
2017-10-31 16:40:13
550
原创 使用sysbench对Mysql进行压力测试查询性能
安装[root@centos02 ~]# yum -y install mysql mysql-server启动[root@centos02 ~]# service mysqld start进入控制台,修改root密码[root@centos02 ~]# mysql -u rootmysql> SET PASSWORD FOR 'root'@'localhost
2017-10-31 00:00:04
754
原创 简单搭建Mysql主从同步
设置mysql主从同步centos01mysql从服务器 192.168.1.20centos02mysql主服务器 192.168.1.21安装主服务器并修改root密码[root@centos02 ~]# yum -y install mysql mysql-server[root@ce
2017-10-30 23:55:55
252
原创 Mysql 慢查询参数
slow_query_log是否开启慢查询日志,ON表示开启,OFF表示关闭slow-query-log-file慢查询日志存储路径long_query_time当查询时间多于设定的阈值时,记录日志log_queries_not_using_indexes未使用索引的查询也被记录到慢查询日志中(可选项)log_outputFILE
2017-10-14 15:26:22
764
原创 Spring Data Jpa 异常:PropertyReferenceException: No property xx for type yy
今天在写完一个仓储层方法时,tomcat启动就抛出了一个异常,内容是:nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'xxxRepository': Invocation of init method failed; nes
2017-10-13 19:57:01
5864
原创 Mysql 查找乱码数据
线上课程名称出现乱码数据,或者是"???"或者是类似 “修身是ä¸å›½ä¼ 统政æ”完全摸不着头脑的,想要先做一次数据修复,但是课程表有2,3万的数据,一条条看下来有没有乱码,还是很费时的。想通过sql来筛选出这些数据,可以借助sql的编码转换函数convert,使用latin1字符集来区分正常的和非正常的。SELECT Id,Title FROM Course WHE
2017-09-30 21:23:12
2904
原创 浅谈单元测试关注的一些点
1、每次只测试一个代码单元(方法);2、确保在内存中运行单元测试;3、模拟所有外部服务和状态;4、使用最合适的断言方法;有许多断言 assertEquals,assertTrue,assertFalse,assertNull,assertNotNull,assertArrayEquals,assertSame 使用最合适的一个最可读的测试代码。 例如:使用 assertTrue
2017-09-24 10:12:56
1173
原创 Sql语句解析执行顺序
Sql有自己固定的语法解析和执行顺序,可能有时候一个条件的移动,就可以省去很多数据量的计算,既节约内存,又提高效率,所以还是有必要了解下内部的解析顺序。(8)SELECT (9)DISTINCT (1)FROM [left_table](3) JOIN (2)ON (4)WHERE (5)GROUP BY (6)WITH (7)HAVING (10)ORDER BY (11)
2017-09-16 16:07:55
322
原创 Maven name与artifactId 区别
name:The full name of the project.artifactId:The identifier for this artifact that is unique within the group given by the group ID.An artifact is something that is either produced or used
2017-09-16 14:56:08
13811
原创 Maven 搜索Jar包的顺序
Maven可以允许在多个地方配置仓库的位置,比如pom文件、Maven配置文件等。当需要加载一个新的Jar包时,Maven会从配置文件中读取仓库位置,并按照优先级逐一从仓库中判断是否有指定的依赖文件,如果有,则加载,如果没有,则继续搜索。经过实验,得知了其加载顺序。1、本地仓库 2、maven settings profile中的repository;3、pom.xml中profile
2017-09-16 14:24:39
6893
原创 Maven 打包resource目录外资源的3种方式
之前有资源需要额外添加到工程输出,但是并不是放在maven标准的resources目录下,所以研究了下,通过以下几种方式都可以添加:1、maven-resources-plugin插件 maven-compiler-plugin UTF-8
2017-09-16 13:43:22
11468
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人