- 博客(69)
- 资源 (8)
- 问答 (1)
- 收藏
- 关注
原创 模拟jvm内存溢出并使用mat分析原因
由于我们在生产环境中不能随意打印log日志,也不能随意更新代码重启生产环境的服务,所以当生产环境发生内存溢出时我们应该采取什么措施来找出问题所在尼?一、模拟内存溢出@RestControllerpublic class MemoryController { private List<User> userList = new ArrayList<User&g...
2019-06-14 10:57:38
544
原创 ConcurrentHashmap size 1.8方法实现
1.8中使用一个volatile类型的变量baseCount记录元素的个数,当插入新数据或则删除数据时,会通过addCount()方法更新baseCount,实现如下:if ((as = counterCells) != null || !U.compareAndSwapLong(this, BASECOUNT, b = baseCount, s = b + x)) { Co...
2019-06-14 10:57:26
3552
2
原创 Springboot启动加载初始化数据
场景:我们将一些系统配置参数放在数据库表中,方便随时更改。为了避免频繁读取数据库,我们仅在项目启动时加载一次参数,将这些参数赋值给静态变量。常量类:/** * @Author: BillYu * @Description: 常量 * @Date: Created in 下午3:56 2018/4/28. */public final class Constants { ...
2019-06-12 19:57:15
9967
4
原创 springboot临时文件存储目录配置
场景:上传文件功能报错,然后排查日志。报错日志:The temporary upload location [/tmp/tomcat.7957874575370093230.8088/work/Tomcat/localhost/ROOT] is not valid原因:在linux系统中,springboot应用服务再启动(java -jar 命令启动服务)的时候,会在操作系统...
2019-06-12 19:56:48
26726
原创 idea使用Cloud Toolkit自动上传打包部署启动
对于个人开发者来说,频繁打包、上传jar包到服务器、启动服务是一件很麻烦的使用,而且由于资源有限又不能部署jenkins服务器,所以打包部署很是费时费力。现在我们可以使用Cloud Toolkit来自动化完成这一件事情。环境mac osidea ultimate2018.3安装idea搜索插件 Cloud Toolkit如果能够搜索到,安装即可。如果搜索不到,可以下载离线包...
2019-06-12 19:56:18
2940
原创 演示死锁并排查问题
死锁:由于资源竞争或通信问题造成的一个阻塞现象,若无外力作用无法推进下去.当线程互相持有对方所需要的资源时,会互相等待对方释放资源,如果线程都不主动释放所占有的资源,将产生死锁。条件1 < 竞争资源 < 抢占资源的线程数如果竞争资源为1时,不存在死锁问题,因为不是不是A线程占有就是B线程占有,不会相互等待对方释放代码演示import com.enjoy.dem...
2019-06-12 19:55:21
240
原创 线程池的正确使用
什么是线程池?为什么要用线程池?1、降低资源的消耗。降低线程创建和销毁的资源消耗;2、提高响应速度:线程的创建时间为T1,执行时间T2,销毁时间T3,免去T1和T3的时间3、提高线程的可管理性。实现一个我们自己的线程池1、线程必须在池子已经创建好了,并且可以保持住,要有容器保存多个线程;2、线程还要能够接受外部的任务,运行这个任务。容器保持这个来不及运行的任务.MyThrea...
2019-06-12 19:54:54
11205
原创 spring bean的生命周期
摘录来自: [美] Craig Walls. “Spring实战(第4版)”。 iBooks.在传统的Java应用中,bean的生命周期很简单。使用Java关键字new进行bean实例化,然后该bean就可以使用了。一旦该bean不再被使用,则由Java自动进行垃圾回收。相比之下,Spring容器中的bean的生命周期就显得相对复杂多了。正确理解Spring bean的生命周期非常重要,...
2019-06-12 19:54:03
243
原创 springmvc的两种常用异步处理方法
1.DeferredResult一旦 在Servlet容器中启用了异步请求处理功能,控制器方法就可以包装任何支持的控制器方法返回值DeferredResult,如下例所示:@GetMapping("/quotes")@ResponseBodypublic DeferredResult<String> quotes() { DeferredResult<Str...
2019-06-12 19:52:43
1905
原创 Centos7 ssh配置RSA证书登录
修改sshd配置文件vim /etc/ssh/sshd_config增加以下四项StrictModes noRSAAuthentication yesPubkeyAuthentication yesAuthorizedKeysFile .ssh/authorized_keys在root目录下创建.ssh文件夹[root@localhost /]# mkdir .ssh...
2019-06-12 19:52:09
2110
原创 zuul跨域配置报错分析
ajax请求报错:The 'Access-Control-Allow-Origin' header contains multiple values ',', but ..场景:通过chrome network查看response header中存在多项重复内容Access-Control-Allow-Credentials: true,trueAccess-Control-...
2019-06-12 19:51:15
746
原创 Hbase单机部署&phoenix引入
Hbase搭建单机版本搭建Hbase可以无需使用hadoop,直接使用文件系统存储(本文方式)。也可以使用hadoop hdfs进行存储。安装环境:centos7软件版本:jdk1.8.0 hbase2.0.0 phoenix5.0下载hbase-2.0.0-bin.tar.gz解压:tar -xvf hbase-2.0.0-bin.tar.gz配置:vi hbase-2.0....
2019-06-12 19:50:30
1277
原创 docker搭建redis
搜索docker hub上的redis镜像docker search redis安装指定标签的redisdocker pull redis:3.2 查看机器中的镜像docker images 创建data目录持久化保存redis数据mkdir -p ~/redis ~/redis/data在~/redis目录下 启动容器docker run -p 6...
2018-08-20 10:08:18
396
原创 微服务项目开发规范
1.项目命名:xx-xx/xx-xx-xx项目名-模块名/项目名-模块名-二级模块名大小写:全部小写,单词间使用-连接2项目划分mes-base 共有基础模块,抽出共用实体,共用工具类等mes-discovery-eureka 服务注册中心mes-api-gateway 网关mes-config 配置中心mes-user 用户模块mes-equipme...
2018-08-01 16:44:37
8565
原创 kafka环境搭建+spring-kafka-demo测试
kafka环境搭建1-单机kafka是基于scala语言开发,所以需要java运行环境,下载前请先确认是否已经安装并配置java环境下载安装下载 最新版的kafka软件 wget http://mirrors.shu.edu.cn/apache/kafka/1.1.0/kafka_2.12-1.1.0.tgz解压缩tar -xzf kafka_2.11-0.9.0.0.tgz...
2018-08-01 16:42:30
5179
1
原创 springboot mybatis phoenix
环境:hadoop 3.0.2 hbase2.0 phoenix5.0下载即可,项目具体细节说明详见readme.txt项目demo如下,下载即可: spring-boot-mybatis-phoenixhttps://download.youkuaiyun.com/download/programmeryu/10577413 ...
2018-08-01 16:40:08
3341
原创 HBase引入phoenix
前提:已经部署好的单机hbase2.01.下载解压phoenix压缩包(注意对应hbase版本) $ wget http://mirrors.tuna.tsinghua.edu.cn/apache/phoenix/apache-phoenix-5.0.0-HBase-2.0/bin/apache-phoenix-5.0.0-HBase-2.0-bin.tar.gz$ tar -z...
2018-08-01 16:34:00
3019
原创 jenkins搭建与配置
1安装java环境2下载jenkins.war3java -jar jenkins.war (也可放在tomcat里面运行)4浏览器打开 http://localhost:80805填入密码,确定,发现一直卡locading...界面。vi /root/.Jenkins/updates/default.json 或者c:/用户/Adminstrator/.Jenkins...
2018-08-01 16:29:46
598
原创 HBase2.0单机搭建
一、安装jdk下载jdk rpm安装包rpm -ivh xx.rpm查看JAVA_HOME export JAVA_HOME=/usr/java/jdk1.8.0_171-amd64/localhost 二、安装hadoophadoop安装 https://www.jianshu.com/p/68087004baa0 [roo...
2018-08-01 16:28:36
2811
原创 centos使用nexus搭建私有maven仓库
本文只做个人笔记备忘,描述不够详细,见谅1.配置java环境 ,配置maven环境详见http://blog.youkuaiyun.com/programmeryu/article/details/778814372.下载解压nexuswget https://sonatype-download.global.ssl.fastly.net/nexus/3/nexus-3
2017-09-07 18:09:00
4439
原创 centos安装maven环境
1,下载cd /root/mavenwget http://mirrors.hust.edu.cn/apache/maven/maven-3/3.5.0/binaries/apache-maven-3.5.0-bin.tar.gz2.解压tar -zxvf apache-maven-3.5.0-bin.tar.gz3.配置maven环境vi /etc/pro
2017-09-07 14:46:51
2304
原创 接口获取图片文件流的缓存问题
最近在做新闻管理的后台,发现图片请求的非常慢,加载过的图片依然重新加载。这里我是用controller返回图片的,所以每次请求图片的时候会进入controller中然后返回图片,每次返回的responsebody size都会略大于图片大小。但是在请求tomcat静态资源时,首次加载时和上面情况类似,但是下次刷新responsebody就只有几十b的大小。一开始没有清空缓存,以为tom
2017-08-14 16:04:40
8192
原创 solr6.6.0实时更新mysql数据
mac环境从官网下载solr6.6.0solr-6.6.0/bin下执行 ./solr starthttp://localhost:8983/查看默认example的demo下面创建我们自己的core在solr-6.6.0/server/solr/下新建文件夹search_node,将solr-6.6.0/example/example-DIH/solr/solr下
2017-08-11 17:33:19
4126
原创 服务器磁盘满了,mysql写入数据报错table xx is full
在网上首先查到的是说mysql tmp文件夹容量太小了df -h 查询磁盘容量情况发现40G被已经全部占用进入项目运行目录du -sh *发现nohup.out文件占用了36G ,由于爬虫程序一直运行,产生了大量日志删除nohup.out文件夹rm -rf nohup.outnohup java -jar xx.jar 主
2017-08-06 13:51:39
2865
原创 使用nginx+tomcate做二级域名
使用场景:现在有一个个人主页 和一个产品,只有一个台阿里云服务器和一个域名,所以想把产品的地址挂在二级域名上,但是域名解析必须要用80端口, 环境:centos7 tomcat8 nginx1.6.2tomcate 配置8080端口webapps 下有两个项目:ROOT blog4u安装nginx参考:菜鸟教程http://www.runoob.com/li
2017-06-21 21:54:57
2190
原创 搭建完全分布式redis集群
这里用三台服务器搭建一个完全分布式redis集群,用来做爬虫请求url的共享队列.每台服务器创建两个节点(一个master 一个slave),当mater挂了的时候slave会顶上去,这样就构成了一个三主三从的集群。三台服务器:host1 host2 host36379端口为主节点,6380为辅助节点1.下载下载地址:http://download.redis.io/rel
2017-06-16 11:51:28
3709
原创 centos常用命令
1.ssh登录到服务器ssh -l root 106.14.46.110后面是外网ip2.下载wget http://download.redis.io/redis-stable.tar.gz3解压tar xvzf redis-stable.tar.gz4复制本地服务器复制:cp -r redis-6379 redis-6
2017-06-16 11:01:57
713
原创 使用G2做出丰富多彩的词云
1.网上的词云demo大多千篇一律,图形没办法自定义,所以并不能满足客户的要求2.经过一番百度谷歌终于找到G2,参照官网的例子https://antv.alipay.com/g2/doc/tutorial/advance/draw-word-cloud.html3.G2可以根据给定图形生成词云,所以就能够生成自己想要的词云,注意给定的模板图片一定要轮廓分明,最好是外围都是白色话
2017-06-02 15:01:30
7430
1
原创 solr6使用ansj做中文分词
solr中有自带的中文分词,不过它将中文按一个一个字进行分词,这就导致搜索出的结果让人不满这里以text_general字段为例,managed-schema中的配置是这样写的: 生成索引和查询使用的都
2017-06-01 10:55:23
3776
原创 springboot中使用swagger2管理测试api
1.在pom中引入swagger2 io.springfox springfox-swagger2 2.2.2 io.springfox springfox-swagger-ui 2.2.2 2.新建swagger2配置类package best.yuwb.config;im
2017-05-22 14:26:14
2143
原创 solr add documents
public boolean importDocs(long projectId){ int userId = collectProjectService.getCollectProject(projectId).getCreateUser(); String url="http://localhost:8080/solr/search_node";
2017-04-05 15:43:49
4499
原创 爬虫分析与chrome
1.爬虫是获取数据的一种方式,通常方法是请求目标url获取html页面,使用xpath或者cssselector等抽取html标签中的数据。但是面对很多反扒的网站,这个种方法会失效。常用反扒方法:1.js动态加载数据2.每次请求动态将sessionid写入cookie,再次请求携带cookie中的参数3.记录请求ip地址,限制请求ip请求频率如何破解:1.关于js加载数据:
2017-03-25 15:25:30
4300
原创 saxon-he报错
1.最近在做java爬虫,使用的是webmagic框架,为了使用xpath2.0的语法引入了webmagic-saxon的依赖,导致出现报错: java.lang.RuntimeException: XPathFactory#newInstance() failed to.....Illegal config2.找到报错的代码是webmagic-saxon引
2017-03-23 15:54:04
3245
原创 thuctc文本分类系统改写和使用
1.官网介绍:THUCTC(THU Chinese Text Classification)是由清华大学自然语言处理实验室推出的中文文本分类工具包,能够自动高效地实现用户自定义的文本分类语料的训练、评测、分类功能。文本文类通常包括特征选取、特征降维、分类模型学习三个步骤。如何选取合适的文本特征并进行降维,是中文文本分类的挑战性问题。我组根据多年在中文文本分类的研究经验,在THUCTC中选取二字
2017-02-27 11:59:44
8399
1
原创 google-word2vec学习使用
1.下载google-word2vec的源码2.在windows系统中安装cygwin工具3.寻找训练语料本人使用搜狗全网新闻数据:http://www.sogou.com/labs/resource/ca.php下载完整版,完整版(711MB)4.处理语料文件新闻语料格式说明:数据格式为页面URL页面ID页面标题页面内容
2017-02-27 11:20:30
2826
原创 springboot读取resource下的文本文件
文本所在位置:获取ZH.txt:File file = ResourceUtils.getFile("classpath:dataFile/ZH.txt");
2017-02-27 10:42:19
54838
6
原创 对XX网站的数据采集
记录一下春季期间做的一个小任务:之前使用webmagic框架做爬虫,对于这次的网站是使用js加载列表页的,不能再像之前那样获取下一页的链接进行爬虫了。于是只能针对这个网站进行DIY了采集网站:中国XXXX网搜索条件:非法吸收公共存款关键技术:httpclient(发送请求) jsoup(解析html文件) tesseract(验证码破解) 使用参
2017-02-07 17:24:53
8349
原创 angularjs checkbox双向绑定
1.首先有这样一个对象,这个对象我不知道里面具体的属性和属性值,使用checkbox如何实现双向绑定?{"title":true,"tel":false,"price":true,"info":true}1>html 分词字段: 所有字段
2017-01-17 11:43:08
7569
原创 使用poi重复读取excel时报错:stream closed
1.问题场景public ExcelUtil(InputStream is) { super(); try { if (!is.markSupported()) { is = new PushbackInputStream(is, 8); } if(POIFSFi
2017-01-13 11:11:42
7851
原创 mybatis generator使用
1.安装eclipse插件 help ->eclipse marketplace搜索mybatis generator并安装2.引入配置文件选择项目下的文件夹,右击new other ->mybatis generator configuration file生成配置文件3.配置文件更改官方配置文档:http://generator.sturgeon.mop
2016-12-20 18:07:02
501
goole-word-vec 语料处理
2017-02-27
goole-word-vec语料处理
2017-02-27
appstore开发
2017-02-20
mybatis使用insert的时候出现错误
2015-12-28
TA创建的收藏夹 TA关注的收藏夹
TA关注的人