自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

原创 架构师 - 架构师是做什么的 - 学习总结

架构师是业务和技术之间的桥梁架构师的核心职责是消除不确定性、和降低复杂性。

2024-01-14 22:42:41 395

原创 如何画出优秀的系统架构图-架构师系列-学习总结

如何画好架构图。优秀架构图的特点。系统架构应该包含业务架构+应用架构。来表示软件系统提供什么样的业务能力、解决方案,同时这个系统的子模块、子系统的组成。让技术人员形成一个整体的宏观认知。描述后端系统由哪些应用组成。有点类似开发视图。应用架构有时和系统架构等价的。但如果软件系统更大更复杂, 系统架构则看起来需要使用业务架构+应用架构等多个来组成。描述后端系统具体如何部署。对应4+1视图的物理视图。

2024-01-14 19:52:42 1254 1

原创 Git命令汇总

每次git不常用的命令时东查西查,还是自己写一下,巩固下印象吧。。

2023-11-28 12:24:08 723

原创 ThreadLocal小结概要

ThreadLocal是线程的私有本地变量,设定和查询都是在当前线程内的。ThreadLocal 适用于如下两种场景每个线程需要有自己单独的实例实例需要在多个方法中共享,但不希望被多线程共享那么,有几个场景就很适合来使用ThreadLocal1 是用户认证。2 是数据库连接。3 是数据跨层传递。4 是使用ThreadLocal解决线程安全问题5 链路Trace。

2023-10-29 00:14:24 71

原创 安装Maven环境

Apache Maven的下载 安装 配置

2023-02-28 23:27:29 111

原创 【MAC】【Golang】The selected directory is not a valid home for Go SDK 问题解决

The selected directory is not a valid home for Go SDKmac 系统解决方法

2022-06-27 20:26:21 909

