自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小J的博客

技术分享

  • 博客(26)
  • 资源 (3)
  • 收藏
  • 关注

原创 TCP/IP协议分为哪四层,具体作用是什么?http与tcp区别

TCP/IP通讯协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。这4层分别为:应用层:应用程序间沟通的层,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。传输层:在此层中,它提供了节点间的数据传送,应用程序之间的通信服务,主要功能是数据格式化、数据确认和丢失重传等。如传输控制协议(TCP)、用户数据报协议(UDP)等,T...

2019-04-02 10:43:31 92312 3

转载 掌握分布式场景下的秒杀架构与秒杀实践

出处:https://my.oschina.net/u/1170843/blog/2878515分析,在做秒杀系统的设计之初,一直在思考如何去设计这个秒杀系统,使之在现有的技术基础和认知范围内,能够做到最好;同时也能充分的利用公司现有的中间件来完成系统的实现。我们都知道,正常去实现一个WEB端的秒杀系统,前端的处理和后端的处理一样重要;前端一般会做CDN,后端一般会做分布式部署,限流,性能优化...

2019-03-19 15:31:33 352

转载 接口文档定义

一、什么是接口文档?在项目开发中,web项目的前后端分离开发,APP开发,需要由前后端工程师共同定义接口,编写接口文档,之后大家都根据这个接口文档进行开发,到项目结束前都要一直维护。二、为什么要写接口文档?1、项目开发过程中前后端工程师有一个统一的文件进行沟通交流开发2、项目维护中或者项目人员更迭,方便后期人员查看、维护三、接口规范是什么?首先接口分为四部分:方法、uri、请求参...

2019-03-18 21:23:36 2317

原创 75道面试逻辑智力测试题内附详细答案

【1】假设有一个池塘,里面有无穷多的水。现有2个空水壶,容积分别为5升和6升。问题是如何只用这2个水壶从池塘里取得3升的水。由满6向空5倒,剩1升,把这1升倒5里,然后6剩满,倒5里面,由于5里面有1升水,因此6只能向5倒4升水,然后将6剩余的2升,倒入空的5里面,再灌满6向5里倒3升,剩余3升。【2】周雯的妈妈是豫林水泥厂的化验员。一天,周雯来到化验室做作业。做完后想出去玩。"等等,妈妈还要...

2019-03-18 18:54:20 949

转载 缓存穿透,缓存雪崩的四种解决方案

前言设计一个缓存系统,不得不要考虑的问题就是:缓存穿透、缓存击穿与失效时的雪崩效应。缓存穿透缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失去了缓存的意义。在流量大时,可能DB就挂掉了,要是有人利用不存在的key频繁攻击我们的应用,这就是漏洞。解决方案有很多种方法...

2019-03-15 09:25:31 397

原创 幂等性是什么,为啥要设计幂等性

