自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(111)
  • 资源 (2)
  • 收藏
  • 关注

原创 maven项目pom.xml第一行报错处理方案(已解决)

maven项目pom.xml第一行报错: org.apache.maven.archiver.MavenArchiver.getManifest(org.apache.maven.project.MavenProject, org.apach网上查到的资料有1、把parent version改成2.1.4.RELEASE 我试了之后发现<parent><groupId>org.springframework.boot</groupId><art.

2020-07-10 11:41:52 1825

原创 JAVA充电秘籍(one)

最多有多少的任务等待执行这个问题和BlockingQueue相关。 BlockingQueue有三个子类,一个是ArrayBlockingQueue(有界队列),一个是LinkedBlockingQueue(默认无界,但可以配置为有界),PriorityBlockingQueue(默认无界,可配置为有界)。所以,对于有多少个任务等待执行与传入的阻塞队列有关。newFixedThrea...

2020-05-27 16:54:02 362

原创 JAVA高级工程师面试指南(持续更新中。。。。)

1、Mybatis 一级缓存(sqlSession)、二级缓存(需要开启)mapper级别的(namespace)MyBatis的二级缓存相对于一级缓存来说,实现了SqlSession之间缓存数据的共享,同时粒度更加的细,能够到namespace级别,通过Cache接口实现类不同的组合,对Cache的可控性也更强。 MyBatis在多表查询时,极大可能会出现脏数据,有设计上的缺陷,安全使用二...

2020-04-22 22:33:51 664

原创 关于服务器之间接口调用中文乱码问题解决

关于服务器之间接口调用中文乱码问题解决常规解决办法:(1)、String userID = new String(request.getParameter("userID").getBytes("iso-8859-1"), "utf-8");(2)、request.setCharacterEncoding("UTF-8");(3)、如果是页面请求,并用了encode加密,那么需要...

2019-12-18 17:51:24 2498

原创 java中HashMap原理?面试?你是谁,你在哪?

1、为什么用HashMap?HashMap是一个散列桶(数组和链表),它存储的内容是键值对(key-value)映射HashMap采用了数组和链表的数据结构,能在查询和修改方便继承了数组的线性查找和链表的寻址修改HashMap是非synchronized,所以HashMap很快HashMap可以接受null键和值,而Hashtable则不能(原因就是equlas()方法需要对象,因为HashM...

2019-10-21 17:58:34 168

原创 arrayList和vector的区别

首先看这两类都实现List接口,而List接口一共有三个实现类,分别是ArrayList、Vector和LinkedList。List用于存放多个元素,能够维护元素的次序,并且允许元素的重复。3个具体实现类的相关区别如下: ArrayList是最常用的List实现类,内部是通过数组实现的,它允许对元素进行快速随机访问。数组的缺点是每个元素之间不能有间隔,当数组大小不满足时需要增加存储能...

2019-10-21 17:08:01 211

原创 JAVA获取所有请求参数和头部信息

//获取所有的请求参数Enumeration<String> paraNames=request.getParameterNames();for(Enumeration<String> e=paraNames;e.hasMoreElements();){ String thisName=e.nextElement().toString(); St...

2019-09-25 08:54:31 4417

原创 Ambiguous mapping. Cannot map 'XXXXXController' method

Ambiguous mapping. Cannot map 'XXXXXController' method问题的一案板原因是:@RequestMapping(value=XXX) 可能是同一个Controller或者 是不同的Controller。 XXX重名导致。

2019-09-19 09:46:09 313

原创 linux,日志查找技巧

1.查询日志中含有某个关键字的信息1cat app.log |grep 'error'12.查询日志尾部最后10行的日志1tail -n 10 app.log13.查询10行之后的所有日志1tail -n +10 app.log 14.查询日志文件中的头10行日志1head -n 10 app.log 15.查询日志文件除了最后10行的其他所有日志1...

2019-09-11 19:56:13 297

原创 百万级访问量—高并发问题的解决历程

一、单台服务器+数据库(原始)原始架构二、增加反向代理反向代理代理是一个接收和转发请求的过程。正常情况下,「正向代理」代理的对象是客户端,「反向代理」代理的对象是服务端,它完成这些功能:健康检查功能,确保我们的服务器是一直处于运行状态的路由转发功能,把请求转发到正确的服务路径上认证功能,确保用户有权限访问后端服务器防火墙功能,确保用户只能访问允许使用的网络部分等等...

2019-09-10 11:28:05 2815

原创 创建线程池有哪几种方式

通常开发者都是利用Executors提供的通用线程池创建方法,去创建不同配置的线程池,主要区别在于不同的Executors目前提供了5种不同的线程池创建配置:1、newCachedThreadPool(),它是用来处理大量短时间工作任务的线程池,具有几个鲜明特点:它会试图缓存线程并重用,当无缓存线程可用时,就会创建新的工作线程;如果线程闲置时间超过60秒,则被终止并移除缓存;长时间闲置时,...

2019-08-30 10:24:23 14023

原创 notify()和 notifyAll()有什么区别

notify()和notifyAll()的区别?notify():唤醒一个处于等待状态的线程,注意的是在调用此方法的时候,并不能确切的唤醒某一个等待状态的线程,而是由JVM确定唤醒哪个线程,而且不是按优先级。notifyAll():唤醒所有处入等待状态的线程;并可以理解为把他们排进一个队列;只不过只有头部的线程获得了锁,才能运行;注意!!并不是给所有唤醒线程一个对象的锁,而...

2019-08-30 10:16:32 1712

原创 sleep() 和 wait() 有什么区别?

1、这两个方法来自不同的类分别是Thread和Object,sleep方法属于Thread类中的静态方法,wait属于Object的成员方法。2、最主要是sleep方法没有释放锁,而wait方法释放了锁,使得其他线程可以使用同步控制块或者方法。3、wait,notify和notifyAll只能在同步控制方法或者同步控制块里面使用,而sleep可以在任何地方使用(使用范围)。sleep方法属...

2019-08-30 10:14:51 264

原创 多线程

callable 与 runnable 的区别Callable接口比Runnable接口要新一点,它是在 Java 5 的时候发行的。尽管Callable跟Runnable接口都是设计来代表一个任务(task), 这个任务可以被任意线程执行, 但两者间还是有一些明显的差异. 在我看来, 最主要的差异在于Callable可以在内部的call()方法返回执行的结果, 而Runnable则不行另...

2019-08-30 09:38:25 166

原创 java 容器相关

网易面试:问:Java容器有哪些,你聊一聊吧Java容器:数组,String,java.util下的集合容器数组长度限制为 Integer.Integer.MAX_VALUE;String的长度限制: 底层是char 数组 长度 Integer.MAX_VALUE 线程安全的List:存放有序,列表存储,元素可重复Set:无序,元素不可重复Map:无序,元素可重...

2019-08-29 16:23:08 150

原创 接口、抽象类、普通类对比与分析

抽象类和普通类主要有三点比较大的区别:1.首先应该知道,抽象类是不能被实例化的,就是不能用new调出构造方法创建对象,而普通类则反之!2.抽象类的访问权限限于Public和Protected,因为抽象类的方法是需要继承之后让子类去实现的,如果为Private,则无法被子类继承,子类也无法实现该方法package com.test.test;public abstract clas...

2019-08-28 16:50:25 184

原创 大数据量高并发访问的数据库优化方法

一、数据库结构的设计如果不能设计一个合理的数据库模型,不仅会增加客户端和服务器段程序的编程和维护的难度,而且将会影响系统实际运行的性能。所以,在一个系统开始实施之前,完备的数据库模型的设计是必须的。在一个系统分析、设计阶段,因为数据量较小,负荷较低。我们往往只注意到功能的实现,而很难注意到性能的薄弱之处,等到系统投入实际运行一段时间后,才发现系统的性能在降低,这时再来考虑提...

2019-08-28 10:00:18 713

原创 使用MQ消息队列的优缺点

公司的项目一直都是在使用MQ的,但是由于使用的功能很简单,所以一直都是知其然不知其所以然,作为一个程序猿有必要了解每一个使用的技术,为什么使用它?它的优点是什么?缺点是什么?等等。。。2|0使用mq的好处2|1解耦与复用系统A要发送一个消息到多个系统,如果此时每增加一个系统,系统A都需要通过修改源码来增加接口,此时耦合非常高,但是如果中间使用消息队列的话,系统只需要发送一次...

2019-08-26 11:50:15 181

原创 数据库分库分表策略的具体实现方案

一、MySQL扩展具体的实现方式随着业务规模的不断扩大,需要选择合适的方案去应对数据规模的增长,以应对逐渐增长的访问压力和数据量。关于数据库的扩展主要包括:业务拆分、主从复制,数据库分库与分表。这篇文章主要讲述数据库分库与分表1.1、业务拆分在 大型网站应用之海量数据和高并发解决方案总结一二 一篇文章中也具体讲述了为什么要对业务进行拆分。业务起步初始,为了加快应用上线和快速迭代,很...

2019-08-26 11:42:01 147

原创 什么是tomcat类加载机制

图解Tomcat类加载机制(阿里面试题)Tomcat的类加载机制是违反了双亲委托原则的,对于一些未加载的非基础类(Object,String等),各个web应用自己的类加载器(WebAppClassLoader)会优先加载,加载不到时再交给commonClassLoader走双亲委托。对于JVM来说:因此,按照这个过程可以想到,如果同样在CLASSPATH指定的目录中和自己工作目录中...

2019-08-26 11:05:58 280

原创 描述一下 JVM 加载 Class 文件的原理机制?

描述一下JVM加载class文件的原理机制Java中的所有类,都需要由类加载器装载到JVM中才能运行。类加载器本身也是一个类,而它的工作就是把class文件从硬盘读取到内存中。在写程序的时候,我们几乎不需要关心类的加载,因为这些都是隐式装载的,除非我们有特殊的用法,像是反射,就需要显式的加载所需要的类。类装载方式,有两种 :1.隐式装载, 程序在运行过程中当碰到通过new 等方式...

2019-08-26 10:52:34 241

原创 Spring之IOC和单例、多例

spring之IOC什么是IOC?IOC:控制反转,将对象的创建、销毁、初始化等一系列的生命周期的过程交给spring容器来处理搭建spring框架的过程:第一步新建一个Java Project,并建立一个lib文件夹,然后导入spring的jar包第二步书写主配置文件(applicationContext.xml)不是必须这个名字,但是规范是这么写,一般大家都会遵守规范。...

2019-08-23 16:41:04 577

原创 AOP的使用、通知类型介绍和AOP原理

先从AOP前置通知类型为例,写一个简单的demo,从入门级了解AOP的使用。IDE环境:Intellj IDEA步骤:1先建立一个Spring项目。项目结构如下:已经知道AOP四要素方面组件————-LogUtil类(添加日志功能)目标组件————-EntityDao类(进行数据库操作的功能)EntityDao类代码:(因为主要学习AOP,所以数据库的操作方法简单写...

2019-08-23 15:33:38 266

原创 JAVA前往高级开发架构方向随笔(第七天)

今天抽空整理一下SPRING一些真题1.SpringSpring 框架现在是 Java 后端框架家族里面最强大的一个,其拥有 IOC 和 AOP 两大利器,大大简化了软件开发复杂性。并且,Spring 现在能与所有主流开发框架集成,可谓是一个万能框架,Spring 让 JAVA 开发变得更多简单。面试真题:(1)什么是控制反转(IOC)?什么是依赖注入?(2)请解释下Spring中的I...

2019-08-16 11:41:15 212

原创 Spring的IOC原理[通俗解释一下]

1. IoC理论的背景我们都知道,在采用面向对象方法设计的软件系统中,它的底层实现都是由N个对象组成的,所有的对象通过彼此的合作,最终实现系统的业务逻辑。图1:软件系统中耦合的对象如果我们打开机械式手表的后盖,就会看到与上面类似的情形,各个齿轮分别带动时针、分针和秒针顺时针旋转,从而在表盘上产生正确的时间。图1中描述的就是这样的一个齿轮组,它拥有多个独立的齿轮,这些齿轮相互啮合在一起,协...

2019-08-16 09:01:30 146

原创 JAVA前往高级开发架构方向随笔(第六天)

事务的ACID,其中把事务的隔离性详细解释一遍如果一个数据库声称支持事务的操作,那么该数据库必须要具备以下四个特性:⑴ 原子性(Atomicity)  原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚 因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响。⑵ 一致性(Consistency)  一致性是指事务必须使数据...

2019-07-31 16:13:01 164

原创 JAVA前往高级开发架构方向随笔(第五天)

为什么使用Kafka、ActiveMQ、RabbitMQ、RocketMQ 消息队列?1.面试题为什么使用消息队列? 消息队列有什么优点和缺点? Kafka、ActiveMQ、RabbitMQ、RocketMQ 都有什么区别,以及适合哪些场景?2.面试官心理分析其实面试官主要是想看看:第一,你知不知道你们系统里为什么要用消息队列这个东西? 不少候选人,说自己项目里用了 Re...

2019-07-26 15:57:26 244

原创 JAVA前往高级开发架构方向随笔(第四天)

JVM调优的全面总结目录JVM调优概念 基本垃圾回收算法 垃圾回收面临的问题 分代垃圾回收详述1 分代垃圾回收详述2 典型配置举例1 典型配置举例2 新一代的垃圾回收算法 调优方法 反思一、JVM调优的一些概念数据类型Java虚拟机中,数据类型可以分为两类:基本类型和引用类型。基本类型的变量保存原始值,即:他代表的值就是数值本身;而引用类型的变量保存引用值。...

2019-07-22 11:30:10 235

原创 JAVA前往高级开发架构方向随笔(第三天)

mysql的默认隔离级别知识点总结-----------------------------------------------------------------------------------------------------------------------1.数据库默认隔离级别: mysql ---repeatable,oracle,sql server ---rea...

2019-07-19 17:58:53 409

原创 JAVA前往高级开发架构方向随笔(第二天)

Java集合详解一、数组和集合的比较数组不是面向对象的,存在明显的缺陷,集合弥补了数组的缺点,比数组更灵活更实用,而且不同的集合框架类可适用不同场合。如下:1:数组能存放基本数据类型和对象,而集合类存放的都是对象的引用,而非对象本身!2:数组容易固定无法动态改变,集合类容量动态改变。3:数组无法判断其中实际存有多少元素,length只告诉了数组的容量,而集合的size()可以...

2019-07-19 14:32:39 244

原创 JAVA前往高级开发架构方向随笔(第一天)

一、什么是spring cloud?微服务架构集大成者,云计算最佳业务实践。百度百科这样说的:Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring Cloud并没有重复制造轮...

2019-07-17 16:12:02 456

原创 Java爬虫系列三:使用Jsoup解析HTML

在上一篇随笔《Java爬虫系列二:使用HttpClient抓取页面HTML》中介绍了怎么使用HttpClient进行爬虫的第一步--抓取页面html,今天接着来看下爬虫的第二步--解析抓取到的html。有请第二步的主角:Jsoup粉墨登场。下面我们把舞台交给Jsoup,让他完成本文剩下的内容。============华丽的分割线=============一、Jsoup自我介绍大家好...

2019-07-15 08:49:36 309

原创 Java爬虫系列之实战:爬取酷狗音乐网 TOP500 的歌曲(附源码)

在前面分享的两篇随笔中分别介绍了HttpClient和Jsoup以及简单的代码案例:Java爬虫系列二:使用HttpClient抓取页面HTML Java爬虫系列三:使用Jsoup解析HTML今天就来实战下,用他们来抓取酷狗音乐网上的 Top500排行榜音乐。接下来的代码中除了会用到HttpClient和Jsoup之外,还会用到log4j和ehcache,分别用来记录日志和实现缓存,如果看...

2019-07-15 08:49:24 2343 16

原创 spring cloud 入门系列八:使用spring cloud sleuth整合zipkin进行服务链路追踪

好久没有写博客了,主要是最近有些忙,今天忙里偷闲来一篇。=======我是华丽的分割线==========微服务架构是一种分布式架构,微服务系统按照业务划分服务单元,一个微服务往往会有很多个服务单元,一个请求往往会有很多个单元参与,一旦请求出现异常,想要去定位问题点真心不容易,因此需要有个东西去跟踪请求链路,记录一个请求都调用了哪些服务单元,调用顺序是怎么样的以及在各个服务单元处理的时间长...

2019-07-15 08:49:07 229

原创 Java爬虫系列二:使用HttpClient抓取页面HTML

爬虫要想爬取需要的信息,首先第一步就要抓取到页面html内容,然后对html进行分析,获取想要的内容。上一篇随笔《Java爬虫系列一:写在开始前》中提到了HttpClient可以抓取页面内容。今天就来介绍下抓取html内容的工具:HttpClient。围绕下面几个点展开: 什么是HttpClient HttpClient入门实例 复杂应用 结束语 一、什么是...

2019-07-15 08:48:53 292

原创 Java爬虫系列一:写在开始前

最近在研究Java爬虫,小有收获,打算一边学一边跟大家分享下,在干货开始前想先跟大家啰嗦几句。一、首先说下为什么要研究Java爬虫Python已经火了很久了,它功能强大,其中很擅长的一个就是写爬虫程序。作为一名Javaer,想要写爬虫的话难道要学习python吗?想到这个问题我去度娘了下,其实java也可以写爬虫,只是需要的代码行数要比python多。但是用java写就不需要专门为了爬...

2019-07-12 16:33:11 187

原创 ActiveMQ入门系列三:发布/订阅模式

在上一篇《ActiveMQ入门系列二:入门代码实例(点对点模式)》中提到了ActiveMQ中的两种模式:点对点模式(PTP)和发布/订阅模式(Pub & Sub),详细介绍了点对点模式并用代码实例进行说明,今天就介绍下发布/订阅模式。一、理论基础发布/订阅模式的工作示意图:消息生产者将消息(发布)到topic中,可以同时有多个消息消费者(订阅)消费该消息。 和点对点方式不...

2019-07-12 16:30:34 177

原创 ActiveMQ入门系列二:入门代码实例(点对点模式)

在上一篇《ActiveMQ入门系列一:认识并安装ActiveMQ(Windows下)》中,大致介绍了ActiveMQ和一些概念,并下载、安装、启动他,还访问了他的控制台页面。这篇,就用代码实例说下如何实现消息的生产和消费。一、理论基础同RabbitMQ一样,ActiveMQ中也是有两种模式:点对点模式(Point to Point,简写为PTP) 发布/订阅模式(Publish ...

2019-07-12 16:29:00 142

原创 ActiveMQ入门系列一:认识并安装ActiveMQ(Windows下)

一、什么是ActiveMQ度娘给出的定义:Apache ActiveMQ是Apache软件基金会所研发的开放源代码消息中间件;由于ActiveMQ是一个纯Java程序,因此只需要操作系统支持Java虚拟机,ActiveMQ便可执行。ActiveMQ的官网打出的标语(如上图):Flexible & Powerful Open Source Multi-Proto...

2019-07-12 16:24:29 173

原创 RabbitMQ入门:远程过程调用(RPC)

假如我们想要调用远程的一个方法或函数并等待执行结果,也就是我们通常说的远程过程调用(Remote Procedure Call)。怎么办?今天我们就用RabbitMQ来实现一个简单的RPC系统:客户端发送一个请求消息,服务端以一个响应消息回应。为了能够接收到响应,客户端在发送消息的同时发送一个回调队列用来告诉服务端响应消息发送到哪个队列里面。也就是说每个消息一个回调队列,在此基础上我们变下,将...

2019-07-12 16:23:35 207

linux鸟哥的私房菜基本篇和服务篇

鸟哥的私房菜基础篇和服务篇,用于没有基础有基础的人员使用,是一本不错的选择

2015-07-14

Tomcat原理与Java Web系统开发

java必备,SSH,Servlet,JSP ,java开发者或者新手入门的必备之选

2015-07-13

空空如也

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

TA关注的人

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