自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 资源 (7)
  • 收藏
  • 关注

原创 ElasticSearch专栏说明

es版本2.4.6,jdk版本1.8专栏中代码GitHub地址:https://github.com/madali1018/commons/tree/master/src/main/java/com/mada/es

2019-01-16 19:38:37 199

原创 ElasticSearch常用http请求

1.端口说明es启动监听两个端口,9300和92009300端口: ES节点之间通讯使用9200端口: ES节点 和 外部 通讯使用9300是tcp通讯端口,集群间和TCPClient都走的它;9200是http协议的RESTful接口2.http请求示例(es集群配置方面)查看集群状态 curl -X GET “http://127.0.0.1:9200/_cat/hea...

2018-12-28 15:57:24 5076

原创 面向防御式编程

对于for循环层级太深的优化方案,一般推荐使用map,少了一层循环,代码效率提升一些。但不是所有的for循环都能用map替代,即先把不满足条件的代码先执行,然后才执行满足条件的代码。此外别忘了,把满足条件的代码抽取到一个新的方法中喔。如:不满足条件1,则返回,满足则往下继续执行;再判断是否满足条件2,不满足则返回,满足则继续往下执行…要根据自己实际情况选择。

2023-09-22 14:52:31 52

原创 通过Jackson序列化反序列化解决对象拷贝问题

通过json序列化、反序列化解决一个对象拷贝的问题

2022-08-11 09:30:45 347 1

原创 Git常用命令汇总

记录了一些Git常用的命令

2022-08-03 14:07:44 120

原创 HashSet底层结构

HashSet底层结构

2022-04-25 14:43:25 932

原创 基于Protostuff的序列化与反序列化

一种protobuf序列化方式,不需要编写proto文件Maven依赖 <dependency> <groupId>com.dyuproject.protostuff</groupId> <artifactId>protostuff-core</artifactId> <version>1.0.7</version>

2021-12-09 15:46:45 1163

原创 Java多线程&线程安全&并发包

1:synchronized(保证原子性和可见性)1.同步锁。多线程同时访问时,同一时刻只能有一个线程能够访问使synchronized修饰的代码块或方法。它修饰的对象有以下几种:修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码,作用的对象是调用这个代码块的对象修饰一个方法,被修饰的方法称为同步方法,其作用的范围是整个方法,作用的对象是调用这个方法的对象修改一个静态的方法,其作用的范围是整个静态方法,作用的对象是这个类的所有对象修饰一个类,其作用的范围是sync

2020-05-26 10:21:30 224

原创 断点启动远程tomcat

1:断点启动远程tomcat 使用./catalina.sh jpda start 代替原本的 ./startup.sh2:启动tomcat并查看日志 ./startup.sh | tailf …/logs/catalina.2018-02-09.out,如图所示:

2020-04-14 14:37:29 302

原创 idea使用jetty插件进行热部署

1. 在pom.xml中引入jetty插件<!-- jetty插件 --><plugin> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-maven-plugin</artifactId> <version>9.3.7.v2...

2020-03-23 14:36:21 1955

原创 Intellij IDEA中使用Protobuf

1.安装Protobuf Support插件2.将.proto文件转成Java类一般的做法,是执行protoc命令,依次将.proto文件转成Java类:protoc.exe -I=d:/tmp --java_out=d:/tmp d:/tmp/monitor_data.proto2.使用gRPC官方推荐的一种更优雅的使用姿势,可以通过maven轻松搞定,具体步骤:pom.xml...

2019-10-09 11:09:24 755

原创 序列化时包名处理

前提:同一个实体,在两个项目中使用使用fastjson进行序列化反序列化,两个实体的包名无需保持一致:fastjson序列化反序列化是根据**@JSONField注解**中的name等字段进行处理的。使用io流进行序列化反序列化,两个实体的包名必须保持一致:否则反序列化时根据实体类的全路径找不到对应的实体类会反序列化失败。...

2019-04-30 17:21:35 1334

原创 jdk1.8安装:windows和Linux(root和worker用户)

