自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

学而不厌 诲人不倦

为进步留下脚印

  • 博客(56)
  • 收藏
  • 关注

转载 Java进程CPU占用100% 排查

简介上周碰到一个Java进程占用CPU较高的例子, 通过查询资料查出问题所在并对几个linux命令,以及命令之间的配合使用更加了解。问题描述一个基于Springboot的Web服务启动之后CPU占比一直居高不下,对于我们这个服务在启动时由于需要进行数据加载,CPU占比肯定会较高,但是数据加载完成后CPU占比仍然没有掉下来,另外查看该服务没有任何调用,就让人比较疑惑。问题查看通过使用lin...

2019-09-08 21:24:45 1152

原创 记一次Bug修复流程:Tornado异步处理

问题描述我们基于tornado搭建了一个Web服务,部署了多台服务器,经由nginx转发请求,近期频繁收到nginx的499日志报警。BUG修复流程nginx 499状态码nginx的499代码是指客户端调用服务端的服务, 但是服务端未能在限制的时间段内给出回应,于是客户端主动断开请求,nginx打印499日志。增加服务部署了解了499的问题之后,并确认nginx的配置没有问题,考虑到...

2019-05-12 19:06:10 1177 1

原创 Java基础知识整理

简介《Java编程思想-Thinking in Java》第四版 读书笔记Java基础知识整理

2019-05-04 15:59:05 420

原创 JVM学习笔记

简介《深入理解java虚拟机 》学习笔记整理JVM 知识点整理

2019-05-04 15:57:07 296

原创 设计模式整理

简介看完《大话设计模式》一书将学习笔记整理。设计模式大话设计模式

2019-05-04 15:54:29 197

原创 Spring访问MongoDB

简介通过Spring我们可以很方便的使用非关系型数据库-MongoDB,包括增、删、查、改等操作。为实现整个操作,我们首先在Windows环境上搭建MongoDB,具体安装过程可参考Windows环境安装MongoDB 。host: localhostport:27017访问MongoDB通过Spring访问搭建好的mongodb,以Repository为例,主要有几个步骤加载依赖...

2018-12-31 16:09:49 397 3

原创 Python多进程 multiprocessing 笔记

简介Python多进程主要集中在multiprocessing模块中实现相关功能。如进程的创建(Process)Pool的使用(Pool)多个进程之间的数据交换(Queue, Pipes)多个进程之间数据共享(Value, Array, Manager)多个进程之间的同步操作(Lock)…实现样例在Windows系统实现多进程样例时,if __name__ == "__ma...

2018-12-28 22:23:14 260

原创 Spring使用Thymeleaf实现HTML界面

简介​ 本文主要介绍SpringMVC使用Thymeleaf进行简单的HTML界面设计,如Table,表单,下拉框等。利用Thymeleaf可以非常方便的在HTML中使用Java中class和方法,如字符串,List,Map等。Thymeleaf​ Thymeleaf是一个服务器端的Java模板引擎用于Web和独立环境,能够处理HTML,XML,JavaScript,CSS和纯文本,目标是...

2018-12-26 21:31:22 10292

原创 SpringBoot搭建的Web服务文本文件和gzip下载

简介本文主要介绍基于SpringBoot搭建的Web服务,对于文本文件(txt)和文本文件压缩包(gzip)的下载操作。下载操作由于我们主要介绍文本文件的下载操作,将重点集中在Controller中方法的实现,对于SpringBoot搭建Web服务就不再介绍。基于SpringBoot搭建Web服务可参考另外一篇博文:基于SpringBoot搭建Web服务下载操作包含3个类型将字符串写...

2018-12-20 22:00:08 735

转载 Spring Boot Web Server设置tomcat cache size

