自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

王星星

勇士斗恶龙

  • 博客(142)
  • 资源 (2)
  • 收藏
  • 关注

原创 天猫实习一面复盘

第二次面试给了天猫Java1. hashCode的作用每个实例一个hash值,如果不覆盖则每个对象都不一样。常用来hashMap的桶定位2. 集合框架Collection->list,stMapStack和HashTable是线程安全的,ConcurrentHashMap和Cow也是通过Collections.synchronizedList();3. AIO和BIO的区别...

2020-03-06 22:40:59 356 3

原创 淘宝实习一面复盘

人生处女面试给了淘宝1. 自我介绍大学学了什么知识,做了什么事情面试官(xx哥/姐)您好,我叫xxx,是郑州大学21届的本科生。在校期间,获得过二等奖学金,GPA为3.4。熟悉面向对象编程,尤其是Java,包括其语法,集合,网络和并发编程。熟悉J2EE的常用框架的使用如SpringBoot和Mybatis。熟悉MySQL的使用并了解其原理和优化,了解Redis和其他NoSQL。熟悉常用的...

2020-02-24 22:13:57 609

原创 Tomcat整体架构

类图组件关系启动流程Tomcat有三种启动方式From the command lineFrom a Java program as an embedded serverAutomatically as a Windows serviceBootstrap初始化设置类加载器commonLoader (common)-> System Loadershared...

2020-01-27 00:57:55 420

原创 一个秒杀系统的结构设计

阿里一位大牛曾经说过,应用性能拓展的三要素是:缓存,异步,批处理秒杀业务在如今的电商平台中十分常见,如淘宝双十一秒杀,Nike官网的秒杀等等。同时,也是考验程序员架构能力和综合知识掌握的一个重要部分,本次博客根据笔者多年代码经验就秒杀业务讨论一下它的架构设计秒杀面对的问题1. 高并发下单请求秒杀系统的一个重要特征就是在一瞬间的高并发下单请求,此时,一个Tomcat是扛不住上万QPS的。...

2020-01-20 10:29:30 4095 2

原创 数据库开发中的并发问题

1叙述Oracle数据库单用户开发单用户开发是相对于多用户开发来说的。换句话说,单用户开发是不需要解决并发冲突的,单用户系统不需要显示锁,也不需要并发一致性。1.1建立会话首先,用户通过用户进程或线程与 Oracle 实例建立网络层连接(链接)例如, TCP/IP网络层协议链接等。对于单用户而言,使用连接池比较浪费内存,当网络层连接成功后,通过TTC应用层协议提供有效的用户名和密码进行身份认...

2020-01-13 23:51:24 3132 1

原创 为什么开发效率低,可能是项目结构有问题!

最近做了一个前后端分离高并发的秒杀书城 ,对项目的代码结构有了新的认识。具体的后台代码实践在这里。对于这个项目,我总结了四点比较重要的项目结构要点,希望对小伙伴们以后的开发中有新的启发。1. 一定要有返回类型如今较大型的项目都会用到前后端分离的技术,此时,接口和数据的定义就会显得尤为重要。为了给前端返回统一的用户数据,在一般情况下,我们会为返回值定义一个实体类,其中的属性包括返回码,返回描述,...

2020-01-13 22:27:43 2200 7

原创 Java微服务框架选型

新的篇章微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间相互协调、互相配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务和服务之间采用轻量级的通信机制相互沟通(通常是基于HTTP的Restful API).每个服务都围绕着具体的业务进行构建,并且能够被独立的部署到生产环境、类生产环境等。另外,应尽量避免统一的、集中的服务管理机制,对具体的一个服务而言,应根据...

2020-01-10 11:36:02 2734 2

原创 并发的同步互斥与死锁

并发进程程序执行的顺序性内部顺序性:一个进程内部语句的执行是顺序的,只有当一个操作结束后,才能开始后继操作外部顺序性:多个进程间的顺序执行关系,这些进程在时间上按调用次序严格有序执行程序执行的并发性进程的并发性是指一组进程的执行在时间上是重叠的,即一个进程执行的第一条指令是在另一个进程执行的最后一条指令完成之前开始的优点:能够同时启动多台设备操作,充分利用处理器与外围设备、外围设...

2020-01-05 14:38:13 2371 1