windows下安装jdk1.8新建环境变量JAVA_HOME、CLASSPATHJAVA_HOME *C:\Program Files\Java\jdk1.8.0_102* JAVA_HOME是配置JDK的目录CLASSPATH .;%JAVA_HOME%\lib; CLASSPATH指定到哪里去找运行时需要的类代码(字节码)编辑环境变量PATHPATH %......

2019-04-26 14:41:19 735

原创 tomcat启动失败之Http11AprProtocol

1问题:tomcat启动失败2解决方案:修改server.xml中的Http11AprProtocol为Http11NioProtocol,重启

2019-04-25 10:55:54 3272

原创 es如何实现分页功能

1:深度分页参考:如何跳过es分页这个坑

2019-03-19 18:05:41 1224

原创 ES的group by功能

group by 按字段的值进行分组类似MySQL中的 SELECT sum(field) as sum_field from table group by field order by sum_field desces中会使用:AggregationBuilders.sum(“name”).field(“field”); 注意:字段类型必须是数值类型group by 按字段的值进行范围...

2019-03-12 16:56:50 24301

原创 servlet获取http接口获取请求体内容(get&post)

get请求方式: Long houseId = Long.parseLong(request.getParameter(&amp;quot;houseId&amp;quot;));post请求方式 ServletInputStream servletInputStream = request.getInputStream(); StringBuilder content = new ...

2019-03-11 11:19:01 1873

原创 ElasticSearch查询索引分片副本等信息&字段类型等

查看集群信息(索引分片,副本数,创建时间等信息):curl -XGET &amp;amp;quot;http://127.0.0.1:9200/index1-mdl/_settings?pretty&amp;amp;quot;java实现方式 public Map&amp;amp;amp;lt;String, String&amp;amp;amp;gt; getIndexSettings(String indexName) { Settings sta

2019-01-16 19:29:05 5071

原创 Intellij idea配置python3开发环境

idea run python程序前序配置:idea需要在plugins中安装python,然后重启ieda。Project Structure,Project指定Python的安装路径。右键,run python程序示例如图所示:...

2018-12-31 11:19:41 13154

原创 Intellij idea用快捷键自动生成序列化id

Intellij idea用快捷键自动生成序列化id1.类继承了Serializable接口之后,使用alt+enter快捷键自动创建序列化id。使用该快捷键需要进行如下配置:进入setting→inspections→serialization issues→选择图中的选项。serializable class without ‘serialVersionUID’如图所示:...

2018-12-31 10:52:23 228

原创 navicat for mysql 注册码

1.分享一个可用的 navicat for mysql 注册码 名,组织,注册码都是:NAVN-LNXG-XHHX-5NOO

2018-12-28 17:56:32 3143 4

原创 ElasticSearch插件安装:sql

1.Linux下安装sql插件cd /opt/soft/elk/elasticsearch-2.4.6bin/plugin install https://github.com/NLPchina/elasticsearch-sql/releases/download/2.4.6.0/elasticsearch-sql-2.4.6.0.zip (若第一次安装失败,重试即可)重启es集群...

2018-12-28 15:52:18 318

原创 ElasticSearch插件安装:shield

1.Linux下安装shield步骤cd /opt/soft/elk/elasticsearch-2.4.6bin/plugin install license 先安装license (第一次安装失败,重试即可)bin/plugin install shield 安装shield插件重启es添加用户,设置密码cd /opt/soft/elk/elasticsearch-2.4...

2018-12-28 15:41:39 709

原创 ElasticSearch插件安装:bigdesk

1.Linux下安装bigdesk插件步骤:cd /opt/soft/elk/elasticsearch-2.4.6/plugins/mkdir bigdeskrz -be bigdesk-master.zipunzip bigdesk-master.zip 修改解压后的bigdesk-master目录为_siterz -be plugin-descriptor.propertie...

2018-12-28 15:31:34 183

原创 Linux下安装jdk1.8&查看jdk启动版本