问题描述基于SpringBoot搭建了web服务,在服务器端启动时tomcat显示[WARN]信息,提示由于cache不足导致resource无法加载,需要增加cache的最大值。WARN如下:[localhost-startStop-1] [Cache] [179] [Unable to add the resource at [/WEB-INF/lib/spring-retry-1.1....

2018-12-07 14:20:49 3093

原创 Docker常用命令

​ 本周使用Docker部署了近期开发的项目,在部署过程中熟悉了一下Docker常用命令,现整理成文。Image操作从repository获取image # docker pull [OPTION] NAME[:TAG|@DIGEST] [flags] docker pull openjdk:8查看当前image# docker imagesdocker images ...

2018-10-26 15:31:01 203

原创 读书笔记-创建型设计模式

《大话设计模式》中将23种常用的设计模式分为3种类型,创建型、结构型和行为型。设计模式的前提是面向对象编程,目的是实现类的高内聚,低耦合,依据是设计模式的几条原则。本文主要介绍创建型设计模式,主要有以下几类:抽象工厂模式建造者模式工厂方法模式原型模式单例模式创建型模式隐藏了类的实例创建的细节, 整个系统面对是抽象类定义的接口,无须关注类实例的创建、组合等。抽象工厂(Ab...

2018-09-09 22:27:36 204

原创 读书笔记-设计模式原则

这段时间通过《大话设计模式》 这本书对面向对象设计,设计模式有了基本的认识, 尤其是书中的案例由浅入深,让设计模式更加易于理解。为此整理了读书笔记,以增加对书中内容了理解。本文主要介绍书中提到的设计模式原则,设计模式有以下几个原则:单一职责原则封闭-开放原则依赖倒转原则里氏代换原则迪米特法则合成/聚合复用原则单一职责原则单一职责原则:一个类应该仅有一个引起它变化的...

2018-09-09 21:07:29 238

原创 ArrayList的subList方法属于浅拷贝

介绍ArrayList的subList(int fromIndex, int toIndex)方法属于浅拷贝, 用subList方法获取的List只是原List的一个View。不同于String的substring方法,因为String是final类型, substring是创建一个新的String对象。浅拷贝是指拷贝引用,不拷贝实际的对象,不创建新对象。如果修改拷贝出来的对象,原来的...

2018-09-07 20:36:31 1731

原创 利用jackson实现Json序列化和反序列化

简介在日常开发中,经常利用JSON作为数据传输的格式,为此JSON序列化(将对象转换为JSON字符串)和反序列化(将JSON字符串转换指定的数据类型)经常用到。本文主要介绍利用fasterxml.jackson实现JSON序列化和反序列化,并针对碰到到Unrecognized field的问题进行解决。Gradle依赖利用fasterxml.jackson依赖jackson-c...

2018-09-06 23:44:09 7597

原创 Spring application.properties配置文件中变量之间引用

问题利用application.properties配置文件定义变量,在编写代码时可利用Spring占位符可以很方面的使用, 如@Value注解。但是在application.properties配置文件内部, 变量之间如何引用呢?考虑一种场景: 我们定义多个日志文件的路径,除了日志名称不同,其他完全相同。 如下所示:# application.properties文件# 日志...

2018-09-05 17:20:56 33721 10

原创 SpringBoot Web项目编译错误: Unable to find a single main class

问题利用SpringBoot开发Web应用,利用gradle进行编译,但是在编译时报错* What went Wrong:Execution failed for task ':core:findMainClass'.> Unable to find a single main class from the following candidates [....]错误原因是...

2018-09-05 17:03:04 2234

原创 Intellij IDEA Diagrams找不到

问题利用spring integration配置了并行调用,想利用Intellij IDEA的Diagrams功能生成可视化效果图,但是怎么也找不到Diagrams这个功能。查询了很多解决方法,如添加插件,Settings中设置,利用快捷键ctrl + alt + u等,均没有解决我的问题。解决最后在Intellij IDEA的官方网站上找到了答案:​ IntelliJ I...

2018-09-01 16:27:07 50038 21

原创 若干个集合中元素的组合问题

题目给定若干个字符串组成的集合,获取集合之间元素全部组合。例: 集合1: [“a”, “b”]集合2: [“A”, “B”]全部组合: [“aA”, “aB”, “bA”, “bB”]解题思路利用数学上的笛卡尔积的思想实现两个集合元素的组合。对于若干个集合,依次处理当前集合和下一个集合,将获得的结果作为新集合,再与下下个集合进行组合。为此我们实现2个函数:...

2018-09-01 15:12:46 1687

原创 IntelliJ IDEA File Header

介绍利用IntelliJ IDEA构造Java文件的头信息(File Header),如作者,时间,版本,Class的描述信息等。步骤找到配置File Header的位置,依据File -> Settings -> Editor -> File and Code Templates如下图所示对应Includes中的File Header构造...

2018-09-01 14:06:23 17553

原创 Java 正则表达式

介绍前段时间使用Java的正则表达式做一些字符串匹配的任务,现将学到的正则表达式的知识整理成文。Java中Spring.class涉及到正则表达式。如Spring.split(), matches(),replaceAll()等方法。Java中更一般使用正则表达式的方式是利用Pattern.class和Matcher.class,所在package为java.util.regexJ...

2018-08-31 23:08:12 35835 4

原创 Spring依赖注入(4)

介绍文本主要介绍前文Spring依赖注入(2)的遗留问题类之外属性的注入利用properties文件实现具体值注入类属性注入对于bean注入, 除了基本的类的构造之外, 更多的情况是还有类属性需要注入, 如成员变量。这些属性可以是具体的值, 也可以是其他的bean。针对JavaConf和XML 2种情况加以说明。JavaConf配置JavaConf本身是类的定义,...

2018-08-31 17:15:26 164

原创 Spring依赖注入(3)

介绍本文主要介绍前文Spring依赖注入(2)的其余遗留问题自动装配Bean歧义问题类之外属性的注入利用properties文件实现具体值注入等等自动装配Bean歧义问题Spring自动装配bean时, 必须确保bean的唯一、无歧义性, 否则Spring自动装配时无法确定具体应该装配的bean, 报出bean不唯一异常, org.springframework.bea...

2018-08-31 17:07:16 188

原创 Linux MariaDB管理MySQL启动、停止、查看状态

问题今天需要重启MySQL,不过找了没找好久也没有到mysql.service文件,最后服务器是利用MariaDB来管理MySQL。解决方法启动systemctl start mariadb.service停止systemctl stop mariadb.service查看状态systemctl status mariadb.serviceMySQL配置...

2018-08-31 16:28:49 24514 1

原创 linux 根据PID获取进程启动位置

问题在Linux系统下, 通过进程的ID号, 找到进程的启动位置。应用场景: 想重启某个占用资源较多的进程, 但是找不到启动位置。解决使用Linux命令 pwdx# 22521为进程的PID, 通过ps命令可以查看$ pwdx 22521pwdx显示进程的当前工作路径...

2018-08-30 20:53:40 10865

翻译 Linux date命令

名称date打印或设置系统日期和时间概要date [OPTION] … [+FORMAT]date [-u|–utc|–universal] [MMDDhhmm[[CC]YY][.ss]]描述根据给定格式展示当前时间,或设置系统日期OPTION-d, –date=STRING根据给定的STRING展示时间,而不是当前时间-f, –file=D...

2018-08-30 20:44:08 2477

原创 libc.so.6 导致Linux系统崩溃

问题由于缺少对libc.so的认识,以为跟普通的lib包类似,直接把高版本的so软连过去就可以满足安装和升级,造成错误操作直接导致Linux系统崩溃。错误操作:在root用户下将/usr/lib/libc.so.6的覆盖,导致系统瘫痪,所有用户均被强制退出。如下示例:# root 用户cp libc-2.12.1.so /usr/lib/libc.so.6分析后来...

2018-08-23 22:39:48 18776 3

原创 Java Server应用加载文件显示乱码

问题在Linux环境下,Java Server应用启动时加载文件显示乱码,文件内容包含中文。当然文件乱码的原因可能有多种情况,如linux系统的编码设置不能正确识别中文等。我们遇到的问题可以通过添加Java启动参数的方式解决。解决方法java启动参数,设置文件编码类型为utf-8-Dfile.encoding=utf-8示例如下:java -server [ot...

2018-08-23 11:46:55 213

原创 Java JVM启动参数

摘要已经使用了一段时间的Java,期间也了解和用过一些JVM(Java Virtual Machine)参数,但是没有仔细去整理过每个参数代表的意义,为此整理成文。Java使用方式java [options] classname [args]java [options] -jar filename [args]options: 命令行选项,空格分隔classname: 启...

2018-08-22 22:51:46 25103 2

原创 Python 绝对路径引用

问题:Python开发时经常出现找不到import对象的问题,ImportError: No module named xxx,一般的原因不外乎未安装对应依赖引用对象的文件夹下缺失 __init__.py文件由于通过相对路径的加载,导致找不到object解决方法针对原因1和2通过安装依赖和添加__init__.py文件即可。原因3我们的解决方法是把相对路径的import...

2018-08-21 13:35:53 10243

原创 Java List, Map和自定义Class的排序

摘要本文主要介绍利用Collections.sort方法对list, map和自定义的class进行排序。基本方法方法1利用public static <T extends Comparable<? super T>> void sort(List<T> list)排序方法,则List中的元素对应的class需要implements Com...

2018-08-16 23:23:27 1427

原创 Intellij IDEA class搜索工具搜索不到项目中的class

问题使用Intellij IDEA 的class搜索工具搜索不到项目中的类,但是类就在构建的项目中。关闭Intellij IDEA再打开也不起作用。解决File -> Invalidate Caches / Restart -> Invalidate and Restart ...

2018-08-16 15:57:42 8827 4

翻译 SLF4J warning或error信息含义以及解决方法

介绍结合译文https://www.slf4j.org/codes.html和目前使用slf4j遇到的问题整理成文。译文来源 译文来源 https://www.slf4j.org/codes.htmlFailed to load class org.slf4j.impl.StaticLoggerBinder原因和含义当org.slf4j.impl.StaticLog...

2018-08-15 21:26:55 2544

原创 基于Tornado搭建Web服务

简介Tornado是一个Python web框架和异步网络库,利用非阻塞网络IO,文档中声明可支持千万级连接,处理长连接,WebSockets的理想选择。使用Tornado搭建Web服务也非常简单和方便,接下来我们实现一个Web服务搭建。Web服务搭建基于Tornado搭建Web服务,前提先安装tornado,下载链接 https://pypi.python.org/pypi/...

2018-08-14 22:55:47 4117

原创 apache HttpClient学习笔记

介绍Python提供了urllib和urllib2两个模块可以很方便的实现http服务的调用,无论是post请求还是get请求。目前使用Java开发时,apache提供的httpclient也提供了类似的功能,现整理成文。一个简单的Http服务调用,需要具备如下对象:一个HttpClient对象:用来执行request一个HttpRequest对象:添加url,请求参数,heade...

2018-08-13 22:57:56 2822

原创 python sorted方法

介绍sorted方法用来进行排序操作,如数字,字符串组成的list,根据dict类型的key或者value排序,现将平时使用的sorted的方法和数据类型进行整理。sorted(iterable[, cmp[, key[, reverse]]]) """ 对一个iterable对象排序,返回一个排序之后的list @param iterable 可迭代遍历对象...

2018-08-13 17:28:16 21076

原创 Java反射机制-字符串转换函数

介绍实际开发中经常用到将字符串转换为函数,以实现class的插件式操作,即调用时不绑定class的具体方法,运行时才绑定。在python中可以通过getattr()实现字符串和函数的转换。Java是通过反射机制来实现,通过getMethod()获取指定类的method,利用method.invoke()方法实现方法的执行获取结果。反射机制编译时不获取.class文件(或者获取不到....

2018-08-12 21:37:04 4172

原创 Python 时间戳/字符串/时间 转换

概要平时对于时间的处理经常使用python的time和datetime模块,但是用来多次还是对其中的时间戳,字符串和时间转换应用的不太熟练,时间长了不使用就理不清楚,为此整理成文。视图时间戳,时间,字符串之间的关系整理如下图: 示例时间戳和时间的转换import timeif __name__ == "__main__":# 时间戳: time.time(...

2018-08-11 17:50:45 6558

原创 基于SpringBoot搭建Web服务

介绍本文介绍基于SpringBoot搭建一个简单的Web服务。主要包含以下几个部分:build.gradle文件加载依赖和设置打包方法settings.gradle文件加载module新建Application类,启动main方法新建Controller类,定义Handler和处理内部逻辑新建Request和Response类,完成请求参数和返回参数的构造新建propertie...

2018-08-09 22:54:35 2561

原创 FastText学习笔记

目标了解fasttext使用fasttext进行分类分类问题首先介绍分类问题,以二分类问题为例。目前具有人工标注的数据集,数据集分为2类标签,正例和反例。数据示例如下:正例: 印度药企对中国市场充满期待反例: 中国驻维也纳代表团举办改革开放40周年活动预测新样例的类别我国东部第一口干热岩钻井获得成功 => [正例?/反例?]FastText简介...

2018-08-07 22:18:00 19597 4

空空如也

空空如也

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

TA关注的人

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