`
文章列表
要从现在的公司离职了。记录一下自己针对我们的自己需求所做的搜索。 基于Spring data,ES 2.X版本的 package com.xxxx.cms.elasticsearch.domain; import java.util.Calendar; import org.apache.commons.lang3.StringUtils; import org.jsoup.Jsoup; import org.springframework.data.annotation.Id; import org.springframework.data.elasticsearch. ...
去年因为自身心理原因回家修养.家里比深圳冷许多,所以一直都在运动锻炼身体,荒废了自己的学习. 现在天气暖和了,要天天向上了.下面是自己写的一些小例子,也可以说是作<CSAPP>的一些作业所随便写的一些东西. 1.自定义的 ...
import java.time.Duration; import java.time.LocalDateTime; import java.util.concurrent.CountDownLatch; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.Semaphore; import java.util.concurrent.atomic.AtomicInteger; public class C ...
import com.xxxx.util.constant.PropertyNameStyle; import com.google.common.collect.Lists; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.MapUtils; import org.apache.commons.lang3.StringUtils; import org.springfra ...
既然学了netty自然需要实验下,自然自己就简单实验下。 这个是简版的,所以比较粗糙。 package study.netty; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import io.netty.bootstrap.ServerBootstrap; import io.netty.channel.Channel; import io.netty.channel.ChannelFuture; import io.netty.channel.ChannelInitializer; impor ...
最近想学netty,但平常工作中NIO用的比较少,所以最近就复习了下NIO。自己写了个基于NIO的echo例子,代码挺简单的。 echo 服务端代码 package study.nio.echo; import java.io.IOException; import java.net.InetSocketAddress; import java.nio.ByteBuffer; import java.nio.channels.SelectionKey; import java.nio.channels.Selector; import java.nio.channels. ...
昨天某知名互联网企业对我做了一个电话面试。然后叫我在他给的一个网址上面做一个编程题。 题目是这样的。 共计9个苹果,有2只猴子,一个猴子每次拿2个苹果,一个猴子每次拿3个苹果,如果剩余的苹果不够猴子每次拿的数量,则2只猴子停止拿苹果,请用java多线程模拟上面的描述 描述是挺简单的。但当在电话面试的情况下,又是一个比较知名公司的限时下。我那小心肝是紧张的,再加上是在一个非IDE环境下写代码很多API记不详细,所以导致我写出了下面的这个诡异的版本。真是丢脸呀。 //monkey2 是类似 monkey1的。当时紧张还没写完然后自己的网络突然异常了,然后就断联了。注定是抓不 ...
首先定义个工具interface,基于Java 8的实现. 主要利用了Redis Cluster的hashTags特性。详细细节可前往https://redis.io/topics/cluster-spec的Keys hash tags章节了解。 个人建议还是看完这个规范的前半部分才好理解,为什么会出现hash tags这个东西。 package com.xxxx.cms.common.support; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util. ...
import com.xxx.support.config.AbstractAppInitializer; import com.xxx.support.config.BaseRootConfig; public class AppInitializer extends AbstractAppInitializer { @Override protected Class<?>[] getRootConfigClasses() { return new Class[] { BaseRootConfig.class, RootConfig.class }; ...
今天得闲就自己搭了个ELK示例,过程挺简单的。   Elastic Search,logstash, kibana再这个地址https://www.elastic.co/cn/products都可以下载。话不多说。 首先安装ES。解压下载包到置顶目录启动脚本再bin目录下的elasticsearch,参数配置在config目录下。主要配置文件为elasticsearch.yml。主要可配置端口和discovery.zen.minimum_master_nodes这个选举的最少节点(防止脑裂问题"split brain")。 之后安装logstash。解压压缩包后再解压目录 ...
spring的基于java的项目配置示例。 import org.springframework.web.context.AbstractContextLoaderInitializer; import org.springframework.web.context.WebApplicationContext; import org.springframework.web.context.support.AnnotationConfigWebApplicationContext; public class CmsAppInitializer extends AbstractCo ...
import java.io.IOException; import java.io.InterruptedIOException; import java.net.UnknownHostException; import java.security.KeyManagementException; import java.security.NoSuchAlgorithmException; import java.security.cert.CertificateException; import java.security.cert.X509Certificate; impo ...
基于spring data的Elastic Search的配置示例 import java.net.InetAddress; import java.net.UnknownHostException; import java.util.ArrayList; import org.apache.commons.lang3.tuple.ImmutablePair; import org.apache.commons.lang3.tuple.Pair; import org.elasticsearch.client.Client; import org.elasticsearc ...
由于redis的集群 redis cluster不支持keys这样的多key操作(具体原因由于sharding 后,不同的key属于不同的slot,难以支持原子操作)。所以如果一个对外需要对缓存做失效处理时比较棘手。所以本类提供工具方法再redis cluster查找按照hashTags处理的keys和一般的keys。基于jedis cluster实现。 有优化空间,现在懒得改了 import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Set; impor ...
自己封装的爬虫基础类。 public interface TaskBaseInfo { /** * 返回任务的名称. * <br/> * 一般用作日志输出 * @return */ String taskName(); /** * 返回任务的唯一code * @return 在整个爬虫项目中不重复的Code值 */ String taskCode(); } import java.io.BufferedReader; import java.io.File; import java. ...
Global site tag (gtag.js) - Google Analytics