4 土豆是我的最爱

学生身份

我要认证

我的个人网站:https://itudo.cn

等级
TA的排名 3k+

小白都能看懂的HashMap面试问题

前言对于HashMap,可谓是面试必问的点。无论你是刚毕业的大学生,还是工作三年的高级开发工程师。HashMap可谓是JDK源码中比较经典的源码设计。在上学的时候就知道它的重要性,但是有一些比较复杂的地方当时很难理解,只是模糊记忆,面试官问的时候也是将记住的答案背下来,其实在面试官眼中早就露馅了。简单回顾一些基础的问题我们就简单回顾一下就好。其中要讲解的难点先标注,后文进行详细剖析。HashMap的内部数据结构数组 + 链表/红黑树HashMap允许空键空值么HashMap最多只允许一个键为

2020-06-18 15:11:00

电商系统(毕业设计)

前言公司项目开发目前用到的技术栈有SpringBoot、,MyBatis、Maven、MySql、Redis、Docker,Gitlab。其中除了docker会用了之外,其他的在学校做项目已经基本都用到了。所以在公司呆了一年多,除了业务熟悉了一些之外,技术栈方面并没有多大的长进。在公司也只接触到两个项目,好像简历上一般写三个,实在不行就拿毕业设计凑一下数吧,毕竟也才工作一年。这个项目是我在校招前夕和三个妹子花一个月时间完成的,完成了服务器后台及前端。后来毕业设计选题时和组员都想做电商主题,所以把

2020-06-18 09:41:30

项目经验——支付业务

前言月底就要离职走人了。在这个公司包括实习期的话也干了将近一年半了。好歹也算是一年工作经验了,下次面试的话应该也是问项目经验居多。准备近期先将自己自己做过的东西详细整理一下,方便到时候书写简历以及应对面试。支付业务刚到公司的时候,接触的是公司的一个B2B2C电商项目。当时的销售途径是售货机,支付的话流程基本成型,后来需求增加,新增手机商城,使用H5实现,H5支付这一块就落到了我的手上,支付的业务大同小异,我就去研究之前前辈写的支付业务,加上H5支付的文档,将手机商城的支付做了出来。只要流程业务以

2020-06-16 09:15:00

全球国家信息xml文件数据提取

今天项目中遇到一个需求,就是可以对全球国家地区进行选择。那么要么就是数据库字典表,要么就是读取本地文件。这里我们选择读取本地文件,包含中英繁三种语言的文件,可在我的资源中下载。首先引入依赖包<dependency> <groupId>dom4j</groupId> <artifactId&g...

2020-03-31 10:23:36

小白都能看得懂的java回调

故事背景在日常编程中,我们经常需要对内存的数据进行持久化的工作,把他们保存在硬盘文件或者数据库中。为了避免重复, 我们通常会把这部分工作封装在一个工具类中, 让各个客户端来调用。下文的FileIO就是一个简单的工具类(为了简单起见,并没有使用单例或静态方法来实现)小张的烦恼Java 帝国的FileIO是一个忙碌的家伙,附近7、8个村落的人都来找他, 请他把数据存储到硬盘里。...

2019-12-16 16:09:08

小白都能看懂的java泛型

一、什么是泛型泛型是Java SE 1.5的新特性,可以适应不同的很多很多类型。泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。二、为什么使用泛型1.使用泛型能写出更加灵活通用的代码2.泛型将代码安全性检查提前到编译期        使用泛型后,能让...

2019-12-14 21:00:43

Spring IOC?彻底搞懂它!

目录引言BeanFactory 简介创建 Bean 容器前的准备工作创建 Bean 容器,加载并注册 BeanBean 容器实例化完成后准备 Bean 容器: prepareBeanFactory初始化所有的 singleton beans附录id 和 name配置是否允许 Bean 覆盖、是否允许循环依赖profile工厂模式生成 BeanFa...

2019-12-09 15:31:51

小白都能看懂的电商系统jvm参数设置简单优化

