5 老张家的独苗

尚未进行身份认证

我要认证

成功往往是不可复制的,但成功总是有迹可循的

等级
TA的排名 3k+

泛型的今生来世

1.什么是泛型? Java 泛型是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型。泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。2.为什么要用泛型?3.泛型的分类...

2020-07-01 14:46:33

git 撤销骚操作

1.命令应用场景 在开发的过程中,当发现有需要撤回的commit的时候,这两个命令就起到了关键作用,那么问题来了,git reset与git revert之间有什么区别?我们怎么在不同的场景更好的应用他们呢?2.两者的区别 先讲git reset, git reset可以将之前的多个commit回退到某次提交,等修改后需要git push -f 提交到远程,无形中,远程的多个commit合成了一个commit,那么这个操作有些骚呢?骚从何来?如果存在多个人开发的场景,或者前后端交...

2020-06-30 14:36:15

java jar包如何指定程序执行入口

1.需求背景 很多时候,我们需要单独开发一个工具类方便特殊的操作;这个可以理解为工具开发,那么怎么指定jar包的启动类呢?2.实现方案i.将pom中打包形式改为jar <packaging>jar</packaging>ii.如图注意:MANIFEST.MF在src下iii.导出jar包ok,就这样点击jar包就可以执行指定的入口程序呢!...

2020-06-16 16:44:44

springboot 策略+工厂模式优化if..else..