为什么要设计幂等性的服务什么是幂等性HTTP/1.1中对幂等性的定义是:一次和多次请求某一个资源对于资源本身应该具有同样的结果(网络超时等问题除外)。也就是说,其任意多次执行对资源本身所产生的影响均 与一次执行的影响相同。Methods can also have the property of "idempotence" in that(aside from error or expira...

2021-07-22 16:30:44 174

原创 nodejs使用axios代理https失败的解决方案

nodejs使用axios代理https失败的解决方案2010/11/12前言在node环境下做些简单的爬虫时,需要用代理地址,如果访问的目标站点是https协议,用axios就会有些问题解决方法1.使用tunnel隧道代理node-tunnel – 用于HTTP/HTTPS的隧道代理具体参考(tunnel)[https://www.npmjs.com/package…]安装npm install tunnel 使用const axios = require('a

2020-11-12 16:54:05 4159

原创 线程安全的单例模式的几种实现

线程安全的单例模式的几种实现单例模式是一种常见的设计模式;java Singleton模式就为我们提供了这样实现的可能。使用Singleton的好处还在于可以节省内存,因为它限制了实例的个数;有利于java垃圾回收(garbage collection)。单例模式也是一种比较常见的设计模式,它到底能带给我们什么好处呢?其实无非就是三个方面的作用:1.控制资源的使用,通过线程同步来...

2019-10-14 17:43:36 569

原创 同性交流网站之GITHUB

git1.项目中存在的问题项目安全性太低解决项目协同开发解决无缘无故的项目报错版本混乱2.git介绍git就是一个分布式的版本控制以及协同开发工具3.集中式vs分布式集中式版本控制工具 代表 svn分布式的版本控制工具 代表 git4.git使用百度搜索git极客学院常用指令$git add a.txt 添加到暂存区$git com...

2019-07-09 16:43:43 1354

原创 Idea之乱码解决

中文乱码问题分类:编码普通中文乱码properties文件中文乱码console控制台中文乱码搜索框中文乱码1、properties文件中文乱码2、搜索框中文乱码3、svn注释中文乱码解决方法:1、编码普通中文乱码①settings --> editor--> code style -->file encodings 中IED E...

2019-07-09 16:29:15 5235 2

原创 设计模式之原型模式

原型模式原型模式(Prototype Pattern)是用于创建重复的对象,同时又能保证性能。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式是实现了一个原型接口,该接口用于创建当前对象的克隆。当直接创建对象的代价比较大时,则采用这种模式。例如,一个对象需要在一个高代价的数据库操作之后被创建。我们可以缓存该对象,在下一个请求时返回它的克隆,在需要的时候更新数据库,...

2019-06-26 14:12:11 107

原创 设计模式之建造者模式

建造者模式建造者模式(Builder Pattern)使用多个简单的对象一步一步构建成一个复杂的对象。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。一个Builder类会一步一步构造最终的对象。该Builder类是独立于其他对象的。介绍意图:将一个复杂的构建与其表示相分离,使得同样的构造过程可以创建不同的表示。主要解决:主要解决在软件系统中,有时候面临着“一...

2019-06-25 14:40:15 89

原创 设计模式之单例模式

单例模式单例模式是Java中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象注意:* 1.单例类只能有一个实例。* 2.单例类必须自己创建自己的唯一实例。* 3.单例类必须给所有其他对...

2019-06-24 16:18:41 120

原创 设计模式之抽象工厂模式

抽象工厂模式抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显式指定它们的类。每个生成的工厂都能按照工厂模式提供对象。介绍意图:提供一个创建一系列相关或相互依赖对象的接口,而无需指...

2019-06-21 17:31:37 100

原创 设计模式之工厂模式

工厂模式工厂模式(Factory Pattern)是java中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。介绍意图:定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。主要解决:主要解决接口选...

2019-06-21 14:16:51 93

转载 消息总线学习

阅读目录一。spring-cloud-bus是什么? 二、实现分布式配置的消息总线回到顶部一。spring-cloud-bus是什么?  回答这个问题之前,我们先回顾先前的分布式配置,当配置中心发生变化后,我们需要利用spring-boot-actuator里的refresh端点进行手动刷新:    根据上述示例情况:我们每次要获取最新配置时,要一个一个的通过refresh...

2019-05-21 15:17:58 762

原创 死锁该如何解决,还有就是jvm如何调优,还有就是线程的并发,事物不提交的危害,redis缓存设置的上限,缓存数据量达到1000w会如何。

死锁该如何解决:https://blog.csdn.net/guaiguaihenguai/article/details/80303835jvm如何调优:调优方法一切都是为了这一步,调优,在调优之前,我们需要记住下面的原则:1、多数的Java应用不需要在服务器上进行GC优化;2、多数导致GC问题的Java应用,都不是因为我们参数设置错误,而是代码问题;3、在应用上线之前,先考虑将机器的...

2019-04-02 10:56:23 817

转载 数据库事务4种隔离级别及7种传播行为

一、隔离级别:数据库事务的隔离级别有4个,由低到高依次为Read uncommitted、Read committed、Repeatable read、Serializable,这四个级别可以逐个解决脏读、不可重复读、幻读这几类问题。1. ISOLATION_READ_UNCOMMITTED:这是事务最低的隔离级别,它充许令外一个事务可以看到这个事务未提交的数据。这种隔离级别会产生脏读,不可...

2019-04-02 10:39:40 156

原创 springboot

springboot1.springboot概念Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。2....

2019-03-31 16:44:26 120

原创 JVM虚拟机调优

JVM虚拟机调优一、JVM引言1、JVM在整个jdk中处于最底层,负责于操作系统的交互,用来屏蔽操作系统环境,提供一个完整的Java运行环境,因此也叫虚拟计算机。操作系统装入JVM是通过jdk中Java.exe来完成的二、JVM内存结构1、方法区:方法区 (Mthod Area): 也称“永久代(permanent generation)”,“非堆”,用于储存虚拟机加载的类信息,常量...

2019-03-29 17:02:50 180

原创 activeMQ

ActiveMQ1.jms的概念它是一种与厂商无关的API,用来访问消息收发系统消息。它类似于JDBC,JDBC是可以用来访问不同关系数据库的API,而JMS则提供同样与厂商无关的访问消息收发服务的方法,这样就可以通过消息收发服务实现从一个JMS客户机向另一个JMS客户机发送消息,所需要的是厂商支持JMS。换句话说,JMS是Java平台上有关面向消息中间件的技术规范。2.jms中关键的对象...

2019-03-26 19:45:38 126

转载 浅析VO、DTO、DO、PO的概念、区别和用处

浅析VO、DTO、DO、PO的概念、区别和用处转载:http://www.cnblogs.com/qixuejia/p/4390086.html本篇文章主要讨论一下我们经常会用到的一些对象:VO、DTO、DO和PO。由于不同的项目和开发人员有不同的命名习惯,这里我首先对上述的概念进行一个简单描述,名字只是个标识,我们重点关注其概念:概念:VO(View Object):视图对象,用于展示...

2019-03-25 21:22:44 170

原创 springcloud 框架的集合

springcloud 框架的集合1.单体应用架构存在的问题一个归档包(例如war)包含所有功能的应用程序,通常称为单体应用。复杂性高:定时炸弹技术债务:no broken don’t fix可靠性差:单个bug,导致整个系统瘫痪阻碍技术创新2.架构的演变3.什么是微服务the microservice architectural style [1] is an approa...

2019-03-20 22:22:39 1457

原创 支付系统设计

支付系统概述支付系统是连接消费者、商家(或平台)和金融机构的桥梁,管理支付数据,调用第三方支付平台接口,记录支付信息(对应订单号,支付金额等),金额对账等功能,根据不同公司对于支付业务的定位不同大概有几个阶段:第一阶段:支付作为一个(封闭)的、独立的应用系统,为各系统提供支付功能支持。一般来说,这个系统仅限于为公司内部的业务提供支付支持,并且和业务紧密耦合。第二阶段:支付作为一个开发的系统,为...

2019-03-18 19:00:23 4627

原创 浅谈sql优化、tomcat优化、代码优化

说一说Tomcat优化在windows下修改TOMCAT_HOME/bin/catalina.bat中有一个set CLASSPATH,在set CLASSPATH下面可以写入要改变得参数,也可以改变java虚拟机的最大内存,永久代大小和其他参数,具体里面的其他参数我也不记得了,在tomcat调优时我一般会看文档进行操作。在配置优化中:在TOMCAT_HOME/conf/server.xml可以...

2019-03-17 09:42:50 469

原创 面试心得

关于程序员的几个阶段每个程序员、或者说每个工作者都应该有自己的职业规划,如果看到这里的朋友没有自己的职业规划,希望你可以思考一下自己的将来。LZ常常思考自己的未来,也从自己的思考中总结出了一些东西,作为第一部分来谈谈。LZ认为一名程序员应该有几个阶段(以下时间都算上实习期):第一阶段----三年o我认为三年对于程序员来说是第一个门槛,这个阶段将会淘汰掉一批不适合写代码的人。这一阶段,我们...

2019-03-13 12:51:51 125

面试阿里P7需要掌握的技术.md

面试阿里P7需要掌握的技术

2021-07-22

JAVA高级学习笔记.md

学习

2021-07-22

Java技术专家笔试题.pdf

java 高级开发人员

2021-07-22

空空如也

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

TA关注的人

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