自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

渣渣想逆袭

一个在互联网苟且偷生的渣渣

  • 博客(245)
  • 资源 (3)
  • 问答 (1)
  • 收藏
  • 关注

原创 IDEA 错误: 找不到或无法加载主类 解决方法

在IDEA的使用过程中,经常断掉服务或者重启服务,最近断掉服务重启时突然遇到了一个启动报错:错误:找不到或无法加载主类猜测:1,未能成功编译;尝试:菜单---》Build---》Rebuild Prodject结果:启动服务仍然报同样的错误 2,缓存问题; 尝试:菜单---》File...

2019-03-18 19:07:13 159281 30

原创 MySQL:utf8_bin和utf8_general_ci编码的区别

MySQL中存在多种格式的utf8编码,其中最常见的两种为:utf8_bin utf8_general_ciutf8_bin将字符串中的每一个字符用二进制数据存储,区分大小写;utf8_genera_ci不区分大小写,ci为case insensitive的缩写,即大小写不敏感,为utf8默认编码。分析:编码为utf8_bin时,Alex和alex被认为是两个不同的值,区分大小写...

2019-03-13 10:27:42 1538

原创 jar包文件签名不合法

由于公司elasticsearch升级,升级到6.2.0,需要对原来的2.x的代码进行api的升级。遇到一些问题,记录一下:1、首先是elasticsearch jar包打包的问题elasticsearch_6.2.0 jar包使用的jackson版本是2.8.10,和项目里的版本有冲突,单独引用elasticsearch的包启动项目时一直报错。使用maven-shade-plugin插件可以解决...

2018-03-22 19:11:05 3693

转载 用“逐步排除”的方法定位Java服务线上“系统性”故障

一、摘要由于硬件问题、系统资源紧缺或者程序本身的BUG,Java服务在线上不可避免地会出现一些“系统性”故障,比如:服务性能明显下降、部分(或所有)接口超时或卡死等。其中部分故障隐藏颇深,对运维和开发造成长期困扰。笔者根据自己的学习和实践,总结出一套行之有效的“逐步排除”的方法,来快速定位Java服务线上“系统性”故障。二、导言Java语言是广泛使用的语言,它具有跨平台的特性和易学易用的特点,很多...

2018-03-19 23:56:30 241

转载 log4j,logback,slf4j之间的关系详解

commons-logging是apache最早提供的日志的门面接口。它的主要作用是提供一个日志门面,使用者可以使用不同的日志实现。用户可以自由选择第三方的日志组件作为具体实现,像log4j,或者jdk自带的logging, common-logging会通过动态查找的机制,在程序运行时自动找出真正使用的日志库。common-logging内部有一个Simple logger的简单实现,但

2017-09-10 11:10:55 1274

原创 Mybatis 详解——一级缓存、二级缓存

mybatis 为我们提供了一级缓存和二级缓存,可以通过下图来理解:①、一级缓存是SqlSession级别的缓存。在操作数据库时需要构造sqlSession对象,在对象中有一个数据结构(HashMap)用于存储缓存数据。不同的sqlSession之间的缓存数据区域(HashMap)是互相不影响的。②、二级缓存是mapper级别的缓存,多个SqlSession去操作同一个Mapper的s

2017-09-10 10:16:59 625

原创 记录一次elasticsearch连接问题