1.Linux下安装jdk1.8,参考:jdk1.8安装(windows和Linux(root和worker用户))2:直接使用java --version可能得到的jdk版本是1.7,但实际上使用的jdk版本可能不一定是1.7,具体查看方法如下。ps -ef|grep java 查看java进程,进程中有jdk版本信息 cd /proc/919/ ll | grep exe 可...

2018-12-28 14:58:15 1273

原创 Linux下搭建ELK集群

搭建说明:1:该安装步骤使用的是work用户(非root用户)安装,root用户安装会有问题,需另外创建非root用户再安装。搭建步骤:1.安装jdk1.8 https://blog.csdn.net/mada26/article/details/853221312.安装elasticsearch-2.4.6.tar.gz cd /opt/sof......

2018-11-15 19:51:26 428

原创 Kafka

1:kafka的group和groupId与consumer层有关,与producer无关。2:每个消息message都必须有一个与之对应的topic。3:kafka只是消息队列MQ的一种实现,消息队列在进程/线程间通信的时候使用,put  get delete 确认message被完成处理了后才会从MQ中移除。4:High level没有leader,非lea

2017-10-09 16:41:10 211

原创 Zookeeper小结

ZooKeeper主要是为了统一分布式系统中各个节点的工作状态,在资源冲突的情况下协调提供节点资源抢占,提供给每个节点了解整个集群所处状态的途径。这一切的实现都依赖于ZooKeeper中的事件监听和通知机制。1:ZooKeeper 节点是有生命周期的,这取决于节点的类型。在 ZooKeeper 中,节点类型可以分为持久节点(PERSISTENT )、临时节点(EPHEMERAL),以及时...

2017-07-07 10:32:34 253

原创 同步异步&阻塞非阻塞

同步异步(关注的是消息通信机制)同步:调用者发出一个"调用",没得到结果之前,该"调用"不返回;一旦该"调用"返回,就得到结果。调用者主动等待"调用"的结果。异步:调用者发出"调用"后,就立即返回,没有返回结果。当一个异步过程"调用"发出后,调用者不会立刻得到结果,而是在"调用"发出以后,由被调用者通过状态,通知来通知调用者,或者通过回调函数来处理这个"调用"。类似的框架有Node.js等

2017-07-04 11:16:31 270

原创 mysql处理海量数据时的一些优化查询速度方法

查询时应尽量避免全表扫描,避免全表扫描首先应考虑在where和order by设计的列上建立索引。具体实现的点儿如下:1:在where字句中应尽量避免使用!=或者否则将不使用索引改为使用全表扫描。PS:索引并不是越多越好,索引在提高select效率的同时,也降低了insert和update的效率(insert和update可能会重建索引),一个表中的索引最好不要超过6个,不常用的列尽量

2017-05-05 17:15:56 383

原创 Maven移除jar中不需要的依赖关系

<dependency> <groupId>com.sun.jersey.contribs</groupId> <artifactId>jersey-spring</artifactId> <version>1.18.1</version> <!-- 去...

2017-05-02 17:32:45 858

原创 Git-小结

1:git如何修改注释如果是还没有push之前要修改注释:gitcommit --amend -m "XXXXXX",后面直接按照往常push即可。push之后修改注释,先执行上述命令,然后再暴力式执行如下命令:git push -f2:删除GitHub上的项目中的target和.idea目录在本地项目(从git上clone下来的项目),点击Git Bash Here,然后输入以下......

2017-05-02 16:59:14 1126

原创 使用代理模式扩展logback,实现自定义的日志记录功能

1:jdk动态代理:代理类和目标类实现相同的接口。cglib代理:代理类是目标类的子类(因此cglib要代理的类不可以是final类,要代理的方法不可以是final方法)。2:cglib代理本质上是通过动态的生成一个子类,去覆盖所要代理类中不是final的方法,并设置好callback回调,则原有类的每个方法调用都会转变成调用用户定义的拦截方法(interceptor)。3:使用代理模...

2017-04-26 13:26:39 3289

原创 SpringMVC小结