原创 通过Jackson的String转joda.DateTime的采坑记录

希-望圆满-背景:最近公司在做秒杀活动,刚好我做的活动时间处理那块;其中一块是负责把前台的json通过Jackson转为joda.DateTime,但是就在这中间出现了问题问题描述直接把"2019-10-24 00:00:00"通过Jackson转为DateTime时,会产生如下错误:org.springframework.http.converter.HttpMessageNotRead...

2019-12-31 22:00:59 4034

原创 桥接模式

文章目录概念结构角色类图时序图例子扩展应用应用场景应用实例优劣平凡人中的大多数写在设计模式之前概念对象结构型模式,用组合关系代替继承关系来实现,从而降低了抽象和实现这两个可变维度的耦合度将抽象化(Abstraction)与实现化(Implementation)脱耦,使得二者可以独立地变化又称为柄体(Handle and Body)模式或接口(Interface)模式三个重要概念:...

2019-12-03 20:19:32 1665

原创 适配器模式

文章目录概念结构角色类图时序图例子扩展应用应用场景应用实例优劣坚持很难又很酷写在设计模式之前概念在软件开发中采用类似于电源适配器的设计和编码技巧被称为适配器模式是一种结构型模式,将一个类的接口转换成客户希望的另外一个接口Adapter Pattern使得原本由于接口不兼容而不能一起工作的那些类可以一起工作结构角色适配器模式(Adapter)包含以下主要角色:目标(Targ...

2019-12-03 16:42:10 1622

原创 模板方法模式

抵不住诱惑就不要做写在设计模式之前概念类行为模式,在它的结构图中只有类之间的继承关系,没有对象关联关系基于继承的代码复用基本技术,模板方法模式的结构和用法也是面向对象设计的核心之一结构角色共分为三种角色:抽象类模板方法,里面包含各个方法数据结构的顺序,一般为final,不能Override具体方法,所有子类都共用的方法抽象方法,每个子类不同的特点钩子方法具体子...

2019-11-28 15:06:17 1654

原创 代理模式

平凡人中的大多数写在设计模式之前概念看过Spring的同学们都对AOP有所耳闻,aop即是一种动态代理,也使用了代理模式,那么什么是代理模式呢?本片文章即是从比较规范的角度来说明代理模式在某些情况下,一个客户不想或者不能直接引用一个对象,此时可以通过一个称之为“代理”的第三者来实现间接引用。代理对象可以在客户端和目标对象之间起到中介的作用,并且可以通过代理对象去掉客户不能看到的内容和服务或...

2019-11-27 15:52:15 1652

原创 LeetCode第164场竞赛题解

deadline压得人喘不过气上周竞赛没有参加,555我好菜题目链接概述总的来说,这周竞赛是我做过的最简单的一次,前三道都是阅读理解,倒数第二道题也可以用字典树+BFS,最后一道题可以用dp,考虑到大数问题后完美解决。5271. 访问所有点的最小时间这个题属于找规律,我们容易发现:从一个点到另一个点的最小距离即使两个点坐标差的最小值通过点去求面,用到了贪心的思想public int...

2019-11-24 17:44:21 1746 3

原创 【Java岗春秋招】MySQL必备面试题

时间过得好快呀以下只针对Java岗。来源主要是牛客的Java实习面经。其中包括数据库的概念和常见的MySQL面试题,Redis下次写。下面的回答直接背就可以,需要一定的MySQL和数据库基础,适合春招实习的同学,但是我会在每个问题下把有助于理解的博客贴出来。如果发现有问题欢迎私聊我或留言我会在下面更新数据库概念1. ACID 讲一下19年爱奇艺上海Java实习生ACID是事物的四...

2019-11-20 20:22:19 2809 4

原创 装饰者模式

规律坚持写在设计模式之前1. 概念指在不改变现有对象结构的情况下,动态地给该对象增加一些职责(即增加其额外功能)的模式,它属于对象结构型模式装饰者模式又名包装(Wrapper)模式*(看源码的小伙伴以后看到Wrapper这个后缀词一定要往装饰者模式上想呀)*。装饰者模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案装饰者模式动态地将责任附加到对象身上。若要扩展功能,装饰...

2019-11-13 20:47:46 2096

原创 LeetCode第162场周赛题解

孤军奋战并不快乐上周竞赛也参加了,但是就写出来了第一道题,再加上周一点私事,就没有写题解…题目链接概述总的来说,前两道是阅读理解,没有难度,第三道是BFS,第四道是DFS+暴力5255. 奇数值单元格的数目这是个纯粹的阅读理解题+签到题,按照我们正常的逻辑走就完全可以拿到结果对于例子:n = 2, m = 3, indices = [[0,1],[1,1]]新建一个int[n][...

2019-11-12 20:29:27 1787

原创 Tomcat 之手写连接器

没有人永远年轻,但永远有人年轻之前手写了一个能解析Servlet的简单的Servlet容器,但是我们的目标可不能止于这些,把Tomcat写出来才是我们最终的目标~相关代码已同步Github概述我们知道Catalina中有两个主要的板块,一个是connector,另外一个是container。连接器负责将请求和容器关联,它为每一个Http请求创建一个request和response对...

2019-11-08 15:06:14 1675

原创 LeetCode初级算法-链表篇

题目连接这7道题,包含了链表的增删查改链表有一个坑爹的地方就是不知道链表的长度删除链表相关删除链表一般要在头节点处添加一个哑巴节点。哑结点用来简化某些极端情况,例如列表中只含有一个结点,或需要删除列表的头部1. 删除链表中的节点这个题主要是让我熟悉LeetCode里面的链表怎么用,这其实算是一个阅读理解题。。。 public void deleteNode(ListNode...

2019-10-31 21:38:36 1669 2

原创 LeetCode第160场周赛题解

题目链接5238. 找出给定方程的正整数解这个题主要考阅读理解,除去阅读之外,很容易就可解决。有两种解法:暴力O(n^2)public List<List<Integer>> findSolution(CustomFunction customfunction, int z) { List<List<Integer>> l...

2019-10-30 19:45:27 1712 1

原创 LeetCode初级算法-字符串篇

时间过得真快,距离18年的1024已经一年了,一年前,刚开始在csdn上写博客,那时候对1024没有太上心,觉得自己不是一个程序员。经过了1年的学习,心态有了很大的变化,把写代码变得有仪式感,1024,不只是成长,更是挑战。LeetCode的初级题或者说是简单题,跟智力和脑子没关系。锻炼的还是编程能力。就是说,这些题基本上看到就能有想法,它们锻炼的是把脑子中的想法快速转换为代码的能力。算是入...

2019-10-24 16:00:41 1745

原创 LeetCode初级算法-数组篇

不断成长,不断经历点击查看题目网址重复相关1. 删除排序数组的重复项这个主要要求原地删除,不使用额外的数组空间,使用O(1)的额外空间这个题主要可以用双指针法来确定。一个用于遍历数组,记为i;另一个用于记录不重复数组的最后的位置,记为count;其中count和i相互操作用于替换即:1   2   2  3  4  count  i比较的是count-1和 i p...

2019-10-22 10:16:24 1660

原创 抽象工厂模式

本博客实例已同步到github抽象工厂模式是工厂方法模式的升级版本工厂方法模式只生产一个等级的产品,如TCL和海尔生产空调而抽象工厂模式可生产多个等级的产品,如TCL和海尔不仅生产空调,而且生产电冰箱。此时TCL和海尔叫做产品族。空调和电冰箱是产品结构当系统中只存在一个等级结构产品的时候,抽象工厂会退化到工厂方法模式抽象工厂模式使用场景客户端不依赖一产品类实例如何被创建、实现...

2019-10-11 13:17:07 1710

原创 Tomcat之手写Servlet服务器

冲冲冲本博客详细的代码已上传至github,所以本篇博客就不将代码写太详细了我们知道,Servlet不是代码,也不是框架,而是一组规范,是一组所谓的Tomcat服务器实现的规范/接口。如果想要写出一个Tomcat,则必须要对Servlet这组规范有非常清晰的了解,我们才能实现它如果只是写一个简单的Web服务器的话,我们很清楚,只需要创建三个类,一个是Response, 另一个是Req...

2019-10-06 20:46:13 1776

原创 单例模式

一个月计划开始单例模式就是要求在程序中只生成一个实例,太过简单就没有UML类图了。源码在github中优点:在内存中只有一个实例,减少了资源的开销可以避免对资源的多重占用缺点:没有接口,扩展困难单例模式可以和工厂模式结合,工厂类可以设置为单例单例模式常适用于在整个程序中只需要利用一次的对象,比如线程池,缓存,注册表等等,Spring中的bean默认也是单例。这些对象只能有一...

2019-10-05 20:15:34 1603

原创 工厂方法模式

工厂方法模式一种类模式,也是创建型模式。它是最常用的设计模式。相关代码已同步github在了解工厂方法模式之前,我们先看下工厂方法模式场景现需要设计一个程序(Client)来读取多种不同类型的图片格式,针对每一种图片格式都设计一个图片读取(ImageReader),如GIF图片读取器(GifReader)用于读取GIF格式的图片、JPG图片读取器(JpgReader)用于读取JPG格式的...

2019-09-27 18:48:22 2112

原创 写在设计模式之前

设计模式是一个优秀的面向对象程序员的必修课,无论早学晚学,终究是一道迈不过去的坎。俗话说早死早超生(乱扯),尽早领会设计模式的魅力,我相信你会迷上编程的。设计模式的本质是面向对象设计原则的实际运用,是对类的封装性、继承性和多态性以及类的关联关系和组合关系的充分理解。这篇文章主要是为了准备设计模式的前置知识一、工具在这之前,推荐几个比较趁手的工具PowerDesigner 是一款优秀的...

2019-09-27 10:29:29 1818

原创 Vue & SpringBoot 从零实现博客系统 (六)

本系列基于已上线的博客stonee.club共分为 需求分析,数据库设计,接口设计,前端代码编写,后端代码编写,服务器部署等六部分本文系Vue & SpringBoot从零实现博客系统第六部分 服务器部署服务器部署前言服务器部署我花了小三天的时间,虽然网上有大量的博客,但是对于我这个新手加菜鸟来说,因为网上大多数只说配置,而每个人的服务器环境又不尽相同,所以难免会踩到其他...

2019-09-24 10:37:23 1949 2

原创 Vue & SpringBoot 从零实现博客系统 (五)

本系列基于已上线的博客stonee.club共分为 需求分析,数据库设计,接口设计,前端代码编写,后端代码编写,服务器部署等六部分本文系Vue & SpringBoot从零实现博客系统第五部分 后端代码编写后端代码编写工具 & 插件 & 依赖 & 技术栈MySQL 8.0 + (这个8.0和5.0好像没什么区别)Maven (强大的项目管理工具...

2019-09-24 08:33:04 1899

原创 Vue & SpringBoot 从零实现博客系统 (四)

本系列基于已上线的博客stonee.club共分为 需求分析,数据库设计,接口设计,前端代码编写,后端代码编写,服务器部署等六部分本文系Vue & SpringBoot从零实现博客系统第四部分 前端代码编写前端代码编写前言在写这个程序之前,我只是一个知道前端三剑客的前端菜鸟,最多再加上JQuery,但绝对称不上了解,鬼知道我怎么脑抽筋没有clone网上的模板,反而自己用v...

2019-09-23 22:42:11 2113

原创 Vue & SpringBoot 从零实现博客系统 (三)

本系列基于已上线的博客stonee.club共分为 需求分析,数据库设计,接口设计,前端代码编写,后端代码编写,服务器部署等六部分本文系Vue & SpringBoot从零实现博客系统第三部分 接口设计接口设计采用RESTful风格的接口,做前后端分离的项目通过接口,前端给后端发送请求,后端收到请求之后给前端返回响应,我们使用json作为中间传递的数据,关于后台json...

2019-09-23 19:55:01 1832

原创 Vue & SpringBoot 从零实现博客系统 (二)

本系列基于已上线的博客stonee.club共分为 需求分析,数据库设计,接口设计,前端代码编写,后端代码编写,服务器部署等六部分本文系Vue & SpringBoot从零实现博客系统第二部分 数据库设计数据库设计因为博客系统主要是文章,评论等等所以数据库也主要集中在这些方面但是说句实在话,我的数据库设计的并不好,可以看阿里巴巴Java开发手册同时我也没有使...

2019-09-23 15:19:49 1942

原创 Vue & SpringBoot 从零实现博客系统 (一)

本系列基于已上线的博客stonee.club共分为 需求分析,数据库设计,接口设计,前端代码编写,后端代码编写,服务器部署等六部分本文系Vue & SpringBoot从零实现博客系统第一部分 需求分析需求分析前言搭建博客的想法是今年3月份开始的,那时候只会一点点HTML和CSS,就风风火火地买了阿里云的学生机,在上面写了一个纯HTML和CSS的静态页面,内心高兴的不得...

2019-09-23 09:54:10 2566 2

原创 并发学习之内存模型

整装待发注:文章总结自深入理解Java内存模型-系列-程晓明并发编程的三个特性原子性是指在一个操作中就是cpu不可以在中途暂停然后再调度,既不被中断操作,要不执行完成,要不就不执行—— 处理器优化(处理器对代码进行内存和指令并行的乱序处理)可见性是指当多个线程访问同一个变量时,一个线程修改了这个变量的值,其他线程能够立即看得到修改的值—— 缓存一致性有序性即程序执行的顺序按照代码的...

2019-09-16 21:20:29 1678

原创 vue 新手总结

Vue 常用命令npmnpm init 生成一个package.json文件进入包含package.json的目录中,npm install下载该项目需要的库installnpm install -g xxx 在全局下载xxxnpm install –save(-s) 表示本地安装,会被加至dependencies部分,即开发环境npm install –save-dev...

2019-09-13 12:50:03 1637 1

原创 SQL练习

SQLTraining写在前面,最近做了一些SQL OJ的题,把题解和想法记录下来关于DBmembers(部分)memidsurnamefirstnameaddresszipcodetelephonerecommendedbyjoindate0GUESTGUESTGUEST0(000) 000-0000None2012-07-01 00:0...

2019-09-04 16:23:52 1951

原创 Mybatis 使用@Update时找不到参数

我好菜啊问题描述@Update("update article_comment set is_effective = #{eff} where comment_id = #{id}")void setEff(long id,boolean eff);如上代码所示,在确定id和eff有正确值的情况下,控制台爆出了下面的异常Parameter 'eff' not found. Availa...

2019-09-02 20:50:58 2987 1

原创 Vue + semanticUI + Java 实现多级评论

交友背景: 最近在弄一个博客网站,前端是vue + segmentUI ,后台用的springboot。在弄到评论这一块的时候,不知道级联嵌套评论怎么搞,从上午想到现在想出来了,特来记录一下后台后台是通过树来实现的。数据库的表结构如下所示:需要做的就是通过这个表,构建一个树,java代码如下:package cn.zi10ng.blog.util;import cn.zi10...

2019-08-25 15:47:54 4139 12

原创 Jvm学习之内存结构

我想知道更多内存模型:并发编程相关内存结构:JVM相关运行时的数据区域Java虚拟机在运行Java程序的过程中,会把它所管理的内存划分为若干个不同的数据区域,有的区域随着虚拟机进程的启动而存在,有的区域随着用户线程的启动和结束而建立和销毁程序计数器字节码解释器需要改变该计数器的值去选取下一条执行的字节码指令,如分支、循环、异常处理和线程恢复等基础功能线程私有,各线程之间互不影...

2019-08-15 12:07:48 1740

原创 Hadoop入门

CrudboyIsMe狭义上讲,Hadoop是一个Apache开源组织的一个分布式计算开源框架,提供了一个分布式文件系统子项目(HDFS)和支持MapReduce分布式计算的软件架。广义上说,Hadoop是指整个Hadoop家族,包括Hadoop, Hive, Pig, HBase, Sqoop, Mahout, Zookeeper, Avro, Ambari, Chukwa,YARN, H...

2019-08-05 16:18:32 1741

Java集合框架思维导图PDF版

这个是我自己通过官方文档整理的Java集合框架的思维导图,和大家分享一下。原文链接在这里:https://blog.csdn.net/coder_what/article/details/89606987。如果没有c币的话可以通过刚才的链接联系我鸭,耶耶耶

2019-04-27

多个括号的实数四则运算

用C语言写的超详细的实数(带浮点数和负数)带多个括号的四则运算,方法类似递归适合新手。 编译器用的dev

2018-09-13

空空如也

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

TA关注的人

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