最近在弄数据分析,需要发到内网开发机的测试环境,但又需要连接到线上的elasticsearch集群查询线上数据。于是让运维开通集群机器对内网机器的访问限制,但部署上去后竟然连接不了线上es,运维也很确定端口已开放,一时之间不清楚什么原因。查看程序启动日志,报错信息显示:NoNodeAvailableException[None of the configured nodes are avail...

2017-03-14 23:58:06 5687

原创 shell 脚本启动jar程序

Linux下启动jar包程序,直接上步骤:1、首先,maven项目打成一个jar包,同时使用dependency:copy-dependencies命令导出依赖的jar包,把导出的包和项目jar包都放进lib文件夹里2、编写shell脚本:#!/bin/bashexport JAVA_HOME=/home/program/java/jdk1.8.0_60 #

2016-05-12 22:11:59 12297

转载 Hibernate JPA中@Transient、@JsonIgnoreProperties、@JsonIgnore、@JsonFormat、@JsonSerialize等注解解释

1、@Transient@[email protected]反射,ORM框架将忽略该属性;如果一个属性并非数据库表的字段映射,就务必将其标示为@Transient,否则ORM框架默认其注解为@Basic;//表示该字段在数据库表中没有@Transientpublic int getAge() { return 1+1;} Jackson相关:

2016-05-12 09:44:55 2922

原创 Java简繁转换ZHConverter

直接贴代码:import com.spreada.utils.chinese.ZHConverter;public class HanConvertor{ public static void main(String[] args) { // 繁体转简体 ZHConverter converter = ZHConverter.getInstance(ZHConverter.S

2016-04-26 17:26:53 6240 4

原创 Solr自动生成ID配置

Solr基于Lucene的索引,而索引中的最基本的单元式Document,在Solr中,管理每一个Document(更新、删除、查询),基本都会用到对应的ID,类似关系数据表中的主键。但是,如果我希望Solr能够自动生成这个唯一的ID,有时候也省去了不少的工作,而只需要在Solr中进行配置即可。下面,通过实例来说明,如何配置Solr支持的UUID。在Solr中配置生成唯一U

2016-04-24 19:55:42 2750

转载 maven中把依赖的JAR包一起打包

这里所用到的MAVEN-PLUGIN是MAVNE-ASSEMBLY-PLUGIN官方网站是:http://maven.apache.org/plugins/maven-assembly-plugin/usage.html 1. 添加此PLUGIN到项目的POM.XML中Xml代码  buizld>          plugins>   

2016-03-28 18:09:17 723

转载 java.util.ConcurrentModificationException 解决办法

今天在项目的中有一个需求,需要在一个SortedSet类型的集合中删除满足条件的对象,这时想当然地想到直接调用SortedSet的remove(Object o)方法将指定的对象删除即可,测试代码:   public class Test {    public static void main(String[] args) {        User user1 = new User

2016-03-14 10:58:38 428

原创 springmvc+dubbo实践

互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,Dubbo是一个分布式服务框架,在这种情况下诞生的。现在核心业务抽取出来,作为独立的服务,使前端应用能更快速和稳定的响应。第一:介绍Dubbo背景 大规模服务化之前,应用可能只是通过RMI或Hessian等工具,简单的暴露和引用远程服务,通过配置服务的URL地址...

2016-02-03 16:59:24 2894

原创 RunTime.getRunTime().addShutdownHook用法

今天在阅读Tomcat源码的时候,catalina这个类中使用了下边的代码,不是很了解,所以google了一下,然后测试下方法,Tomcat中的相关代码如下:      Runtime.getRuntime().addShutdownHook(shutdownHook);   这个方法的含义说明:       这个方法的意思就是在jvm中增加一个关闭的钩子,当jvm关闭的时

2016-02-02 18:11:24 597

原创 linux下安装jdk

下载解压那些就不在此说了,网上有很多教程,我们就从配置开始吧。配置环境变量在linux下配置环境变量和windows的原理是相同,都是使jdk的路径成为全局变量,用文本编辑器gedit(如果没安装可以用vi)打开/etc/profile,在文件最后添加export JAVA_HOME=/usr/java/jdk1.8.0_45export PATH=$JAVA_H

2016-01-30 13:12:33 509

原创 页面实现全选和批量操作

全选的思路是:遍历标签下的type为checkbox的input标签,改变这些checkbox的check状态和点击全选的状态一样批量操作的思路是:用js获取记录中的id用逗号拼接,传到后台执行批量操作的处理全选js:$("#checkAll").click(function() { var rows = $("#content").find('input'); ...

2016-01-23 17:17:35 11429

原创 Druid数据库连接池使用

阿里巴巴推出的国产数据库连接池,据网上测试对比,比目前的DBCP或C3P0数据库连接池性能更好 简单使用介绍Druid与其他数据库连接池使用方法基本一样(与DBCP非常相似),将数据库的连接信息全部配置给DataSource对象 下面给出2种配置方法实例:1. 纯Java代码创建dataSource = new DruidDataSource(); dataSourc

2016-01-06 17:50:36 471

原创 redis-cli 命令总结

Redis常用命令启动 Redis 服务src/redis-server或者src/redis-server redis.confsrc/redis-server redis.conf 1>log.log 2>errlog.log1为标准输出,2为错误输出将 Redis 作为 Linux 服务随机启动vi /etc/rc.local, 加入代码:

2016-01-05 11:01:20 587

原创 Solr Query

一.Query参数1.CoreQueryParam查询的参数1)q:查询字符串,必须的。2)q.op:覆盖schema.xml的defaultOperator(有空格时用"AND"还是用"OR"操作逻辑),一般默认指定。3)df:默认的查询字段,一般默认指定。4)qt:querytype,指定查询使用的QueryHandler,默认为“stan

2015-12-31 17:42:30 3034

原创 Solr hightlight高亮显示

第一种方式是solrj操作:?1234567891011121314151617181920212223242526272829

2015-12-31 17:05:48 1197

原创 Solr group分组查询

如:http://localhost:8080/solr/test_core/select?q=*:*&wt=json&indent=true&group=true&group.field=field&group.limit=0参数说明param nameparam valuedescription

2015-12-31 16:15:03 3550

原创 Solr Facet的应用

Facet是Solr的高级搜索功能之一,Solr作者给出的定义是导航(Guided Navigation)、参数化查询(Paramatic Search)。Facet的主要好处是在搜索的同时,可以按照Facet条件进行分组统计,给出导航信息,改善搜索体验。Facet搜索主要分为以下几类:1. Field Facet搜索结果按照Facet的字段分组并统计,Facet字段通过在请求中加入”

2015-12-31 15:13:35 2268

转载 利用Ansj中文分词工具对段落进行切词

对于切词确实是一个复杂的功能,足以写上好几篇论文,但是如果仅仅想对一个句子、一个段落、一篇文章进行切词,可以利用中国自然语言开源组织中各位大牛写好的工具。已经打包成jar包,可以直接调用了,无须自己再考虑复杂的算法。当然这种切词是对于自然语言的,对于一些有规律的字符串,请自行利用indexOf、substring、split的各类Java自带函数,没有使用额外java包的必要。首先

2015-12-29 15:05:26 2179

原创 solr索引主从同步

solr索引同步的是core对core,以core为基本同步单元一个solr instance可以装载多个core,每个core拥有不同的schema,core与实例的关系等同于mysql中table和database的关系不支持直接同步实例假设我们已经在 192.168.1.10和192.168.1.20 两台服务器上部署了solr服务,192.168.1.10作为master,192.

2015-12-29 14:41:22 1458

原创 spring3.0定时任务+Solr数据导入

上一篇文章写到使用java定时任务,其实,spring也实现了定时任务,使用也很简单,下面来学习一下。 Spring3.0以后自主开发的定时任务工具,spring task,可以将它比作一个轻量级的Quartz,而且使用起来很简单,除spring相关的包外不需要额外的包,而且支持注解和配置文件两种。配置文件:applicationContext-schedual.xml...

2015-11-08 22:56:03 487

原创 java使用ScheduledExecutorService定时任务

一:简单说明ScheduleExecutorService接口中有四个重要的方法,其中scheduleAtFixedRate和scheduleWithFixedDelay在实现定时程序时比较方便。下面是该接口的原型定义java.util.concurrent.ScheduleExecutorService extendsExecutorService extendsExecutor...

2015-11-08 22:36:53 827

原创 Solr空间搜索

空间搜索原理空间搜索,又名Spatial Search,基于空间搜索技术,可以做到:1)对Point(经纬度)和其他的几何图形建索引2)根据距离排序3)根据矩形,圆形或者其他的几何形状过滤搜索结果在Solr中,空间搜索主要基于GeoHash和Cartesian Tiers 2个概念来实现:GeoHash算法通过GeoHash算法,可以将经纬度的二维坐标变成一个可排序、可...