前言通过上篇文章小白都能看得懂的java虚拟机内存模型我们已经基本了解了jvm的内存模型,并且通过一个jvm案例分析了程序运行中JVM的内存活动。我们学习jvm是为了什么,为了面试么,当然是一部分,但是真正学习jvm的底层原理,一定是为了调优。那么jvm调优到底是调什么呢,目的是什么呢?Stop-The-World 不知道同学们有没有听过SWT,意思是Stop-Th...

2019-12-03 17:28:06

小白都能看懂的java虚拟机内存区域划分

目录一、虚拟机二、虚拟机组成1.栈栈帧2.程序计数器3.方法区对象组成4.本地方法栈5.堆GCGC案例一、虚拟机​同样的java代码在不同平台生成的机器码肯定是不一样的,因为不同的操作系统底层的硬件指令集是不同的。同一个java代码在windows上生成的机器码可能是0101.......,在linux上生成的可能是1100....

2019-11-26 17:21:27

【docker】——docker项目中使用phantomjs实现网页快照缩略图

前言前面有写博文,利用phantomjs实现网页快照,分别适配windows,linux,mac,好不容易搞好了,结果把项目镜像放到docker运行容器的时候,居然失效了。docker内部不也是linux内核么,居然会出问题。找了半天,发现是docker中很多库不兼容可能,不能运行phantomjs命令。想了很多办法,比如更换类库,但是已更换会出现连锁反应,其他一个一个都要换,明显不行。很久才...

2019-11-07 16:48:58

【PhantomJs】——利用phantomjs实现网页快照的两种方式

前言今天遇到一个需求,是前端给后台一个网址,后台需要返回这个网址的快照回去,刚接手的时候一脸懵,了解了一下,是项目中有个播放视频或者直播的区域,需要一张图片来作为封面图,但是如果专门去存的话不方便,也不灵活。既然有需求,那就只能找方法了,网上各种翻阅,方法不多,也不算少,但是很杂,很多工具及代码都有不足之处,有的比较慢,有的是会出现可视化的工具框,比如IFrame,显然不好,最后确定了用p...

2019-10-28 17:51:35

【基本类型】——基本类型与包装类型

一、基本类型Java一种静态编程语言,所有变量和表达式是在编译时就确定的。同时,Java又是一种强类型语言,所有的变量和表达式都有具体的类型,并且每种类型是严格定义的。类型限制了变量可以hold什么样的值,表达式最终会产生什么样的值,可以进行哪些操作。在Java中共有8中基本类型数据,同时每种基本类型又有对应的包装类。最简单的理解,基本类型有默认值,而包装类型初始为null。然后再根据这两...

2018-12-19 11:11:48

【docker】——docker-compose部署springboot镜像项目

前言最近项目要上线喽,经理让我自己在电脑上搭建docker练练手,虽然连docker都没弄明白,也只能硬着头皮慢慢搞,不过确实对docker理解加深了,这里先记录一下,后期再整理吧Docker安装:windows10专业版、企业版、教育版都可以安装docker for windows,这个应该是比较好的,官方是说是windows的最好选择,但是我按照网上的教程装了好几遍,运行一直有问题,每次...

2019-10-18 17:17:50

【短链接】——自己实现一个短网址服务

目录前言什么是短链接为什么要用短链接(引用)如何生成短链接实现代码演示前言前段时间做支付的时候,要生成可供微信和支付宝扫描的支付二维码,二维码里存储的也就是一个链接,但是可能是因为链接比较长的缘故,总是被微信拦截。然后就换成了微信官方的长链接转短链接,好不容易弄好了,发现支付宝扫的话会拦截,两家果真是水火不容。。。有问题就解决问题呗,那我换成第三方的好...

2019-09-21 13:21:00

【支付】——毕业设计中利用websocket做模拟支付

