- 博客(58)
- 收藏
- 关注
原创 feign log日志不生效问题
问题描述在今天使用feign 的时候,log 日志一直输出的是 HttpURLConnection 的日志。并没有我们所期待的 http 请求日志,具体日志如下图:所以找了问题好久,现在把相关配置写到文章中,供大家参考是否有设置 feign 的 Logger.Level@Configurationpublic class FeignClientConfig { @...
2020-07-03 18:14:00 118
原创 .gitignore 不生效问题
最近在做一个新项目的时候,发现项目的 build/ .idea/ gradle/ .gradle/ 会在被提交的时候也提交到 gitlab 仓库中去了。所以想使用 .gitignore 文件忽略这些文件夹。然后在 .gitignore 添加忽略后,还是不生效。如下:所以第一反应是 .gitignore 规则无效.gitignore 规则 不生效我们一起来看下,...
2020-04-24 15:50:00 62
原创 docker 容器 .git 泄露问题
最近公司的安全部门在扫描系统漏洞的时候发现了我们系统的一个漏洞,通过 GitHack 进行扫描,然后download 了前端的静态文件,第一次了解这个 GitHack,有点好奇,专门找了 github 库看了一下,其实使用起来蛮简单的,官方 readme 已经详细给出了操作步骤,这里不在叙述 https://github.com/BugScanTeam/GitHack上图是公司安全部门给出...
2020-04-13 10:38:00 63
原创 记一次 Nexus 私服 301 问题
最近在学习 Nexus 私服得搭建,在本地 Nexus 成功运行后,项目无论是 clean、install、deploy 都是 401 问题。这里给大家记录一次相关配置首先是 账号问题,请确认用户名、密码、权限是否正确再次确认账号问题。如果账号没有确认 允许匿名用户访问服务器,那么这是一个大坑。楼主这里2天,找了好多博客,就是这里没有勾上。setting.xml 与 项目 p...
2020-02-19 12:15:00 57
原创 一次 OOM 的问题
背景:最近在做服务作业的时候,突然发现机器的 dump 文件在暴增,1小时的执行下来,应用 _dump.log.* 文件达到了惊人的 20 个,其中每个dump 文件都是900mb 的文件,还在不断增多,还有一个 应用_dump.log 的文件也达到了 900mb ,所以赶紧紧急 kill 掉该 机器,分析问题。解决:1. 重现场景因为该业务是在封测环境进行,所以这里我找了台连接封测 ...
2019-08-12 19:04:00 33
原创 Java 并发篇-04.synchronized
大家好,缓缓来迟的第 5 篇 并发内容,其实准备了好久了,因为想写点不一样的内容,结果导致托了一个月才准备好。在开始正文之前,继续来我们的几个灵魂问题:你是否还在经常看知乎学习知识是否每天还会关注朋友圈的各种时事政治是否还在知识星球继续学习密切关注大佬们的言谈举止是否仍然执着的自我催眠着利用碎片化时间学习是否仍在空闲时间小说、游戏、水群请问你多久没有好好阅读过一本书了今天...
2019-07-29 09:36:00 34
原创 java 并发篇- 概念篇
各位好,今天是我们并发篇正式开始的第一篇,既然我们大家学习并发,那么就要理解一些计算机概念最好,否则,知道怎么用而不知道名称是啥,概念含糊不清,以及不知道怎么设计的,假如今天你突然换 go 语言,设计个并发还是不会。我们要学的是并发思想,在Java 中的思想,一通则百通,而不是背代码,切记切记。让我们用面向对象的方法,把我们日常中的房子做为对象来解释线程和进程的工作。房子首先是一个装东西...
2019-07-29 09:33:00 34
原创 Java 并发篇03 -序性、可见性、原子性。
首先,还是想给大家继续话痨话痨,脱离舒适区,努力坚持下去。我们只要超越百分之80 的人就够了。就像陈皓老师说的,你只看看中国的互联网,你就会发现,他们基本上全部都是在消费大众,让大众变得更为地愚蠢和傻瓜。所以,在今天的中国,你基本上不用做什么,只需要不使用中国互联网,你就很自然地超过大多数人了。少看一些公众号,知乎,知识星球,微博,每天密切关注大佬,对我们个人的帮助太少了,毕竟所处环境不同。...
2019-07-29 09:33:00 54
原创 【Java】并发篇-目录
大家好,之前事情比较多,导致更新一直不及时,这里给大家先说声抱歉了。接下来我们将开始将并发相关的知识。作为第一篇,我们来聊聊为什么学并发吧?最近几年,尤其是 淘宝、京东、拼多多为首的电商,还是微信、 饿了么、美团、抖音这种大用户量的 APP。并发已经作为一种很常用的支撑技术了。而且 最近几年的分布式、系统硬件的井喷,各种并发量轻松百万级别,出去聚会,朋友一问你,并发多少,qps 多少,低...
2019-06-26 16:28:00 37
原创 【Java】基础篇- TreeMap
大家好久不见,我们今天来讲一下 Map 类的另一个重要实现 -- TreeMap。可能大家有的人会问道,我知道 Java 中有 HashMap ,我会用它就行了啊,我还学这个 TreeMap 做啥,其实 HashMap 有个很重要的问题,就是不能排序,或者说它的键值对不能按照特定的顺序排序。所以就引入了我们今天的 TreeMap。(记住 TreeMap 是按照键来进行排序的)而 TreeMap ...
2019-06-18 10:10:00 36
原创 【Java】基础篇-LinkedList
今天带给大家的是 List 集合大家庭下的--- LinkedList。说到 LinkedList,那么我们大家的第一想法就是 链表,是插入删除快,随机访问慢,今天我们就来一探究竟,究竟内部的它是什么构造导致的问题,我们是否可以在使用的时候有一个更好的解决方案。本系列文章基于 JDK 1.8LinkedList :集合的子类public class LinkedList<E&...
2019-06-11 17:36:00 35
原创 【Java】基础篇-排序二叉树
大家好,最近更新的稍微慢了许多,参加了一些公司和外界的技术培训,也跟一些小伙伴聊了些技术文章,总的来说很不理想,讲的内容高大上,落地的过程踩坑很严重,和没听的效果差不多,感觉这几年,圈子太浮躁了,对新技术趋之若鹜,恨不得昨天出来,今天就用到项目上。很值得我反思了。技术在变,年龄在变,但唯一不变的还是我们的核心技术:Linux、C、TCP\IP这些,不管上层建筑如何变化,都只是在底层基础上封装...
2019-05-30 16:46:00 37
原创 【Java】基础篇-ArrayList
说到面试,高频的当属 Java 的集合类了,这是完全绕不开的一道大坎,而且里面包含了许多的数据结构。而在我们的平常使用中,ArrayList 几乎可以说是随处可见,尤其是对刚入行的朋友们来说,ArrayList 可以说是万金油了,今天我们就来好好的看看它 里面到底有些啥,平常我们的使用又该怎么注意。注意,系列文章源码使用 Java 8 !正文开始在使用一个类的时候,我们首先是要实例化...
2019-05-14 19:38:00 37
原创 Could not write JSON: No serializer found for 的坑
记一次 Could not write JSON: No serializer found for 的坑今天在返回一个 DTO 实体的时候报错如下:"message": "Could not write JSON: No serializer found for class com.entity.Question and no properties discovered to create...
2019-04-23 20:59:00 68
原创 Spring Boot(2) 常用注解
@SpringBootApplication开启组件扫描和自动配置 其中该注解包括了@SpringBootConfiguration:使用了@Configuration注解,声明基于Spring的java配置@EnableAutoConfiguration:启用Spring应用程序上下文的自动配置。@ComponentScan:启用组件扫描,这样写的web控制器类和其他组件才能被发现...
2019-04-21 21:23:00 39
原创 关于Mybatis-Plus的一些话题
最近公司的项目有用到Mybatis-Plus这个新东西,就学了一下,和大家分享分析。 Mybatis-Plus(简称MP)是一个Mybatis的增强工具,在 Mybatis 的基础上只做增强不做改变,为简化开发、提高效率而生。(官方这么说),其实白了说就是比Mybatis多了许多工具,让我们更快捷方便的开发,首先给我很大的启示就是进一步的替换我们的xml文件,基本上单表操作完全可以...
2019-04-21 21:23:00 34
原创 【Java】基础篇-HashMap
HashMap的原理,内部数据结构?基于Map接口实现、允许null键/值、非同步、不保证有序(比如插入的顺序)、也不保证序不随时间变化。在HashMap中有两个很重要的参数,容量(Capacity)和负载因子(Load factor)Capacity 就是buckets的数目Load factor就是buckets填满程度的最大比例如果对迭代性能要求很高的话不要把capac...
2019-04-21 20:38:00 30
原创 【Java】基础篇-包装类
上回说到了 字符类型 char, 作为基本类型之一, char 的底层实现对于 string 等有的关键的决定因素. 至于基本类型,难点不多,我们不在叙述了,这次我们讲 另一种类型 --- 封装类型Java 有 8 种基本类型,每种基本类型都有一个对应的包装类型. 包装类又是啥呢?包装类指的是 Java 的类,内部有实例变量,保存了与之相对应的基本类型的值,这些类有类方法,类变量和其他的实...
2019-04-10 18:43:00 44
原创 【Java】 基础篇 -- 字符 char
char 在 Java 中是个很底层的东西了,比如 String 、StringBuilder 的底层就是它,但是在我们平时的工作中呢,很少使用他,不过既然是底层,今天我们大家就来一起研究下这 “哥们”。char 用来表示 1 个字符 。也就是说,如果你写 2个字符,那么这里是会报错的。如下:// 这种编译报错 Too many characters in character litera...
2019-04-08 19:42:00 33
原创 Java transient 关键字
transient 关键字transient 功能:当对象被序列化时(写入字节序列到目标文件)时,transient阻止实例中那些用此关键字声明的变量持久化;当对象被反序列化时(从源文件读取字节序列进行重构),这样的实例变量值不会被持久化和恢复。大家请看下面的代码public class UserTest implements Serializable { private St...
2019-04-04 12:31:00 32
原创 Spring cache 理解
今天在做项目的时候,有个用户的名字怎么刷新都拿不到,因为公司使用的是 微服务,而且各个服务端之间有各自的缓存 redis,因此,查了3个微服务,而且把相关的 redis key 值清空掉,依旧是没有效果,最后有个眼尖的同事发现我这边的代码里有 @Cacheable 这货存在,应该是别的同事优化接口的时候加上的,导致没有处理 Spring 缓存,既然看到了这个 API ,当然要理解一番,要不浪费这...
2019-03-04 21:06:00 21
原创 java 的位运算符
今天在看HashMap 源码的时候 看到了位移运算符,正好再复习一下左移运算符/** * The default initial capacity - MUST be a power of two. */ static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // aka 16在 Main 方法中 计...
2019-02-25 10:04:00 28
原创 Redis zset 的一些使用
最近做排行信息的时候用到了 Redis 的 Sorted Set, 写篇文章来和大家分享一波。Sorted Set (有序集合)通常我们也称为 zset,指的是在 redis 中,通常以 zset add 等命令操作zset 通常包含 3 个 关键字操作:key (与我们 redis 通常操作的 key value 中的key 一致)score (排序的分数,该分数是有序集合的...
2019-02-19 11:56:00 85
原创 Spring 切面失败和目标类空指针问题
记一次Spring AOP 遇到的坑背景由于想记录 Controller 前后的处理情况,为什么不用 filter 处理是因为项目中有作业等其他请求,并不想做太多记录。问题描述加了 @Aspect 注解在切面类上,/** * 记录controller方法前所有的日志 * * @param joinPoint 不能为空 */ @Befo...
2019-01-18 11:36:00 21
原创 Mybatis plus性能分析插件引起的 Full table operation is prohibited.
场景今天在执行一个 update 语句的时候,发现一直报Full table operation is prohibited.版本是 MySQL 5.7.17mybatis-plus 2.3.3排查看到 Full table operation is prohibited 首先怀疑是否是未加 WHERE 语句 引起的全表修改,logback 日志打印sql 语句发现,并没有。排除...
2019-01-14 21:17:00 28
原创 Mysql REGEXP
前言最近在写一个sql 的时候遇到一个问题,like 多个条件,突然忘记语法了,就来重新复习下。MySQL可以通过 LIKE 来进行模糊匹配。 也可以通过 REGEXP 进行正则表达式的匹配。表达式描述^匹配输入字符串的开始位置。$匹配输入字符串的结束位置[]字符集合。匹配所包含的任意一个字符。例如, '[abc]' 可以匹配 "plain" 中的 'a...
2019-01-13 21:51:00 35
原创 Java 序列化
引言我们经常在 java 中使用序列化,序列化成一个二进制文件,需要的时候再反序列化,但是一直只知道只要实现 Serializable 接口就可以了,一直不知道具体的原理,我们今天就来一探究竟。序列化:对象 序列化成二进制文件或者二进制流反序列化化:从二进制文件或二进制流中反序列化成实体序列化ID我们通常在实体类中会实现 Serializable , 然后在下面写一个 priva...
2019-01-13 21:51:00 24
原创 Docker 常用命令及部署
常用命令1、搜索镜像$ docker search java- NAME : 镜像名称- DESCRIPTION :- STARS : 镜像仓库收藏数- OFFICIAL : 是否为官方文档- AUTOMATED : 是否是自动构建的仓库2、下载镜像使用 docker pull 命令下载镜像。如果要指定版本请在命令后面加冒号 <:version>$ docker p...
2018-12-29 16:20:00 20
原创 Docker 入门及安装
Docker 简介 docker是用GO语言开发的应用容器引擎,基于容器化,沙箱机制的应用部署技术。可适用于自动化测试、打包,持续集成和发布应用程序等场景。 值得注意的是,docker现已改名为moby。 docker基于容器化,沙箱机制,可使你用较少的命令和脚本快速部署应用。一次构建,多处移植使用。再配合shell等脚本语言,可实现脚本化一键部署。 另外,docker大部分的工作...
2018-12-29 15:57:00 22
原创 Java Stream distinct
在使用Java Stream 进行过滤的时候,比如有一个User 类,然后有 type字段,我们想去除的话,用传统的语法来操作是比较麻烦的,比如可以Map<type,Object>。 因此想到了用 Java stream 的 distinct ,我们可以 usersList.stream.distinct(),不过可惜的是 distinct 方法是没有参数可以操作的,因此 g...
2018-11-22 19:39:00 72
原创 xxl-job 源码分析系列(1)- 配置运行
XXL-JOB是一个轻量级分布式任务调度平台,当然我司也在用,然后正巧自己想学一学源码分析,就挑正好在用的xxl-job了。 文档地址:http://www.xuxueli.com/xxl-job/#/?id=%E3%80%8A%E5%88%86%E5%B8%83%E5%BC%8F%E4%BB%BB%E5%8A%A1%E8%B0%83%E5%BA%A6%E5%B9%B3%E5%8F%B0...
2018-11-15 20:47:00 29
原创 Spring @PostConstruct 、@Autowired和Construct 顺序
今天修bug的时候发现了@PostConstruct 注解,之前一直没注意到,今天正好学习了下,就来总结一波。 @PostConstructPostConstruct注释用于在完成依赖项注入以执行任何初始化之后需要执行的方法。必须在类投入使用之前调用此方法。所有支持依赖注入的类都必须支持此注释。即使类没有请求注入任何资源,也必须调用使用PostConstruct注释的方法。只有...
2018-11-14 20:27:00 40
原创 Java基础系列---static关键字
今天在和同事讨论的时候谈到了关于static的问题,正巧自己有一些忘记了,就特来学习一番。 首先,Java中的static关键字主要用于内存管理。static 关键字属于类,而不是类的示例。(敲黑板)。在程序中任何变量或者代码都是编译时分配代码的,而静态修饰的就会一直存在内存中,直到程序退出。也就是说,在我们的日常使用中,如果在某个类中要使用其他类,那么只能先把待使用的类进行实例化,然后...
2018-11-13 21:27:00 22
原创 Spring Retry
在我们的业务场景中,经常要调用其他的API来获取信息,比如我们的业务场景需要依赖个人信息来处理,这个时候调用个人信息服务的API,但是由于可能同一时段多方在调用这个服务,可能该服务并发太多,没有及时响应我们的调用,我们的业务就不能执行下去,这个时候我们就需要重试机制了,当然 Spring 已经给我们提供了- Retry。 概述 Spring Retry提供了自动重新调用失败操...
2018-11-12 21:43:00 22
原创 windows下面安装Python和pip终极教程
在大二的时候接触过一段时间的Python,最近又开始玩起了这门语言。总的来说,个人很喜欢Python的语言风格,但是这门语言对于windows并不算很友好,因为如果是初学者在windows环境下安装,简直是折磨人,会遇到各种蛋疼的情况。本文希望提供傻瓜式的教程,能够令读者成功安装Python和pip。 第一步,我们先来安装Python,博主选择的版本是最新的3.4.2版本。win...
2018-10-29 20:03:00 53
原创 Java基础系列---操作符
还记得我们刚开始学习Java的时候记住优先级和逻辑运算符就可以开始工作了,昨天在看到源码的时候发现一个操作符 |=,没有印象,然后去搜了下,发现提到的文章也很少,今天去看了一下官文,然后去google找了一圈,总结下来,供自己和大家参考。 Java 提供一套丰富的操作运算符:算术运算符关系运算符按位运算符逻辑运算符赋值运算符其他算术运算符 算术运算符和我们在...
2018-10-18 15:17:00 20
原创 IDEA 生成 serialVersionUID
在implements Serializable的基础上。 Setting->Inspections->Serialization issues->Serializable class without ’serialVersionUID’
2018-10-16 11:35:00 22
原创 Java 基础系列-LocalDate相关
Java8已经出来好久了,然后我们平时工作中也遇到了好多的关于时间转换的问题,基本上就是需要的时间看一看源码,然后拿来直接用,其实真正理解的并不多。今天又遇到了关于String转换的问题,就决定写一篇文章出来。那么在写具体的LocalDate前,我们先来看下为什么要在Java8中搞一套新的API呢,因为旧的Date类非常的难用,比如,其中的几个构造方法都被标注为@Deprecate...
2018-10-09 21:36:00 32
原创 Java多线程--对象的可见性
最近在看《Java并发编程实战》,并发方面的知识,今天看到了对象的可见性,在这里分享一下。 在单线程环境中,如果向某个变量写入值(比如全局变量),在没有其他操作写入的情况下,总是能得到想要的值(因为在单线程环境中是线程安全的)。但是如果在多线程环境中,这个情况就会被打破。因为我们在执行某一线程的读操作的时候,其实并不知道是否有其他线程正在进行写操作,所以我们上面说到的可见性就在这里展开命...
2018-09-04 00:17:00 22
原创 Java ---基本类型(1)
Java是强数据类型,在声明的时候必须注明所使用的数据类型是什么,下面,我们来了解一下Java的类型分为基本类型(或者成为内置的的数据类型)和引用类型,其中,基本类型主要有8+1种,分别是:6种数字类型和一个boolean类型,一个字符类型。一个null。请看下面byte字节型占一个字节(8bit),数据范围是-128~+1271个字母(比如 A B C D)等于一个字节,又等于8...
2018-09-02 23:03:00 27
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人