2015-11-08 11:21:52 2483

原创 solr开发之拼写检查spellcheck

首先,修改schema.xml,增加需要检查的字段 <tokenizer class="org.ansj.solr5.AnsjTokenizerFactory" query="false" pstemming="true" stopwordsDir="stopwords/stopwords.dic"/> <filter cla

2015-11-08 00:00:24 3774

转载 全文检索引擎Solr系列—–全文检索基本原理

场景:小时候我们都使用过新华字典,妈妈叫你翻开第38页,找到“坑爹”所在的位置,此时你会怎么查呢?毫无疑问,你的眼睛会从38页的第一个字开始从头至尾地扫描,直到找到“坑爹”二字为止。这种搜索方法叫做顺序扫描法。对于少量的数据,使用顺序扫描是够用的。但是妈妈叫你查出坑爹的“坑”字在哪一页时,你要是从第一页的第一个字逐个的扫描下去,那你真的是被坑了。此时你就需要用到索引。索引记录了“坑”字在哪一页,你

2015-11-07 23:11:18 538

原创 solr配置文件solrconfig.xml解析

solrconfig.xml配置文件主要定义了SOLR的一些处理规则,包括索引数据的存放位置,更新,删除,查询的一些规则配置。下面将对solrconfig进行详细描述:1 4.8 表示solr底层使用的是lucene4.82 <lib dir="../../../contrib/extraction/lib" regex=".*\.jar" /> 表示solr引用包的位置,当dir

2015-11-05 23:23:45 1458

原创 solr配置文件schema.xml解析

schema.xml,主要定义索引的字段和字段类型  略...<!--  schema.xml位于solr/conf/目录下,类似于数据表配置文件 有关如何根据需要定制化该文件,请参照:http://wiki.apache.org/solr/SchemaXml  性能须知: 这里包含了很多实际应用不需要的可选项。 为改善性能,你可以:  - 尽量将所有仅用于搜索,而不用于