前言最近在做公司项目时使用websocket在支付回调接口中刷新页面状态时,忽然想起今年毕业做毕业设计的时候,做的是一个电商系统,那么支付是必不可少的,当时还没有听说过websocket,去网上查阅资料,申请支付宝或者微信授权肯定是不现实的,还搞了很久的沙箱支付,现在想想真是傻,没有早一点接触到websocket,至于websocket是一门怎样的技术我们在此不做过多介绍,大家可自行查阅资料,...

2019-09-21 18:53:16

【Docker/K8s】——干货满满!10分钟看懂Docker和K8S

2010年,几个搞IT的年轻人,在美国旧金山成立了一家名叫“dotCloud”的公司。 这家公司主要提供基于PaaS的云计算技术服务。具体来说,是和LXC有关的容器技术。 LXC,就是Linux容器虚拟技术(Linux container) 后来,dotCloud公司将自己的容器技术进行了简化和标准化,并命名为——Docker。 Docker技术诞生之后,并没有引起行业的关注。...

2019-09-11 17:47:26

【学习路线】——Python爬虫初学者学习路线

前言这里稍稍整理一下一下爬虫初学者的学习路线,也给自己一个前进的方向。爬虫是入门Python最好的方式,没有之一。Python有很多应用的方向,比如后台开发、web开发、科学计算等等,但爬虫对于初学者而言更友好,原理简单,几行代码就能实现基本的爬虫,学习的过程更加平滑,你能体会更大的成就感。掌握基本的爬虫后,你再去学习Python数据分析、web开发甚至机器学习,都会更得心应手。因为这...

2019-09-11 11:17:53

【设计模式】——代理、策略、委派模式还在傻傻分不清?

前言前面的博文我们已经分别讲述了代理模式,策略模式和委派模式各自的使用及案例实现。但是三者都写完了,我发现其实我自己都有些混淆了,所以今天特意把他们放在一起看看究竟有什么区别和联系策略模式:策略模式是对算法的封装。定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换优点: 1、算法可以自由切换。 2、避免使用多重条件判断。 3、扩展性良好。缺点: 1、策略类...

2019-09-05 16:53:09

【日志】——python自定义日志类

前言学习python也是兴趣使然,毕竟python近年来热度高涨,刚好对爬虫很感兴趣,所以利用闲余时间研究一下,python基础在学校的时候已经比较熟悉,就先做一些准备工作吧!日志当然是其中重要的一部分了!代码实现import loggingimport getpassfrom sys#### 定义MyLog类class MyLog(object): #### 类MyLo...

2019-09-05 11:04:14

【设计模式】——委派模式

前言委派模式不属于GOF23种设计模式, 主要角色有三种: 抽象任务角色, 委派者角色, 具体任务角色.实现层面上, 定义一个抽象接口, 它有若干实现类, 他们真正执行业务方法, 这些子类是具体任务角色; 定义委派者角色也实现该接口, 但它负责在各个具体角色实例之间做出决策, 由它判断并调用具体实现的方法.委派模式对外隐藏了具体实现, 仅将委派者角色暴露给外部应用场景我们在这...

2019-09-04 18:03:41

查看更多

勋章 我的勋章
  • 签到王者
    签到王者
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 技术圈认证
    技术圈认证
    用户完成年度认证,即可获得
  • 推荐红人
    推荐红人
    发布高质量Blink获得高赞和评论,进入推荐栏目即可获得
  • 精彩红人
    精彩红人
    发布高质量Blink获得高赞和评论,进入精彩栏目即可获得
  • 新人勋章
    新人勋章
    用户发布第一条blink获赞超过3个即可获得
  • 阅读者勋章Lv1
    阅读者勋章Lv1
    授予在CSDN APP累计阅读博文达到3天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv3
    勤写标兵Lv3
    授予每个自然周发布7篇到8篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。
  • 分享学徒
    分享学徒
    成功上传1个资源即可获取
  • 红花
    红花
    子板块内专家分月排名榜第一
  • 黄花
    黄花
    子板块内专家分月排名榜第二
  • 蓝花
    蓝花
    子板块内专家分月排名榜第三
  • 银牌
    银牌
    总榜技术专家分月排行榜第二