JSON数据格式在HTML页面中、接口调用中使用比较多,它的格式比较简单,解析相对方便,所以要进行JSON交互。SpringMVC进行JSON交互:1:客户端请求发送的数据可分为两种:JSON字符串和key/value数据。 2:JSON字符串需要指定contentType=application/json,key/value数据contentType=application/x-

2017-04-25 21:57:17 230

原创 Hibernate-小结

1:设计表时,建议采用注解自动创建表,一对一:在一方的属性前加注解,如Deal表(主键executionID)中和DealFeeDetail表(主键executionID)一对一在Deal中这样  @OneToOne(cascade = CascadeType.All)@JoinClolumn(name = ”executionID")@JsonField(name = "Fe

2017-03-17 21:51:01 310

原创 java中的深拷贝和浅拷贝

对象拷贝(Object Copy)就是将一个对象的属性拷贝到另一个有着相同类类型的对象中去。在程序中拷贝对象是很常见的,主要是为了在新的上下文环境中复用对象的部分或全部数据。Java中有三种类型的对象拷贝:浅拷贝(Shallow Copy)、深拷贝(Deep Copy)、延迟拷贝(Lazy Copy)。1:浅拷贝是按位拷贝对象,它会创建一个新对象,这个对象有着原始对象属性值的一份精

2017-02-26 21:03:45 399

原创 SecureCRT使用小结(1)

使用CRT查看日志1:tail -20f 文件名 回车显示该文件的内容,20是一次显示的行数,可以随便设置。2:cd shbin跳转到执行文件列表,ll或者ls显示该目录下的所有文件信息, sh comm1start 回车表示执行comm1start服务.3:上传到服务器前,要停服务并备份文件。cd ..返回上级目录bin启动脚本etc目录放配置文件stdout

2016-07-04 20:42:06 1150

原创 Java finally语句到底是在return之前还是之后执行?

网上有很多人探讨Java中异常捕获机制try...catch...finally块中的finally语句是不是一定会被执行?很多人都说不是,当然他们的回答是正确的,经过我试验,至少有两种情况下finally语句是不会被执行的:(1)try语句没有被执行到,如在try语句之前就返回了,这样finally语句就不会执行,这也说明了finally语句被执行的必要而非充分条件是:相应的try语句一

2016-06-21 21:22:07 2132 2

转载 Java多线程学习

林炳文Evankaka原创作品。出处http://blog.csdn.net/evankaka目录(?)[-]一扩展javalangThread类二实现javalangRunnable接口三Thread和Runnable的区别四线程状态转换五线程调度六常用函数说明使用方式为什么要用join方法七常见线程名词解释八线程同步九线程数据传递     本文主要讲

2016-04-24 09:44:20 322

原创 Java中super的几种用法并与this的区别

子类的构造函数如果要引用super的话,必须把super放在函数的首位. class Base { Base() { System.out.println(“Base”); } }public class Checket extends Base { Checket() { super();//调用父类的构造方法,一定要放在方法的首个语句

2016-04-16 14:07:10 391

nginx1.14.0压缩包

nginx1.14.0版本的压缩包,window下可以直接解压配置使用。

2018-09-11

elasticsearch中文分词插件

elasticsearch中文分词插件,解压至ES安装目录,如D:\works\elasticsearch-6.4.0\plugins\ik,注意,不用修改elasticsearch.yml,就可以直接使用了。

2018-09-11

redis-2.8.12-windows-x4.zip

redis-2.8.12的安装包,适用于windows64位系统

2016-12-18

windows下64位的redis-2.8.12

2016-12-04

64位操作系统上PLSQL连Oracle数据库插件

64位操作系统上PLSQL连Oracle数据库插件

2015-12-01

jdk-6u45-windows-x64.exe

该版本的jdk是jdk1.6最后一个版本,是64位的。

2015-11-12

gson的jar包

google开发的开源工具Gson。Gson这个Java类库可以把Java对象转换成JSON,也可以把JSON字符串转换成一个相等的Java对象。Gson支持任意复杂Java对象包括没有源代码的对象。

2015-11-12

空空如也

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

TA关注的人

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