2015-11-05 23:03:32 699

原创 java读取csv文件

最近需要导csv的数据到mysql数据库里,于是就写了个程序导进去。    其实csv文件就是每一行的每一格之间都用逗号隔开的,例如:一,二,三,四这样,所以程序很简单,思路就是获取文件流,然后每行用逗号分割即可Integer positionid = null; Integer type = null; Integer categoryid = null; String wo

2015-11-01 16:52:46 944

转载 git命令速查表

git命令速查表[html] view plaincopy一、 Git 常用命令速查    git branch 查看本地所有分支  git status 查看当前状态   git commit 提交   git branch -a 查看所有的分支  git branch -r 查看远程所有分支  git commit -

2015-10-20 22:52:58 397

转载 Maven私服Nexus的构建

前边简单介绍了Maven,而Maven默认提供的中央仓库是在远程网络服务Appache提供的,这对于我们开发时不合理的。如果我们没网了或者什么情况,我们怎么办?也就是说我们队中央仓库的依赖性太大。而Nexus私服则可以解决我们这个问题。先看下这张图应该大家就非才明白了:    这样就相当于在我们本地的局域网搭建了一个类似中央仓库的服务器,我们开始将中央仓

2015-09-29 23:09:36 346

原创 solr5.3环境搭建

最近公司要做搜索的项目,需要用到solr,今天就简单看了下solr的相关知识,搭建了solr环境。    solr的运行环境非常简单,只需要JDK和一个WEB容器即可,这里用到tomcat    jdk和tomcat的配置在这里就不讲了,很简单。1、直接进入主题,网上先下载solr5.3的包并解压为solr-5.3.02、将solr部署到tomcat中,将E:\solr-5

2015-09-22 23:16:57 3555 4

原创 Netty之BIO(同步阻塞IO)、PIO(伪异步阻塞IO)、NIO(异步非阻塞IO)、AIO(异步非阻塞IO)、Netty

学习书籍:Netty权威指南多种IO方式的比较:1、BIO(同步阻塞IO)使用ServerSocket绑定IP地址和监听端口,客户端发起连接,通过三次握手建立连接,用socket来进行通信,通过输入输出流的方式来进行同步阻塞的通信每次客户端发起连接请求,都会启动一个线程线程数量:客户端并发访问数为1:1,由于线程是JAVA虚拟机中非常宝贵的资源,一旦线程数急剧增加,系统性能会急

2015-08-21 17:27:54 9041 3

转载 Oracle SQL性能优化

(1)      选择最有效率的表名顺序(只在基于规则的优化器中有效):ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询, 那就需要选择交叉表(intersection table)作为基础表, 交叉表

2015-08-19 11:02:44 354

转载 Hibernate 缓存机制

一、why(为什么要用Hibernate缓存?)Hibernate是一个持久层框架,经常访问物理数据库。为了降低应用程序对物理数据源访问的频次,从而提高应用程序的运行性能。缓存内的数据是对物理数据源中的数据的复制,应用程序在运行时从缓存读写数据,在特定的时刻或事件会同步缓存和物理数据源的数据。 二、what(Hibernate缓存原理是怎样的?)Hibern

2015-08-12 10:07:43 337

转载 初学Redis(2)——用Redis作为Mysql数据库的缓存

用Redis作Mysql数据库缓存,必须解决2个问题。首先,应该确定用何种数据结构存储来自Mysql的数据;在确定数据结构之后,还要考虑用什么标识作为该数据结构的键。        直观上看,Mysql中的数据都是按表存储的;更微观地看,这些表都是按行存储的。每执行一次select查询,Mysql都会返回一个结果集,这个结果集由若干行组成。所以,一个自然而然的想法就是在Redis中找到一种

2015-08-10 17:11:29 479

java繁简转换工具类

java繁简转换的工具类,提供使用

2016-04-26

Acronis Disk Director Suitev10

一套硬盘工具,可以在不损失资料的情况下对现有硬盘进行重新分区或者调整,可以对于损坏的分区进行修复,还可以轻松的实现多系统的安装和启动。支持Windows 95 / 98 / Me / NT (包括服务器版)/ 2000 (包括服务器以及高级版) / XP 以及 2003服务器。

2013-04-10

百度地图API

百度地图API是为开发者免费提供的一套基于百度地图服务的应用接口,包括JavaScript API、Web服务API、Android SDK、iOS SDK、定位SDK、车联网API、LBS云等多种开发工具与服务,提供基本地图展现、搜索、定位、逆/地理编码、路线规划、LBS云存储与检索等功能,适用于PC端、移动端、服务器等多种设备,多操作系统下的地图应用开发。

2013-04-10

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

TA关注的人

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