原创 [MY-013276] [Server] Failed to set datadir to ‘/usr/local/mysql/data/‘ (OS errno: 13 - Permission de

使用root账户安装了mysql启动异常如何解决和启动

2022-03-02 12:13:00 12806 3

原创 java中Stream、ParallelStream和ForkjoinPool

Stream、ParallelStream和ForkjoinPool简述stream是java8开始引入的流式编程parallelStream是在流式编程的基础上并行化流水线上可以并行化的部分(StatelessOp)fork-join-pool是parallelStream并行化的底层框架,是独立于ThreadPool的多线程并行模型。三者虽然在功能上关系紧密,但掌握他们要了解的东西却互相独立A Stream的原理A.深入理解Java8中Stream的实现原理_lcgoing.

2022-02-11 01:02:35 1973 3

转载 高并发,你真的理解透彻了吗?(转载)

作者 |骆俊武来源 | IT人的职场进阶高并发,几乎是每个程序员都想拥有的经验。原因很简单:随着流量变大,会遇到各种各样的技术问题,比如接口响应超时、CPU load升高、GC频繁、死锁、大数据量存储等等,这些问题能推动我们在技术深度上不断精进。在过往的面试中,如果候选人做过高并发的项目,我通常会让对方谈谈对于高并发的理解,但是能系统性地回答好此问题的人并不多,大概分成这样几类:1、对数据化的指标没有概念:不清楚选择什么样的指标来衡量高并发系统?分不清并发量和QPS,甚至不知道自己系统..

2022-01-28 18:16:24 145

原创 后台服务架构小结

前言在互联网团队中,产品关注用户体验和产品价值、算法关注算法准确度、前端UI关注用户交互页面展示,而后台工程师关注点更偏重于服务架构和业务实现。本文谈谈什么是(后台)服务架构,什么是好的服务架构,服务架构的目的是什么?什么是服务架构系统架构是定义系统的结构、行为及其他视图(view)的概念模型。软件架构是有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计。软件架构会包括软件组件、组件之间的关系,组件特性以及组件间关系的特性。软件架构可以和建筑物的架构相比拟。软件架构

2022-01-12 14:58:32 2189

原创 使用AuthJwt签名认证Jwt

jwt auth0 auth-jwt rsa hsa des https

2021-11-20 18:43:04 2988

原创 ServiceLoader SPI 探究 - 优秀博文链接

SPI 源码解释有源码级别的注释。讲解比较到位。Java SPI 使用及原理分析 | 董宗磊的博客--靡不有初,鲜克有终据作者说下面这个是优化SPI的不足的Case,还没翻Apache Dubbo 可扩展机制分析 | 董宗磊的博客--靡不有初,鲜克有终SPI DBDriver的例子给出了基本的原理,从代码实现上对完整流程有较好的展示。【Java】ServiceLoader机制深入_简简单单兔呦-CSDN博客看文案逗比类型的。后续看看某厂面试:如何优雅使用 SPI.

2021-11-17 22:09:01 227

原创 JJwt耗时分析及优化

1 问题在tomcat nio的框架下,每个请求都会有一个单独的tomcat 线程对请求进行处理。Arthas观察发现,在请求中如果有jjwt的签名,有的请求耗时会非常高,高到3s ~ 4s.查看源码,jjwt的签名方法compact,有一处源码如下// io/jsonwebtoken/impl/DefaultJwtBuilder.java @Override public String compact() { if (this.serializer

2021-11-17 20:25:43 1015

原创 Linux命令总结

Linux常用命令总结、博文链接集合。Curl、grep、su、group等

2021-06-01 17:31:05 107

原创 lombok-builder构造对象,变量默认值需要注解!

问题使用lombok-builder注解,在builder时不为变量赋值。@Setter@Getter@Builderclass TestGray { private String grayType = "GRAY_TYPE1"; void testMethod(){ TestGray testGray = TestGray.builder().build(); System.out.println(testGray.getGrayType()); }}直接使用Builde

2021-05-17 16:25:35 805

原创 golang panic: assignment to entry in nil map

目录Golang中,内建map切忌开箱即用嵌套场景golang中的map不是并发安全的如何解决或许你可以尝试下sync.Map引用Golang中,内建map切忌开箱即用Golang中,map是引用类型,如指针切片一样,通过下面的代码声明后指向的是nil。这点在golang官方文档中也说明了,所以千万别直接声明后就使用,开始可能经常会犯下面的错:var m map[string]stringm["result"] = "result"上面的第一行代码并没有对...

2021-05-17 15:54:39 1889

原创 >/dev/null 2>&1 & 是做什么的?

shell脚本中,你是不是经常看见标题中的代码sh xxxxx.xxx >dev/null 2>&1 &可以把/dev/null 当做垃圾桶、回收站,它等价于一个只写文件. 所有写入它的内容都会永远丢失. 而尝试从它那儿读取内容则什么也读不到。放在命令之后,相当于命令的输出都不做存储。 重定向符号 > 等价于 1> 意思是标准输出重定向到某个文件,>dev/null 即是将前面命令的标准输出重定向到 dev/null 这个文件 2 ,表示标准错误.

2021-05-08 12:19:41 848

原创 Java Import 按需引入 潜龙勿用 Google规范

摘录自Google开发规范3.3.1 No wildcard importsWildcard imports, static or otherwise,are not used.3.3.1 请勿使用通配符引入(按需引入)无论是静态引入还是其他的,不要使用通配符引入3.3.2 No line-wrappingImport statements arenot line-wrapped. The column limit (Section 4.4,Column limit:...

2021-04-20 21:42:17 431

原创 fatal: could not read Username for ‘https://XXX.com‘: terminal prompts disabled

原因:go get 默认使用https拉取源码,会因为校验用户名密码而失败解决方案:通过git config 切换https验证转换为ssh验证以GitHub为例:git config --global --add url."[email protected]:".insteadOf "https://github.com/"私有库 https://XXX.comgit config --global --add url."[email protected]:".insteadOf "https:

2021-04-19 18:04:41 3113

原创 Content type ‘application/json;charset=UTF-8’ not supported

Content type 'application/json;charset=UTF-8' not supported1. 后端定义的对象,不可忽略,并且和前端传递的数据结构不一致2.pom.xml缺少jackson包引用 !!jackson需要版本大于23.Ajax请求时没有设置Content-Type为application/json非常见原因1. 后端接收参数中,有Map<ObjectA, ObjectB>这个样子的数据结构!

2021-04-19 16:36:30 24259

原创 Date-String-Timestamp时间转换

时间转换工具类直接上代码import java.sql.Timestamp;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;public class TimeUtil { public static final String PATTERN = "yyyy-MM-dd HH:mm:ss"; /** * 将Date转换为指定日期格式的Stri

2021-03-21 18:03:01 427

原创 简单日志门面slf4j及框架log4j、log4j2、logback

http://www.slf4j.org/legacy.htmlslf4jlog4jlog4j2logback

2021-03-16 18:53:22 269

原创 Json备忘 解析保留Null字段 pretty输出

json解析保留Null字段Gson使用gson实现方法:只需要把new Gson()改为:new GsonBuilder().serializeNulls().create(); 就可以了public class GsonUtil { private static final Gson gson = new GsonBuilder().serializeNulls().create(); public static String serialize(Object src) {

2021-03-16 17:12:45 617

原创 lambda备忘

lambda备忘使用java8将list转为map常用方式代码如下:public Map<Long, String> getIdNameMap(List accounts) {return accounts.stream().collect(Collectors.toMap(Account::getId, Account::getUsername));}收集成实体本身map代码如下:public Map<Long, Account> getIdAccountMap(

2021-03-11 15:27:51 716

原创 IDEA-SSM-多种姿势使用mybaits框架进行数据库操作(Github源码)

前文阅览springboot-mybatis框架搭建正文重要文件介绍根据前文,我们通过mybatis-generator插件自动生成了下图中1、2、3、4对应的文件文件1 为数据库sql生成规则的xml文件,为mybatis-generator自动生成的。文件2 为数据库操作操作的统一接口层文件3 为数据库对应到java的POJO文件文件4 为mybatis数据库操作规则构造的基础文件!!!根据面向对象原则的开闭原则,这些自动生成的文件,我们不要直接修改!!!..

2021-01-27 17:39:51 248

原创 IDEA-SSM-mybatis generator(github Demo)

<!-- mybatis generator 自动生成代码插件 --> <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <vers...

2021-01-21 22:42:11 204

原创 Vue环境部署

环境搭载时间 2021年1月14日npm基本命令-g 表示全局生效查看npm list -g --depth 0更新npm update -g xxx删除npm uninstall -g xxx安装Nvmcurl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bashorwget -qO- https://raw.githubusercontent.com/n..

2021-01-14 21:36:13 110

原创 IDEA环境下搭建SSM框架

看了一些教程,费了不少功夫,这种框架只能照着一个来,但按照某些文章的描述是成功不了的,这就很蛋疼,自己写一篇,备忘和分享。框架环境准备Jdk1.8Idea 2017.1maven 3.3.9建立工程1.新建一个maven webapp project这个填写自己的工程名字就可以设置工程的目录属性工程目录下,建立各种需要的文件。配置POM...

2018-03-09 21:54:55 6674 10

原创 堆排序复杂度为O(nlogn),需要注意的误区

本文希望阐述堆排序O(nlogn)的一些关键细节,摘录一篇博文O(n^2)进行比较。用作比较的原文 版权声明:为者常成,行者常至堆排序的特点是优化后的选择排序,其时间复杂度为O(nlogn),下面第一段代码的做法比这个复杂度要高。原因在下文阐述。堆排序将要排序的对象看做一颗完全二叉树,数据结构可以用数组来实现。 初始化建堆过程时间:O(n)   

2017-11-30 22:54:29 2498 2

空空如也

空空如也

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

TA关注的人

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