1.策略接口public interface IStrategy { /** * 根据id获取对应的图表数据 * @param dispatchQuery */ <T> T getGraphData(DispatchQuery dispatchQuery);}2. 策略工厂@Componentpublic class StrategyFactory { /** * 关键功能 Spring 会自动将 EntSt

2020-05-18 15:52:26

前后端分离全局跨域实现

@Configurationpublic class WebAppConfigurer extends WebMvcConfigurerAdapter { private static List ORIGINS = Arrays.asList("http://localhost:8080"); //改用过滤器CorsFilter 来配置跨域,由于Filter的位置是在Interceptor之前的,问题得到解决 @Bean public CorsFilter corsF.

2020-05-13 18:54:01

【源码探索系列】Helllo!!! HashMap

面试官:你可以讲下hashmap的底层原理呢?被面试者:啥原理不原理?我上来就是一梭子,而且梭子穿梭的出神入化。面试官:行吧,稍等下,我让我们HR跟你聊下。各位看官,面试结果可否用脚趾头想想?哈哈…有道无术,可攻于术;有术无道,然止于术那就开始把,好好攻术!HashMap工作原理HashMap底层数据结构是数组+链表,当然jdk1.8后当链表长度大于8时候,链表会自动树化,转换成...

2020-04-02 21:23:57

【源码探索系列】 modCount知多少?

很多面试官都会问modCount是啥?看了本文,我相信你可以解脱了1.modCount是什么?相信很多同学都会在List或hashMap近亲系列源码中都会看到这个modCount变量,简言之,从字面意思理解modCount,修改的次数。2.modCount的作用通常地,在集合源码中存在这个modCount变量时,基本上可以说明这个类是线程不安全的。这个变量在集合初始化的时候,就将mo...

2020-03-31 17:16:21

分分钟搞定面试官必问的Git

1.Git简介Git 是一款优秀的分布式版本控制工具,是目前支持多人同时开发最six的工具,记住没有之一,比之SVN,绝对是遥遥领先,母庸置疑。2.Git分区2.1 为什么要搞清楚Git分区呢?谈及Git分区,其实很多开发者脑袋都是懵逼状态?我在哪?我是谁?对于一些对git掌握不熟练的同学,这个疑问是普遍存在的;或者当面试官提问,请问你了解git的分区么?那么是时候一次性搞清楚git是如何...

2020-03-21 20:29:57

git --cached 暂存区操作

1.操作场景 当你将修改的文件提交到暂存区的时候,这时你发现之前的提交有问题,想把之前的提交在暂存区的文件撤回来,或者需要看看之前提交暂存区与工作区的不一样,这个时候 --cached命令就起作用呢。2.命令解释①查询提交前后文件的具体差异git diff --cached②撤销之前在暂存区的文件git rm --cached hello.java...

2020-03-20 18:06:15

线程池的拆分

线程池的拆分可根据具体的业务进行拆分,每个线程执行的业务逻辑应该是一样且同步执行,talk is cheap, show you codeint columns = 10;ExecutorService pool = Executors.newFixedThreadPool(columns);final CountDownLatch countDownLatch = new Cou...

2020-01-22 14:43:39

极光推送集成解决方案

1. 极光推送集成背景 最近在研究推送和长连接,研究了几家这方面的平台之后,最后综合考虑选择了极光推送。长连接保活一直是一个大问题,尤其的android方面,最近谷歌公司的几次更新,android应用保活是越来越难做,android方面的推送的到达率更是惨不忍睹。国内android大环境大都以云端和客户端保持长连接的方式实现的。本文主要是说一下极光推送普通集成和极光推送厂商通道的集成...

2020-01-06 10:47:29

Java Mail发送邮件

①pom依赖<dependency> <groupId>com.sun.mail</groupId> <artifactId>javax.mail</artifactId> <version>1.5.2</version> </dependency>②代码实现 @Ov...

2019-12-25 17:52:59

线程池异步消费

①新建一个重试线程 class RetryThread implements Callable<JSONArray> { String appType; String formInstId; String token; public RetryThread(String appType, String form...

2019-12-23 17:06:02

git stash 保存及恢复当前工作进度

应用场景: 当你正在开发某新功能时,某一紧急bug需要修复,这时你不能让之前的工作量白做,然后就可以使用git stash保存当前的工作进度,等bug修复完成,再恢复当前的进度继续开发即可命令使用:1. git stash 将当前的代码保存到缓存中2.git stash save "stash msg" 保存当前的代码,并加上注释3.git stash list ...

2019-11-29 15:14:49

git 删除远程分支

git push origin --delete <branchName>

2019-11-14 10:01:27

golang中jinja动态模板渲染

1.jinja模板如何传值 ①(key-value)键值对的方式单值传入,{{ key }} => value ②以对象的形式传入:{{ user.username}} =>username ③以map的形式传入:vlaue可以传入list,然后迭代渲染2.jinja模板如何渲染 在golang 中可以引入pongo2库,https://githu...

2019-05-13 20:10:04

golang dep安装

1.dep简介 dep是Go的依赖管理工具,它需要Go 1.9或更新版本才能编译。2.安装步骤①ubunut中fetch dep包go get -u github.com/golang/dep/cmd/dep②dep默认在$GOPATH/bin下,然后将dep命令剪切到/usr/binsudo mv dep /usr/bin③检测是否安装成功dep...

2019-04-24 16:50:00

git撤销本地修改

1.使用场景 在开发的过程中,可能因为手误或者有些文件不想提交,这是需要git命令撤销相关文件2.使用方法① 撤销本地所有的更改git checkout .② 撤销指定的文件git checkout -- file...

2019-04-24 16:31:15

ubuntu golang 环境安装

1.golang tar下载 选择适合自己系统的golang 包,下载链接:https://golang.org/dl/2.golang环境配置vim /etc/profileexport GOROOT=/usr/local/goexport GOPATH=/home/admin/goprojexport GOBIN=$GOPATH/binexport PATH...

2019-04-18 15:22:34

configmap的创建及yaml渲染

1.configmap的创建①存储文件kubectl create configmap cm-name --from-file=xx.pem②存储key-valuekubectl create configmap cm-name --from-literal=ip='127.0.0.1'③对于混合存储kubectl create configmap cm-name -...

2019-04-17 15:32:38

查看更多

勋章 我的勋章
  • 新人勋章
    新人勋章
    用户发布第一条blink获赞超过3个即可获得
  • 阅读者勋章Lv3
    阅读者勋章Lv3
    授予在CSDN APP累计阅读博文达到30天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。